Sunpower Instruments

CryoTelGT Cryocooler

class instruments.sunpower.CryoTelGT(filelike)[source]

The Sunpower CyroTel GT is a cryocooler.

This driver is for the GT generation 2. According to the Sunpower website, this means for cryocoolers purchased after May 2012.

Caution: Do not use this driver to established a closed loop control of the cryocooler, as this may cause malfunction and potentially damage to the device (see the manual for details). You can use this driver however to adjust the setpoint temperature and read the current temperature.

For communications, the default baudrate is 4800, 8 data bits, 1 stop bit, and no flow control.

Example usage:
>>> import instruments as ik
>>> inst = ik.sunpower.CryoTelGT.open_serial("/dev/ttyACM0", 4800)
>>> inst.temperature
82.0 Kelvin
>>> inst.temperature_setpoint
77.0 Kelvin
class ControlMode(*values)[source]

Control modes for the Cryocooler.

POWER = 0
TEMPERATURE = 2
class StopMode(*values)[source]

Stop mode for the cryocooler. HOST means that the start/stop command can be controlled from the host computer. DIGIO means that the start/stop command can be set from the digital input/output pin 1 on the cryocooler.

DIGIO = 1
HOST = 0
class ThermostatStatus(*values)[source]

Thermostat status for the CryoTel GT.

Off means that the thermostat is open and the cryocooler is shutting down or shut down.

OFF = 0
ON = 1
query(command, value=None)[source]

Send a query to the cooler and return the response if no value is given.

When setting a variable, the CryoTel GT will generally return the value that was set. This is checked for accuracy and a warning is raised if the return value is not the same as the set value.

For an actual query where we expect a result, the result is returned unchanged.

Parameters:
  • command – The command to send to the cooler.

  • value – The value to be set. If not given or None, it is assumed that you want to query the cryocooler.

Returns:

The response from the cooler or None.

query_multiline(command, num_lines)[source]

Send a query to the cooler and return the response.

This is used for commands that return multiple lines of data.

Parameters:
  • command – The command to send to the cooler.

  • num_lines – The number of lines to read from the cooler.

Returns:

The response from the cooler as a list of lines.

reset()[source]

Reset the CryoTel GT to factory defaults.

save_control_mode()[source]

Save the current control mode as the default control mode.

sendcmd(command)[source]

Send a command to the cooler.

Parameters:

command – The command to send to the cooler.

property at_temperature_band

Get/set the temperature band of the CryoTel GT in Kelvin.

Returns the temperature band within the green LED and “At Temperature” pin on the I/O connector will be activated.

If no unit is provided, Kelvin are assumed.

Returns:

The current temperature band in Kelvin.

property control_mode

Get/set the control mode of the CryoTel GT.

Valid options are ControlMode.POWER and ControlMode.TEMPERATURE.

Note

The set control mode will be reset after a power cycle unless you also call the save_control_mode() method.

Returns:

The current control mode.

property errors

Get any error codes from the CryoTel GT.

Only error codes that are currently active will be added to the list. If no error codes are active, an empty list is returned.

Returns:

List of human readable strings.

property ki

Set/get the integral constant of the temperature control loop.

The default integral constant is 1.0 and will be reset to this value if the reset method is called.

Returns:

The current integral constant.

Return type:

float

property kp

Set/get the proportional constant of the temperature control loop.

The default proportional constant is 50.0 and will be reset to this value if the reset method is called.

Returns:

The current proportional constant.

Return type:

float

property power

Get the current power in Watts.

Returns:

The current power in Watts.

property power_current_and_limits

Get the current power and power limits in Watts.

Returns:

Three u.Quantity objects representing the maximum allowable power at the current temperature, the minimum allowable power at the current temperature, and the current power.

property power_max

Get/set the maximum user defined power in Watts.

The cooler will automatically limit the power to a safe value if this number exceeds the maximum allowable power.

Returns:

The maximum user defined power in Watts.

property power_min

Get/set the minimum user defined power in Watts.

The cooler will automatically limit the power to a safe value if this number exceeds the minimum allowable power.

Returns:

The minimum user defined power in Watts.

property power_setpoint

Get/set the setpoint power in Watts.

This setpoint is used when the control mode is set to ControlMode.POWER. Setting the power is unitful. If no unit is given, it is assumed to be in Watts.

While any number from 0 to 999.99 can be set, the controller will only command a power that will not damage the cryocooler.

Returns:

The setpoint power in Watts.

Raises:

ValueError – If the power is set to a value outside the allowed range.

property serial_number

Get the serial number and revision of the CryoTel GT.

Returns:

List of serial number string and revision string.

property state

Get a list of most of the control parameters and their values.

Note: This is the direct list from the CryoTel GT controller. See the manual for the meaning of the parameters.

Returns:

A list of strings representing the control parameters and their values.

property stop

Get/set the stop state of the CryoTel GT.

Valid options are True (stop) and False (start).

Returns:

The current stop state.

property stop_mode

Get/set the stop mode of the CryoTel GT.

Valid options are StopMode.HOST and StopMode.DIGIO.

Returns:

The current stop mode.

property temperature

Get the current temperature in Kelvin.

Returns:

The current temperature in Kelvin.

property temperature_setpoint

Get/set the setpoint temperature in Kelvin.

This setpoint is used when the control mode is set to ControlMode.TEMPERATURE. Setting the temperature is unitful. If no unit is given, it is assumed to be in Kelvin.

Returns:

The setpoint temperature in Kelvin.

property thermostat

Get/set the thermostat mode of the CryoTel GT.

Set this to True to enable the thermostat mode, or False to disable it.

Returns:

The current thermostat mode state.

Return type:

bool

property thermostat_status

Get the current thermostat status of the CryoTel GT.

Returns ThermostatStatus.ON if the thermostat is enabled, and ThermostatStatus.OFF if it is disabled.

Returns:

The current thermostat status.

Return type:

ThermostatStatus