High-Power Motor Driver 24v23 CS Pololu
The Pololu high-power motor driver is a discrete MOSFET H-bridge designed to drive large DC brushed motors. The H-bridge is made up of one N-channel MOSFET per leg, and most of the board’s performance is determined by these MOSFETs (the rest of the board contains the circuitry to take user inputs and control the MOSFETs). The MOSFET datasheet is available under the “Resources” tab. The MOSFETs have an absolute maximum voltage rating of 40 V; 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 34 V.
The versatility of this driver makes it suitable for a large range of currents and voltages: it can deliver up to 23 A of continuous current with a board size of only 1.8" by 1.2" and no required heat sink. With the addition of a heat sink, it can drive a motor with up to about 37 A of continuous current. The module offers a simple interface that requires as few as two I/O lines while allowing for both sign-magnitude and locked-antiphase operation, and an optional third control input unique to this board allows for coasting. This board also features a current-sensing circuit that measures bidirectional motor current with a magnitude up to 30 A and outputs an analog voltage.
Integrated detection of various short-circuit conditions protects against common causes of catastrophic failure; however, please note that the board does not include reverse power protection or any over-current or over-temperature protection. We recommend you use the integrated current sensor to keep the driver from delivering more current than it can safely handle.
Using the Motor Driver
The motor and motor power connections are on one side of the board, and the control connections (5V logic) are on the other side. The motor supply should be capable of delivering the high current the motor will require, and a large capacitor should be installed between V+ and ground close to the motor driver to decrease electrical noise. Two axial capacitors are included and one or both can be installed by soldering them into the V+ and GND pins (labeled '+' and '-' on the bottom silkscreen) along the long edges of the board. Such installations are compact but might limit heat sinking options; also, depending on the power supply quality and motor characteristics, a larger capacitor might be required. There are two options for connecting to the high-power signals (V+, OUTA, OUTB, GND): large holes on 0.2" centers, 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.
The logic connections are designed to interface with 5V systems (5.5 V max); the minimum high input signal threshold is 3.5 V, so we do not recommend connecting this device directly to a 3.3 V controller. In a typical configuration, only PWMH and DIR are required, but PWML can be used to enable coasting if both PWML and PWMH are driven low. PWML is pulled high and PWMH is pulled low internally. The two fault flag pins (FF1 and FF2) can be monitored to detect problems (see the Fault Flag Table below for more details). The RESET pin is pulled up to V+ through a 20 kΩ resistor. When held low, it puts the driver into a low-power sleep mode and clears any latched fault flags. The V+ pin on the logic side of the board gives you access to monitor the motor’s power supply or pass it on to low-current devices (). The board also provides a regulated 5V pin which can provide a few milliamps (this is typically insufficient for a whole control circuit but can be useful as a reference or for very low-power microcontrollers). This pin can be shorted to VCS to power the current sensor, or VCS can be supplied with 5 V externally. If the 5V output pin is used to power VCS, it should not be used for any other purpose as the current sensor will draw close to the limit of the current the 5V pin can supply. When the current sensor is powered by applying 5 V to VCS, the CS pin outputs 66 mV/A for currents between -30 and 30 A centered at 2.5 V (typical error is less than 1.5%).
|V+||This is the main 5.5 – 40 V (absolute max) motor power supply connection, which should typically be made to the larger V+ pad. The smaller V+ pads along the long side of the board are intended for power supply capacitors, and the smaller V+ pad on the logic side of the board gives you access to monitor the motor’s power supply (it should not be used for high current).|
|5V (out)||This regulated 5V output provides a few milliamps. It can be shorted to VCS to power the current sensor. This output should not be connected to other external power supply lines. Be careful not to accidentally short this pin to the neighboring V+ pin while power is being supplied as doing so will instantly destroy the board!|
|VCS||Connect 5 V to this pin to power the current sensor.|
|GND||Ground connection for logic and motor power supplies.|
|CS||ACS714 current sensor output (66 mV/A centered at 2.5 V).|
|OUTA||A motor output pin.|
|OUTB||B motor output pin.|
|PWMH||LOW||Pulse width modulation input: a PWM signal on this pin corresponds to a PWM output on the motor outputs.|
|PWML||HIGH||Control input that enables coasting when both PWML and PWMH are low. See the “motor control options” section below for more information.|
|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.|
|RESET||HIGH||The RESET pin is pulled up to V+ through a 20 kΩ resistor. When held low, it puts the driver into a low-power sleep mode and clears any latched fault flags.|
|FF1||LOW||Fault flag 1 indicator: FF1 goes high when certain faults have occurred. See table below for details.|
|FF2||LOW||Fault flag 2 indicator: FF2 goes high when certain faults have occurred. See table below for details.|
A 20-pin straight breakaway male header, two 100 uF capacitors, and two 2-pin 5mm terminal blocks are included with each motor driver. (Note: The terminals blocks are only rated for 15 A; for higher power applications, use thick wires soldered directly to the board.) Connecting large capacitors across the power supply is recommended; one way to do it is between the '+' and '-' holes, as shown below. The four mounting holes are intended to be used with #2 screws (not included).
Motor Control Options
The motor driver can be used in several different modes:
|Motor Driver Truth Table|
X = don’t care (same for input H or L); Z = high impedance (outputs disconnected)
The motor driver supports PWM frequencies as high as 40 kHz, though higher frequencies result in higher switching losses in the motor driver. Also, the driver has a dead time (when the outputs are not driven) of approximately 3 us per cycle, so high duty cycles become unavailable at high frequencies. For example, at 40 kHz, the period is 25 us; if 3 us of that is taken up by the dead time, the maximum available duty cycle is 22/25, or 88%. (100% is always available, so gradually ramping the PWM input from 0 to 100% will result in the output ramping from 0 to 88%, staying at 88% for inputs of 88% through 99%, and then switching to 100%.)
Real-World Power Dissipation Considerations
The motor driver can tolerate peak currents in excess of 200 A. The peak current ratings are for quick transients (e.g. when a motor is first turned on), and the continuous rating of 23 A is dependent on various conditions, such as the ambient temperature. The main limitation comes from heating and power dissipation; therefore, at high currents, the motor driver will be extremely hot, and performance can be improved by adding heat sinks or otherwise cooling the board. 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. The MOSFETs have a theoretical maximum continuous current of 90A at 25°C, but dissipating enough heat to keep the MOSFET at this temperature is impractical for most applications; close to 40 A of continuous current should be achievable without too extravagant of a heat sink. For more information on power dissipation see the data sheet for the MOSFETs on the Resources tab.
Because there is no internal temperature limiting on the motor driver, the entire system should be designed to keep the load current below the 23 A limit. An easy way to achieve this is to select a motor with a stall current below that limit. However, because a good motor can have stall currents dozens of times higher than the typical operating current, motors with stall currents that are hundreds of amps can be used with this driver as long as the running current is kept low. For example, a motor with a 100 A stall current might run well at 10 A, leaving a safe margin for the current to double for several minutes at a time or to triple for several seconds. If the motor does stall completely for a prolonged period, however, the motor or driver are likely to burn out.
The motor driver can detect three different fault states, which are reported on the FF1 and FF2 pins. The detectable faults are short circuits on the output, under-voltage, and over-temperature. A short-circuit fault is latched, meaning the outputs will stay off and the fault flag will stay high, until the board is reset (RESET brought low). The under-voltage fault disables outputs but is not latched. 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. The fault flag operation is summarized below.
|Flag State||Fault Description||Disable Outputs||Latched Until Reset|
High-Power Motor Driver Versions
There are four versions of the G2 high-power motor driver, which all share compatible pinouts. The following table provides a comparison of the G2 drivers:
|Pololu G2 High-Power Motor Drivers|
|G2 High-Power Motor Driver 18v25||30 V||18 V||25 A|
|G2 High-Power Motor Driver 18v17||30 V||18 V||17 A|
|G2 High-Power Motor Driver 24v21||40 V||28 V||21 A|
|G2 High-Power Motor Driver 24v13||40 V||28 V||13 A|
Pololu G2 High-Power Motor Driver 24v21 and 24v13.
Note: As an alternative to these motor drivers, our Simple Motor Controllers have similar power characteristics and offer high-level interfaces (e.g. USB, RC hobby servo pulses, analog voltages, and TTL serial commands) that make them easier to use for some applications.
- IPD036N04L G datasheet (236k pdf)
- Datasheet for the Infineon IPD036N04L G OptiMOS 3 Power-Transistor.
- Allegro ACS714 current sensor datasheet (701k pdf)
- High-Power Motor Driver CS drill guide (129k dxf)
- This DXF drawing shows the locations of all of the board’s holes. (DXF applies to the 18v25, 24v23 and 36v20 High-Power Motor Driver CS boards)