Skip to content
Snippets Groups Projects
Commit 056a1203 authored by Daniele Nicolodi's avatar Daniele Nicolodi
Browse files

si5servo: Adjust minimum cryofan speed

parent 78958f1c
Branches
No related tags found
No related merge requests found
...@@ -65,18 +65,21 @@ def main(setpoint, params, frequency, amplitude, source, datadir, dataname): ...@@ -65,18 +65,21 @@ def main(setpoint, params, frequency, amplitude, source, datadir, dataname):
# Get output device. # Get output device.
output = rpc.Client(cryo124k.ADDRESS, cryo124k.TIMEOUT) output = rpc.Client(cryo124k.ADDRESS, cryo124k.TIMEOUT)
# Control loop parameters. # Parse control loop parameters.
args = {name: float(value) for name, value in (param.split('=') for param in params)} args = {name: float(value) for name, value in (param.split('=') for param in params)}
args.setdefault('o', output.attr('output')) args.setdefault('o', output.attr('output'))
# PI control loop with anti-windup. With the cryofan speed set to # When the cryofan speed is set to zero, there is no He circulation and
# zero, there is no He circulation and the gas in the He circuit # the He in the closed circuit warms up. When the He starts circulating
# warms up to a temperature above the system temperature. When the # again, the system temperature increases instead of decreasing.
# He starts circulating again, the system temperature increases # Maintaining a minimum He flow prevents this effect. Experimentally it
# quickly instead of decreasing. To avoid this effect, always keep # has been found that for this setup the flow obtained with a cryofan
# a minimum He flow by setting the minimum cryofan control voltage # control voltage of 2.2 V does not contribute significant cooling while
# to 0.1 V. # not allowing warm He to accumulate.
servo = control.AntiWindupPI(setpoint=setpoint, vmin=0.1, vmax=10.0, **args) vmin, vmax = 2.2, 10.0
# PI control loop with anti-windup.
servo = control.AntiWindupPI(setpoint=setpoint, vmin=vmin, vmax=vmax, **args)
# Log loop parameters. # Log loop parameters.
data = datalogger.open_data_file(datadir, dataname, None) data = datalogger.open_data_file(datadir, dataname, None)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment