187 lines
4.5 KiB
Markdown
187 lines
4.5 KiB
Markdown
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
|