Displaying report 1-1 of 1.
Reports until 20:56, Wednesday 29 June 2016
H1 ISC
stefan.ballmer@LIGO.ORG - posted 20:56, Wednesday 29 June 2016 - last comment - 16:07, Thursday 30 June 2016(28076)
Engaging the ISS 2nd loop a 40W

Jeff, Kiwamu, Stefan

We had trouble engaging the ISS 2nd loop at 40W. The core issue is that the digitized signal (H1:PSL-ISS_SECONDLOOP_SIGNAL_OUTPUT) swings rail to rail without the loop, making it difficult to properly pre-set the offset adjuster (H1:PSL-ISS_SECONDLOOP_REF_SIGNAL_ANA).
As a result, when engaged, the ISS 1st loop tended to swing into saturation.

I patched the Guardian as follows:
- Instead of trying to rely on a calculation for the offset adjuster (H1:PSL-ISS_SECONDLOOP_REF_SIGNAL_ANA), I hard-coded it to 0.987 V, which is where it likes to sit at 40W. (THis is obviously not a long-term solution.)
- As soon as the servo comes on, I ramp H1:PSL-ISS_SECONDLOOP_REF_SIGNAL_SERVO_GAIN to zero, clear the history, and re-engage it on the diffreation power.

 

This seemed to engage the 2nd loop without excessive transient - back to full locking.

PS: I might have already mentioned this: but the ISS SHOULD BE AC COUPLED!

 

Code:

In PREPARE_ISS:

        # read current servo signal value. If it is too far from the operating point, correct the offset.
        #second_loop_out = cdu.avg(1, 'PSL-ISS_SECONDLOOP_SIGNAL_OUT16')
        #if abs(second_loop_out) > 1.0:
        #    # measure current input PD value
        #    # Sets the ref. signal value to bring it to close to the operating point
        #    pd_avg = cdu.avg(1, 'PSL-ISS_SECONDLOOP_PD_14_SUM_INMON')
        #    ezca['PSL-ISS_SECONDLOOP_REF_SIGNAL_ANA'] = round(0.5*((pd_avg*2.29*.0006103515625)+0.101), 6)
        #    time.sleep(5)

        # above section commented out - instead command the value that worked  (Stefan Ballmer 20160629 for 40W)
        ezca['PSL-ISS_SECONDLOOP_REF_SIGNAL_ANA']=-0.9826934814453125
 

In CLOSE_ISS, once the loop is closed:

            # the loop is successfully locked, ramp off the loop (Stefan Ballmer 20160629 for 40W)
            ezca['PSL-ISS_SECONDLOOP_REF_SIGNAL_SERVO_GAIN'] = 0

and a little later:

            # clear and ramp on the loop (Stefan Ballmer 20160629 for 40W)
            ezca['PSL-ISS_SECONDLOOP_REF_SIGNAL_SERVO_RSET'] = 2
            time.sleep(0.1)
            ezca['PSL-ISS_SECONDLOOP_REF_SIGNAL_SERVO_GAIN'] = 1
 


 

Comments related to this report
keita.kawabe@LIGO.ORG - 16:07, Thursday 30 June 2016 (28099)

When people were engaging the offset adjuster servo with 40W into IMC, eventually H1:PSL-ISS_SECONDLOOP_REF_SIGNAL_MON_OUTPUT settled down to -0.98V and H1:PSL-ISS_SECONDLOOP_SUM14_DC_OUT16 to 39.6.

This PSL-ISS_SECONDLOOP_SUM14_DC_OUTPUT thing is a digital sum of four digital outputs, each with dewhite, so it's well behaved even with high power, unlike PSL-ISS_SECONDLOOP_PD_14_SUM which is just a readback of the second board input without dewhite.

pd_avg = cdu.avg(2, 'PSL-ISS_SECONDLOOP_SUM14_DC_OUT16')
ezca['PSL-ISS_SECONDLOOP_REF_SIGNAL_ANA'] = round(-pd_avg*0.98/39.6, 6)

instead of

ezca['PSL-ISS_SECONDLOOP_REF_SIGNAL_ANA']=-0.9826934814453125

 

But you might have to fine tune the above to account for some offset in the board. I haven't changed the guardian.

Images attached to this comment
Displaying report 1-1 of 1.