-
Notifications
You must be signed in to change notification settings - Fork 2
HIFI Zero field controller
Tom Willemsen edited this page Jan 13, 2025
·
2 revisions
The zero field controller on HIFI follows a similar design to the zero field controller used on other instruments such as EMU and MuSR, but is implemented as a separate IOC, ZFHIFI, due to a number of differences.
The main differences are:
- There are 6 field probes, across 2 magnetometer devices (each an instance of a Group3 hall probe,
G3HALLPR).- There is HIFI-specific field correction logic used to get a corrected field from these 6 probes
- The zero field system on HIFI uses the shim coils from the HIFI cryomag as it's outputs. These are
CRYOSMS_02..CRYOSMS_04, hosted onhifi-cryomag
The expected setup for this system is:
-
CRYOSMSIOCs onHIFI-CRYOMAGfor the shim coils, configured with:-
"CRYOMAGNET": "No"(The shim coils should not be set up as a cryomagnet) -
"NON_PERSISTENT_SETTLETIME": 0(To avoid excessive settle times on ZF writes) -
"HOLD_TIME": 0(To avoid excessive settle times on ZF writes) -
"HOLD_TIME_ZERO": 0(To avoid excessive settle times on ZF writes)
-
-
G3HALLPRIOCs onNDXHIFIconfigured with:-
"FIELD_SCAN_RATE": "Passive"(the zero-field system will scan these when relevant) -
"FLNK0": "IN:HIFI:ZFHIFI_01:MAGNETOMETER:X1:READINGS_UPDATED.PROC CA"(and similar forflnk1/2)
-
-
ZFHIFI_01configured with:-
"PSU_X": f"IN:HIFI-C11:CRYOSMS_02"(and similar forPSU_Y/PSU_Z) "MAGNETOMETER_X1": f"IN:HIFI:G3HALLPR_01:0"-
"PSU_X_MIN": -15(and similar forY&Z, andMIN/MAX)
-
The flow of control is:
- The
ZFHIFIioc will request the magnetometers to take readings by processingG3HALLPR:...:TRIGGER - The
G3HALLPRioc will take a reading - The
G3HALLPRioc will process theREADINGS_UPDATEDpv on theZFHIFIioc - When all probes are ready, the zero-field ioc will calculate corrected fields
- The zero-field controller will write a new setpoint to the cryosms IOCs
- The cryosms IOCs will ramp the fields on the shim coils using it's internal state-machine
- The zero-field controller will wait for the cryosms to be "within tolerance" of the setpoint and reporting
READYstatus.