A perl script is now implemented (running on acromag1) that gives PID control of the south laser temperature 'slow input'. (North cavity will be setup next).
The script (attached) was pulled from the fb2 machine controls home folder and was a version earlier attributed to Tobin Fricke 2007-01-09 then modified variously by Frank, Tara and now me. I have removed various proprietary channel calls buried in the script and moved them to the preamble variable declarations section of the script so they are easily modifiable in the future. The following software channels were declared in the IOCTEST_BIO_generic.db database file (on acromag1) so that the perl script's PID constants can be accessed and changed from front end interface:
- C3:PSL-ACAV_SLOWFSS_SETPOINT (Setpoint monotor voltage the PID aims for)
- C3:PSL-ACAV_FSS_SLOWPID_KP
- C3:PSL-ACAV_FSS_SLOWPID_KI
- C3:PSL-ACAV_FSS_SLOWPID_KD
- C3:PSL-FSS_SLOWPID_TIMEOUT (i.e. the time step interval of the do loop)
- C3:PSL-ACAV_FSS_SLOWPID_BLINK (Status blinker to show script is ticking over)
- C3:PSL-ACAV_FSS_SLOWPID_EN (Loop engaged 1 = yes, 0 = no)
These channels were then added to the C3PSL_LASER_SLOW.adl panel as sliders and buttons for user control.
Screen shot of current front panel
The loop was engaged but needs some tuning. I will search back through the elog and see if there are any nominal starting values and then optimize. There is a note from from Tara in this post PSL:1155 that he put a low pass filter on both the output AND the input. There are little glitches in the data (as you can see below). It might be prudent to put this kind of filtering on the input, or at least adjust the averaging.
First PID lock engage for South Slow laser controls, some oscillations that need damping
ADC has some glitches, not sure how this will affect the control loop or
if will be inherently filtered by the pole of the crystal temperature repsonse
Quote: |
Computer fb2 rebooted eventually (>1 hour). fb2 now has a much faster response to ssh logins which would take ~20 s to ask for a password before.
|
|