commission hardware
This commit is contained in:
74
Readme.md
74
Readme.md
@@ -19,6 +19,7 @@ Weight top stage: 250g=2.5N
|
|||||||
|
|
||||||
|
|
||||||
Mecapion rot stage
|
Mecapion rot stage
|
||||||
|
------------------
|
||||||
```
|
```
|
||||||
http://www.lsmecapion.com/eng/
|
http://www.lsmecapion.com/eng/
|
||||||
http://www.lsmecapion.com/eng/contents/sub01/sub02_03.php
|
http://www.lsmecapion.com/eng/contents/sub01/sub02_03.php
|
||||||
@@ -34,39 +35,6 @@ http://www.inmoco.co.uk/Upload/product/1037_DD_Series_Motors_79.pdf
|
|||||||
- 32 pole (16 einraster per rev)
|
- 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.
|
Testing ServoFrq.
|
||||||
-----------------
|
-----------------
|
||||||
```
|
```
|
||||||
@@ -80,9 +48,7 @@ Testing ServoFrq.
|
|||||||
Testing linear,pvt,spline moves
|
Testing linear,pvt,spline moves
|
||||||
-------------------------------
|
-------------------------------
|
||||||
```
|
```
|
||||||
|
|
||||||
Tested with shapepath.py: THE BEST TRAJECTORY RESULT IST WITH PVT MOTION
|
Tested with shapepath.py: THE BEST TRAJECTORY RESULT IST WITH PVT MOTION
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -127,7 +93,6 @@ average error x 0.313575 um, y 0.461707 um, 0.629583 um
|
|||||||
average error x 0.371877 um, y 0.317152 um, 0.542073 um
|
average error x 0.371877 um, y 0.317152 um, 0.542073 um
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
Start motion on external signal
|
Start motion on external signal
|
||||||
-------------------------------
|
-------------------------------
|
||||||
```
|
```
|
||||||
@@ -242,8 +207,6 @@ fwd_trf: dx:0.2 dz:0.3 w:5.72958 fy:3.3
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Motors final setup 20.12.17
|
Motors final setup 20.12.17
|
||||||
---------------------------
|
---------------------------
|
||||||
```
|
```
|
||||||
@@ -252,10 +215,15 @@ SAR-CPPM-EXPMX1: biss:y timing:y
|
|||||||
2: fx
|
2: fx
|
||||||
3: ry
|
3: ry
|
||||||
4: cx
|
4: cx
|
||||||
5: cy
|
5: cz
|
||||||
6: interfero y
|
6: interfero y
|
||||||
7: interfero x
|
7: interfero x
|
||||||
|
|
||||||
|
labels:
|
||||||
|
MOT_FY EXPMX1.1 MOT_FX EXPMX1.2 MOT_ROT_Y EXPMX1.3 MOT_CX EXPMX1.4 MOT_CZ EXPMX1.5
|
||||||
|
ENC_FY EXPMX1.1 ENC_FX EXPMX1.2 ENC_ROT_Y EXPMX1.3 ENC_CX EXPMX1.4 ENC_CZ EXPMX1.5
|
||||||
|
IFR_FY EXPMX1.6 IFR_FX EXPMX1.7
|
||||||
|
|
||||||
SAR-CPPM-EXPMX2: biss:n timing:n
|
SAR-CPPM-EXPMX2: biss:n timing:n
|
||||||
1: wedge1
|
1: wedge1
|
||||||
2: wedge2
|
2: wedge2
|
||||||
@@ -276,7 +244,33 @@ ssh root@$PPMAC
|
|||||||
cd /ioc/SAR-CPPM-EXPMX1;iocsh startup.script
|
cd /ioc/SAR-CPPM-EXPMX1;iocsh startup.script
|
||||||
|
|
||||||
|
|
||||||
ssh sf-lc
|
ssh x06mx-cons-1
|
||||||
|
export CAQTDM_DISPLAY_PATH=/net/slsfs-crtl/export/sf/common/config/qt/:/net/slsfs-crtl/export/sf/controls/config/qt/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
caqtdm -macro "P=SAR-EXPMX" ESB_MX_exp.ui
|
caqtdm -macro "P=SAR-EXPMX" ESB_MX_exp.ui
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
SCRATCH
|
||||||
|
--------
|
||||||
|
|
||||||
|
PPMAC=SAR-CPPM-EXPMX1
|
||||||
|
gpasciiCommander --host $PPMAC -i
|
||||||
|
$$$***
|
||||||
|
!common()
|
||||||
|
!SAR-EXPMX1()
|
||||||
|
|
||||||
|
PPMAC=SAR-CPPM-EXPMX1
|
||||||
|
PBInspect --host $PPMAC -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"
|
||||||
|
|||||||
@@ -22,4 +22,6 @@ pattern{ DESC , P , M , PORT , ADDR, DIR, VELO
|
|||||||
{ "Rotation Y" , "$(P_M)", "MOT_ROT_Y", "$(PORT_M)", 3 , 1 , 50 , 50 , 0.1 , 20 , -0.001, 3 , "deg", 0 , 0 }
|
{ "Rotation Y" , "$(P_M)", "MOT_ROT_Y", "$(PORT_M)", 3 , 1 , 50 , 50 , 0.1 , 20 , -0.001, 3 , "deg", 0 , 0 }
|
||||||
{ "Sample C-Trans X", "$(P_M)", "MOT_CX" , "$(PORT_M)", 4 , 1 , 2 , 2 , 0.1 , 20 , -0.001, 3 , "mm" , 0 , 0 }
|
{ "Sample C-Trans X", "$(P_M)", "MOT_CX" , "$(PORT_M)", 4 , 1 , 2 , 2 , 0.1 , 20 , -0.001, 3 , "mm" , 0 , 0 }
|
||||||
{ "Sample C-Trans Z", "$(P_M)", "MOT_CZ" , "$(PORT_M)", 5 , 1 , 2 , 2 , 0.1 , 20 , -0.001, 3 , "mm" , 0 , 0 }
|
{ "Sample C-Trans Z", "$(P_M)", "MOT_CZ" , "$(PORT_M)", 5 , 1 , 2 , 2 , 0.1 , 20 , -0.001, 3 , "mm" , 0 , 0 }
|
||||||
|
{ "Interfero Y" , "$(P_M)", "ENC_FY" , "$(PORT_M)", 6 , 1 , 2 , 2 , 0.1 , 20 , -0.001, 3 , "mm" , 0 , 0 }
|
||||||
|
{ "Interfero X" , "$(P_M)", "ENC_FX" , "$(PORT_M)", 7 , 1 , 2 , 2 , 0.1 , 20 , -0.001, 3 , "mm" , 0 , 0 }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ powerPmacCreateAxis($(PORT), 2)
|
|||||||
powerPmacCreateAxis($(PORT), 3)
|
powerPmacCreateAxis($(PORT), 3)
|
||||||
powerPmacCreateAxis($(PORT), 4)
|
powerPmacCreateAxis($(PORT), 4)
|
||||||
powerPmacCreateAxis($(PORT), 5)
|
powerPmacCreateAxis($(PORT), 5)
|
||||||
#powerPmacCreateAxis($(PORT), 6)
|
powerPmacCreateAxis($(PORT), 6)
|
||||||
#powerPmacCreateAxis($(PORT), 7)
|
powerPmacCreateAxis($(PORT), 7)
|
||||||
#powerPmacCreateAxis($(PORT), 8)
|
#powerPmacCreateAxis($(PORT), 8)
|
||||||
|
|
||||||
# Load databse
|
# Load databse
|
||||||
|
|||||||
@@ -34,9 +34,9 @@ OR=1
|
|||||||
# Load databse
|
# Load databse
|
||||||
dbLoadTemplate("$(ESB_MX_TEMPLATES)/$(P)3.subs", "PORT_M=$(PORT),P_M=$(P)")
|
dbLoadTemplate("$(ESB_MX_TEMPLATES)/$(P)3.subs", "PORT_M=$(PORT),P_M=$(P)")
|
||||||
|
|
||||||
require "HEXGIR" zamofing_t
|
require "HEXGIR" alarcon_a
|
||||||
|
|
||||||
# Load databse
|
# Load databse
|
||||||
dbLoadTemplate("$(HEXGIR_TEMPLATES)/HEXGIR_motor.subs", "PORT_M=$(PORT),P_M=$(P),M1=1,M2=2,M3=3,M4=4,M5=5,E1=1,E2=2,E3=3,E4=4,E5=5")
|
dbLoadTemplate("$(HEXGIR_TEMPLATES)/HEXGIR_motor.subs", "PORT_M=$(PORT),P_M=$(P),M1=1,M2=2,M3=3,M4=4,M5=5,E1=1,E2=2,E3=3,E4=4,E5=5")
|
||||||
dbLoadTemplate("$(HEXGIR_TEMPLATES)/HEXGIR_girder.subs", "P_M=$(P)")
|
#dbLoadTemplate("$(HEXGIR_TEMPLATES)/HEXGIR_girder.subs", "P_M=$(P)")
|
||||||
dbLoadTemplate("$(HEXGIR_TEMPLATES)/HEXGIR_girder.subs", "P_M=$(P), X_OFFSET=$(OX),Y_OFFSET=$(OY),PITCH_OFFSET=$(OP),YAW_OFFSET=$(OYW),ROLL_OFFSET=$(OR)")
|
dbLoadTemplate("$(HEXGIR_TEMPLATES)/HEXGIR_girder.subs", "P_M=$(P), X_OFFSET=$(OX),Y_OFFSET=$(OY),PITCH_OFFSET=$(OP),YAW_OFFSET=$(OYW),ROLL_OFFSET=$(OR)")
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
|
|
||||||
!encoder_sim(enc=3,tbl=11,mot=11,posSf=360000./32768)
|
!encoder_sim(enc=3,tbl=11,mot=11,posSf=360000./32768)
|
||||||
!encoder_biss(enc=3,tbl=3,mot=3,numBits=20,posSf=360000./1048576)
|
!encoder_biss(enc=3,tbl=3,mot=3,numBits=20,posSf=360000./1048576)
|
||||||
Motor[3].pPhaseEnc=Acc84B[0].Chan[0].SerialEncDataA.a
|
Motor[3].pPhaseEnc=Acc84B[0].Chan[2].SerialEncDataA.a
|
||||||
!motor_servo(mot=3,ctrl='ServoCtrl',Kp=0.8,Kvfb=20,Ki=0.001,Kvff=40,Kaff=0,MaxInt=1000)
|
!motor_servo(mot=3,ctrl='ServoCtrl',Kp=0.8,Kvfb=20,Ki=0.001,Kvff=40,Kaff=0,MaxInt=1000)
|
||||||
!motor(mot=3,dirCur=0,contCur=1000,peakCur=2000,timeAtPeak=1,IiGain=1.5,IpfGain=0,IpbGain=3,JogSpeed=180.,numPhase=3,invDir=True,servo=None,PhasePosSf=1./8192,PhaseFindingDac=100,PhaseFindingTime=50,SlipGain=0,AdvGain=0,PwmSf=10000,FatalFeLimit=3000,WarnFeLimit=1000,InPosBand=10, HomeOffset=228987)
|
!motor(mot=3,dirCur=0,contCur=1000,peakCur=2000,timeAtPeak=1,IiGain=1.5,IpfGain=0,IpbGain=3,JogSpeed=180.,numPhase=3,invDir=True,servo=None,PhasePosSf=1./8192,PhaseFindingDac=100,PhaseFindingTime=50,SlipGain=0,AdvGain=0,PwmSf=10000,FatalFeLimit=3000,WarnFeLimit=1000,InPosBand=10, HomeOffset=228987)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user