Displaying report 1-1 of 1.
Reports until 16:00, Friday 10 November 2023
X1 SUS (CDS, CSWG, ISC, SUS)
jeffrey.kissel@LIGO.ORG - posted 16:00, Friday 10 November 2023 (74142)
x1suslo1 (HRTS) and x1susbs (BBSS) Controls Ready for Suspension Testing
J. Kissel, O. Patane

Oli and I have finished building up the infrastructure on the x1susquad and x1sustriple computers with front-end models, MEDM screens, EPICs settings, and filter files for upcoming dynamical testing of Bigger Beam Splitter Suspension (BBSS) and HAM Relay Triple Suspension (HRTS). These should now behave as through they were a fully-functional part of the production system, the team should be able to take calibrated ASDs of OSEMs as well as full, driven transfer functions as normal "health check." Transfer functions. This completes all the critical "before Jeff leaves" actions from the controls testing and commissioning checklist, T2300376.

Below, I outline the work we finished today.

- Finished designing and debugging MEDM screens started yesterday (continuing the work described in LHO:74097). The final results are committed to the userapps repo, under
     /opt/rtcds/userapps/release/sus/common/medm
     sus/common/medm/
          x1suslo1_overview_macro.txt   rev 26712
          x1susbs_overview_macro.txt    rev 26712
     sus/common/medm/bbss/
          SUS_CUST_BBSS_OVERVIEW.adl    rev 26712
          (and all referenced subscreens SUS_CUST_BBSS*.adl)
     sus/common/medm/hxts/
          SUS_CUST_HRTS_OVERVIEW.adl    rev 26712
          (and all referenced subscreens SUS_CUST_H?TS*.adl)

- Installed basis transformation matrices defined as of SWG:12125
     Used 
     /ligo/svncommon/SeiSVN/seismic/Common/MatlabTools/
         fill_matrix_values rev 9790
     and 
     /ligo/svncommon/SusSVN/sus/trunk/
         BBSS/Common/MatlabTools/
             make_susbbss_projections.m rev 11666
         HRTS/Common/MatlabTools/
             make_susbbss_projections.m

- Installed the correct actuator sign gains in the COILOUTF banks, given the magnet arrangement in the BSFM and HRTS controls arrangement posters (E1100108 and E2300341) and the sign conventions established in T1200015.

- Installed OSEMINF sensor calibration filters
     These are standard for every OSEM signal chain so just hand copied these filters over from the H1 production system to all the BBSS BS and HRTS LO1 OSEMINF filters:
         - FM1     "10:0.4"    zpk([10],[0.4],1,"n")
         - FM5     "to_um"     zpk([],[],0.0233333,"n")

- Installed the appropriate COILOUTF actuator / coil driver frequency response compensation for the top masses on the test stands.
     QUAD (SUS BSC) Test stand and (SUS) Triple Test Stand are driving their top masses with QUAD and Triple Top drivers. 
     Although these drivers are standard production electronics with the *ability* to switch their frequency response, there's no 
     binary IO switch-ability on these test stands to do it remotely like there is on the production system. 
     So we install all of the frequency response compensation for a TOP driver,
         - FM2    SimLPM1       zpk([9.99999],[1],1,"n")
         - FM6    AntiAcqM1     zpk([0.9],[30.9996],1,"n")
         - FM7    AntiLPM1      zpk([1],[9.99999],1,"n")

     Because the future production BBSS system *will* have switch-ability, we've installed the usual digital infrastructure to 
     remotely switch both the analog and digital filters. But, since the analog filter can't switch, and is thus in its default 
     configuration with the LP OFF, (State 1), the digital system *must always remain in state 1.*

     The HRTS on the other hand, in the future production HRTS system will be driven by HAM-A drivers with their LP switched 
     jumpered to the ON position, and there's no plan for remote control. As such, we ripped out the remote switching 
     infrastructure. So, we've hard-coded the test on the HRTS MEDM screens to suggest that the COILOUTF is in STATE 2. The 
     HAM-A drivers also have a totally different frequency response than the TOP drivers. 

     So -- under the hood, in the test stand only, we should leave the COILOUTF in the STATE 1 configuration (FM2, FM6, and FM7 ON) 
     to correctly compensate the configuration of the TOP driver. 

- Installed modern standard watchdog system, including BANDLIM and RMSLP filters.
     These are standard for every OSEM signal chain, so just hand copied these filters over from the H1 production system to all the BBSS BS and HRTS LO1 BANDLIM and RMSLP filters:
         - BANDLIM     FM1    "acBandLim"    zpk([0;8192;-8192],[0.1;9.99999;9.99999],10.1002,"n")
         - RMSLP       FM     "10sLP"        butter("LowPass",4,0.1)

     Then arbitrarily set the threshold to 100; this can be changed to be however loose or tight you find is helpful / protective for the hardware as you test them.

- Installed rudimentary, robust damping filters that should be stable for any suspension type. For test stand dynamical testing, we don't care about sensor noise re-injection. All we care about is "are the loops stable?" and "does the suspension damp in ~1 sec after experiencing an impulse?" As such, we installed a simple, generic damping filter with the same non-specific frequency response for every degree of freedom:
     - FM1     "0:25,25"    zpk([0],[25;25],1,"n")          simple, velocity damping damping zero at 0 Hz, and a simple two-pole roll-off at 25 Hz
     - FM5     "from_um"    zpk([],[],43.478,"n")           standard "anti" calibration of the OSEM sensors == 1 / "to_um"
     - FM10    "RLP11"      zpk([1+i*59.9917;1-i*59.9917],[5.73577+i*8.19152;5.73577-i*8.19152;1.71429+i*23.9387;1.71429-i*23.9387],1,"n")       some non-aggressive, low-Q, elliptic extra roll off filter (stolen from Elenna and Sheila's HAUX damping loop design)

     BUT we did NOT install a "gain" filter in FM4 as is standard, nor a standard -1.0 in the DARM_${DOF}_GAIN epics field. 
     This damping gain should be determined and set empirically. Just make sure the gain is negative. (and it'll be the easiest thing to do, rather than create a model of what the "best" gain should be).

- Saved all the settings in the right configuration with in test stand SDF system.


Next steps -- as indicated in T2300376:
    - Create 
        BBSS/X1/BS/SAGM1/Data/
      and 
        HRTS/X1/${LO1, LO2, LO3, OBS}/SAMG1/Data/
      folders in the SusSVN.
    - Create DTT templates to take "health check" transfer functions, and save them into the above mentioned new data folders.
        :: For BBSS, probably good to copy from the BSFM templates.
        :: For HRTS, *also copy from BSFM templates* because you'll get the F1F2F3LFRTSD OSEMINF channels, BUT don't drive anything until you tune the amplitude below.
    - Actually assemble, build, and hook up the OSEMs of a real suspension,
    - Measure open light current values, and install the appropriate compensation OFFSETs and GAINs in the OSEMINF banks.
    - Do crude "push around the suspensions with OFFSETs" in the TEST banks to make sure the DAC is actually driving the suspension, and that all of the degrees of freedoms are doing the right thing and the sign conventions are all correct. 
        :: "Plus L OFFSET in the TEST L bank creates more positive L motion in the DAMP_L IN1 channel
        :: "Plus V OFFSET in the TEST V bank creates more positive V motion in the DAMP V IN1 channel"
        :: "Plus T OFFSET in the TEST T bank creates more positive T motion in the DAMP T IN1 channel"
    - Drive transfer functions using the DTT templates 
        :: You'll likely have to tune the frequency response and amplitude of the template to get good coherence.
    - Save the transfer functions -- making sure to be good librarians about filenames associated with the suspension. 
        :: Even though the channel names in the DTT template are all going to *say* the optic is LO1, if you're hooking up LO2, and then LO3 later, save the file names with that name!
        :: Also, be dilligent about saving file names with the correct frequency vector (e.g. 0p01to50Hz for a careful 0.01 BW measurement, vs. 0p03to50Hz for a fast 0.03 Hz BW measurement)
    - Export the data to text file for reading into matlab.
    - Create the matlab infrastructure to process individual DTT transfer functions against the matlab dynamical model, and save the results to a 
        BBSS/X1/BS/SAGM1/Data/
      and 
        HRTS/X1/${LO1, LO2, LO3, OBS}/SAMG1/Results/
      directory structure.
    - create the matlab infrastructure to compare multiple measurements of the BBSS, and separately, the HRTS against each other, and compare!
Jeff should be back by the time you're done with all that.
Displaying report 1-1 of 1.