|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. Note that it is possible to get by with even fewer connections if you use pulse-width modulation (PWM) on the MxINA and MxINB pins directly while holding the MxPWM pin high (e.g. by connecting it directly to VDD). This approach also results in a different kind of motor-driving: supplying the PWM signal to the MxINA/B pins directly results in drive-brake operation (outputs drive during the high portion of the PWM and are shorted together during the low portion), while supplying the PWM signal to the MxPWM pin results in drive-coast operation (outputs alternate between driving and high-impedance).
The following table explains the board pins in detail. See the VNH5019 datasheet (629k pdf) for even more detailed information about these pins, including the truth table that explains how the MxPWM and MxINA/B pins affect the MxA/B motor outputs.
||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.
||The connection point for the positive side of the logic power supply (typically 2.5 – 5 V). The only function of this pin is to power the internal pull-ups on the enable lines, M1EN/DIAG and M2EN/DIAG.
||This pin gives you access to the motor power supply after the reverse-voltage protection MOSFET (see the board schematic in Section 5). It can be used to supply reverse-protected power to other components in the system, but it should not be used for high currents. This pin should only be used as an output.
||Ground connection points for logic and motor power supplies.
||Output of half-bridge A/B. Each half-bridge connects to one terminal of a DC motor.
||Pulse-width modulation input: a PWM signal on this pin corresponds to a PWM output on the corresponding driver’s motor outputs. When this pin is low, the motor outputs are high impedance. When it is high, the output state is determined by the states of the MxINA/B and MxEN/DIAG pins.
||Motor direction input A (“clockwise” input).
||Motor direction input B (“counterclockwise” input).
||Current sense output. The pin voltage is roughly 140 mV per amp of output current when the CS_DIS pin is low or disconnected. The current sense reading is more accurate at higher currents. (Note that while the CS voltage can potentially exceed 3.3 V at high currents, the current sense circuit should be safe for use with many 3.3V analog inputs. Most MCUs have integrated protection diodes that will clamp the input voltage to a safe value, and since the CS circuit has a 10 kΩ resistor in series with the output, only a few hundred microamps at most will flow through that diode.)
||Combination enable input/diagnostic output. When the driver is functioning normally, this pin acts as an enable input, with a logical high enabling the motor outputs and a logical low disabling motor outputs. When a driver fault occurs, the IC drives this pin low and the motor outputs are disabled. Note that the VNH5019 actually has separate EN/DIAG pins for each half bridge (ENA/DIAGA and ENB/DIAGB), but these are tied together on the board by default to create a single enable input/diagnostic output for each driver. See Section 6.b for information on how to individually access ENA/DIAGA and ENB/DIAGB pins (this is typically not necessary).
||Disables the current sense output, MxCS, when high. Can be left disconnected in most applications.
|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.
Note that the motor driver features over-voltage protection that can kick it at voltages as low as 24 V, so we do not recommend using it with 24 V batteries (such batteries can significantly exceed 24 V when fully charged).
It is important that you use a power source that is capable of delivering the current your motors will require. For example, alkaline cells are typically poor choices for high-current applications, and you should almost use a 9V battery (the rectangular type with both terminals on the same side) as your motor power supply.
Logic power at the same level as your controlling device should be supplied to the VDD pin. This will typically be between 2.5 and 5 V, but the VNH5019 motor drivers are guaranteed to treat any logic input voltage over 2.1 V as high. The only purpose of the VDD pin is to power the pull-up resistors on the EN/DIAG lines.
The motor considerations are the same as those detailed in Section 3.c.