Pololu High-Power Stepper Motor Driver 36v4
This discrete MOSFET stepper motor driver enables control of one bipolar stepper motor. It supports a wide 8V to 50V operating voltage range and can deliver up to 4A continuous per phase without a heat sink or forced air flow (6A max with sufficient additional cooling). The SPI interface allows configuration of the current limiting, step mode (9 step modes from full-step through 1/256-step), decay mode, and stall detection. The driver also provides back-EMF feedback that can be used for more advanced control and stall detection algorithms. Additional features include reverse-voltage, under-voltage, and over-current protection.
The Pololu High-Power Stepper Motor Driver 36v4 combines the DRV8711 stepper motor driver IC from Texas Instruments with external MOSFETs to enable control of large bipolar stepper motors at operating voltages from 8V to 50V. The DRV8711 has many configurable settings, so please see the DRV8711 datasheet (3MB pdf) for a detailed explanation of its features and how to use them (we also have an Arduino library that simplifies getting started by providing basic functions for configuring and operating the driver).
The driver’s power performance is a function of the external dual H-bridges, which allow the driver to deliver continuous currents up to 4A per phase without any additional cooling such as heat sinks or forced air flow. (With sufficient additional cooling, the driver can support currents up to around 6A per phase; see the Power dissipation considerations section below for more information, including important information about using this product safely.)
Key features
- Wide 8V to 50V operating voltage range
- High-power: can deliver up to 4A continuous per phase without extra cooling (6A max with sufficient additional cooling)
- Highly configurable through SPI interface
- Optional STEP/DIR control pins (stepping can also be controlled through SPI interface alone)
- Nine different step resolutions down to 256 microsteps: full-step, half-step, 1/4-step, 1/8-step, 1/16-step, 1/32-step, 1/64-step, 1/128-step, and 1/256-step
- Adjustable current control lets you set the maximum current output, enabling the use of voltages above your stepper motor’s rated voltage to achieve higher step rates
- Adaptive blanking time, adjustable decay times, and various current decay modes enable the creation of ultra-smooth motion profiles through the SPI interface
- Optional STALL output enables stall detection when microstepping
- Optional BEMF output enables more advanced control and stall detection algorithms based on the back EMF of the stepper motor
- Driver supports alternate operating mode for controlling two brushed DC motors with PWM inputs instead of one bipolar stepper motor with STEP/DIR inputs
- Inputs compatible with 1.8V, 3.3V, and 5V logic
- Digital outputs are all open drain with pull-ups to externally supplied IOREF voltage for use with non-5V systems (IOREF can be connected to neighboring 5V OUT pin for use with 5V systems)
- Under-voltage lockout, over-current protection, short circuit protection, and reverse-voltage protection (up to 40V)
- Arduino library and example sketches are available that provide basic functions for configuring and operating the driver
Included hardware
This product ships with all surface-mount components installed as shown in the product picture. However, soldering is required for assembly of the included through-hole parts. The following through-hole parts are included:
- Two 1×12-pin breakaway 0.1″ male header
- Three 2-pin, 3.5mm terminal blocks (for board power and motor outputs)
- One 0.1″ shorting block (for optionally connecting IOREF to neighboring V5 pin when using this driver in 5V systems)
The 0.1″ male headers can be broken or cut into smaller pieces as desired and soldered into the smaller through-holes. These headers are compatible with solderless breadboards, 0.1″ female connectors, and our premium and pre-crimped jumper wires. The terminal blocks can be soldered into the larger holes to allow for convenient temporary connections of unterminated power and motor wires (see our short video on terminal block installation). You can also solder your motor leads and other connections directly to the board for the most compact installation.
While the High-Power Stepper Motor Driver 36v4 allows control of a stepper motor through a simple step and direction interface, it first needs to be enabled and configured through its SPI interface. This means that the controlling microcontroller must be capable of acting as an SPI master (either with an SPI peripheral or software SPI), and it must be connected to the SDATI, SCLK, and SCS pins. While the SDATO and FAULT pins are not required to use this driver, it is generally a good practice to use them to monitor for error conditions.
We have written a High-Power Stepper Motor Driver library for Arduino that provides basic functions for configuring and operating the driver using an Arduino or Arduino-compatible controller. The library includes several example sketches.
Power dissipation considerations
The High-Power Stepper Motor Driver 36v4 can deliver up to 4A continuous per phase under typical conditions, but the actual current it can deliver will depend on how well you can keep the module 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 or forced air flow. (Conversely, performance will be reduced in applications that limit heat dissipation, such as high ambient temperatures or operation in enclosures.) With sufficient additional cooling, the driver can deliver up to 6A per phase before exceeding the 1W power ratings of the 30mΩ current sense resistors.
Warning: This motor driver has no meaningful over-temperature shut-off (while the DRV8711 IC has over-temperature protection, it is the external MOSFETs that will overheat first). An over-temperature condition can cause permanent damage to the motor driver. We strongly recommend you do not increase the current limit setting beyond 4A (or lower in applications with reduced heat dissipation) unless you can first confirm that the temperature of the MOSFETs will stay under 140°C.
Note: When the driver powers up, the current limit setting defaults to the maximum (~18A). Make sure you set it to something appropriate for both your stepper motor and the driver before activating the outputs!
This product can get hot enough to burn you long before the chip overheats. Take care when handling this product and other components connected to it.
The driver’s current limit is set through its SPI interface. You can confirm you have set it correctly by using a multimeter to measure the actual current through one of the coils while the stepper motor is in full step mode and not stepping. The current you measure this way will be approximately 70% of the set limit. Please note that measuring the current draw at the power supply will generally not provide an accurate measure of the coil current. Since the input voltage to the driver can be significantly higher than the coil voltage, the measured current on the power supply can be quite a bit lower than the coil current (the driver and coil basically act like a switching step-down power supply). Also, if the supply voltage is very high compared to what the motor needs to achieve the set current, the duty cycle will be very low, which also leads to significant differences between average and RMS currents.
Dimensions
Size: | 1.3″ × 1.2″ |
---|---|
Weight: | 4.9 g1 |
General specifications
Minimum operating voltage: | 8 V |
---|---|
Maximum operating voltage: | 50 V |
Continuous current per phase: | 4 A2 |
Maximum current per phase: | 6 A3 |
Minimum logic voltage: | 1.5 V |
Maximum logic voltage: | 5.5 V |
Microstep resolutions: | full, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256 |
Current limit control: | SPI-programmable |
Reverse voltage protection?: | Y4 |
Header pins soldered?: | N |
Recommended links
- Arduino library for the Pololu High-Power Stepper Motor Driver
- This library for Arduino makes it easy to interface with Pololu High-Power Stepper Motor Driver 36v4.
- DRV8711 documentation
- Texas Instruments’ product page for the DRV8711 stepper motor gate driver IC, with links to its most up-to-date datasheet, application notes, and other resources.