Description: DRV8880 - stepper motor controller 45V / 1A
Based on the DRV8880 controller from Texas Instruments, the module allows you to control a stepper motor with a maximum current consumption of up to 1 A per coil (usingup to 1.6 Acooling). It is powered from 6.5 V to 45 V. Before use, we recommend that you readtheDRV8880 driverdocumentation. Below are some of the main product features:
- The module has a simple interface for step and directional control
- It can work in six modes: full step, non-wheel 1/2, 1/2, 1/4, 1/8 and 1/16 step.
- Provides control of the maximum motor current by means of a potentiometer, which enables the use of higher than rated power supply voltages for motors, so you can achieve higher step speed
- Motors can be supplied with voltages from 6.5 V to 45 V
- Current consumption up to 1.6 A (1 A without external cooling)
- Thanks to the integrated voltage regulator, the user does not have to provide additional power to the logical part.
- The DRV8880 works with systems with both 3.3V and 5V logical part voltage.
- It has protection against too high a current and temperature and short-circuit protection as well as a start blocking system at too low a supply voltage.
- In order to increase the heat-retaining surface, the tile was made in four-layer technology with a thicker copper cover
- An open mass field on the underside, allowing for the solder of cooling elements
- The module is compatible, in terms of size and output, with the system based on the A4988 controller
Stepper motor controller - top view.
The kit contains all necessary elements for connecting the controller - module and connectors for self-soldering
Polol DRV8880 stepper motor controller specification
- Supply voltage: 6.5 V to 45 V
- Continuous current behind the coil: 1 A
- Maximum instantaneous current per coil: 1,6 A
- Supply voltage of the logical part: 1.8 V to 5.3 V
- Resolution: 1, non-wheel 1/2, 1/2, 1/4, 1/8 and 1/16 steps.
To control the bipolar stepper motor, connect the system as shown in the figure below. The controller also allows you to work with some unipolar motors, see the manual for details.
One pulse given per STEP pin causes one motor step in the direction chosen by giving the appropriate logical state (high or low) for the DIR output. The STEP and DIR pins are internally pulled to ground by a 100 kΩ resistor. If the motor is to turn in one direction only, the DIR pin can be left unconnected.
The system has two more inputs to control power consumption: SLEEP and ENABLE, for their description see the documentation. Note that the SLEEP pin is internally pulled to ground by a 100 kΩ resistor and the ENABLE pin is powered by a 10 kΩ resistor. To turn on the module, the high state on the SLEEP pin must be given. The ENABLE pin may not be connected as it is enabled by default.
The DRV8880 controller also has a lead marked FAULT. A low state (logical zero) indicates that there is an irregularity in the system operation, e.g. activation of one of the protections. On the board, the output has been connected to the SLEEP pin, so the high state on the SLEEP pin pulls also FAULT to VCC (pull-up). Thanks to the use of a serial resistor, the FAULT output can also be connected to the VCC, which makes the pin-compatible with the A4988 version.
The system can be supplied with voltage from 6.5 V to 45 V connected between VMOT (+) and GND (-) pins. The voltage should be filtered through an external capacitor located as close to the controller board as possible. Its capacity depends on the maximum current drawn by the motor.
In some conditions even relatively low power supply voltage may cause high amplitude pins (voltage peaks), exceeding the 50 V limit. Such situation leads to permanent damage to the system. One of the ways to avoid this problem is to place a capacitor (at least 47uF) as close as possible to the VMOT and GND pins of the controller module.
Connecting and disconnecting the motor while the controller is on can damage the system.
A micro-step controller such as the DRV8880 allows the motor to operate with a high resolution of up to 1/32 steps. The step size is selected using the M0 and M1 inputs - the available modes are shown in the table below. By default, all three outputs are pulled to ground via a 10 kΩ pull-down resistor. So leaving them unconnected means that the mode of operation with step 1/8 is selected. For example, when using a motor with a resolution of 200 steps per revolution, the selection of 1/4 steps means operation with a resolution of 800 positions per revolution.
|High||Low||non-wheel 1/2 step|
To maintain a high switching speed of the steps, a higher motor supply voltage than the nominal one can be used. Only limit the maximum current flowing through the coils to the motor catalog value.
The module allows you to actively limit the current with a potentiometer. One way to introduce a restriction is to set the controller to full step mode and to measure the current flowing through one coil without giving a signal to the STEP input. The measured current is 70% of the set limit (both coils are always on and limited to 70% in full step mode).
Another way is to measure the voltage at the REF output (marked with a circle on the PCB) and calculate the current limit (measuring resistors are 0.2 Ω). The current limit can be calculated from the formula:
Current Limit = VREF × TRQ / 1.32
where TRQ is the percentage of current saccharged by pins TRQ0 and TRQ1.For example, if the motor can draw up to 1A, you can set the limit to 1 A by setting the VREF to 0.75 V and leaving the scaling pins unconnected.
The plate is designed to dissipate heat with a continuous current consumption of approximately 1 A per coil. If the current is much higher, an externalheat sinkshould be used, which can be mounted withthermo-conductiveadhesive.
The system contains the necessary passive components for proper operation ofthe controller. The connection diagram is shown in the drawings below.
Main differences from A4888 version
The DRV8880 is designed to be compatible with the A4988 version. The tiles have the same shape, size and layout. However, there are several differences between them, among others:
- The pin used as a power supply for the logical part of the A4988 has been replaced by the FAULT pin, because the DRV8880 does not require additional power supply. The FAULT has been connected by a protection resistor, so it can be successfully used in a system designed for the A4988 module, where this pin will be given the supply voltage of the logical part (1.8 V to 5.3 V).
- In the DRV8880 the SLEEP pin is not pulled to the power supply by default, it is connected to the FAULT output via a 10 k resistor. In circuits designed for A4988, a 10k resistor pulls the SLEEP to the power supply through the supply voltage of the logical part connected to FAULT, setting the state to high.
- A potentiometer that limits the maximum current for motors is located elsewhere.
- The DRV8880 allows for 1/2 step non-wheel operation, whereas the A4988 did not have this capability
- The DRV8880 has a larger supply voltage range up to 45 V (A4988 up to 35 V), which also makes it less susceptible to short, high amplitude electrical impulses (so-called pins).
- The tours have different names, but have the same function
- DRV8880 has no RESET pin
- The DRV8880 has 2 control pins and the A4988 has 3 pins.