New revision of the Dual VNH5019 motor driver shield for Arduino

Posted by Kevin on 24 March 2014
Tags: new products
New revision of the Dual VNH5019 motor driver shield for Arduino

We’ve released an updated version of our dual VNH5019 motor driver shield for Arduino. The VNH5019 is a great solution for driving high-power motors, with each chip able to supply up to 12 A continuously at 5.5 V to 24 V. However, the original version of our dual VNH5019 shield was designed before the Arduino Uno R3 was released, so it lacked pass-throughs for the four new pins (SCL, SDA, IOREF, and an unused pin) introduced by the R3 and present on all newer Arduinos. This makes it harder to stack other shields with it, especially ones that make use of the new I²C pin location. The latest board revision adds these pass-throughs to make the shield fully compatible with the Uno R3 pinout.

For more information, see the dual VNH5019 motor driver shield product page and user’s guide.

17 comments

Hi,

Is it possible to use two of these cards with an Arduino mega to control 4 motors?

Thanks,

Rebecca
Hello, Rebecca.

It is possible to use more than one dual VNH5019 shield on an Arduino, but it would require a lot of changes to get it to work. You would have to remap the control pins, do some additional wiring, and write your own code to set up PWM on the correct pins for all of the shields.

You can read more about how to make some of those changes inside the "Remapping the Arduino Connections" section of the VNH5019 shield's user's guide, which can be found under the Resources tab of its product page:

http://www.pololu.com/product/2507/resources

By the way, we break out the connections to the motor drivers along a single side of the shield, so if you do not need to stack the shields, you could just make your logic connections there. This might make using both shields easier.

You can find a similar forum post here:

http://forum.pololu.com/viewtopic.php?f=15&t=4875

-Jon
Hi,

I have the previously version of this driver.

My question is about the PWM interpretation behavior of this driver.

I've tested to send some PWM fractions to see the output Voltage behavior.

It was not linear.

I had a LiPo 11,7 volts battery connected. However, to get 6V output signal, I had to send a PWM signal of 50 (max. 255).

My doubt is, was it supposed to have a linear behavior? I mean, to get aprox. 6V, send a PWM of 255/2.

The second question is: How do I set the driver to provide 5V output to power the Arduino? I saw here I just have to put the jumper in. It didn't work.

Thanks!! Your products are very good, by the way.
Hello.

The VNH5019 operates in drive-coast mode, so its output is generally not very linear. If you want to get a very linear output then some kind of feedback is probably needed.

The VNH5019 shield does not regulate the voltage it supplies to the Arduino, the jumper simply connects the reverse protected VIN voltage to the Arduino's Vin.

If you are having trouble using your VNH5019 shield, you could post pictures and more technical details about the issue on our forum.

- Grant
Need Help

Goal:
Can the dual VNH5019 motor driver shield for Arduino operate on the "Makeblock Configurable 4WD Robot Kit - Blue" on all 4 motors if two on each side were connected in parallel to one of the two drivers?

Operation:
So they can either move forwards and backwards but also turn around.

Thanks Noob...
Hello.

In general, we usually recommend using a motor driver that has a continuous current rating greater than the stall current of your motor. From the motor specifications I found on this website, it seems like you should be able run two of those motors from each channel on the VNH5019.

- Grant
Hi,

I'm trying to power the arduino by this motor driver but I keep getting zero Volts in VOut port nor VDD port.

How do I enable it? Could you help me?

Thanks,
Hello, Max.

I am sorry you are having problems with your VNH5019 shield. However, the blog is not an appropriate place for troubleshooting your problem. Instead, you might post this on our forum with more details about your setup.

- Jeremy
Can I use this shield to continuously drive a pair of 2.1A motors that are spinning propellers? These are modified bilge pumps (http://store.waterpumpsupply.com/rule1.html) with no feedback circuitry.
Hello, Anon.

As long as the specifications of your modified bilge pump are similar to those of the bilge pump you linked to, I do not see any obvious reasons why it wouldn't work.

-Brandon
Hi guys,

Can i use this drive to control(with arduino), two servo motor with 10A?
and, the code, can be the same of any servo motor?

Since now, i thank you.
Hello, Joas.

It is not clear if you are talking about RC hobby servos or motors that have been removed from inside of some servos. If you are looking for a controller to command servos, you might consider one of our Maestro USB Servo Controllers. This shield works with brushed DC Motors, and each channel can handle 12 A continuously. You can find example code and libraries in the " Programming Your Arduino" section of the " Pololu Dual VNH5019 Motor Driver Shield User’s Guide"

-Derrill
Hi everyone.
I just have a quick question.
In order to have this motor driver take a position input, is there any specific command available.
I know that you can set the speed by void setM1Speed(int speed) but I need my motor to go to a specific encoder position.
Now, what I have done is that according to its current angular position (Encoder Reading) I made it move the correct direction and as it gets closer to that position it slows down and set the speed to zero when it gets close enough.
The problem is that it kind of oscillates close to the required position some times.

Am I doing this correctly or is there a more appropriate way of doing this?
Thanks for your feedback in advance.

Cheers,
Sina
Hi, Sina.

The motor driver library functions aren't the right place to look. You are on the right track by controlling the motor speed based on the position. What you are doing is called proportional feedback control. You can smooth it out by using PID control. You can learn the basics here https://www.youtube.com/watch?v=UR0hOmjaHp0&list=PLUMWjy5jgHK20UW0yM22HYEUTMJfla7Mb and then write some code for it. You might be able to adapt the 3pi line-following code here https://www.pololu.com/docs/0J21/7.c to fit your application. For additional questions, we hope you'll post on our forum, where your questions will have more visibility.

Ryan
Thanks Ryan,
Appreciate the help.
This is a great board, but I have one suggestion, "flip the board"
The position of the motor and power screw terminals and the pin remapping wire holes are on the exact opposite sides of the board from where they should be for convenience.
By switching the sides for the motor and power screw terminals and the pin remapping wire holes you give better access to the additional pins on boards like the mega. This would also allow for shorter wire runs when stacking the boards and remapping pins.

The only other suggestion is to consider changing the pin out such that no pins are on pins 0,1,2,3. This would make it easier to use with an Xbee shield in Dline mode (pins 2 and 3 are the other TX, RX lines on the UNO and are used by Xbee shields for communication. With pins 0 and 1 being TX, RX for UART with the USB for programming)
Hi, Photodude.

Thanks for the compliments on our driver and the great feedback! It would be convenient for all of the external connections to the shield and controller to be on one side and for the remapping jumpers to be closer to extra I/O pins. Unfortunately, the USB connector and barrel jack on the Arduino Uno would interfere with the leads of the terminal blocks that stick out the bottom of their through holes if we were to just move them to the opposite edge of the board. As for the pin mapping, we tried to pick the least useful Arduino pins that could work with our shield. It's hard to avoid incompatible pin choices with so many different shields people might want to combine. We will keep all of your feedback in mind for any future revisions or shields.

-Claire

Post a comment

Using your Pololu account allows you to customize your avatar and manage your comments; you can also post anonymously.