Python interface for communicating with lakeshore 625 superconducting power supply
git clone https://github.com/MazinLab/lakeshore625-python
python3 -m venv lakeshore625-env
source lakeshore625-env/bin/activate
cd lakeshore625-python
pip install -e .
Note, if your lakeshore 625 is configured in ramp mode, executing --set-current will start the ramp. Do not set this to a value until you are ready to start ramping. This is a large power supply, be aware of open circuits and shocks
The lakeshore625 is a power supply for controlling a superconducting magnet, ramping current up and down according to preset user parameters.
This repository consists of:
pyproject.tomlwhich handles all necessary importspower_controller.pywhich handles all direct serial commands with the lakeshore 625. This file includes several methods with functionality that can be called upon through CLI in main.py. For exampleset_ramp_rateis called upon as--set-ramp-rateas defined inmain.py. All methods contain direct serial commands as defined in the lakeshore 625 manual. It does not include every serial command availablemain.pyinitializes the CLI. It calls upon methods defined inpower_controller.py.logging.pyrecords the parameters of the lakeshore 625, best run during a ramp up or ramp down to monitor voltages and current
To execute a basic ramp up then ramp down, we would execute the following steps:
Before running anything, we want to ensure quench detection is on (lakeshore 625 --enable-quench).
We also want to set our max limits/quench detection limits. Note, these are different than the compliance voltage and target current. Compliance voltage is the voltage as which the ramp will stop if it exceeds and target current is the current the ramp is attempting to reach. The maximum voltage and maximum currents, when reached, will trigger a quench detection and everything will shut off. The maximum voltage, current, and rate should be higher than the compliance voltage, target current, and ramp rate or else the ramp will be interrupted.
We can set maximum limits by running lakeshore625 --set-max-limits CURRENT VOLTAGE RATE
YOu can set your compliance voltage with lakeshore625 --set-compliance-voltage VOLTAGE and set the rate with lakeshore625 --set-rate RATE. Voltage is in volts and rate is in A/s.
Run logging.py to log the lakeshore 625 parameters through the cycle. It will create a new .csv file stored in the ramps/ folder.
Execute lakeshore625 --set-current CURRENT.
The lakeshore 625 should immediately start ramping to that current at the rate you specified. It will automatically stop when it reaches that current, or if it reaches your quench detection limit.
Note, to "ramp down" simply set the target current to 0 and it will begin ramping down.
Nikki Zivkov 2/19/26