Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC Global I-Variables 
 133 
Ixx75 tells Turbo PMAC the distance between the zero position of an absolute sensor used for power-on 
phase position (specified by Ixx81 and Ixx91) and the zero position of Turbo PMAC's commutation 
cycle.   
It is used to reference the phasing algorithm for a PMAC-commutated motor with an absolute sensor 
(Ixx81 > 0).  If Ixx80 bit 0 is 1 (Ixx80 = 1 or 3), this is done automatically during the power-up/reset 
cycle.  It will also be done in response to a $ on-line command to the motor, or a $$ on-line command to 
the coordinate system containing the motor. 
Ixx75 is also used by the SETPHASE command (on-line, motion-program, or PLC-program).  When the 
SETPHASE command is given, the value of Ixx75 is immediately copied directly into the motor’s phase 
position register.  Typically, this operation is used to correct the phasing, usually at the encoder index 
pulse, after an initial rough phasing (e.g. from Hall commutation sensors). 
The proper value for this parameter can be found with a simple procedure that should be done with an 
unloaded motor, after satisfactory operation has been achieved using a power-on phasing search.   
 
Define an M-variable to the absolute sensor if using one.  
 
Define an M-variable to the internal phase position register.  Mxx71 is the suggested M-variable. 
 
Give the motor an O0 command. 
 
Put a bias (a magnitude of 2000 is usually good) on the A phase (higher-numbered DAC of a pair for 
Turbo PMAC) by setting Ixx29; use a positive bias if Ixx82>0 for digital current loop closure or if 
Ixx82=0 and Ixx72>1024 (e.g. 1365 or 1536); use a negative bias if Ixx82=0 and Ixx72<1024 (e.g. 
683 or 512).   
 
Also, put a bias in the opposite direction of the same magnitude on the B phase by setting Ixx79.  The 
motor should lock in on a position like a stepper motor.   
 
Now remove the A-phase bias by setting Ixx29 back to zero, or at least to the value found to force 
zero current in the phase, and the motor should lock in on another position.  This position is the zero 
position of the phasing cycle.   
 
If there is an absolute sensor, after sure that the motor has settled, read the position of the absolute 
sensor by querying its M-variable value.  Then:  
 
Take the negative of this value, multiply it by Ixx70, and put the resulting value in Ixx75.   
 
Now, with Ixx79 returned to zero or the proper bias, and Ixx81 pointing to the absolute sensor, give 
the motor a $ command.  The motor should be properly phased.   
 
If doing this to use the SETPHASE command at a known position such as the index, set the internal 
phase position register to 0 with Mxx71.  Then: 
 
Return Ixx79 to zero or the proper bias, and close the loop with a J/ command. 
 
Now move to the reference position (e.g. do a homing search move with the index pulse as the 
trigger) and make sure it is settled there with minimal following error (some integral gain should be 
used). 
 
Read the value of Mxx71 at this point and set Ixx75 to this value. 
 
Remember to save these variable values before doing a full reset on the card. 
See Also 
I-variables Ixx01, Ixx70 – Ixx74, Ixx76 – Ixx83 
Setting Up Turbo PMAC Commutation