Power Brick Controller User Manual
Manual Motor Setup
153
Example:
A serial encoder with 36 bits of single-turn position data located in serial data A and B registers
consecutively. We will use the lower 32 bits; that is the maximum allowed number of bits for the power-
on absolute commutation.
PowerBrick[].Chan[].SerialEncDataA
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PowerBrick[].Chan[].SerialEncDataB
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Motor[].pAbsPhasePos = PowerBrick[].Chan[].SerialEncDataA.a
Motor[].AbsPhasePosFormat = $00002000
Rotary:
Motor[].AbsPhasePosSf = 2048 * NoOfPolePairs / 2
32
Linear:
Motor[].AbsPhasePosSf = 2048 * RES
mm
/ ECL
mm
Motor[].AbsPhasePosOffset = –PhaseForcePos * Motor[].AbsPhasePosSf
The PhaseForceTest value can be found by performing a manual force phasing (locking the motor onto
phase B) and recording 32 bits of position data (serial data register A).
PhaseForcePos =
PowerBrick[].Chan[].SerialEncDataA
.
Example:
A 29-bit binary serial encoder with 17 bits of single-turn and 12 bits of multi-turn position data starting at
bit #0 of serial data A register and continuously extending to bit #28.
PowerBrick[].Chan[].SerialEncDataA
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Multi-Turn Position Data
Single-Turn Position Data
Motor[].pAbsPhasePos = PowerBrick[].Chan[].SerialEncDataA.a
Motor[].AbsPhasePosFormat = $00001100
Motor[].AbsPhasePosSf = 2048 * NoOfPolePairs / 2
17
Motor[].AbsPhasePosOffset = –PhaseForcePos * Motor[].AbsPhasePosSf
The PhaseForceTest value can be found by performing a manual force phasing (locking the motor onto
phase B) and recording the 17 bits of single-turn position data.
PhaseForcePos =
PowerBrick[].Chan[].SerialEncDataA & $00001FFF
.