The DRV8835 Shield Carrier, manufactured by Pololu (Part ID: DRV8835), is a compact and efficient motor driver shield designed for controlling DC motors and stepper motors. It features dual H-bridge outputs, enabling bidirectional control and speed regulation. This shield is ideal for low-voltage motor control applications and is compatible with microcontroller platforms like Arduino.
The DRV8835 Shield Carrier is designed to provide reliable motor control with the following specifications:
Parameter | Value |
---|---|
Operating Voltage Range | 2 V to 11 V |
Continuous Output Current | 1.2 A per channel (2.4 A total) |
Peak Output Current | 1.5 A per channel (short duration) |
Control Interface | PWM and direction pins |
Logic Voltage Range | 1.8 V to 7 V |
Motor Channels | 2 (independent or combined for stepper) |
Dimensions | 1.9" × 0.9" × 0.1" (without headers) |
Weight | 1.2 g (without headers) |
The DRV8835 Shield Carrier has the following pin layout:
Pin Name | Description |
---|---|
M1A | Motor 1 output A |
M1B | Motor 1 output B |
M2A | Motor 2 output A |
M2B | Motor 2 output B |
Pin Name | Description |
---|---|
VIN | Motor power supply (2 V to 11 V) |
GND | Ground |
VCC | Logic voltage supply (1.8 V to 7 V) |
DIR1 | Direction control for Motor 1 |
PWM1 | Speed control (PWM) for Motor 1 |
DIR2 | Direction control for Motor 2 |
PWM2 | Speed control (PWM) for Motor 2 |
VIN
pin (2 V to 11 V) and ground to the GND
pin. Ensure the supply voltage matches the motor's requirements.VCC
pin. This is typically supplied by the microcontroller.M1A
, M1B
, M2A
, and M2B
pins. For a single stepper motor, use both channels.DIR1
, PWM1
, DIR2
, and PWM2
pins to control motor direction and speed. These pins can be connected to a microcontroller's GPIO or PWM outputs.The following example demonstrates how to control two DC motors using the DRV8835 Shield Carrier with an Arduino UNO.
// DRV8835 Motor Driver Example Code for Arduino UNO
// This code controls two DC motors using PWM and direction pins.
#define DIR1 7 // Direction pin for Motor 1
#define PWM1 6 // PWM pin for Motor 1
#define DIR2 4 // Direction pin for Motor 2
#define PWM2 5 // PWM pin for Motor 2
void setup() {
// Set motor control pins as outputs
pinMode(DIR1, OUTPUT);
pinMode(PWM1, OUTPUT);
pinMode(DIR2, OUTPUT);
pinMode(PWM2, OUTPUT);
}
void loop() {
// Motor 1: Forward at 50% speed
digitalWrite(DIR1, HIGH); // Set direction forward
analogWrite(PWM1, 128); // Set speed (0-255, 128 = 50%)
// Motor 2: Reverse at 75% speed
digitalWrite(DIR2, LOW); // Set direction reverse
analogWrite(PWM2, 192); // Set speed (0-255, 192 = 75%)
delay(2000); // Run motors for 2 seconds
// Stop both motors
analogWrite(PWM1, 0);
analogWrite(PWM2, 0);
delay(1000); // Wait for 1 second before repeating
}
Motors Not Running:
M1A
, M1B
, M2A
, and M2B
pins.DIR
and PWM
) are correctly configured in the code.Overheating:
Erratic Motor Behavior:
No Response from Shield:
VCC
) is supplied and matches the microcontroller's logic level.Q: Can the DRV8835 Shield Carrier drive stepper motors?
A: Yes, the DRV8835 can drive a single bipolar stepper motor by using both motor channels. Ensure proper wiring and control sequencing.
Q: What is the maximum current the DRV8835 can handle?
A: The DRV8835 can handle up to 1.2 A continuously per channel and 1.5 A peak for short durations.
Q: Is the shield compatible with 3.3 V logic microcontrollers?
A: Yes, the DRV8835 supports logic voltages as low as 1.8 V, making it compatible with 3.3 V and 5 V systems.
Q: Can I use the shield with a Raspberry Pi?
A: Yes, the DRV8835 can be controlled by a Raspberry Pi, but additional software libraries may be required for PWM control.