Delta Tau GEO BRICK LV User Manual

Page of 440
 
Turbo PMAC User Manual 
86 
Basic Motor Setup 
Executing the Open-Loop Test 
First, use the “O” (open-loop output) command to verify the operation of the frequency generator.  This 
command simply places a value proportional to the magnitude of the command into the output register.  
This should generate a constant frequency output from the pulse generator that shows up as a constantly 
changing position and a steady non-zero (for non-zero commands) velocity in the reporting window.  Do 
not worry about exact values now; just see if a change can be created.  An O10 command should create a 
positive velocity and a position counting in the positive direction; an O-10 command should create a 
negative velocity and a position counting in the negative direction. 
Troubleshooting the Open-Loop Test 
If this result is not received, look at the following: 
1.  Use the Why Am I Not Moving? screen in the Executive program to see if there is some reason Turbo 
PMAC firmware is not permitting the command.  For instance, the overtravel limit inputs may need 
to be held low, or the limit function disabled with Ixx24. 
2.  If there is an oscilloscope or frequency counter, see if a pulse train is being received on the output pin.  
This will help to isolate the problem.  If the pulse train is not received with a non-zero O command, 
and no pulse train with an O0 command, pulses are being generated but not feeding back properly.  If 
there is no pulse train, pulses are not being generated properly. 
3.  Assign an M-variable to the output command register pointed to by Ixx02, double-checking to be sure 
that that this address is one of the Output Command C registers that can drive a PFM circuit.  For 
example, define M102->Y:$078004,8,16,S to look at the Output Command Register 1C.  Now 
monitor the M-variable in the Executive program’s Watch window or in the Terminal window as O 
commands are being issued.  The value should change.  The reported value should be equal to Ixx69 
* (O-command magnitude) / 100.   
Note: 
The command register is really a 24-bit register.  By assigning the M-variable to 
the top 16 bits only, the reported value is in the units of the Ixx69 limit.   
If changes in the reported M-variable are not being received, recheck Ixx02 and the Why Am I Not 
Moving? window.  If changes are being received here, next check variable I7mn6 for the machine 
interface channel n that is being used to make sure the pulse and direction signals are being permitted 
to be output. 
4.  To check the feedback path, first look at I7mn0 for the machine interface channel n being used.  It 
should be set to 8 to take the internal pulse and direction signal into encoder counter n, or to 0 or 4 for 
external pulse and direction.  Next, look at the setup of the Encoder Conversion Table under the 
Configure menu of the Executive program.  It should contain an entry specifying the quadrature 
conversion of the address of the encoder channel (listed above) that you are using, possibly with 1/T 
interpolation, but preferably without.  Check the actual hexadecimal address value (e.g. $78000 for 
Servo IC 0 Encoder 1, $78008 for Servo IC 0 Encoder 2).  Note the address of the result register in 
the table (e.g. $003501 for the first entry). 
5.  Now check Ixx03 and Ixx04.  They should contain the address of the result register from the 
conversion table that was just noted above.  This tells the motor to use the processed value in the 
conversion table as its feedback. 
Once the presence of a pulse train and its feedback into the encoder counter and the motor position 
registers have been verified, check to see if the correct frequency range has been reached.  Issue an O100 
command.  Check the frequency by looking at the reported velocity in the window, and/or by examining 
the output pulse train on an oscilloscope or frequency counter.  Check the frequency at several other 
positive and negative command values (e.g. O50O-50O-100) so that the frequency is proportional to 
the command and covers the range needed.