Various motor documents ----------------------- - /home/zamofing_t/Documents/doc-ext/SwissFEL/ESB-MX-Stage Parker stage ------------ ``` - encoder is incremental encoder 25mm or 50mm travel stage Stall Current Continuous 0.8 Peak Current Amps RMS 2.4 (->sqrt(2)*2.4=3.39A_peak) Resistance Ohms 8.8 Inductance mH 2.4 Max.BuxVoltage V 80 Continous Force 4N -> assume 1kg load -> acceleration=a=F/m=4m/s^2 Weight top stage: 250g=2.5N ``` Mecapion rot stage ------------------ ``` http://www.lsmecapion.com/eng/ http://www.lsmecapion.com/eng/contents/sub01/sub02_03.php http://www.a2v.fr/program/mdm-dc06d.htm http://www.parkem.ch/medien/produkte/direktantriebstechnik/pdf/MDM_Rundtisch_katalog.pdf http://www.goto.si/wp-content/uploads/2016/kat/L7%20Series%20catalog.pdf http://farasys.ir/wp-content/uploads/2015/Direct%20Drive%20Rotary%20Motors.pdf http://www.inmoco.co.uk/Upload/product/1037_DD_Series_Motors_79.pdf - encoder is biss 20 bit - Rated Current 1.46 Arms - Max Current 4.38 Arms - 32 pole (16 einraster per rev) ``` Servo Test Motor QBL 4208-41-04-006 ----------------------------------- ``` 8 pole (4 lock position per rev) 24 V rated voltage 1.79 A rated phase current 5.4 A max peak current 4000 rpm rated speed 1.8 ohm line to line resistance 2.6 mH line to line inductance ``` 2Phase Stepper Test Motor Vextra PK244M --------------------------------------- ``` - 200 pole (100 einraster per rev) ******* Path shaping test ***************** cd /home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/cfg gpasciiCommander --host SAR-CPPM-EXPMX1 -i !mx-stage() #1..3$ &1 #1..3j/ cd /home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/python ./shapepath.py -v255 ``` Testing ServoFrq. ----------------- ``` !common(PhaseFreq=20000,PhasePerServo=4) -> 25000points, 20um error leads the trajectory in x !common(PhaseFreq=20000,PhasePerServo=2) -> 25000points, 6.6um error !common(PhaseFreq=20000,PhasePerServo=1) -> 25000points, 6.1um error ossilates in y, x is quite good -> the servo loop has to be optimized! ``` Testing linear,pvt,spline moves ------------------------------- ``` Tested with shapepath.py: THE BEST TRAJECTORY RESULT IST WITH PVT MOTION ``` Optimize/Test Parameters with Parker Stage ------------------------------------------ ``` cd /home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/cfg gpasciiCommander --host SAR-CPPM-EXPMX1 -i !mx-stage() #1..3$ &1 #1..3j/ load program prg/testPerfGrid.prg b2r cd ~/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/src/usrServo make #will install the user servo loop watch P3000 (average following error) tweak servo parameters ->!motor_servo(mot=3,ctrl='ServoCtrl',Kp=20,Kvfb=220,Ki=0.02,Kvff=240,Kaff=1500,MaxInt=1000) Same for motor 2 -> watcp P2000 Increase load will need an increase of gains to compensate following error Motor[2].Servo.Kp=20 Motor[2].Servo.Kvfb=1000 Motor[2].Servo.Ki=0.07 Motor[2].Servo.Kvff=1000 Motor[2].Servo.Kaff=4000 Motor[3].Servo.Kp=20 Motor[3].Servo.Kvfb=220 Motor[3].Servo.Ki=0.02 Motor[3].Servo.Kvff=240 Motor[3].Servo.Kaff=1500 ./shapepath.py --yx average error x 0.313575 um, y 0.461707 um, 0.629583 um ./shapepath.py average error x 0.371877 um, y 0.317152 um, 0.542073 um ``` Start motion on external signal ------------------------------- ``` open plc 1 Coord[1].DesTimeBase=0 // freezes timebase at boot while(1) { if(PowerBrick[0].GpioData[0].0.1==1) { PowerBrick[0].GpioData[0].16.8=255 Coord[1].DesTimeBase=Sys.ServoPeriod } else { PowerBrick[0].GpioData[0].16.8=7 Coord[1].DesTimeBase=0 } } close enable plc 1 -> run motion program. press gpio 0 to run at 100% ``` 29.9.17 Testing in MX-LAB ------------------------- ``` Start the powerbrick. ioc is started automatically zamofing_t@ganymede:~$ ssh x06mx-cons-1 caget SAR-ESB_MX:MOTOR_AX cd /net/slsfs-crtl/export/sf/common/config/qt/ startDM -macro 'P=SAR-ESB_MX' ESB_MX_exp press homing button -> all axes can be moved. (on thierrys laptop only) cd /home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/python ./shapepath.py will execute the custom motion. No problems with EPICS (on other machines) module is installed in: ls /net/slsfs-crtl/export/sf/ioc/modules/ESB_MX/zamofing_t/R3.14.12/ PATH=/net/slsfs-crtl/export/sf/controls/bin/:$PATH source /opt/gfa/python-2.7/2.3.0/bin/activate xblpython > /dev/null 2>&1 cd /net/slsfs-crtl/export/sf/ioc/modules/ESB_MX/zamofing_t/R3.14.12/ ./shapepath.py ``` export EPICS_CA_ADDR_LIST="129.129.109.255" export EPICS_CA_ADDR_LIST="129.129.126.255" caQtDm -macro 'P=SAR-ESB_MX' ESB_MX_exp