Adafruit DRV8871 Brushed DC Motor
Driver Breakout
Created by lady ada
https://learn.adafruit.com/adafruit-drv8871-brushed-dc-motor-driver-breakout
Last updated on 2022-07-18 02:23:37 PM EDT
©Adafruit Industries
Page 1 of 16
Table of Contents
Overview
3
Pinouts
6
• Motor power pins
• Motor Input Pins
• Motor Output
Assembly
8
• Prepare the header strip and Add the breakout board:
• Solder!
Usage
12
Download
14
• Datasheets & Files
• Schematic
• Fabrication Print
©Adafruit Industries
Page 2 of 16
Overview
Crank up your robotics with powerful Adafruit DRV8871 motor driver breakout board.
This motor driver has a lot of great specs that make it useful for a wide variety of
mechatronics. In particular, the simple resistor-set current limiting and auto-magic
PWM support make it super easy to use with almost any brushed DC motor.
©Adafruit Industries
Page 3 of 16
Check out the specs for the DRV8871:
• 6.5V to 45V motor power voltage
• Up to 5.5V logic level on IN pins
• 565mΩ Typical RDS(on) (high + low)
• 3.6A peak current
• PWM control
• Current limiting/regulation without an inline sense resistor
• Undervoltage lockout
• Overcurrent protection
• Thermal shutdown
Using it is super simple. Connect your motor to the OUT terminal block. Power the
board with 6.5-45VDC power on VMotor and provide the H-bridge input control on IN
1 and IN2. You can even PWM the inputs and the driver chip will do the right thing.
©Adafruit Industries
Page 4 of 16
You can set the current limiting with an external resistor Rlim. We solder in a 30K
resistor by default for a ~2A current limit, however you can remove this resistor and/or
solder a resistor over it to change the resistance and change the limit.
Each order comes with one fully assembled and tested motor driver breakout, two 2pin terminal blocks and a small strip of header. Some light soldering is required to
attach the header and terminal blocks but its a simple task that can be done with
basic soldering equipment.
©Adafruit Industries
Page 5 of 16
Pinouts
Motor power pins
These two sets of pads are connected internally so you can use breadboard or
terminal blocks to provide motor power. Use 6.5V-45VDC to power the motor and the
chip. This isn't the same as the logic level of the chip, which is up to 5.5 VDC. You do
not have to provide a logic level power supply to the chip, how nice is that?
©Adafruit Industries
Page 6 of 16
Motor Input Pins
These are the inputs to the motor control. IN2 goes to OUT2, IN1 goes to OUT1. Use
up to 5.5V DC logic on these pins. You can PWM the inputs up to 200KHz, but lower
frequencies will be more efficient.
Motor Output
©Adafruit Industries
Page 7 of 16
Pretty simple - this is where your motor goes! Works with any DC brushed motor. Use
thick wires to avoid dropping voltage across the wire resistance
Assembly
Prepare the header strip and
Add the breakout board:
Cut the strip to length if necessary. It will
be easier to solder if you insert it into a
breadboard - long pins down
Place the breakout board over the pins so
that the short pins poke through the
breakout pads
©Adafruit Industries
Page 8 of 16
Solder!
Be sure to solder all pins for reliable
electrical contact.
(For tips on soldering, be sure to check out
our Guide to Excellent Soldering (https://
adafru.it/aTk)).
©Adafruit Industries
Page 9 of 16
Next we will solder in the two 3.5mm
terminal blocks used to connect power &
the motor to the breakout board.
Make sure the open parts of the terminals
face outwards so you can easily connect
wires
To make it easier to keep these in place,
you can use some tape to hold down the
two header pieces. Tacky clay also works,
whatever you've got handy!
©Adafruit Industries
Page 10 of 16
Solder in both pins of each terminal block.
You can remove the tape when done.
©Adafruit Industries
Page 11 of 16
OK You're done! Now you can get your
motors spinnin' !
Usage
Using the motor driver is really easy. Wire up the two input pins to your
microcontroller's PWM outputs. We'll be using an Arduino but any microcontroller or
microcomputer can be used. If you don't have PWM outputs you can also just use
straight logic high and low but you wont get speed control
// Basic sketch for trying out the Adafruit DRV8871 Breakout
#define MOTOR_IN1 9
#define MOTOR_IN2 10
void setup() {
Serial.begin(9600);
Serial.println("DRV8871 test");
pinMode(MOTOR_IN1, OUTPUT);
pinMode(MOTOR_IN2, OUTPUT);
©Adafruit Industries
Page 12 of 16
}
void loop() {
// ramp up forward
digitalWrite(MOTOR_IN1, LOW);
for (int i=0; i<255; i++) {
analogWrite(MOTOR_IN2, i);
delay(10);
}
// forward full speed for one second
delay(1000);
// ramp down forward
for (int i=255; i>=0; i--) {
analogWrite(MOTOR_IN2, i);
delay(10);
}
// ramp up backward
digitalWrite(MOTOR_IN2, LOW);
for (int i=0; i<255; i++) {
analogWrite(MOTOR_IN1, i);
delay(10);
}
// backward full speed for one second
delay(1000);
// ramp down backward
for (int i=255; i>=0; i--) {
analogWrite(MOTOR_IN1, i);
delay(10);
}
}
©Adafruit Industries
Page 13 of 16
Download
Datasheets & Files
• DRV8871 Datasheet (https://adafru.it/oES)
• EagleCAD PCB Files on GitHub (https://adafru.it/oET)
• Fritzing object in our library (https://adafru.it/aP3)
©Adafruit Industries
Page 14 of 16
Schematic
Fabrication Print
Dimensions in Inches
©Adafruit Industries
Page 15 of 16
©Adafruit Industries
Page 16 of 16
很抱歉,暂时无法提供与“3190”相匹配的价格&库存,您可以联系我们找货
免费人工找货- 国内价格 香港价格
- 1+62.972601+8.02040