SN Applied Sciences

, 1:704 | Cite as

Development of a new magnetic measurement bench for in-vacuum undulators

  • M. DalliEmail author
  • M. Calvi
  • A. Sammut
  • N. Sammut
  • T. Schmidt
Short Communication
Part of the following topical collections:
  1. 3. Engineering (general)


Magnetic measurement benches are used to measure the magnetic field profile of insertion devices such as undulators. A critical feature of these benches is the traversal of a measurement head such as a Hall probe through the undulator whilst keeping it perfectly centered, ensuring that the measurement obtained is not distorted by physical displacements of the probe during measurement. This paper presents a detailed novel design for a new magnetic measurement bench based on the SAFALI Hall probe positioning system, which facilitates the measurement as well as magnetic optimisation of the magnetic field from inside of a vacuum chamber. The paper gives a brief introduction to in-vacuum undulators and describes the new developments in the magnetic measurement bench. The design of the electronics involved in the bench is then explained, including the wireless communication systems used to operate the bench. The reproducibility of magnetic field measurements as well as the precision of the hall probe positioning are also discussed and presented.


ATHOS soft X-ray beam line Magnetic measurement bench Undulator 

1 Introduction

Undulators are the insertion devices used in the new generation light sources to produce high brilliance X-ray beams. With respect to dipole magnets, they have a higher spectral density due to the interference effect that is produced by their periodic magnetic field profile. This produces a spectrum peaked at a given photon energy and its higher order harmonics. The main undulator parameters are the period length \(\lambda _{u}\) measured in millimeters (mm) and the magnetic field amplitude B measured in Tesla (T), which define the radiation wavelength by 1
$$\begin{aligned} \lambda = \frac{\lambda _{u}}{2n\gamma ^{2}} \left( 1 + \frac{1}{2}K^{2}\right) \end{aligned}$$
where \(\hbox {K} = 0.09334\hbox {(B)} (\lambda _u)\), \(\gamma\) is the relativistic Lorenz factor and n is the harmonic number.

In-Vacuum permanent magnet undulators (IVUs) are the state of the art for hard X-ray sources in medium energy storage rings (\(<\hbox {3GeV}\)) and compact Free Electron Lasers (FELs, \(<\hbox {8GeV}\)) [1]. The absence of a vacuum chamber between the magnet arrays and relativistic electron beam in IVUs, allow for operation of the device at lower vertical aperture, thus increasing the magnetic field. IVUs are usually designed with short magnetic periods, as low as 15 mm for operation at room temperature and down to 9 mm [2] for operation at cryogenic temperatures, where the permanent magnets yield higher remanence and higher coercivity fields [3].

The vacuum chamber surrounding the magnetic array results in limited accessibility to adjust individual magnetic poles, and thus optimisation of the magnetic array is usually performed without the vacuum chamber, which is installed at a later stage. This procedure is a time consuming one, and compromises the quality of the final magnetic field profile. After the first measurement and optimisation of the individual magnetic poles the magnetic arrays need to be disassembled and installed inside of the vacuum chamber, which is an operation that causes magnetic field errors typically in the order of tens of micrometers [4]. This later needs to be adjusted through a second series of magnetic measurements.

The new measurement bench has been designed to overcome the problems that have been described by accommodating measurement and adjustment of the individual magnet poles with the magnet arrays already installed inside of the vacuum chamber. This will reduce the effort and time, and consequently the cost of magnetic measurement campaigns and improve the quality of the final magnetic optimisation. It should be noted that the design presented does not cater for operation in vacuum conditions.

The new bench is based on the system SAFALI (Self Aligned Field Analyzer with Laser Instrumentation) operation [5]—where a Hall probe is guided by two laser beams along a straight line to measure the field of an undulator as experienced by an ultra-relativistic electron moving through. With respect to existing benches, the electronics for the measurement and control of the system is fully integrated within the vacuum chamber and all communication is implemented via wireless protocols, allowing for less complex wiring systems which will be following and interfering with the motion of the moving probe. Figure 1 shows a 3D model of the measurement bench inserted inside the vacuum chamber of an undulator.
Fig. 1

3D model of the measurement bench inserted inside the vacuum chamber of an in-vacuum undulator with the hall probe passing through the gap between the upper and the lower magnetic arrays

In addition to the measuring probe, a second instrument for magnetic optimisation is integrated into the same system. The magnetic array needs to be specifically designed to make the process of individual magnet optimisation simple and smooth. A successful example of this magnetic array design is presented by Calvi [4], where the magnetic poles are easily adjusted on the micrometer scale by means of a system using a wedge and screw. The implementation of this system in the new magnetic measurement bench is presented in the following sections of the paper.

2 Overview of the system

2.1 Mechanics

The mechanical design of the system consists of a base plate fixed on a linear guiding system which traverses the length of the undulator via a linear motor. Two separate mechanical systems, specifically designed and manufactured for this project are then mounted onto this base plate. The first holds the Hall sensor and caters for its correct position in the three degrees of freedom; horizontal, vertical and roll angle by mean of ball screws and linear guiding systems. The second system caters for the magnetic pole optimisation and consists of two screw driving heads which can be shifted vertically and horizontally to access both the upper and the lower magnetic array screws.

For the development and testing of the magnetic measurement bench, a prototype system was developed which was 60 cm in length. A picture of this is shown in Fig. 2
Fig. 2

Picture of the 60 cm prototype magnetic measurement bench

2.2 Electronics

Implementation of the SAFALI correction system is achieved through the use of 2 laser beams each aimed at the centre of a 2D position sensitive detector (PSD). The Hall probe, on which two pinholes are mounted, is located between the lasers and PSDs such that the laser hits the pin hole and projects an image onto the PSD. The displacement of this image from the centre of the PSD gives the offset of the Hall probe from the centre of the undulator. A Beckhoff programmable logic controller (PLC) reads the PSD signals and calculates the necessary position corrections to be made in the horizontal, vertical and angular position of the probe. These correction values are then transmitted through a point to point ZigBee [6] communication line to a Raspberry Pi controller which is mounted on the base plate. A CANOpen\(\textregistered\) network based on CAN in Automation CiA402\(\textregistered\) protocol [7] with the Raspberry Pi as the master is then used to make the necessary position adjustments through the use of three motors thus closing the position feedback loop.

The magnetic measurement data is acquired through the new Three-axis Teslameter [8]. This instrument provides a fully integrated solution with an optimized analogue-to-digital conversion stage and a proper spinning current analogue readout circuit for the interfacing of a three-axes Hall probe sensor. Thus, much higher performing circuitry is condensed in a smaller form factor volume. Another novelty of the developed electronic module is the quasi simultaneous measurement of both the magnetic field in the three-axes and the absolute linear encoder with a lag of just a few microseconds. The instrument provides fully calibrated data which can be stored either on board a micro SD card or transmitted via a USB interface according to the user choice. Communication between this instrument and the Raspberry Pi is done through this USB communication.

An EnDat [9] master was also developed which caters for communication with the Heidenhain absolute linear encoder through the EnDat protocol.

The system is controlled from a windows station through a graphical user interface (GUI) developed using python which makes use of TCP communication to transfer commands from the windows station to the Raspberry Pi. From this GUI, all the individual components of the system can be manually controlled and magnetic measurements can be run.

The electronics of the system are integrated into two printed circuit boards (PCBs) both limited to a height of 100 mm and width of 40 mm by physical dimensions of the vacuum chamber. The first PCB integrates the Raspberry Pi as well as the ZigBee radio, motion control circuitry for the measurement head, USB and Serial Peripheral Interface (SPI) isolation circuitry as well as a stand-alone microcontroller used for implementation of the EnDat protocol. The second PCB integrates the motion control for the magnetic adjustment instrument as well as the required voltage regulation circuitry required to power all the individual components including the Three-axis Teslameter. This PCB is also designed to cater for battery charging circuitry such that the system can be powered completely through an on-board battery which moves along the rail with the measurement head. Figure 3 shows a block diagram of the electronic system.
Fig. 3

Block diagram of the electronic system

3 Position feedback

The PSDs used are Hamahatsu S5991-01 [10], each of which produces three analogue signals for the horizontal and vertical offsets and the intensity respectively. These signals are read using Beckhoff EL3702 [11] 16-bit precision analogue to digital converters (ADC) at intervals of 1 ms. A 10 sample digital moving average filter is then implemented in the PLC code in order to reduce the effect of noise on the system. The PSD offset values are then used to calculate the required corrections to be made to the position of the probe. These corrections are then sent to the Raspberry Pi. The protocol defined for transfer of these corrections is request based, where the Raspberry Pi sends a 4-byte request command and the Beckhoff sends a 26-byte reply containing the three correction values as well as a checksum and indication of the intensity level of the PSD signals. The checksum is used by the Raspberry Pi in order to confirm that the transmission was successful.

The ZigBee network, built on IEEE 802.15.4 [12], makes use of two XBee\(\textregistered\) S2C ZigBee modules [13], one of which connected to the PLC and the other with the Raspberry Pi. Communication between the Raspberry Pi and XBee\(\textregistered\) module is done through TTL serial communication. The PLC serial communication is done using the RS232 protocol and so a MAX3232 [14] chip is used to interface the Beckhoff PLC to the XBee\(\textregistered\)S2C module. The total time elapsed from requesting the data to receiving the correction values is 38.68 ms. The target longitudinal velocity of the system during magnetic measurements is that of 10 mm/s. Receiving a new position correction value every 100 ms will allow for 10 position corrections for every 1 cm traversed longitudinally. The elapsed time obtained of approximately 40 ms between measurements falls well within this criteria.
Fig. 4

Plot showing Hall probe offset with and without position feedback

A test is performed to show the effect of the feedback on the system. The Hall probe traverses the length of the linear motor rail in both the positive and negative directions with the feedback loop switched off. The offset from the centre as measured from the PSDs is recorded. This is then repeated with the feedback switched on. Figure 4 shows the result of these two measurements where it can be seen that in the case where feedback was running, the PSD offset reading does not exceed \(10 \upmu \hbox {m}\), registering an absolute error value of \(8 \, \upmu \hbox {m}\) in the worst case. It should be noted that the correction of the PSD offset error is limited by the laser noise itself, which in this case is measured to be \(4 \, \upmu \hbox {m}\). When feedback is turned off, it can be seen that the hall probe strays from the centre of the undulator axis by \(58 \, \upmu \hbox {m}\), which reflects imperfections in the mechanical structure of the system. In comparison, the previous measurement bench [4] obtained an absolute error value of \(20 \, \upmu \hbox {m}\) in the best case with feedback on.

4 CANOpen network

The CANOpen\(\textregistered\) network used for the position correction consists of a master and four nodes which are connected to the CAN bus through the CAN High and CAN Low transmission lines. Each of the nodes on the network is a FAULHABER\(\textregistered\) motion controller. Three MCBL3002 [15] controllers are used to control the brushless dc motors which drive the three Hall probe position correction motors and an MCLM3002 [16] which controls the linear motor facilitating the longitudinal motion. Another five MCBL3002 controllers are used for the magnet pole optimisation instrument, which are connected to the same CANOpen network.

The CANOpen® master is developed using a MCP2515 stand-alone CAN Controller [17] which receives CAN commands from the Raspberry Pi through an SPI interface and an MCP2551 [18] High-speed CAN transceiver which provides the CAN bus, onto which the nodes are connected.

A python module is developed which caters for reading and writing values to the CAN node object dictionaries (OD). The OD contains the configuration settings of the node as well as motion parameters such as target positions and velocities and thus the motors are completely controlled and monitored through OD reads and writes. Each command sent to the controllers consist of an 11-bit identifier, indicating which node is being targeted as well as whether a read or write operation is being made, and 8 bytes of data, consisting of 4 bytes dedicated to OD addressing and 4 bytes of data to be written or read. The module creates and dispatches CAN commands, enabling simple control of the motion controllers through user functions, which can be utilised real time in a python terminal or in other python modules. Each motion controller on the CAN network is implemented as a new instance of the class and thus the process of adding new motors to the network, such as those required for the magnet adjustment, involves connecting the motion controller to the CAN bus and creating a new instance of the class.

5 Linear motor

The linear motor used in the system is the Airex C10, a three phase ironless core linear motor consisting of a one sided magnet rail and a “C” shaped coil structure which traverses the rail by means of synchronised magnetic induction. This model is selected due to its small dimensions, compact relative to industry standards, measuring 10 mm \(\times\)  42 mm which fit the size constraints of the system. MCLM3002 is used to control the linear motor thus making it compatible with the python module as well as the CANOpen\(\textregistered\) network. For commutation of the linear motor, three analogue signals need to be fed to the controller corresponding to the position of the motor in the magnet rail, thus enabling the correct synchronisation of the motor phase signals.

In order to produce these signals for the Airex motor, a PCB is designed which incorporates 3 analogue Hall effect sensors. The magnetic period of the Airex C10 motor is 30.48 mm and thus to achieve a \(120^{\circ }\) phase shift, the distance between Hall sensors is precisely 10.16 mm. The sensors selected are Silicon Labs Si7211 analogue Hall effect sensors, which are highly linear, low noise sensors available in 3-Pin SOT-23 surface mount packaging. When supplied with a voltage of 5V, these sensors produce an output voltage of 2.5V at 0 field and go to 5V and 0V at high and low magnetic field respectively, with a 20 mT scale.

The implementation of this linear motor commutation through analogue Hall sensor feedback is highly position critical; the physical position of the Hall sensor PCB needs to be fixed to the system such that each sensor is in phase with the respective linear motor coil. Given that the precise position of the coil in the ironless core is not known, the process of locating the correct position for the Hall sensor PCB is done experimentally, by placing the board at an arbitrary position and adjusting the position until commutation is obtained.

One problem encountered with the linear motor system described is that the implementation of commutation feedback through analogue Hall sensors assumes perfect periodicity in the magnetic field produced by the linear motor’s magnet structure. It is found that this is not the case for the Airex C10\(\textregistered\) magnet structure, with the individual magnet poles having varying field strengths. This effect deteriorates the accuracy of the velocity value calculated through the Hall sensor reading and thus affects the velocity feedback loop of the motion controller. When given a target velocity of 10 mm/s, in the best case the linear motor’s velocity readings are found to vary by up to 2 mm/s.

6 Communication with the new three-axis teslameter

The USB communication between the Raspberry Pi and the Three-axis Teslameter is based on 512-byte bulk data transfers. This communication link is necessary to send configuration commands from the Raspberry Pi to the Three-axis Teslameter, for transmission of the Heidenhain encoder position value as well as the transmission of the magnetic measurement data. The protocol defined is based on the Raspberry Pi sending a command from a predefined list to the Three-axis Teslameter and receiving an acknowledgement of the command or the data which has been requested.

A python module is developed in order to implement this protocol through user functions. Reading the magnetic measurement data is performed through multiple data requests to the Three-axis Teslameter followed by writing the data to a file which is saved on the Raspberry Pi file system. Data is saved in binary format, which allows for much faster and more economical data writing than text format such as Comma-Separated Values (CSV). The time elapsed for each 500-byte data transaction was measured to take around 5 ms. The time taken to transfer and store 60 s of magnetic measurement data taken at 1Khz acquisition frequency was 9.27 s. In comparison, the same data stored as a CSV file took 198.6 s to be transferred and written.

7 TCP communication with the fixed station

Control of the magnetic measurement bench from the fixed windows station is implemented through the development of three python modules; two of which are running on the server which in this case is the Beckhoff PC, and one which runs on the client, which is the Raspberry Pi. A GUI is developed, from which the user can control the system. A heartbeat thread runs in the background to ensure that the connection has not dropped.

The client continually waits for the next command to be received from the server. When a command is received, the instruction to be executed is deciphered by running a decoding algorithm which works by reading the command byte by byte and traversing a tree until the required command is found and executed and acknowledgement sent.

8 Communication with the Heidenhain encoder through EnDat

The new Three-axis Teslameter requires a connection to the encoder reading head of the Heidenhain absolute linear encoder. This is done to ensure that each set of magnetic field readings is paired with an absolute position value. This position is then stored in an internal register which can be accessed on request, thus when making use of this instrument, the position value can be obtained through the use of the USB connection as is done throughout the measurement campaign for the new measurement bench for testing. However it is also required to develop a method to read the Heidenhain encoder directly through the EnDat protocol. This allows for operation of the measurement bench in absence of the Three-axis Teslameter.

A stand-alone EnDat master is developed in C on an Atmega328p microcontroller [19], which continuously reads the current 32-bit position value from the encoder and stores it in a register until the Raspberry Pi requests the position. It is then transferred using Serial Peripheral Interface (SPI) communication through an interrupt service routine. The communication between the microcontroller and the encoder head is implemented through the use of four general purpose input/output (GPIO) pins; Data input, Data output, Data enable and Clock which are connected to two RS-485 transceivers, one of which dedicated to the Data bus and the other dedicated to the clock.

The EnDat protocol defines a list of 6-bit mode commands which are sent from the master to the EnDat device. These mode commands define the operation which is required, they include “Encoder send position values” and “Encoder receive parameters” amongst others. In brief, obtaining a position value from the encoder head through the EnDat protocol requires the master to send the 6-bit command to the encoder reading head and read the response bit by bit. This response consists of a start bit, 2 error bits and the absolute position value followed by a Cyclic Redundancy Check (CRC).

In order to configure the EnDat slave, the C code first initiates a setup routine which is done as the device is powered on. The encoder head is first reset, then a number of parameters are read from memory such as the error register, encoder type and the number of bits required for position value. After this configuration, the code goes into a loop which continuously reads the 32 bit position and storing it in memory.

9 Magnetic measurements

9.1 Measurement procedure

The process of taking a magnetic measurement involves the following steps; the system is driven by the linear motor to an absolute starting position which is measured using the Heidenhain absolute encoder. The Hall probe positioning feedback loop is started thus centering the probe in the centre of the undulator using the PSDs. The frequency acquisition of magnetic field values, which is selected from a drop-down list on the GUI from the fixed station console, is set on the Three-axis Teslameter using the USB communication and is followed by the “start data acquisition” command. The system is then driven throughout the length of the undulator, with the absolute ending point being defined as a position on the linear encoder. When the system reaches the endpoint, the “stop data acquisition” command is sent to the Three-axis Teslameter through USB and the magnetic measurement data acquisition procedure begins, saving the data onto the Raspberry Pi file system. This procedure is controlled by a python script which makes use of the python modules described for the various components of the measurement bench described previously in the paper. The velocity of the linear motor can also be configured from the GUI console. The tests are carried out using a 1m long test undulator at a measurement velocity of 10 mm/s and a measurement frequency of 1 KHz, which are the frequency and velocity parameters used in general during measurement campaigns at PSI. Figure 5 shows an example of a magnetic measurement result, where the vertical field is plotted against the absolute encoder position.
Fig. 5

Plot showing the vertical magnetic field profile of an undulator

9.2 Alignment procedure

Prior to taking field measurements it is essential to properly align the laser beams and PSDs such that the beam onto which the Hall probe is positioned is in the centre of undulator axes. This procedure is performed in addition to a number of measures taken to ensure correct setup of the SAFALI system. This includes ensuring parallelism between the two laser beams as well as parallelism between the laser beams and undulator axis through the use of laser interferometers as is always done prior to undulator characterisations [4].

Offsets in the vertical position of the Hall probe during measurement present themselves as changes in the measured K value of the undulator, which is directly related to the amplitude of the field profile measured for the vertical field component. When perfectly aligned, the measured K value, and thus amplitude of the field will be smaller to that measured when the probe has a vertical offset. Differences are also noticed in the longitudinal field of the undulator, which when perfectly on axis should be negligible in magnitude.

The alignment procedure is thus performed by initially centering the Hall probe manually, roughly in the middle of the undulator axis and running the measurement procedure. The measurement data is saved, the PSDs are shifted vertically and another measurement is taken. This procedure is repeated a number of times each at different vertical positions.

For comparison of the vertical fields, a sinusoidal fit of the field profile is taken for each measurement and the amplitude of the waves for each measurement are plotted. The resulting plot is a parabolic curve whose minimum indicates the point at which the Hall probe is best aligned to the centre of the undulator. Figure  6 shows the result of this experiment, where the lowest point on the graph is obtained when the PSDs are shifted 0.2 mm upwards from the initial arbitrary starting position.

The use of a sinusoidal fit rather than using the raw data provides an average amplitude for the field based on all the data points measured rather than selecting one peak thus giving a more reliable value.
Fig. 6

Plot showing amplitude of magnetic field for various PSD vertical positions

For comparison of the longitudinal fields, the root mean square (RMS) value of all the data points measured is taken and the result for each measurement is plotted. Similarly, the lowest point on this result shows the position where the magnitude of the longitudinal field value was the lowest and thus the Hall probe was best aligned. The same conclusion was obtained where the lowest RMS value was obtained with the PSD at position 0.2 mm upwards of the initial arbitrary posistion, as shown in Fig. 7.
Fig. 7

Plot showing RMS value of magnetic field strength of longitudinal field for various PSD vertical positions

9.3 Reproducibility study

The reproducibility of the magnetic measurements acquired through the measurement bench is the most essential criterion to be tested in order to determine the quality of the measurement bench. The process used to determine the reproducibility is running a number of measurements and analysing the differences in the data sets by calculating the error between them, which in ideal circumstances should be zero. The magnetic field measurements compared in each run where the vertical field value, being the primary field of interest for the calculation of the K value of the undulator. The error values obtained in this test are calculated based on the raw measurement data values rather than calculated K values, thus giving a more precise value for repeatability of the measurement data rather than calculating the repeatability based on an average peak value for all the magnetic periods measured.

For this test, 50 measurements are taken and the last measurement is used as a reference to which all of the other measurement data sets are compared. The field data obtained for each run is interpolated based on the longitudinal position values of the reference measurement. In this way, the field value at specific longitudinal positions may be compared in each individual measurement. Before starting the test, the system is powered on and left idle for 1 h. This measure is taken to ensure that all the electronics reach a stable operating temperature thus reducing any effects that rising temperatures on start-up may have on the system. The tests take place after the alignment procedure described in the section above, to minimize any errors that may arise due to the Hall probe being off the centre of the undulator.

The error is calculated as a percentage difference to the reference peak value at each point of the measurement. Figure 8 shows the result of this for each of the runs superimposed on the same graph against the absolute encoder position at which the error value is obtained. The maximum percentage error obtained from all of the runs was \(0.37 \%\).
Fig. 8

Superposition of error plots for all measurements

Figure 9 gives a representation of all the error plots summarised into two plots; the maximum absolute error at each point of the measurement for all fifty runs as well as the standard deviation of the error at each point. Both of these represented as a percentage difference to the reference data set. The standard deviation in percentage error is calculated to be \(0.09 \%\) in the worst case.
Fig. 9

Maximum absolute error and standard deviation for all measurements

The same fifty measurements were used in order to study the reproducibility of the first and second field integrals. Figure 10 shows plots of the first and second field integral result for each measurement where \(I_{1}\) represents the first field integral measured in \(\upmu Tm\) and \(I_{2}\) represents the second field integral measured in \(\upmu Tm^{2}\). \(I_{1}\) and \(I_{2}\) were found to be repeatable with accuracy of \(+/- 10 \, \upmu Tm\) and \(+/- 0.4 \, \upmu Tm^{2}\) respectively.
Fig. 10

Plot showing the first and second field integral result for each measurement

In order to benchmark the performance of the measurement bench, another two sets of data are taken into consideration and the same analysis is made. First, the reproducibility of the Three-axis Teslameter is tested as an isolated component of the system. For this test, the same mechanical setup as that described in [8] is used. The setup consists of a Beckhoff linear drive system which is used to move the Hall probe along a rail in order to measure the magnetic field profile of a three-pole phase matcher. The reproducibility of the field data is analysed using the same method described for the new magnetic measurement bench, with fifty measurement runs being considered and the last measurement used as a reference. In this test, no position feedback is applied and the reproducibility of the instrument itself is considered.

The second benchmark used was a set of magnetic measurement data taken for magnetic assessment and modeling of the Aramis U40730 undulators [4]. This data is obtained using an older version of the measurement bench, which uses the previous model of the Three-axis Teslameter. The raw data is analysed using the same method described above, based on the raw measurement data. This test allowed for a comparison of two completely separate systems, giving a good benchmark for reproducibility for the new measurement bench. The results of the benchmark tests are shown in Table 1.
Table 1

Reproducibility results for the three systems


\(\%\) STD error

\(\%\) Max error

New measurement bench



Three-axis Teslameter



Previous version of the bench



The results of all three data sets are comparable, with percentage error values in the same order of magnitude for all cases. An improvement of approximately 0.2% maximum absolute percentage error is achieved over the old measurement bench, confirming that the benchmark for the performance for the new measurement bench is reached. The use of position feedback is essential to follow a straight line however the reproducibility of the field measurement is reduced due to an increase in movement and noise. This is seen when comparing the tests on the new measurement bench and that on that of the Three-axis Teslameter

10 Conclusion

A prototype for the new magnetic measurement bench for in-vacuum undulators has been developed and tested. The results obtained throughout the assessment campaign are very promising: the Hall probe position feedback attains accuracy better than \(10 \, \upmu \hbox {m}\) in the vertical axis, whilst traversing the length of the undulator, and the magnetic measurements present a reproducibility of 0.09%, an improvement on the previous systems. The new measurement bench also introduces an innovative mechanical design which allows the measurement system and a second magnet optimisation head to fit into the narrow space available in the vacuum chamber of a standard PSI undulator. Moving wires are also removed from the system. The motion control for the magnet optimisation head has also been developed, and is designed to allow the correction system to make the necessary magnet pole adjustments based on the magnetic field measurements. The new measurement bench is designed for operation within the vacuum chamber of an IVU however is not suited for measurements in vacuum conditions. In order for this to be achieved, significant structural changes would need to be considered including the introduction of a novel heat extraction system. The Three-Axis Teslameter would also need to be adapted as it currently relies on a fan for cooling the electronic system. Future improvements on the system will include a rechargeable battery moving along the system with charging stations at the ends of the rail thus removing also the power cables from moving with the system.



The authors would like to thank M. Brugger for continuous support on electronics and expertise in Beckhoff PLC programming, as well as M. Schmidt, L. Huber and S. Danner for their assistance in mechanical design and assembly. The authors would also like to thank L.Patthey and O. Bunk for their support throughout the project.

Compliance with ethical standards

Conflict of interest

On behalf of all authors, the corresponding author states that there is no conflict of interest.


  1. 1.
    Schmidt T, Calvi M, Ingold G (2015) Undulators for the PSI light sources. Synchrotron Radiat News 28(3):34–38CrossRefGoogle Scholar
  2. 2.
    Holy F et al (2014) First spectral measurements of a cryogenic high-field short-period undulator. Phys Rev ST Accel Beams 17:050704-1-8CrossRefGoogle Scholar
  3. 3.
    Hara T, Tanakam T, Kitamura H, Bizen T, Mare chal X, Seike T, Kohda T, Matsuura Y (2004) Cryogenic permanent magnet undulators. Phys Rev ST Accel Beams 7:050702CrossRefGoogle Scholar
  4. 4.
    Calvi M, Camenzuli C, Ganter R, Sammut N, Schmidt T (2018) Magnetic assessment and modelling of the Aramis undulator beamline. J Synchrotron Radiat 25:686–705CrossRefGoogle Scholar
  5. 5.
    Tanaka T, Tsuru R, Nakajima T, Kitamura H (2007) Magnetic characterization for cryogenic permanent-magnet undulators: a first result. J Synchrotron Radiat 14:416–420CrossRefGoogle Scholar
  6. 6.
    ZigBee Alliance Board of Directors (2012) ZigBee specification. ZigBee document 053474r20. [Online]. Accessed 16 Jan 2019
  7. 7.
    CAN in Automation (2016) CiA\(\textregistered\) 402 series: CANopen device profile for drives and motion control. CAN in Automation. [Online]. Accessed 16 Jan 2019
  8. 8.
    Cassar J, Sammut A, Sammut N, Calvi M, Dimitrijevic S, Popovic RS (2019) Design and development of a reduced form-factor high accuracy three-axis teslameter. Electronics 8(3):368CrossRefGoogle Scholar
  9. 9.
    Dr. Johannes Heidenhain GmbH (2009) EnDat 2.2—Bidirectional interface for position encoders. Tech Rep. (Revised Sept 2017)Google Scholar
  10. 10.
    Hamahatsu (2013) Two-dimensional PSD. S5991-1datasheetGoogle Scholar
  11. 11.
    Beckhoff (2019) EL3702 2-channel analog input terminal -10...+10 V with oversampling”\(\copyright\) Beckhoff Automation 2018[Online]. Accessed 16 Jan 2019
  12. 12.
    IEEE Computer Society (2018) In: IEEE standard for low-rate wireless networks. IEEE Std 802.15.4\(^{{\rm TM}}\)-2015 (Revision of IEEE Std 802.15.4-2011)Google Scholar
  13. 13.
    Digi (2017) XBee\(\textregistered\)/XBee-PRO S2C ZigBee\(\textregistered\) RF Module” 90002002 datasheet. (Revised May 2018)Google Scholar
  14. 14.
    Texas Instruments (2000) 3-V to 5.5-V multichannel RS-232 line driver/receiver with \(\pm\)15-kV ESD protection. MAX3232 datasheet, (Revised Jun 2017)Google Scholar
  15. 15.
    Faulhaber (2019) Motion controllers V2.5, 4-quadrant PWM with RS232 or CAN interface. MCBL3002 datasheetGoogle Scholar
  16. 16.
    Faulhaber (2019) Motion controllers V2.5, 4-quadrant PWM with RS232 or CAN interface. MCLM3002 datasheetGoogle Scholar
  17. 17.
    Microchip Technology Inc. (2003) Stand-alone CAN controller with SPI interface. MCP2515 datasheet (Revised Nov 2007)Google Scholar
  18. 18.
    Microchip Technology Inc. (2007) High-speed CAN transceiver. MCP2551 datasheet (Revised Nov 2007)Google Scholar
  19. 19.
    Atmel (2007) 8-bit microcontroller with 4/8/16/32K bytes in-system programmable flash. ATmega328P datasheet (Revised Feb 2009)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Faculty of EngineeringUniversity of MaltaMsidaMalta
  2. 2.Photon Science Division of the Paul Scherrer Institute (PSI)VilligenSwitzerland

Personalised recommendations