Magnetic Field Controllers¶
Bruker BH15 module was rewritten from the FSC2 module originally created by Jens Thomas Törring in C. Communication with Bruker ER032M field controller can be achieved using the same module.
Devices¶
| Device | Tested | Connection |
|---|---|---|
| Bruker BH15 | 01/2021 | GPIB (linux-gpib) |
| Bruker ER032M | — | GPIB (linux-gpib); available via BH15 module |
| Bruker ER031M | 01/2021 | RS-232 (Arduino-emulated keyboard) |
| Homemade ITC1 | 04/2023 | RS-232 |
Functions¶
magnet_name()¶
This function returns device name.
magnet_setup(start_field, step_field)¶
This function is used to set the start field and the field step used in sweeps. The function expects two floating point arguments both in Gauss.
As it is indicated here: for Bruker BH15 field controller for some combinations of the start field and field step size deviations between the requested field and the real field may result of up to 25 mG. If the maximum field deviation was larger than 5 mG at the end of the test run as well as the experiment the maximum field deviation is printed out. To minimize these deviations use a start field that is a multiple of 50 mG and avoid sweeps with more than about 2000 steps away from the start field.
Note
The function is available for ITC1 field controller but has no meaning.
magnet_field(*field)¶
This function queries or sets the magnetic field in Gauss. If an argument is specified the function sets a new magnetic field value. If there is no argument the function returns the current magnetic field. For the Bruker BH15 and Bruker ER031M field controllers this function returns the current field setting in Gauss.
For Bruker BH15 field controller setting a field with this function while also having initialized the magnet using magnet_setup() may result in deviations between the requested field and the real field of up to 25 mG.
Requesting the current value of the field is only possible, if the function magnet_setup() has been called or a field already has been set.
magnet_sweep_up()¶
This function does not take an argument and starts sweeping of magentic field up using the field step value specified in magnet_setup() function. It can be used only if the function magnet_setup() has been called before. The function returns the new field value.
Note
The function is not available for Bruker ER031M and ITC1 field controllers.
magnet_sweep_down()¶
This function does not take an argument and starts sweeping of magentic field down using the field step value specified in magnet_setup() function. It can be used only if the function magnet_setup() has been called before. The function returns the new field value.
Note
The function is not available for Bruker ER031M and ITC1 field controllers.
magnet_reset_field()¶
This function resets the magnetic field to the start field value specified in a previous call of magnet_setup(). The function returns the new field value.
Note
The function is not available for Bruker ER031M and ITC1 field controllers.
magnet_field_step_size(*step)¶
magnet_field_step_size() # -> float; minimum field step size in G
magnet_field_step_size(10) # -> float; nearest possible step to 10 G
This function returns the minimum field step size (in Gauss) if called without an argument and the possible field step size (in Gauss) nearest to the argument.
Note
The function is not available for Bruker ER031M and ITC1 field controllers.
magnet_command(command)¶
This function for sending an arbitrary command to the device in a string format. No output is expected.
Note
The function is not available for Bruker ER031M and ITC1 field controllers.