FMCG/Field nulling and Optimization: Difference between revisions
No edit summary |
|||
Line 23: | Line 23: | ||
=Local Field Nulling= |
=Local Field Nulling= |
||
Once the first channel is nulled, the other channels should be ''close'' to nulled: only the small field gradients between the sensors will have to be shimmed away. To accomplish this, we will use the shell-mounted coils. The shell coils are connected to the the '''"Sulai Current Supplies"''' in the main control box. The output currents from these supplies are controlled by an Arduino controller and DAC also located inside the main control box. With the code programmed into the Arduino, adjusting the current in one direction at one of the sensors will automatically adjust the currents at the other sensors to counteract any fields the adjustment to the first sensor may cause. Details of this code are provided '''HERE''' (include link here). |
|||
Once the first channel is nulled, the other channels will s |
|||
The following will assume that Channel 1 has been nulled with the room coils and Channel 2 will be nulled with its set of local coils. If other channels are in use, they can be nulled sequentially using a similar process. |
|||
# On the main control box, turn the '''Channel Selector''' (far left of box) knob to channel 2. The channel selector knob has four positions [12 o'clock, 1 o'clock, 2 o'clock, 3 o'clock] corresponding to [channel 1, channel 2, channel 3, channel 4] respectively. |
|||
# Adjust the output resistors appropriately. These are set with the second column of three knobs on the far right of the control box. Each one of these knobs is also 4-position, but often the indicators on the knobs don't correspond very well with the actual position of the switch. Usually best to turn the knob to one of the "end positions" and then select the appropriate output resistor. From "most counterclockwise" to "most clockwise", the output resistors are [100 Ω, 500 Ω, 1000 Ω, 5000 Ω]. Because the residual fields (after adjusting the room coils appropriately) are generally very small, the resistors can generally all be set to the 5000 Ω setting. However, for Z-mode measurements, large Z fields are required and thus the 100 Ω resistor (or 100 Ω) should be utilized. '''Note: the way the program is set up currently, the the coupling coefficients only work correctly if all channels' resistors are the same for a particular direction. That is, it's possible to use a 5 kΩ resistor on channel 2Y and a 500 Ω resistor on channel 1Z since those fields are not coupled with our array geometry. However, it would be inadvisable to use a 5 kΩ resistor on channel 2Y with a 1 kΩ resistor on channel 1Y (or 3Y or 4Y for that matter), since those directions ''are'' coupled. |
Revision as of 19:14, 24 August 2016
Room Field Nulling
SERF regime demands very small residual magnetic fields, so any large fields remaining inside of the room must be "shimmed" or "nulled". One detector will be nulled using the "global" room coils, and the other one(s) with the "local" shell coils. Nulling one channel with the room coils will bring the fields at the other channels near zero, and the remaining fields at each sensor can be shimmed using their local coils.
The following will assume the room coils are connected to the single-channel "Wyllie Supplies" and each individual set of shell coils is connected to the appropriate port on the back of the main control box.
The process of nulling the fields is somewhat difficult to explain in words, but gets easier with practice. The procedure below is not to be followed word-for-word, but can hopefully be useful as a guide.
- Since we'll be using the Wyllie supplies with the room coils to null the first sensor (Channel 1 recommended, but not necessary), make sure there's a wide output current range on these supplies. Make sure the DC voltage ranges (1) on all three supplies are set to "full" and the output resistors (2) are set to 1 kΩ. This amount of current is generally enough to generate the nulling fields for the room.
- Connect the the two channels of the BK precision function generator to the X and Z AC inputs of the Wyllie supply. To start, set them to each output 20 Hz, .1Vpp sine waves. The amplitudes can be adjusted later to suit a the specific situation. The buttons above the BNC ports enable the outputs.
- Reduce the gain on the I-V converter until the output no longer rails. At this point, I've found it easier to go to a "scan" mode on the oscilloscope (time divisions of either 100 or 250 ms). This will allow you to easily see the characteristic dispersive lineshape for the magnetometer. Also, it may be helpful to disable the traces of the other channels to make it easier to focus.
- Try sweeping the y field and search for the dispersive lineshape.
- If the lineshape is observed, park right in the middle of it.
- If after scanning the entire range of the potentiometer, the lineshape is not observed, try to park the y at the "steepest" point (maximum of dV/dB).
- Enable the output on the BK function generator to apply a field to the Z coils. If it's not possible to see the magnetometer's response to this transverse signal, increase its amplitude on the function generator. Adjust the DC value of the X supply and try to reduce the response to the X signal.
- When the response to Z has been minimized, or if you seem to be unable to reduce the response at all, disable the BK output to Z and apply a modulation signal to X. Use the DC Z coils to minimize the magnetometer's response to the X signal.
- Nulling notes
- During the above two steps, the DC value of the magnetometer signal will likely swing wildly. Use the Y current supply to attempt to keep the DC value close to zero. Actually, it's a decent idea to keep sweeping the Y field anyway...as the X and Z fields get closer to zero, the dispersive shape when scanning the y field should become more and more apparent.
- It is possible for the response to [X, Z] fields to decrease even if the [Z, X] fields are not approaching zero. In fact, if the transverse fields grow huge, the response to the transverse fields will grow small simply because the magnetometer gets worse at detecting **any** field. During the nulling procedure, when you're approaching the "true null point", the response to the transverse field will actually "slowly" get larger as you approach the optimum point and then "quickly" shrink to a very small value, only to begin quickly increasing when the optimum point is passed. If instead, you're approaching a "false null point", the response will "slowly" get smaller but never quite reach the "very small response value" of the true null point.
- As you continue to iterate and bring the X and Z fields get closer to their null points, the process will get easier and the wild DC swings associated with adjusting the transverse fields will get smaller (obviously, as the magnetometer is also becoming less sensitive to DC transverse fields). You can probably begin increasing the I-V gain and decreasing the applied field (on the BK fungen).
- Once the optimum (X,Y,Z) fields are applied, check to see if larger output resistors can be used. Use a DMM to measure the DC voltage on the monitor outputs (white BNC ports). The voltage range on the monitor output is roughly -25 V to +25 V on each channel. So, for example, if 1 kΩ resistors are being used and the monitor voltage reads 2 V, a switch to the 5 kΩ output resistors is possible as long as the DC voltage is increased to 10 V (maintaining the same current). Larger output resistors have historically given us lower magnetic noise (leading us to believe we are voltage-noise limited on the current supplies).
Local Field Nulling
Once the first channel is nulled, the other channels should be close to nulled: only the small field gradients between the sensors will have to be shimmed away. To accomplish this, we will use the shell-mounted coils. The shell coils are connected to the the "Sulai Current Supplies" in the main control box. The output currents from these supplies are controlled by an Arduino controller and DAC also located inside the main control box. With the code programmed into the Arduino, adjusting the current in one direction at one of the sensors will automatically adjust the currents at the other sensors to counteract any fields the adjustment to the first sensor may cause. Details of this code are provided HERE (include link here).
The following will assume that Channel 1 has been nulled with the room coils and Channel 2 will be nulled with its set of local coils. If other channels are in use, they can be nulled sequentially using a similar process.
- On the main control box, turn the Channel Selector (far left of box) knob to channel 2. The channel selector knob has four positions [12 o'clock, 1 o'clock, 2 o'clock, 3 o'clock] corresponding to [channel 1, channel 2, channel 3, channel 4] respectively.
- Adjust the output resistors appropriately. These are set with the second column of three knobs on the far right of the control box. Each one of these knobs is also 4-position, but often the indicators on the knobs don't correspond very well with the actual position of the switch. Usually best to turn the knob to one of the "end positions" and then select the appropriate output resistor. From "most counterclockwise" to "most clockwise", the output resistors are [100 Ω, 500 Ω, 1000 Ω, 5000 Ω]. Because the residual fields (after adjusting the room coils appropriately) are generally very small, the resistors can generally all be set to the 5000 Ω setting. However, for Z-mode measurements, large Z fields are required and thus the 100 Ω resistor (or 100 Ω) should be utilized. Note: the way the program is set up currently, the the coupling coefficients only work correctly if all channels' resistors are the same for a particular direction. That is, it's possible to use a 5 kΩ resistor on channel 2Y and a 500 Ω resistor on channel 1Z since those fields are not coupled with our array geometry. However, it would be inadvisable to use a 5 kΩ resistor on channel 2Y with a 1 kΩ resistor on channel 1Y (or 3Y or 4Y for that matter), since those directions are coupled.