commission hardware

This commit is contained in:
2017-12-22 12:12:59 +01:00
parent 789224b83d
commit 57b6ff3a2c
5 changed files with 41 additions and 45 deletions

View File

@@ -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"

View File

@@ -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 }
} }

View File

@@ -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

View File

@@ -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)")

View File

@@ -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)