Setting heater frequency for multi-channel operation

951 views
Skip to first unread message

Vishal Shah

unread,
Jan 28, 2019, 6:56:44 PM1/28/19
to QZFM Discussion Board
This post is relevant if you are running multiple sensors at once in close proximity. 

The vapor cell (and the laser) inside the sensor is heated using ac electrical currents @ ~400 kHz. Some of this RF can be radiated by the cable etc. and picked up by the adjacent sensor. In Gen 1 electronics, ~400 kHz is internally generated, and because the internal oscillator in each Gen. 1 electronics is not referenced to a common clock, the output can vary quite a bit. For example, sensor 1 can be at 400,001 Hz and sensor 2 can be at 400,007 Hz etc. even when they are each set to 400,000 Hz. This can lead to aliasing which can produce a 6 Hz peak in the magnetometer output (or whatever is the frequency separation of the heater frequencies). 

Our current solution to mitigate this problem is to space the heater frequencies in each sensor in the array by a few hundred Hz (~427 Hz for example) so that the aliasing peak is outside the frequency band of interest. Sensor 1 at 400,000 Hz, Sensor 2 at 400,427, Sensor 3 at 400,854..and so on. Use ~hfr command to find out the heater frequency in your unit if you are unsure about the preprogrammed value of the heater frequency. 

If you see any spikes in the magnetometer FFT that you suspect may be caused by heater frequency aliasing, try changing the heater frequency and see if you are able to shift the peak. One easy test to see if you have aliasing problem is to power-off all the adjacent sensors (re-field zero) and see if noise spikes in the FFT plot disappear. If the noise spikes disappear, the noise spikes likely originate from heater frequency aliasing.

 




josborne

unread,
Jan 29, 2019, 6:30:39 PM1/29/19
to qzfm-discu...@googlegroups.com

To make it easier to program the electronics with different heater frequency values you can download this new QZFM Command UI. There are three tabs: Sensor monitoring, graphs, and firmware updates.

First run the vi (by clicking on the gray arrow in the top left of the window) and observe that all the connected sensors are properly displayed in the first tab. If any sensors are missing, close the vi and make sure there is a usb connection from that sensor to the computer then wait a few seconds before reopening the vi. 

Next, navigate to the Firmware tab (second image)

QZFM Command UI (R1-00) Image 1.png

In this tab you will see the controls "Heater Frequency Start (Hz)", "Heater Frequency Uniform Increment", and "Heater Frequency Additional Increment". There buttons for Assigning and Reading out the heater frequencies, as well as an indicator for the selected sensor. 

Be sure that the "Selected Sensor" indicator displays the first sensor in the Sensors tab. If the indicator is blank or displays a different sensor, navigate to the Sensor tab and click directly on the serial number (for example Z2.0-0001).


Next set the values for the "Heater Frequency Start (Hz)", "Heater Frequency Uniform Increment", and "Heater Frequency Additional Increment" controls to 400000, 427, and 0 respectively. Then press the "Assign All Heater Frequencies" button. You can observe in the Sensors tab that the heater frequency is set and the sensors are automatically rebooted. Once the sensors have rebooted you can press the "Read All Heater Frequencies" button and observe the heater frequencies displayed in the Sensor Status indicator in the Sensors tab. 


If you find that the uniform frequency increments are not stopping the noise spikes you can change the "Heater Frequency Additional Increment" to a non-zero value and it will add an extra spacing of the heater frequencies (for example 400,000 Hz, 400,427 Hz, 400,881 Hz) each heater frequency will be spaced non-uniformly by an extra 27 Hz. 


Note: Set the "Heater Frequency Start (Hz)" value to 400000, try different values for the uniform increment but do not exceed 1000, and for the additional increment do not exceed 100 (unless otherwise instructed by someone at QuSpin). 

QZFM Command UI (R1-00) Image 3.png

James Osborne

unread,
Jul 26, 2019, 3:59:31 PM7/26/19
to qzfm-discu...@googlegroups.com
**V6 Heater Board**

Important: If your firmware version is V1_22 or later you should not need to do any of the following steps. You can check the firmware version by sending command 35, the response should contain "FSN: X_XX" where X_XX corresponds to the version number. 

Interference from heater frequencies is a major issue for multi-channel operation, to remedy the situation in the short term we are releasing an upgraded heater board (V6) that synchronizes the phase and frequency of all the heater signals.
The way this works is that the master module outputs a heater signal on the modulation cable (in addition to the main modulation), and the slave modules will use the heater signal generated by the master module instead of their own internally generated signal. 

V6 heaters are default in all our future shipments as of August 2019. The V6 heater board require V7.5 main boards for operation.
1. If you do not have V6 heater board, you can get them from us at cost (approx $90).
2. If you do not have V7.5 motherboard, it is fairly easy to modify older versions of the motherboard (simply soldering a couple of wires). We will post instruction for that shortly below. You can also send your electronics back to us and we will make the motherboard modification for your for free if needed. The V6 heater board upgrade is limited to Gen2 sensors for now.

If you are upgrading to V6 heater boards you may need firmware upgrade. Please get in touch with us by sending an email to j...@quspin.com with your sensor serial number(s) to identify if you need a firmware update.

To check if a specific electronics was originally shipped with a heater board V6 send ~asd to the sensor via the Firmware Updater Labview application available for download here https://groups.google.com/forum/#!category-topic/qzfm-discussion-board/qzfm-gen-1-15-and-2-with-gen-1-electronics/YIRBTzyWFO4 the sensor will read back $asdHV6 if it was sent with the heater board V6, or you can use a serial terminal such as TeraTerm or Putty to send the ~asd command also. 

Procedure for activating heater signal synchronization with V6 boards is:

1. Reset all electronics using the reboot/shutdown button

2. Send command 78 to only the master module for it to output the heater frequency on the 3.5 mm modulation cable

3. Next send command 73 to all slave modules (not to the master module) so that they will accept the external heater signal

Note: Sending commands to only specific sensors is most easily accomplished by using the QuSpin ZFM UI V6.1. You can select the sensors that will be sent the command via the "Send Command" button by checking the box to the left of where the serial number of the sensor is displayed (If the box reads ON the command will be sent to that sensor, if it reads OFF it will not receive the command). 


Notes: 

1. Electronics modules with firmware version 1.19 and earlier will need to be sent these commands each time they are powered off then back on, as the default mode is using their own internal heater signal. To switch back to default heating mode you can send command 75 to the master electronics to stop sending the heater signal on the modulation cable and command 74 to the slave sensors to switch back to internal clocks.

2. Electronic modules with firmware version 1.22 and later will have the heater board V6 commands active by default. 

3. To read out the firmware version currently on the electronics you can send command 35, which will read out information including "FSN:X.XX" (for example "FSN:1.19 corresponds to the firmware version 1.19). This information is only read out for firmware 1.19 and later. Reboot the electronics after sending command 35 before proceeding with other commands. 


Important: To set different heater frequency values while running sensors to minimize the interference in multi-channel systems send the following commands:

                   Command 108: Heater Frequency + increment

                   Command 109: Heater Frequency - increment

                   Command 110: cycles the increment value between 1, 10 , 100 in units of Hz

After sending these commands the heater frequency or increment value will display in the sensor status box of the sensor the command was sent to. You can then send ~hfr with the new heater frequency value to permanently set that heater frequency. 


  

Ekaterina Skidchenko

unread,
Jul 31, 2020, 7:35:16 AM7/31/20
to QZFM Discussion Board
Can the difference in electronics output cause to appear not only low frequency peaks (6 Hz, as was stated above), but higher ones (e.g. 77 Hz)?

вторник, 29 января 2019 г., 2:56:44 UTC+3 пользователь Vishal Shah написал:

James Osborne

unread,
Jul 31, 2020, 2:13:46 PM7/31/20
to QZFM Discussion Board
The heater frequency beat notes can occur at essentially any frequency depending on what they are programmed at but you would expect the beat notes to occur at lower frequency if they are all programmed at the same value (default 400000 Hz). This 77 Hz frequency peak is likely caused by the sampling rate of the DAQ (if set to 1000 Hz)  interfering with the 923 Hz modulation causing a 77 Hz beat note. We recommend changing the sample rate of the DAQ to shift this beat frequency outside the range of interest. 
Reply all
Reply to author
Forward
0 new messages