Pololu Motor Driver

I ordered the Pololu Dual High Current Motor Driver 9A 6V-36V speed controller from roboshop to drive a large motor. The manual isn't making much sense to me so how do I get it working? I'm using an Arduino Mega board.

Do you have a link to the manual so we could look at?


Here’s the link to the speed controller http://www.robotshop.us/pololu-dual-motor-driver-9a.html

Motor Driver Datasheet: http://www.robotshop.us/PDF/rbpol13-vnh3sp30-manual.pdf

I have used the Pololu Motor Driver Carrier MD01B based on a single VNH2SP30 chip, which looks very similar to control as the VNH3SP30, but not with the Arduino and I don't know if I have the source code any more...

From memory, all you need to do is:

1) connect +5V and 0V to JP2 2) connect your battery/motor drive power supply to the VIN connector 2) provide a PWM signal from your Arduino on both the PWM inputs on JP1 and JP3 3) provide 2 logic level inputs on INA and INB on JP1 and JP3 to control the motor direction. 4) connect the 2 motors to M1 and M2 connectors

The schematic on Pololu's site http://www.pololu.com/catalog/product/707 is helpful.

The PWM signal essentially controls the speed of the motors, the more it is "high" (higher duty cycle 0 to 100%), the faster the motor goes. You might want to provide 2 separate PWM signals so you can independently control your motor speeds. At 0% the motors are not driven, at 100% the motors are flat out.

You can generate a PWM signal on the Arduino simply by using the AnalogWrite() command. Make sure you try and use hardware timer outputs for the PWM signals (digital 3, 5, 6, 9, 10, 11 on the Diecimila) for maximum flexibility.

The frequency of the PWM is quite important because there will be a "sweet spot" where the frequency of the drive signal interacts most efficiently with the inductance of the motor. However without full motor data, the best frequency to use can be hard to work out and is best determined by experimenting, and you may need to program the internal timers directly rather than use AnalogWrite() to change the frequency.

The truth table on page 7/26 of the data sheet you linked to shows how INA and INB control the direction of rotation of the DC motors.

Note that some experimentation with PWM frequency, duty cycle and INA/INB will be required to get it working properly under software control.

Also take care that you don't exceed the maximum current or voltage the drivers can handle, especially for a locked rotor condition where the DC motor appears as a short to ground through the driver and the maximum current will flow, limited only by the DC winding resistance of the motors.

You may also need heatsinks on the drivers.