8-Power PMAC Motor Setup Elements 2012-08
8-Power PMAC Motor Setup Elements 2012-08
d
dt Phase Currents
Position
E Motor
Position-
Mode Drive
Velocity-
Mode Drive
Torque-
Mode Drive
Sinewave-
Mode Drive
Direct PWM-
Mode Drive
* Shares address with PWM register; reports back as PWM registerUMAC Turbo
address Turbo PMAC PCI Geo Drive
motion
Single Source Machine Control logic 10
data
DELTA TAU
Data Systems, Inc.
Motor[x].MasterPosSf
Motor[x].CompDac
Motor[x].CompPos
+ +
+ + +
Motor[x].CoordSf[i] PI
Motor[x].DesPos
- -
D
Motor[x].ActPos2
+ +
CompTable[j].Sf[q] Motor[x].PosSf EncTable[j].ScaleFactor
Motor[x].CompPos2 Motor[x].Pos2
Motor[x].ActPos
+ +
CompTable[i].Sf[q] Motor[x].PosSf EncTable[i].ScaleFactor
Motor[x].CompPos Motor[x].Pos
line
• Requires that feedback on all
Axis #1 Axis #2
axes be tight enough to keep Actual Actual
Desired
desired physical tolerance Action
Relationship
Action
Position-Following Enhancements
• Motor[x].SlewMasterPosSf // Specifies rate of change of ratio
= 0.0 disables rate control – get step changes in ratio
> 0.0 enables rate control, sets rate magnitude in change per servo cycle
– Used on enabling and disabling of following
– Used when Motor[x].MasterPosSf is changed
– Should be active when changing mode or ratio on the fly
• Motor[x].MasterMaxSpeed // Limit on speed from following
= 0.0 disables speed limiting
> 0.0 enables speed limiting, sets maximum following velocity magnitude
• Motor[x].MasterMaxAccel // Limit on accel/decel from
following
– Only used when Motor[x].MaxSpeed > 0.0
= 0.0 disables accel limiting, discards “excess” from speed limiting
> 0.0 enables accel limiting, keeps “excess” from limiting and uses when no
longer limited
UMAC Turbo Turbo PMAC PCI Geo Drive
motion
Single Source Machine Control logic 20
data
DELTA TAU
Data Systems, Inc.
~
2
~
possibly others as set by I 2tSet
I 2tSet 2
Motor[x].FaultMode 32768
~
Integrator
~
Discharge
• Uses measured current in time
JogTa
JogTs
motors
• If new jog command (or trigger)
received during accel/decel, full time V0
JogTs JogTs
is added on to blend to new move JogTs
times ΔV*JogTa
• TASC takes this delay into Servo Servo Capture Servo Servo
Latch Interrupt Trigger Latch Interrupt
account in calculating ServoCapt Time to ServoCapt
TimeOffset Trigger TimeOffset
captured position from Servo
Period
trigger time
Ts Ts
Ppos + DesPos
Spliner
Trajectory To
Before Servo
Filter -
1 z 1
Pn 0 Pn1 z 1 Pn 2 z 2 Pn 3 z 3 Pn 4 z 4
P z
1 Pd 1 z 1 Pd 2 z 2 Pd 3 z 3 Pd 4 z 4
1-z-1 Kvff
Kviff
+ + +
+ + +
DesPos
Kp ServoOut
- + -
- MaxPosErr MaxDac
Ki
1-z-1
Kvifb MaxInt Kvfb
1-z-1 ActPos2
ActPos
Feedforward Principle
• Traditional servo control
block diagram shows F(s)
Disturbances
D(s)
compensate for imperfect Terms
E(s)
model and disturbances + -
error
• Motor[x].Servo.Kbreak specifies
gain (relative to Kp) in zone
BreakPosErr
= 0 creates true deadband
> 1.0 can compensate for physical
deadband or overcome friction Gain Kbreak
=2
Net gain asymptotically approaches Kp
outside of zone Kp
=1
• Does not affect velocity loop =0 FEin
PosErrorα
Xctrlα
+
-
Xctrlβ
PosErrorβ
-
DesPosβ ActPosβ
Gantry
ServoCtrlβ
+ + Motor β
-
Limits
K
1 J' Inertia
X Estimator
Balance Loop
r
1/s
+ +
PMAC Amplifier
IiGain
1-z-1
Back Path
Integral Ipbgain Proportional
Measured
Gain
Gain Current
(Id or Iq)
Gate1[i]. PWM
PwmPeriod Command
or Value
16384 (Gate3)
-Gate1[i].
PWM
PwmPeriod
Up/Down
or
Counter
-16384 (Gate3)
-Motor[x].PwmSf
PWM
Top Signal
PwmDeadTime
PWM
Bottom Signal
Current Loops X
IbVolts
DesPos IqCmd IaMeas
PID PI
+ + ab
- - to B
ActPos Simulated Servo IqMeas dq IbMeas
Loop
PhasePos
ECT “Slip”
(0)
Integration Integration + +
Open-Loop Commutation