Skip to content

jiyonghwang/Keithley-2400-SourceMeter-Python-Interface

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keithley 2400 SourceMeter Python Library and Controller

This repo contains a python class which allows for python-based control an automation of the Keithley 2400 SourceMeter device. A GUI allows for simple implementation of this module for data collection and rapid visualization. This is built with the pygraph library (http://www.pyqtgraph.org/), based on the pyqt framework.

The Keithley class opens a serial connection to the device through an RS232 port using the keithley_serial module. Implemented so far is ability to:

  • configure setup parameters
  • configure biasing/current parameters
  • configure measurements parameters
  • define and configure voltage sweeps
  • send general commands (given in Keithley manual)
  • collect data from Keithley

To run the GUI from the command line, in the directory of keithley_gui.py:

python keithley_gui.py port_for_keithley

The data are stored as JSON files (for simple viewing, future options for binary storage coming!), which are accesible using the json python module. For example, to access the stored data dictionary with python (FIX THIS CODE TO WORK FOR KEITHLEY):

import json
f = open('my_data', 'r')
data = json.load(f)
signal_from_channel_0 = data['adc0']['signal']

Requires the pyqtgraph and numpy packages.

Notes:

  • installing pyqt can be a bit of a pain (at least on macOS).
  • Timing of sweep steps appears to be accurate only to a couple of ms. If you request a 0-10V sweep with 1V steps amd 1 ms delays, you get increments of 1V, but the times vary up to a few ms.
  • The GUI is mostly meant as a use example, very under developed...

About

Python module and GUI for control of the Keithley 2400 SourceMeter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%