From HFML-FELIX Wiki
Jump to: navigation, search


Specification

[edit | edit source]
  • period length: 110 mm
  • # periods: 40
  • Undulator field: 0.1–0.47 T
  • Gap: 24.5–300 mm
  • Speed: nominal 5 mm/s, max 10 mm/s
  • motor resolution: 1 µm
  • max taper: 5 mm

Special: The FLARE undulator has horizontal focussing (groove in magnets).

Interface

[edit | edit source]

The FLARE undulator is controlled by the pc oc-control. A python windows service controls the stepper motors via NI-Motion libraries and also reads the IK220 encoders. The service exposes the following API via MQTT.

All topics below belong to prefix FLARE/undulator/

Readable items
topic description
up/downstream/encoder/gap The gap as read by the corresponding encoder (in mm)
up/downstream/encoder/position The absolute position of the corresponding encoder (float with 51.2 units/mm scale, with arbitrary offset)
up/downstream/forward_limit_active The forward limit switch (True = reached, False = not reached)
up/downstream/reverse_limit_active The reverse limit switch (True = reached, False = not reached)
up/downstream/gap The gap according to the motor position as determined by the NI-motion library (in mm)
up/downstream/position The motor position as determined by the NI-motion library (in steps)
gap The current undulator gap (mm)
taper The current undulator taper (mm)
homed Whether the axis has been homed (not relevant for FLARE)
homing Whether the axis is currently homeing (not relevant for FLARE)
moving Whether the axis is currently moving (True/False)
state What the axis is currently doing (idle/moving/homing/approaching)
time The current time on oc-control (for debugging purposes, doubles as alive signal)
servers List of servers for this device.
clients List of clients for this device.
where it reads up/downstream, please choose either upstream or downstream. For example upstream/gap.

write

[edit | edit source]
Writable items
topic description
brake/cmd command to release the brake
killswitch_override/cmd use only if you know what you are doing!
wavelength/setpoint command to move undulator to a certain wavelength
dipole_current setting for calculating wavelength in accordance of undulator gap.
gap/setpoint command to change the undulator gap in mm
wavenumbers/setpoint command to drive undulator to certain wavenumbers
acceleration/setpoint command to control the acceleration in mm/s^2
velocity/setpoint command to control the speed in mm/s
taper/setpoint command to put a taper in mm for the undulator
stopdecelerate command to smoothly brake the undulator
stophalt command to abrupt stop the undulator

Motors

[edit | edit source]

The motors are equipped with a brake. The motor encoders are not used (i.e. the stepper motor driver motion cards keep track of the position). The position in steps is zero at a 300mm gap. The position increases with +12000 steps each mm that the undulator is closed further.

Electrical connections

[edit | edit source]

The pc oc-control has two PXI-7330 NI-Motion PCI cards. The one with serial 21266866 (0x14481B2) is the one controlling the FLARE undulator axes. Axis 1 is upstream and axis 2 is downstream. The other axes are not in use (on 2018-03-29). There is a junction box containing relays and logic for the limit/kill switches, the emergency stop, and the warning lamp. Both ports have to be set to the non-default setting ACTIVE_HIGH, except for the emergency stop reset which is ACTIVE_LOW.

The digital i/o port on axis 1 is used for input signals.

Bit Byte value Connection Values
0 1 Kill switch ok True = not reached (ok), False = reached (not ok)
1 2 Emergency stop ok True = not pushed (ok), False = pushed (not ok)
2 4 Brakes released (relay NO) True = released (ok to move), False = held (not ok to move)
3 8 Brakes held (relay NC) True = held (not ok to move), False = released (ok to move)
4 16 Light on (relay NO) True = on, False = off
5 32 Light off (relay NC) True = off, False = on
6 64 Not connected Not applicable
7 128 Not connected Not applicable

The digital i/o port on axis 2 is used for output signals.

Bit Byte value Connection Values
0 1 Override kill switches True = override, False = normal function
1 2 Request brake release True = release, False = hold
2 4 Request emergency stop reset True = reset, False = no action (ACTIVE_LOW)
3 8 Request warning light on True = on, False = off
4 16 Not connected Not applicable
5 32 Not connected Not applicable
6 64 Not connected Not applicable
7 128 Not connected Not applicable

Please note: If the kill switch is active, the brakes cannot be released (i.e. the request is ignored). The light, however, can be turned on.

Limits

[edit | edit source]
Minimum gap limits
Gap (mm) Limit
24.8 Software limit
24.7 Limit switch
24.6 Kill switch
24.5 Mechanical hard stop

Procedures

[edit | edit source]

Procedure Calibrate FLARE undulator

Remarks

[edit | edit source]
  • It seems that, after a reboot of oc-control, it might sometimes be necessary to reinitialize the undulator controller board with NI-MAX (select 20180328 Undulator Board Settings (VIC) and press Initialize. ➤  Victor  17:34, 12 September 2018 (CEST)