I’m experiencing some problems (and strange phenomenons…) with a DC motor driver (sabertooth 2x5, for more detaills see : http://www.robotshop.com/eu/Sabertooth-2x5-fr.html). The schematics are attached.
I’ve successfully runned a motor using a potentiometer. However, things get tricky when I try to use the PWM instead.
I’m using the motor driver in analog command mode and would like to use my arduino’s PWM (arduino : Uno/ATMEGA328P).
Note that the arduino uses the 5V power supply provided by the motor driver to make sure that both integrated circuits share the same ground (which evoids ground reference problems).
The driver’s user manual advised to use a (R=10kOhm, C = 0.1uF) RC filter but that was for a greater PWM frequency than the arduino’s 500Hz.
In consequence, I chose the components of the RC filter myself using “qucs” circuit simulator so that the output voltage keeps quite constant. I chose (R=100kOhm, C=0.47uF). However, i don’t know if there can be another criteria to choose the components except the fact of having a signal as flat as possible.
Things get weird when I power the motor : it acts crazy, firstly running very quickly then stopping then running in the opposite direction quicker and quicker. You could think that this is because the capacitor is getting empty and that output voltage equal to 0 means full speed for the driver. But the voltage is actually increasing as if it was fed by the driver. In such a situation, the mesured voltage for the resistance given by a voltmeter is 0 as if there was no current from the arduino.
Another strange stuff : if I unplug the power supply of the whole circuit then plug it again after 1 second or so things work as they should be. If I wait longer or less things get crazy again. If I unplug the arduino only for one second or so, things get working again. Actually, whenever the led at pin #13 blinks twice at startup, things work properly. If it doesn’t blink at all, the motor goes crazy. When things work properly, current mesured with the help of a voltmeter through the resistance show 17E-4 A if things do not work, then current is equal to 0. So from a certain point of view it seems that it is as if the arduino wasn’t powering it’s PWM all the time.
Strange isn’t it ?
Oh forgot to mention : this motor driver is regenerative meaning that when braking, the motor is supposed to give power to the battery… except that I don’t use a battery but a normal 9W power supply in an electric socket. Could that explain why things turn out like this ?
Also, it is likely that the motor can hold more than 9W which is the max power supply that can be delivered, could that envolve a lack of electric power available on the circuit and force a “shutdown” of the arduino circuit preventing it from sending any PWM signal ?
Thanks in advance for your help