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%

Description
No description provided
Readme 10 MiB
Languages
Python 57.2%
C 15.7%
MATLAB 12.5%
TeX 11.3%
Makefile 3.3%