Files
PBSwissMX/Readme.md
Thierry Zamofing 789224b83d towards recabeling and reconfiguring all Powerbricks and Smaracts devices
Here all IOCs were started without any hardware.
So in the next steps the hardware must be tested.
2017-12-21 15:04:23 +01:00

283 lines
6.1 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
HelicalScan
-----------
```
PPMAC=MOTTEST-CPPM-CRM0485
gpasciiCommander --host $PPMAC mx-stage_sim.cfg -i
Coord[1].SegMoveTime=.05
will calculate all 0.05 sec the inverse kinematic.
default Coord[1].SegMoveTime=0, calculates inv kin. only at endpoints
ssh root@$PPMAC sendgetsends -1
send 1"SampleMessage\n"
execute helicalscan.py
SCRATCH
-------
&1p ->this will trigger:forward kinematic
cpx pmatch ->this will trigger:forward kinematic
cpx ;linear abs; X0Y0Z0B0 ->this will trigger: inverse
#7j=0.1 //cx
#8j=0.2 //cy
#1j=0.3 //w
#2j=0.4 //fx
(cx,cz,w,fy) (2.6164986454377614, 17.758728111340563, 0.1, 4.3)
(dx,dz,w,y) (0.2, 0.3, 0.1, 4.3)
#7j=2.6164986454377614
#8j=17.758728111340563
#1j=5729.578 // 0.1*1000.*360./(2*pi)
#2j=4.3
&1p
B0.1 X0.2 Y4.3 Z0.3
cpx ;linear abs; X0.2 Z0.3, B0.1 Y4.3
Motor[1,27,8].JogSpeed=8
#1,2,7,8j=10000
cpx ;linear abs; X0.2 Z0.3 B0.1 Y00000
cpx ;linear abs; X0.2 Z0.3 B0.1 Y10000
input : dx:0.2 dz:0.3 w:5.72958 fy:3.3
inv_trf: cx:2.34244 cz:18.2563 w:5.72958 fy:3.3
fwd_trf: dx:0.2 dz:0.3 w:5.72958 fy:3.3
#7j=2.34244;#8j=18.2563;#1j=5729.58;#2j=3.3
&1p
```
Motors final setup 20.12.17
---------------------------
```
SAR-CPPM-EXPMX1: biss:y timing:y
1: fy
2: fx
3: ry
4: cx
5: cy
6: interfero y
7: interfero x
SAR-CPPM-EXPMX2: biss:n timing:n
1: wedge1
2: wedge2
3: wedge3
4: wedge4
5: backlight
SAR-CPPM-EXPMX3: biss:n timing:y
1: girder1
2: girder2
3: girder3
4: girder4
5: girder5
PPMAC=MOTTEST-CPPM-CRM0485
ssh root@$PPMAC
cd /ioc/SAR-CPPM-EXPMX1;iocsh startup.script
ssh sf-lc
caqtdm -macro "P=SAR-EXPMX" ESB_MX_exp.ui
```