Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation Pololu Dual VNH5019 Motor Driver Shield User’s Guide 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.a. Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.b. Included Hardware . . . . . . . . . . . . . . . . . . . . . 2. Contacting Pololu . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Getting Started with an Arduino . . . . . . . . . . . . . . . . . . 3.a.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 1. Overview This user’s guide focuses on the latest version (ash02b) [http://www.pololu.com/product/2507] of the Pololu dual VNH5019 motor driver shield, but most of the information also applies to the earlier ash02a [http://www.pololu.com/product/2502] version. See Section 8 for details about the differences between board revisions. The Pololu dual VNH5019 motor driver shield for Arduino [http://www.pololu.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation • Wide operating voltage range: 5.5 – 24 V1 • High output current: up to 12 A continuous (30 maximum) per motor • Motor outputs can be combined to deliver up to 24 A continuous (60 A maximum) to a single motor (see Section 7) • Inputs compatible with both 5V and 3.3V systems (logic high threshold is 2.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 1.b. Included Hardware This motor driver board ships with all of the surfacemount parts populated. However, soldering is required for assembly of the included through-hole parts.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 2. Contacting Pololu We would be delighted to hear from you about any of your projects and about your experience with the dual VNH5019 motor driver shield for Arduino [http://www.pololu.com/product/2502]. If you need technical support or have any feedback you would like to share, you can contact us [http://www.pololu.com/contact] directly or post on our forum [http://forum.pololu.com/viewforum.php?f=15].
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 3. Getting Started with an Arduino As with virtually all other Arduino shields, connections between the Arduino and the motor driver are made via extended stackable headers that must be soldered to the through-holes along the top and bottom edges of the shield. This section explains how to use this motor driver as an Arduino shield to quickly and easily add control of up to two DC motors to your Arduino project.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 3.b. Assembly for Use as an Arduino Shield 1. Stackable Arduino headers: Before you can use this board as an Arduino shield, you need to solder four of the five included Arduino header strips to the set of holes highlighted in red in the picture above.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation thick wires with high-current connectors [http://www.pololu.com/product/925] should be soldered directly to the board. The smaller holes are intended only for 0.1″ header pins, not for the terminal blocks! 3. Arduino power jumper: If you want the option of powering your Arduino and motor shield from the same source, you can solder a 2×1 piece of the included 0.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation Default Arduino Pin Mappings The following table shows how the shield connects your Arduino’s pins to the motor drivers’ pins: Arduino Pin VNH5019 Driver Pin Basic Function Digital 2 M1INA Motor 1 direction input A Digital 4 M1INB Motor 1 direction input B Digital 6 M1EN/DIAG Motor 1 enable input/fault output Digital 7 M2INA Motor 2 direction input A Digital 8 M2INB Motor 2 direction input B Digital 9 M1P
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation Power Connections and Considerations Dual VNH5019 motor driver shield power buses when connected to an Arduino. In the shield’s default state, the motor driver shield and Arduino are powered separately. When used this way, the Arduino must be powered via USB, its power jack, or its VIN pin, and the shield must be supplied with 5.5 to 24 V through the large VIN and GND pads on the right side of the board.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation Dual VNH5019 motor driver shield with an Arduino (Arduino powered by the shield). It is also possible to power your Arduino directly from the motor shield, as shown in the diagram above, which eliminates the need for a separate Arduino power supply. When the ARDVIN=VOUT shorting block is in place, the shield’s reverse-protected input power, VOUT, is connected to the Arduino’s VIN pin.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation Each VNH5019 motor driver IC has a maximum continuous current rating of 30 A. However, the chips by themselves will overheat at lower currents. In our tests on a sample unit, we were able to deliver 30 A for a few milliseconds, 20 A for several seconds, 15 A for over a minute, and 12 A for around five minutes. At 6 A, the chip just barely gets noticeably warm to the touch.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 1. Solder a 0.1 µF ceramic capacitor [http://www.pololu.com/product/1166] across the terminals of your motors, or solder one capacitor from each terminal to the motor case (see the pictures to the right). For the greatest noise suppression, you can use three capacitors per motor (one across the terminals and one from each terminal to the case). 2.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide } © 2001–2014 Pololu Corporation delay(2); for (int i = 400; i >= -400; i--) { md.setM1Speed(i); stopIfFault(); if (i%200 == 100) { Serial.print("M1 current: "); Serial.println(md.getM1CurrentMilliamps()); } delay(2); } for (int i = -400; i <= 0; i++) { md.setM1Speed(i); stopIfFault(); if (i%200 == 100) { Serial.print("M1 current: "); Serial.println(md.getM1CurrentMilliamps()); } delay(2); } for (int i = 0; i <= 400; i++) { md.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 4. Using as a General-Purpose Motor Driver The set of pins along the left side of the shield provides direct access to the VNH5019 motor drivers, which means this board can be used as a general-purpose motor driver controlled by devices other than Arduinos. This section explains how to use the dual VNH5019 motor driver shield this way and provides some basic information about the motor driver pins to help get you started.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 4.b. Board Connections Dual VNH5019 motor driver shield connected to a microcontroller (gray connections are optional). The above diagram shows the minimum connections typically required to interface this motor driver with a microcontroller. Pinout The following table explains the board pins in detail. See the VNH5019 datasheet [http://www.pololu.com/file/download/ VNH5019A-E.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide PIN Default State © 2001–2014 Pololu Corporation Description VIN The connection point for the positive side of the 5.5 – 24 V motor power supply. Since the overvoltage protection can be as low as 24 V, we do not recommend using 24 V batteries for VIN. VDD The connection point for the positive side of the logic power supply (typically 2.5 – 5 V).
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation Power Considerations Dual VNH5019 motor driver shield power buses when not used with an Arduino shield. The shield must be supplied with 5.5 to 24 V through the large VIN and GND pads on the right side of the board. A high-side reverse-voltage protection MOSFET prevents the shield from being damaged if shield power is inadvertently connected backwards.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 5. Schematic Diagram 5.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide 5.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation Schematic diagram of the Pololu dual VNH5019 motor driver shield for Arduino. This schematic is also available as a downloadable pdf: dual VNH5019 motor driver shield schematic [http://www.pololu.com/file/download/dual-vnh5019-motor-driver-shield-schematic-diagram.pdf?file_id=0J740] (356k pdf) This schematic is for the latest version of the shield (ash02b). 5.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 6. Customizing the Shield This motor driver shield has several features that will not be useful in a typical application but that might benefit an advanced user. This section explains how to modify the shield from its default state to access these features. 6.a. Remapping the Arduino Connections For some applications, this shield’s default Arduino pin mappings might not be convenient.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation In all cases, the top through-hole of the pair connects to the Arduino pin and the bottom through-hole connects to the motor driver pin.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation only ENA/DIAGA will have the required pull-up resistor; you will need to add a separate pull-up resistor for the ENB/DIAGB pin, or connect it to a microcontroller I/O line with a built-in pull-up resistor enabled. Also, you might consider adding a 1k current-limiting resistor in series with the ENB/DIAGB connection as a safeguard against incidental shorts.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 7. Using the Driver in Single-Channel Mode The dual VNH5019 motor driver shield uses two VNH5019 motor driver ICs to enable independent control of two bidirectional brushed DC motors, and each motor channel by itself is capable of delivering up to 12 A of continuous current while tolerating brief current spikes up to 30 A.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide PWM INA INB OUTA OUTB © 2001–2014 Pololu Corporation operating mode 0 0 0 OPEN OPEN coast 0 1 0 H OPEN coast “clockwise”/brake “counterclockwise” 0 0 1 OPEN H coast "counterclockwise/brake “clockwise” 0 1 1 H H brake high (to VOUT) 1 0 0 L L brake low (to GND) 1 1 0 H L drive “clockwise” 1 0 1 L H drive “counterclockwise” 1 1 1 H H brake high (to VOUT) The above truth table assumes that both motor drivers
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation #include "DualVNH5019MotorShield.h" // configure library with pins as remapped for single-channel operation // this lets the single motor be controlled as if it were "motor 1" DualVNH5019MotorShield md(2, 7, 6, A0, 2, 7, 12, A1); void setup() { md.init(); // remaining setup code goes here ... } void loop() { // loops endlessly; main loop goes here // the following code is a simple example: md.
Pololu Dual VNH5019 Motor Driver Shield User’s Guide © 2001–2014 Pololu Corporation 8. Differences between board revisions There have been two versions of the dual VNH5019 motor driver shield. The revision identifier, ash02a or ash02b, can be found printed near the upper left corner of the board (below the mounting hole). While either version should generally be a drop-in replacement for the other, there are some minor differences between the two versions.