I am building a robot controller to replace an existing controller for the robot. The existing controller uses Mosfets and PWM to control 24 volt DC motors. I am doing the same with an Arduino and the Pololu DRV8801. The existing controller has a PWM frequency of 3.96khz (255 microseconds period).
I am trying to send the same PWM frequency to the robot, but am finding that the motors won’t spin at the lower duty cycles. I need to be able to run the motors at low RPMs. If I look at the PWM waves on an oscilloscope, I see a nice square wave with the Mosfet controller. With the DRV8801, not so much. Here is the old controller’s wave:
and here is the DRV8801 wave:
Both have the same PWM frequency and duty cycle, but you can see the MOSFET controller’s wave is much cleaner. That can move the motors at that duty cycle, the DRV8801 can’t.
Is there anything I can do to get this to work? Or does Pololu have another motor controller that would be better suited to my application?
- Dave