Delta Tau GEO BRICK LV User Manual

Page of 440
 
Turbo PMAC User Manual 
162
 
Motor Compensation Tables and Constants 
PMAC: Extended Servo Algorithm Block Diagram
Encoder #1
Encoder #2
)
z
 -
 
(1
 
h
 
 
h
-1
1
0
+
)
z
r
z
(r
 
8
1
)
z
t
(t
 
TS
4
-
4
1
1
-4
3
0
+
+
+
+
+
Ix08
 
 
32
))
z
 -
 
(1
 
g
 
 
(g
 
GS
-1
1
0
+
Feedback
Loop #1
2
-
2
1
1
z
d
z
d
1
1
+
15
2
Ix69
Ix08
 
 
32
0
s
r(z)
θ
1
(z)
)
 z
-
(1
s
-1
1
Ix08
 
 
32
Encoder #1
Encoder #2
Feedback
Loop #2
θ
2
(z)
u(z)
DAC
0
f
)
z
 -
 
(1
 
f
-1
1
-1
z
 -
 
1
Ix68
+
-
+
-
+
-
+
-
+
+
+
+
+
+
)
z
L
z
(L
 
4
1
)
z
k
(k
 
KS
3
-
3
1
1
-3
3
0
+
+
+
+
+
 
The ESA for Motor xx is selected by setting the first supplemental motor I-variable Iyy00/50 (I3300 for 
Motor 1, I3350 for Motor 2, etc. – see full table in the Software Reference Manual) to 1, and by setting bit 
0 of Ixx59 to the default of 0 to disable the “user-written servo.”  With this setting, the servo loop terms 
are supplemental I-variables Iyy10/60 through Iyy39/89 (I3310 – I3339 for Motor 1, I3360 – I3389 for 
Motor 2, etc.).  The following table shows the variables used for each gain term: 
I-Var. for 
Odd-
Numbered 
Motors 
I-Var. for 
Even-
Numbered 
Motors 
Gain 
Name 
Range I-Var. 
for 
Odd-
Numbered 
Motors 
I-Var. for 
Even-
Numbered 
Motors 
Gain 
Name 
Range 
Iyy10 Iyy60 
s0 
-1.0
≤Var<+1.0 
Iyy25 Iyy75 TS 
-2
23
≤Var<2
23
 
Iyy11 Iyy61 
s1 
-1.0
≤Var<+1.0 
Iyy26 Iyy76 L1 
-1.0
≤Var<+1.0 
Iyy12 Iyy62 
f0 
-1.0
≤Var<+1.0 
Iyy27 Iyy77 L2 
-1.0
≤Var<+1.0 
Iyy13 Iyy63 
f1 
-1.0
≤Var<+1.0 
Iyy28 Iyy78 L3 
-1.0
≤Var<+1.0 
Iyy14 Iyy64 
h0 
-1.0
≤Var<+1.0 
Iyy29 Iyy79 k0 
-1.0
≤Var<+1.0 
Iyy15 Iyy65 
h1 
-1.0
≤Var<+1.0 
Iyy30 Iyy80 k1 
-1.0
≤Var<+1.0 
Iyy16 Iyy66 
r1 
-1.0
≤Var<+1.0 
Iyy31 Iyy81 k2 
-1.0
≤Var<+1.0 
Iyy17 Iyy67 
r2 
-1.0
≤Var<+1.0 
Iyy32 Iyy82 k3 
-1.0
≤Var<+1.0 
Iyy18 Iyy68 
r3 
-1.0
≤Var<+1.0 
Iyy33 Iyy83 KS 
-2
23
≤Var<2
23
 
Iyy19 Iyy69 
r4 
-1.0
≤Var<+1.0 
Iyy34 Iyy84 d1 
-1.0
≤Var<+1.0 
Iyy20 Iyy70 
t0 
-1.0
≤Var<+1.0 
Iyy35 Iyy85 d2 
-1.0
≤Var<+1.0 
Iyy21 Iyy71 
t1 
-1.0
≤Var<+1.0 
Iyy36 Iyy86 g0 
-1.0
≤Var<+1.0 
Iyy22 Iyy72 
t2 
-1.0
≤Var<+1.0 
Iyy37 Iyy87 g1 
-1.0
≤Var<+1.0 
Iyy23 Iyy73 
t3 
-1.0
≤Var<+1.0 
Iyy38 Iyy88 g2 
-1.0
≤Var<+1.0 
Iyy24 Iyy74 
t4 
-1.0
≤Var<+1.0 
Iyy39 Iyy89 GS 
-2
23
≤Var<2
23
 
The ESA consists of a series of blocks, most with multiple terms, each taking an input value, which could 
be the output of another block, and computing an output value, which could be the input to another block.  
Many of the blocks have polynomial transfer functions; an nth order polynomial implies the storage of n 
cycles of history for the block. 
Terms whose names consist of a letter and a number multiply a single control value that is i cycles old, 
where i is the number in the name (e.g. t2 multiplies a value two cycles old).  If the term is in the 
numerator of the block, it multiplies an input value to that block; if it is in the denominator of the block, it 
multiplies an output value from that block.  These terms have a range of +/-1.0, with 24-bit resolution.