G2 High-Power Motor Driver 18v25 Pololu
The Pololu G2 high-power motor driver is a discrete MOSFET H-bridge designed to drive large brushed DC motors. The H-bridge is made up of one N-channel MOSFET per leg; the rest of the board contains the circuitry to take user inputs and control the MOSFETs. The absolute maximum voltage for this motor driver is 30 V, and higher voltages can permanently destroy the motor driver. Under normal operating conditions, ripple voltage on the supply line can raise the maximum voltage to more than the average or intended voltage, so a safe maximum voltage is approximately 24 V.
The versatility of this driver makes it suitable for a large range of currents and voltages: it can deliver up to 25 A of continuous current with a board size of only 1.3″ × 0.8″ and no required heat sink. The module offers a simple interface that requires as few as two I/O lines while still allowing for your choice of sign-magnitude or locked-antiphase operation. A current sense output gives an indicator of motor current, and the driver can limit the motor current to a configurable threshold. The power supply inputs feature reverse-voltage protection, while integrated detection of various fault conditions helps protect against other common causes of catastrophic failure; however, please note that the board does not include over-temperature protection.
The G2 High-Power Motor Driver 18v25 is a second-generation successor to our original High-Power Motor Driver 18v25. The G2 driver is much smaller than the original, but its interface and output capabilities make it a near drop-in replacement in typical applications. See “Differences from original high-power motor drivers” below for more details.
Using the motor driver
The motor and motor power connections are on one side of the board, and the control connections (1.8 V to 5 V logic) are on the other side. The motor supply should be capable of supplying high current. There are two options for making the high-power connections (VIN, OUTA, OUTB, GND): large holes spaced 5 mm apart, which are compatible with the included terminal blocks, and pairs of 0.1″-spaced holes that can be used with perfboards, breadboards, and 0.1″ connectors.
For good performance, it is very important to install a large capacitor across the motor supply and ground close to the motor driver. We generally recommend using a capacitor of at least a few hundred μF and rated well above the maximum supply voltage; the required capacitance will be greater if the power supply is poor or far (more than about a foot) from the driver, and it will also depend on other factors like motor characteristics and applied PWM frequency. A through-hole capacitor can be installed directly on the board in the holes labeled '+' and '−' (connected to VM and GND, respectively). The driver includes three on-board 150 µF capacitors, which might be sufficient for brief tests and limited low-power operation, but adding a bigger capacitor is strongly recommended for most applications.
The logic connections are designed to interface with 1.8 V to 5 V systems (5.5 V max). In a typical configuration, only PWM and DIR are required.
|VIN|| ||This is the main 6.5 V to 30 V (absolute max) motor power supply connection.|
|VM|| ||This pin gives you access to the motor power supply after reverse-voltage protection. 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.|
|+, −|| ||These pads are intended for a power supply capacitor (they are connected to VM and GND, respectively).|
|3V3 (out)|| ||This regulated 3.3 V output provides a few milliamps, which can be useful as a reference or for powering small external circuits. This output should not be connected to other external power supply lines. It is disabled when the driver is in sleep mode. Be careful not to accidentally short this pin to the neighboring VM pin while power is being supplied as doing so will instantly destroy the board!|
|GND|| ||Ground connection for logic and motor power supplies.|
|OUTA|| ||Motor output pin A (connects to one terminal of a DC motor).|
|OUTB|| ||Motor output pin B (connects to the other terminal of a DC motor).|
|PWM||LOW||Pulse width modulation input: a PWM signal on this pin corresponds to a PWM output on the motor outputs.|
|DIR||LOW||Direction input: when DIR is high, current will flow from OUTA to OUTB; when it is low, current will flow from OUTB to OUTA.|
|SLP||HIGH||Inverted sleep input: This pin is pulled high by the driver board, enabling the driver by default; drive SLP low to put the motor driver into a low-power sleep mode.|
|FLT|| ||Fault indicator: This open-drain output is driven low when a fault has occurred. See below for details. In order to use this output, you should externally pull this pin up to your system’s logic voltage.|
|CS|| ||Current sense output: This pin outputs a voltage proportional to the motor current when the H-bridge is driving (but not while it is braking, including when current limiting is active). The output voltage is about 10 mV/A plus a 50 mV offset.|
|VREF|| ||Reference voltage input: An additional resistor can be connected between this pin and GND to lower the current limiting (chopping) threshold. Without an additional resistor, the current limit defaults to about 60 A. See below for details.|
Motor control options
With the PWM pin held low, both motor outputs will be held low (a brake operation). With PWM high, the motor outputs will be driven according to the DIR input. This allows two modes of operation: sign-magnitude, in which the PWM duty cycle controls the speed of the motor and DIR controls the direction, and locked-antiphase, in which a pulse-width-modulated signal is applied to the DIR pin with PWM held high.
In locked-antiphase operation, a low duty cycle drives the motor in one direction, and a high duty cycle drives the motor in the other direction; a 50% duty cycle turns the motor off. A successful locked-antiphase implementation depends on the motor inductance and switching frequency smoothing out the current (e.g. making the current zero in the 50% duty cycle case), so a high PWM frequency might be required.
|Motor Driver Truth Table|
The motor driver supports PWM frequencies as high as 100 kHz, but note that switching losses in the driver will be proportional to the PWM frequency. Typically, around 20 kHz is a good choice for sign-magnitude operation since it is high enough to be ultrasonic, which results in quieter operation.
A pulse on the PWM pin must be high for a minimum duration of approximately 0.5 µs before the outputs turn on for the corresponding duration (any shorter input pulse does not produce a change on the outputs), so low duty cycles become unavailable at high frequencies. For example, at 100 kHz, the pulse period is 10 µs, and the minimum non-zero duty cycle achievable is 0.5/10, or 5%.
Current sensing and limiting
The driver’s current sense pin, CS, outputs a voltage proportional to the motor current while the H-bridge is driving. The output voltage is about 10 mV/A plus a small offset, which is typically about 50 mV.
The CS output is ; it is inactive (low) when the driver is in brake mode (slow decay), which happens when the PWM input is low or when current limiting is active. Current will continue to circulate through the motor when the driver begins braking, but the voltage on the CS pin will not accurately reflect the motor current in brake mode. The CS voltage is used internally by the motor driver, so to avoid interfering with the driver’s operation, you should add a capacitor to this pin or connect a load that draws more than a few mA from it.
The G2 driver has the ability to limit the motor current through current chopping: once the motor drive current reaches a set threshold, the driver goes into brake mode (slow decay) for about 25 µs before applying power to drive the motor again. This makes it more practical to use the driver with a motor that might only draw a few amps while running but can draw many times that amount (tens of amps) when starting.
The current limiting threshold is nominally set to about 60 A by default. You can lower the limit by connecting an additional resistor between the VREF pin and the adjacent GND pin; the graph below shows how the current limit relates to the VREF resistor value. For example, adding a 100 kΩ resistor between VREF and GND lowers the current limit to approximately 41 A. Note that the current limiting threshold is not highly precise (we have seen some units limit the current as low as about 50 A when the threshold is set to the board’s default of 60 A), and it is less accurate at especially low settings (indicated by the dashed portion of the curve).
The motor driver can detect several fault states that it reports by driving the FLT pin low; this is an open-drain output that should be pulled up to your system’s logic voltage. The detectable faults include short circuits on the outputs, under-voltage, and over-temperature. All of the faults disable the motor outputs but are not latched, meaning the driver will attempt to resume operation when the fault condition is removed (or after a delay of a few milliseconds in the case of the short circuit fault). The over-temperature fault provides a weak indication of the board being too hot, but it does not directly indicate the temperature of the MOSFETs, which are usually the first components to overheat, so you should count on this fault to prevent damage from over-temperature conditions.
Real-world power dissipation considerations
The MOSFETs can handle large current spikes for short durations (e.g. 100 A for a few milliseconds), and the driver’s current chopping will keep the average current under the set limit. The peak ratings are for quick transients (e.g. when a motor is first turned on), and the continuous rating of 25 A is dependent on various conditions, such as the ambient temperature. PWMing the motor will introduce additional heating proportional to the frequency. The actual current you can deliver will depend on how well you can keep the motor driver cool. The driver’s printed circuit board is designed to draw heat out of the MOSFETs, but performance can be improved by adding a heat sink.