SKU 00171
Driver DRV8833 Motor Paso a Paso
$4,00
Disponible
Más de 5 disponibles
Consultar por WhatsApp
Datos rápidos
- Voltaje de los motores
- 2,7 a 10,8 V DC
- Corriente
- 1,2 A por canal (picos de 2 A)
- Canales
- 2 motores DC o 1 motor de pasos bipolar
- Control
- AIN1/AIN2 y BIN1/BIN2, con PWM
Características
Driver doble con el chip DRV8833: controla 2 motores DC pequeños o 1 motor de pasos bipolar pequeño, con cambio de giro y velocidad por PWM. Funciona desde 2,7 V, así que es ideal para robots con baterías de litio de 1 o 2 celdas.
Cada motor se maneja con 2 entradas (AIN1 y AIN2 para el motor A, BIN1 y BIN2 para el motor B).
| Voltaje de los motores | 2,7 a 10,8 V DC |
|---|---|
| Corriente | 1,2 A por canal (picos de 2 A) |
| Canales | 2 motores DC o 1 motor de pasos bipolar |
| Control | AIN1/AIN2 y BIN1/BIN2, con PWM |
| Lógica | Una entrada en alto: gira; las dos en bajo: libre; las dos en alto: frena |
| Protecciones | Sobrecorriente, temperatura y bajo voltaje |
¿Para qué sirve?
- Robots pequeños con motores N20 o TT
- Carritos con baterías de litio
- Mover un motor de pasos bipolar pequeño
Diagrama de conexión de prueba
Placa usada: Arduino UNO
| Cable | Módulo | Arduino UNO | Nota |
|---|---|---|---|
| amarillo | AIN1 (IN1) | D5 | Motor A (PWM) |
| verde | AIN2 (IN2) | D6 | Motor A (PWM) |
| rojo | VM (VCC) | 5V | Solo motores pequeños |
| negro | GND | GND |
Código de prueba
// Prueba del driver de motores: el motor A acelera hacia un lado, se detiene,
// gira hacia el otro lado y frena.
const int IN1 = 5; // pines con PWM (~)
const int IN2 = 6;
void motorA(int velocidad) { // de -255 (atrás) a 255 (adelante); 0 = libre
if (velocidad > 0) {
analogWrite(IN1, velocidad);
digitalWrite(IN2, LOW);
} else if (velocidad < 0) {
digitalWrite(IN1, LOW);
analogWrite(IN2, -velocidad);
} else {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
}
}
void frenar() { // las dos entradas en alto frenan el motor
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
}
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
}
void loop() {
for (int v = 0; v <= 255; v += 5) { // acelera hacia adelante
motorA(v);
delay(30);
}
delay(1000);
motorA(0); // se detiene solo
delay(1000);
motorA(-180); // hacia atrás
delay(2000);
frenar(); // frena de golpe
delay(1000);
}
Conecta el motor a las salidas AOUT1 y AOUT2. Al cargar el código, el motor acelera hacia un lado, se detiene, gira hacia el otro y frena. Para el motor B usa BIN1 y BIN2 igual.
Precauciones
- Los nombres de los pines cambian según la placa (AIN1 o IN1, VM o VCC): revisa los de la tuya.
- Si el motor no gira, revisa que el pin de reposo (SLP, EEP o nSLEEP) esté en alto.
- No pases de 10,8 V en VM.
- Alimenta los motores con su propia batería o fuente y une su negativo con el GND del Arduino.
Fuentes consultadas: Pololu: driver DRV8833 · Components101: DRV8833. Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.