Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC Global I-Variables 
 156 
In non-Turbo PMACs, bits 16-23 of Ix10 control this function. 
Ixx96  Motor xx Command Output Mode Control 
 
 
 
Range:   
0 - 3 
 
Units:   
none 
 
Default: 
0  
Ixx96 controls aspects of how Turbo PMAC writes to the command output register(s) specified in Ixx02.  
Ixx96 is a two-bit value; bit 0 controls either the bipolar/unipolar nature of the output, whether the 
commutation algorithm is closed-loop or open-loop, or whether the current-loop algorithm is for a 
brushless or brush motor (dependent on the settings of Ixx01 and Ixx82); bit 1 controls whether the 
integrator of the PID position/velocity servo algorithm is in the position loop or the velocity loop. 
If bit 0 of Ixx01 is set to 0 (no Turbo PMAC commutation for Motor xx), and bit 0 of Ixx96 is set to 0, the 
single command value from the Turbo PMAC servo is written to the register specified by Ixx02 as a 
signed (bipolar) value. 
For PMAC(1)-style Servo ICs only, if bit 0 of Ixx01 is set to 0 and bit 0 of Ixx96 is set to 1, then the 
command output value is the absolute value (magnitude) of what the servo calculates, and the sign 
(direction) is output on the AENAn/DIRn line of the set of flags addressed by Ixx25 (polarity determined 
by jumper E17 or E17x).  In this case, bit 16 of Ixx24 should also be set to 1 to disable the amplifier-
enable function for that line.  For PMAC2-style Servo ICs, this sign-and-magnitude mode is not 
supported. 
If bit 0 of Ixx01 is set to 1 (Turbo PMAC commutation enabled for Motor xx), Ixx82 is set to 0 (Turbo 
PMAC current loop disabled for Motor xx), and bit 0 of Ixx96 is set to 0, Turbo PMAC will perform the 
normal closed-loop commutation for Motor xx.  If bit 0 of Ixx01 is set to 1, Ixx82 is set to 0, and bit 0 of 
Ixx96 is set to 1, then Turbo PMAC’s commutation performs the special “direct microstepping” 
algorithm.  In this algorithm, the magnitude of the command from the servo does not affect the magnitude 
of the phase command outputs; it simply controls their frequency. 
If bit 0 of Ixx01 is set to 1 (Turbo PMAC commutation enabled for Motor xx), Ixx82 is set to a value 
greater than 0 (Turbo PMAC current loop enabled for Motor xx), and bit 0 of Ixx96 is set to 0, Turbo 
PMAC will perform the normal direct-PWM control with both direct and quadrature current loops closed, 
for a 3-phase motor.  If bit 0 of Ixx01 is set to 1, Ixx82 is set to a value greater than 0, and bit 0 of Ixx96 
is set to 1, Turbo PMAC will perform direct-PWM control for a brush motor, truly closing only the 
quadrature current loop, and repeatedly zeroing the direct current-loop registers. 
In non-Turbo PMACs, this function is controlled by bit 16 of Ix02. 
If bit 1 of Ixx96 is at the default value of 0 (making Ixx96 equal to 0 or 1), the integrator of the PID 
position/velocity servo loop is in the position loop, acting on the position following error.  This setting 
generally provides better tracking control, but worse disturbance rejection.  If bit 1 of Ixx96 is 1 (making 
Ixx96 equal to 2 or 3), the integrator is inside the velocity loop, acting on the velocity error.  This setting 
generally provides better disturbance rejection, but worse tracking control. 
In revisions V1.940 and older of Turbo PMAC firmware, Ixx96 was a one-bit value, only including the 
function of bit 0.