User's Manual

PMAC User Manual
16 Getting Started with PMAC
Testing the Output and Polarity
Next, check the outputs and whether the output polarity matches the feedback polarity. To do this, provide
power to the amplifier. First, have PMAC disable its own outputs for the motor by typing K<CR> (kill).
Make sure that the motor has no load at this point so that uncontrolled motion cannot damage anything.
Now provide power to the amplifier.
PMAC-Commutated Motors
If PMAC is commutating this motor, get the polarity of the commutation feedback and the phased
commutation outputs to match. If the feedback polarity direction has been set to get it to count up when
moving in the proper direction, test whether the phasing polarity of the outputs as set by I172 is correct.
(There is a 50% chance of having this correct.)
Permanent-Magnet Brushless Motors
If using a permanent-magnet brushless motor, check the polarity match by a technique that drives the motor
like a stepper motor. First, type O0<CR> (open-loop output of zero magnitude). Then type
I129=2000<CR>, which puts an offset on one of the phases, forcing current through it. Note the position
of the motor in this state. Next type I179=2000<CR>, which puts the same offset in the next phase.
Note the position again, and determine whether it counted up or counted down since the first check.
If the position counted down, I172 should be set to 85 for a 3-phase motor, or 64 for a 4-phase motor. If
the position counted up, I172 should be set to 171 for a 3-phase motor or 192 for a 4-phase motor. Before
continuing, make sure to set the offset parameters I129 and I179 back to 0.
Induction Motors
If this motor is an induction motor, check the polarity by trying to run the motor with both polarities
(settings of I172), and seeing which produces satisfactory results. Type $<CR> to initiate the phasing of
the motor. Now type O10<CR> (open-loop output 10%) and see if the motor spins well (even if it does not
accelerate quickly). The position should be counting up. Next, kill the output temporarily with K<CR> and
change the output polarity by giving I172 a new value (e.g. if it was 85, change it to 171). Now type
O10<CR> again and observe the response. Kill the motor again and set I172 to the value that gave decent
response. If there is no movement with either setting, check the troubleshooting guide immediately above.
Non-PMAC Commutated Motors
If PMAC is not doing the commutation for a motor, make sure that the servo feedback and output polarities
match. Do this by giving the motor an open-loop output command and seeing which way the position
counts. Type O10<CR> (open-loop output 10%). The position counter should count up. If it counts down,
there is a polarity mismatch. Now type O-10<CR>. The position counter should count down. If it counts
up, there is a polarity mismatch. If the counter does not count in opposite directions for the two tests, there
is an encoder and/or amplifier problem.
If there is a polarity mismatch, there will be a potentially dangerous runaway condition when trying to
close the loop. To fix this, change I900 (e.g. from 7 to 3, or 3 to 7) to reverse the counting sense. This will
change the positive direction of the axis. Alternatively, exchange the motor leads instead.
If there is no movement, check the voltage on the output pin. It should be approximately 1V relative to
AGND. If it has not changed, recheck I102, the analog power supply, and the limit-input configuration. If
the voltage has changed but there is still no movement, recheck the amplifier and motor connections.
Overtravel Limit Polarity
Make sure as the direction sense of the motor is verified the hardware position limit switches are wired into
the proper inputs. That is, the limit switch on the positive (counting up) end of travel must be wired into
the -LIMn input, and the switch on the negative end must be wired into the +LIMn input. If these are
reversed, the hardware limit functions will not work.