Resources » Pololu Dual VNH5019 Motor Driver Shield User's Guide »7. Using the Driver in Single-Channel ModeThe 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. If you need more power than this, however, you can combine the two motor channels into a single, doubly-powerful channel that can deliver up to a continuous 24 A (60 A peak) to one brushed DC motor. Page 23 of the VNH5019 datasheet (629k pdf) recommends accomplishing this by using each of the two motor drivers as a half-bridge. The connections shown in the following diagram turn motor driver M1 into a new “half-bridge A” and motor driver M2 into a new “half-bridge B”:
The motor driver truth table for this new setup then becomes:
The above truth table assumes that both motor drivers are enabled and are not experiencing a fault condition (i.e. M1EN/DIAG and M2EN/DIAG pins are low). Otherwise, the disabled output will be “open” (high-impedance). Note that in this new configuration, the M1EN/DIAG pin effectively becomes a new ENA/DIAGA pin and the M2EN/DIAG pin effectively becomes a new ENB/DIAGB pin. Note: In single-channel mode, the current sense feedback is disabled and the motor indicator LEDs do not illuminate. Arduino Shield Modifications
If you are using this motor driver as an Arduino shield and want to reconfigure it for single-channel mode, we recommend you physically modify the Arduino pin mappings (general information on this is available in Section 6.a). While the reconfiguration could be done completely in software, doing so makes it very easy to accidentally command the motor drivers to create a short circuit that could damage something, so we advise against this approach. Instead, we recommend you do the following (in order):
To use our Arduino library with your newly reconfigured board, you should initialize your
#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.setM1Speed(400); // single-channel motor full-speed "forward"
delay(2000); // wait for 2 seconds
md.setM1Speed(0); // single-channel motor stop (coast)
delay(500); // wait for 0.5 s
md.setM1Speed(-400); // single-channel motor full-speed "reverse"
delay(2000); // wait for 2 seconds
md.setM1Speed(0); // single-channel motor stop (coast)
delay(500); // wait for 0.5 s
}
When the library object is initialized this way, you can treat your single motor as if it were motor 1 (i.e. all of the “M1” library functions will work on the single motor channel). However, note that the |
|
Log In
|
Wish Lists
|
BIG Order Form
|
Shopping Cart
US toll free: 1-877-7-POLOLU ~
(702) 262-6648 |
|||||||||||||
| Catalog | Forum | Resources | Distributors | Ordering | About | Contact | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|