Keithley Satellite#
Name |
Keithley |
|---|---|
Description |
Satellite controlling a Keithley power supply |
Category |
Power Supplies |
Language |
Python |
Description#
This satellite uses the RS-232 serial port of Keithley Source Measure Units to control them remotely. The satellite can control a single Keithley SMU and operate it as voltage source. Among other settings, it is possible to configure the over-voltage protection (OVP), the current compliance as well as the target voltage. Voltage changes are performed as ramps, i.e. the voltage is incremented or decremented in small steps.
Note
This satellite requires write access to the serial port or USB-to-serial converter the device is attached to. It is
recommended to not run this satellite with root privileges but to allow the regular user access to the required port
instead.
On Unix, if the port is e.g. /dev/ttyUSB0, the group can be found via stat /dev/ttyUSB0 (the Gid entry).
If the group is e.g. dialout, the permissions can be given with sudo usermod -a -G dialout $USER.
A restart is required for the changes to be effective.
Requirements#
The Keithley satellite requires the [keithley] component, which can be installed with:
pip install "ConstellationDAQ[keithley]"
pip install --no-build-isolation -e ".[keithley]"
Supported devices#
The device model to be controlled by this satellite can be selected via the device configuration parameter. The following
devices are current supported:
2410#
The 2410 device supports the Keithley Series 2400 SourceMeter in RS-232 mode.
The following serial communication settings are required and have to be configured on the SMU before starting the satellite.
They can be found at MENU -> COMMUNICATION -> RS-223
BAUD:19200BITS:8PARITY:EVENTERMINATOR:<CR+LF>FLOW-CTRL:NONE
Possible terminals are front and rear.
Parameters#
Parameter |
Description |
Type |
Default Value |
|---|---|---|---|
|
Device |
String |
- |
|
Serial port to connect to |
String |
- |
|
Terminal output to control |
String |
- |
|
Target output voltage |
Float |
- |
|
Voltage step in which to ramp to target voltage |
Float |
- |
|
Time to wait before continuing with the next voltage step |
Float |
- |
|
Voltage limit for over-voltage protection |
Float |
- |
|
Current limit in Ampere |
Float |
- |
Metrics#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Voltage output |
Float |
5s |
|
Current output |
Float |
5s |
|
If in compliance |
Bool |
5s |
Custom Commands#
Command |
Description |
Arguments |
Return Value |
Allowed States |
|---|---|---|---|---|
|
Check if the current is in compliance |
- |
Bool |
|
|
Reads voltage, current and timestamp |
- |
Dictionary |
|
Framework Parameters#
This satellite inherits the following framework parameters from its base classes:
Parameters inherited from Satellite#
Autonomous Operation#
Parameters to control autonomy in the _autonomy section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Role name |
Role this satellite should take in the Constellation. Accepted values are |
|
|
Unsigned integer |
Maximum interval in seconds between heartbeats to be sent to other Constellation components. The time between heartbeat is adjusted automatically according to the number of nodes in the Constellation but will never exceed this value. |
|
Conditional Transitions#
Parameters to control conditional transitions in the _conditions section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
Unsigned integer |
Timeout in seconds to wait for all conditions to be satisfied for conditional transitioning |
|
Framework Metrics#
This satellite inherits the following framework metrics from its base classes:
Metrics inherited from Satellite#
None