¿Qué es el DRV8825?
El DRV8825 es un módulo controlador de motores paso a paso bipolar de alto rendimiento. Es ampliamente utilizado en impresoras 3D, máquinas CNC, robótica y proyectos DIY. Es una versión mejorada del A4988, con mayor capacidad de corriente y resolución de microstepping.
Características principales
- Voltaje de operación: 8.2 V a 45 V
- Corriente máxima: Hasta 2.5 A por bobina con disipador adecuado
- Microstepping: Hasta 1/32 pasos (más suave y preciso que el A4988)
- Protecciones integradas: Contra sobrecorriente, cortocircuito, sobretemperatura y sobretensión
- Control de dirección y paso: Mediante dos pines digitales (DIR y STEP)
- Configuración de microstepping: Pines MS1, MS2, MS3
- Tamaño compacto: Ideal para placas de prototipado y proyectos embebidos
¿Con qué motores se puede usar?
El DRV8825 es compatible con motores paso a paso bipolares, especialmente:
| Tipo de motor | Ejemplo común | Corriente típica |
|---|---|---|
| NEMA 17 | Impresoras 3D | 1.2 A – 2.0 A |
| NEMA 23 | CNC, robótica | 2.0 A – 2.5 A |
⚠️ Es importante ajustar el límite de corriente del DRV8825 usando el potenciómetro y medir el voltaje de referencia (VREF) para evitar dañar el motor.
Ejemplo de uso con Arduino
Conexiones básicas
| DRV8825 Pin | Conexión Arduino / Fuente |
|---|---|
| VMOT | Fuente externa (12–24 V) |
| GND | GND fuente y Arduino |
| VDD | 5V Arduino |
| GND | GND Arduino |
| STEP | Pin digital (ej. D3) |
| DIR | Pin digital (ej. D4) |
| MS1–MS3 | Configuración microstepping (opcional) |
| EN | GND (activo bajo) |
🔋 Agrega un condensador de 100 µF (de un 50% mas del voltaje aplicado) entre VMOT y GND para proteger contra picos de voltaje.
Código básico
#define STEP_PIN 3
#define DIR_PIN 4
void setup() {
pinMode(STEP_PIN, OUTPUT);
pinMode(DIR_PIN, OUTPUT);
}
void loop() {
digitalWrite(DIR_PIN, HIGH); // Sentido horario
for (int i = 0; i < 200; i++) {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(500);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(500);
}
delay(1000);
digitalWrite(DIR_PIN, LOW); // Sentido antihorario
for (int i = 0; i < 200; i++) {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(500);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(500);
}
delay(1000);
}
Uso sin Arduino
Puedes usar el DRV8825 con otros microcontroladores como Raspberry Pi, ESP32, o incluso con generadores de pulsos simples:
- Generador de pulsos 555: Puedes usar un circuito con el temporizador 555 para generar pulsos en el pin STEP.
- PLC o controladores industriales: En sistemas automatizados, el DRV8825 puede recibir señales de control desde un PLC para mover motores paso a paso en cintas transportadoras o brazos robóticos.
⚠️ El DRV8825 puede operar hasta 45 V, pero eso es el límite absoluto máximo según su hoja de datos. Esto significa que no es recomendable usarlo constantemente a 45 V, ya que:
- Cualquier pico de voltaje (por ejemplo, al encender o apagar la fuente) podría superar ese límite y dañar el chip.
- A mayor voltaje, más calor se genera, lo que puede activar la protección térmica o incluso quemar el módulo si no tiene buena disipación.
- Se recomienda dejar un margen de seguridad: usar hasta 36–40 V como máximo operativo seguro, especialmente si no se cuenta con disipador de calor o ventilación activa.
Recomendaciones prácticas
- Usa condensadores de desacoplo (100 µF o más) cerca de VMOT para evitar picos.
- Asegúrate de tener disipador de calor en el chip y buena ventilación.
- Si usas motores NEMA 17 o similares, 9~12 V suele ser suficiente y más seguro.
⚠️ Disclaimer de la información
Aviso: Esta información se proporciona con fines educativos y de referencia. Las especificaciones técnicas pueden variar según el fabricante del módulo DRV8825. Antes de realizar conexiones o ajustes de corriente, consulta siempre la hoja de datos oficial del componente y asegúrate de seguir prácticas seguras de electrónica. El uso incorrecto puede dañar el módulo, el motor o el microcontrolador.