Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sardana/IcePAP Based Control System for elliptically polarized Undulator at Max IV 30th Tango Collaboration meeting

Similar presentations


Presentation on theme: "Sardana/IcePAP Based Control System for elliptically polarized Undulator at Max IV 30th Tango Collaboration meeting"— Presentation transcript:

1 Sardana/IcePAP Based Control System for elliptically polarized Undulator at Max IV 30th Tango Collaboration meeting vid.juvan@cosylab.com

2 Undulator 2  Undulator is an insertion device, consisting of a periodic structure of dipole magnets. The static magnetic field is alternating along the length of the undulator. Electrons traversing the periodic magnetic structure are forced to undergo oscillations and thus emmit light in the x-ray spectrum. The radiation is guided through the beamlines. 1.Magnets 2.Electron beam 3.Synchrotron radiation

3 Project 3  Client  MaxIV  Device  Elliptically polarized undulator (EPU) Length: 4m  Task  Adaptation of the existing motion control system Redesign of the Galil box motion control system to IcePAP controller  Motion Control Design  Control System Software Implementation

4 Agenda 4  EPU Motion Control Design  Undulator Mechanics  Motion Control Hardware  Control System Architecture  EPU Control System Software  Environment  Control Software Design  Machine Calibration  Gap Correction Mechanism  Technical Issues

5 EPU MOTION CONTROL DESIGN

6 Undulator Mechanics 6

7 7

8 8  Phase  Closed loop on absolute encoder  Gap  Closed loop on rotary encoder  Software closed loop on absolute encoders !!!

9 Motion Control System Hardware 9  IcePAP Motion Controller  Stepper motor controller  Firmware: 3.161  Digitax ST 1401B/1402B Servo Drives  Unimotor FM Servo Motors  Linear Absolute Encoders (Renishaw RL26BAS005C99F)

10 Control System Architecture 10

11 EPU CONTROL SYSTEM SOFTWARE

12 Control Software Environment / Dependencies 12  Language  Python 2.7  IcePAP  pyIcePAP 0.2  Tango  Tango 8  Sardana  Sardana 1.6.  Extended Sardana IcepapController (IcePAPCtrl)

13 Control Software Elements 13  Individual motor movements  Compound movements (synchronization)  Gap  Offset  Taper  Phase  Secure, corrected, concurrent movements  Moving phase to 0, prior to changing phase mode  Moving taper to 0, prior to changing gap/offset, and resetting the taper afterwards  Moving gap, offset, taper simultaneously  Corrections prior and after movements  Gap Correction mechanism  Calibration  …

14 Control software design 14  Software aggregated in the Sardana layer.  Sardana elements split into two groups: “Gap group” and “Phase group”. Motors and pseudo motors Motor controllers and pseudo motor controllers Macros

15 Sardana motor controller Sardana Motors and Controllers 15 Sardana motor

16 Sardana motor controller Sardana pseudo motor controller Attribute Sardana Motors and Controllers 16 Sardana motor Gap OffsetTaper Sardana pseudo motor Phase A B C D Mode

17 Sardana Macros 17  MoveGAP Gap in um  MoveOFFSET Offset in um  MoveTAPER Taper in um  MoveGOT Gap, Offset, Taper in um  MoveOFFSETSecure Offset in um  MoveGAPSecure Gap in um  MovePhaseA,B,C,D Phase value in um  CalibrateGap Meassured positions of main girders  CalibratePhase Assume zero position  CorrectGAPMotors Optional tolerance

18 Machine Calibration 18  Phase Calibration  Position feedback: Position for each motor (encoder counts)  Required measurements: Actual physical positions for every sub-girder (micro meters) Zero position  Conversion (not required): Encoder count to um  Objective: Adjust motor position offsets They must reflect the actual positions  Use-case: Calibrated once

19 Machine Calibration 19  Gap Calibration  Position feedback: Position for each motor (motor steps) Abs. linear encoder readouts (encoder counts) Floor x2 Gap x2  Required measurements: Actual physical girder positions (micro meters) Floor x2 Gap x2  Conversion: Motor steps per encoder count Encoder count to um  Objective: Adjust motor position offsets Adjust abs. linear encoder readout offsets  Calibration use-case:  While shimming: Calibration on daily bases  In production: Calibrated once

20 Gap Correction Mechanism 20  Required Accurate positioning of main girders (1um) Bending girders Backlash Gap between where a motor and the scale are mounted to the girder  While tolerance not satisfied Assumed positions of the girders According to the motor position readout Actual positions of the girders In respect to the absolute linear encoder readout Adjust motor position offsets Motor positions change accordingly Must reflect the actual state of the undulator Issue movements to the last setpoints

21 Gap Correction Mechanism 21

22 Gap Correction Mechanism 22  Convergence All gap motors corrected simultaneously One affects the other When calculating corrections, the difference between where motor and the scale are mounted is neglected Slightly slower convergence The difference is negligible Convergence satisfactory Linear convergence Up to 5 iterations for 1um precision

23 THANK YOU! COSYLAB Vid Juvan Vid.juvan@cosylab.com

24 TECHNICAL ISSUES

25 Technical issues 25  Following error on phase motors Do motors follow the set trajectory?

26 Technical issues 26  Following error on phase motors Do motors follow the set trajectory? Backlash? Velocity referenceVelocity feedback

27 Technical issues 27  Phase motors backlash Measured backlash 120 um Problems Required 1um precision Magnetic forces are strong enough to shift the sub-girders Solution Set the following error range to measured backlash Closed loop manages to accommodate for the error  Gap motors backlash Measured backlash 100 um Problems Required 1um precision Magnetic forces are strong enough to shift the girders Closed loop in MC on rotary encoder, not on absolute Solution No need to increase following error range Periodically issue the gap correction mechanism when settling the gap

28 THANK YOU! COSYLAB Vid Juvan Vid.juvan@cosylab.com

29 Motion Control Algorithms 29  Motion control algorithms for positioning linear axes  Gap axes: 2 linear axes moving the upper main girder 2 linear axes moving lower main girder  Phase axes: 4 linear axes moving the individual sub-girders  The movement of particular axes is to be synchronized  The synchronization is achieved at the motion controller level IcePAP – group movements

30 Motion Control – Phase Axes 30  Position Control  Position of linear axes is controlled via IcePAP motion controller.  IcePAP receives the position demand from a Sardana motor controller Tango device server and the position feedback from the absolute linear encoder.  Using these two inputs IcePAP ’s closed loop algorithm produces position reference which is passed to Digitax ST via SM-Universal Encoder Plus expansion module.

31 Motion Control – Phase Axes 31  Digitax  The position reference is passed to Digitax ST internal Position controller  Digitax uses the drive encoder Speed feedback Position feedback  Digitax produces the final speed reference which is used in the subsequent speed loop.

32 Motion Control – Phase Axes 32  Motion Control  The main position loop is closed within the IcePAP motion controller (used by the control system for positioning and following error monitoring)  The internal position loop, speed loop and current loop are closed within the Digitax ST drive.

33 Motion Control – Gap Axes 33  Position Control  Due to the particular layout of the vertical linear encoders and IcePAP hardware limitations, the position loops for individual motors are closed using the on-motor rotary encoders.  The rotary encoder information is buffered on the Digitax ST drive Quadrature incremental signal.  Linear absolute encoder readback is not used, formwarded to Sardana IcePAP controller (SW) The information from the linear encoders is used for establishing absolute reference for the incremental rotary inputs prior movement. Post movement the information is used to compensate possible errors due to bending of the girders. This is done in the software.

34 Motion Control 34  Phase Axes  Gap Axes

35 Motion Control  Limit switches, kill switches, tilt meters  Safety PLC interlock  NEnable, NReady, Alarm signals  Break control  Safe Torque Off  Correction coils  …


Download ppt "Sardana/IcePAP Based Control System for elliptically polarized Undulator at Max IV 30th Tango Collaboration meeting"

Similar presentations


Ads by Google