Locked anti phase operation - High-Power Motor Driver 18v15


I am using Polulu High-Power Motor Driver 18v15 for operating a linear motor. So i have to use locked antiphase operation. I am keeping the PWM pin of the driver high and I am switching the DIR pin in the driver at 20Hz to move the motor forward and backward. While connecting the circuit, the driver works well for few seconds at 20Hz and then stops giving signals. Is there any particular reason for this event. I am using DSP to give the signals and I have checked that the DSP is giving the correct signals.
What should be the duty cycle of the DIR pin if I want to move it forward and backward?
Thank you very much for your help.

This is the document paragraph for the 18v15 driver in the polulu page. Any help will be highly appreciated.
In locked-antiphase operation, a low duty cycle drives the motor in one direction, and a high duty cycle drives the motor in the other direction; a 50% duty cycle turns the motor off. A successful locked-antiphase implementation depends on the motor inductance and switching frequency smoothing out the current (e.g. making the current zero in the 50% duty cycle case), so a high PWM frequency might be required.

Do you really mean 20 Hertz? That frequency would be far too low. Try 10 kHz or higher.

Unfortunaltely the rated frequency for the linear motor is 25Hz so i cannot go beyond 25Hz. Will the motor driver not work at that low frequency? Also can the duty cycle of the DIR be 50%?
Thanks very much for your reply.

For locked antiphase you would use a high PWM frequency on the DIR pin (say 10 to 30 kHz depending on the motor inductance), with the PWM pin held high. You change the the duty cycle of the DIR pin to obtain the desired motion. I don’t know the frequency response of the 18V15 motor driver, but the PWM pin is good to 40 kHz, so I assume this would work.

Can you post a link to the motor data sheet?

Note: I edited the post for clarity while you were posting.

Its a custom motor built in lab and unfortunately I don’t have its datasheet. It is basically a linear motor where when give positive voltage to the windings, it moves in one direction and when we reverse the votlage, it moves in the other direction. Therefore, I am trying to us the DIR pin to change the direction thereby moving it forward and backward. I want to keep the duty cycle of DIR at 50% so that the time for backward motion is same as that of forward motion.
is there anylimit on the frequency of the DIR pin. For my purpose, the PWM pin is held high always.
Rated voltage is 120V
Rated frequency is 25Hz
Rated Power: 500W

I am not using this operation to stop the motor. I want to get an oscillatory motion (Forward and backward) for the linear motor.
Thanks again.


The specifications you gave for you motor make me concerned. First, you said you motor is rated for 120V, which is very high and way outside the rated voltages of our high power motor drivers. How are you supplying power to the driver? What voltage are you using? Second, rated frequency is a strange specification for a brushed DC motor to have. What type of motor are you using? Have you tried just connecting the motor to your supply and seeing if it moves? Could you send pictures that show all of the connections you are making to the driver and motor?


I forgot to specify that. I am giving 12V supply to the motor and the driver and I am using a linear motor and not a rotational motor. Rated frequency is given sometimes instead of speed for linear motors. We have tested the motor before and it works.
With this power driver also, the linear motor works for few seconds and then stops because, the signal from the driver stops.

Basically even without the motor, I just checked the driver output.
I kept the pins
PWM - high
DIR - 50% duty cycle with 20Hz frequency
V+ - 12V

Gnd was connected properly for the driver.

I connected the OUTA to scope +ve pin of the scope and OUTB pins to the -ve pin of the scope. It gave +12V and -12V at 20Hz for some time (few seconds) and then stops and becomes only +12V.
Shouldn’t I get +12V and -12V at 20Hz throughout. Thanks for your reply

You mentioned testing the driver without the motor attached. To clarify, when you did that testing did the driver still stop switching the output signal after several seconds? Does the behavior change if you use a slower frequency input to the driver (e.g. 1Hz)? Could you post screen captures from your oscilloscope that show both the output from your DSP and the output from the driver? Could you also still post pictures of your setup, so I can see how everything is connected?


It will take me a day to get back with pictures. But I want to know if what I am expecting is correct.
PWM - high
DIR - 50% duty cycle with 20Hz frequency
V+ - 12V

OUTA(+ve pin of the scope)-OUTB(-ve pin of the scope) --> PWM pulse with +12V for 0.025 seconds and -12V for 0.025 seconds and the frequency will be 20Hz.
Thanks for your reply.

When PWM is held high and the DIR pin is pulsed like you are doing, I would expect to see the voltage across the outputs alternate between the 12V and -12V. I am not sure why that is not happening in your setup, but hopefully the pictures and additional testing I asked about in my last post will make it more clear.

By the way, from your previous post it is not clear if you are using something like a differential probe to measure across the motor terminals with your oscilloscope. Please note that a standard oscilloscope probe is not appropriate for measuring a signal like that. The ground clip on a standard probe must always be connected to your system’s ground. Connecting it to any other voltage (like one of the motor terminals) could result in damage to your system or your oscilloscope. If you only have standard probes, I recommend looking at the signal on each motor output with separate probes.