2 de junio de 2026 · 9 min
Tu primer motor paso a paso con NEMA 17 y A4988
El primer paso (literal) hacia la CNC o la impresora 3D propia: mover un NEMA 17 con un A4988 y controlar la velocidad con un potenciómetro. Con el ajuste de Vref explicado de una vez por todas.
Antes de soñar con la CNC o la impresora 3D casera, hay un rito de iniciación: hacer girar un motor paso a paso, bien, entendiendo qué pasa. Este proyecto es exactamente eso — un NEMA 17, un driver A4988 y un potenciómetro para controlar velocidad y sentido. Es la base de la que salen todas las máquinas que después dan gusto mostrar.
Si todavía dudás entre A4988, DRV8825 o ULN2003, primero pasá por nuestra guía de drivers. Acá vamos directo a la práctica.
Lista de compra
| Componente | Cantidad | Para qué |
|---|---|---|
| Arduino UNO | 1 | Genera los pulsos |
| Motor NEMA 17 | 1 | El músculo |
| Driver A4988 | 1 | La inteligencia de potencia |
| Fuente 12V 3A | 1 | Potencia del motor |
| Capacitor electrolítico 100 µF | 1 | Protege el driver |
| Potenciómetro 10 kΩ | 1 | Control de velocidad |
| Protoboard + cables | 1 | Montaje |
Conexionado
A4988 (montado en protoboard):
- VMOT → +12V de la fuente · GND MOT → GND fuente · capacitor de 100 µF entre ambos, cerca del driver
- VDD → 5V del Arduino · GND → GND del Arduino
- STEP → pin 3 · DIR → pin 4
- ENABLE, MS1-3: sin conectar para empezar (paso completo)
- RESET y SLEEP puenteados entre sí (sin esto el driver no arranca — el olvido más común)
- Bobinas del motor: 1A/1B y 2A/2B (los pares se identifican midiendo continuidad: cada bobina son dos cables que miden pocos ohms entre sí)
Potenciómetro: extremos a 5V y GND, cursor a A0.
Antes de energizar: el Vref
El potenciómetro chiquito del A4988 fija la corriente máxima. De fábrica puede venir en cualquier posición. Con el multímetro entre el tornillo del pote y GND (driver alimentado, motor desconectado), ajustá el Vref = corriente deseada × 0.8. Para un NEMA 17 típico de 1.2 A: unos 0.9 V para arrancar con margen. Dos minutos que separan un motor suave de un driver que se apaga a los tirones.
El código
const int PIN_STEP = 3;
const int PIN_DIR = 4;
const int PIN_POTE = A0;
const int PASOS_POR_VUELTA = 200; // NEMA 17 estandar: 1.8 grados/paso
void setup() {
pinMode(PIN_STEP, OUTPUT);
pinMode(PIN_DIR, OUTPUT);
}
void loop() {
int lectura = analogRead(PIN_POTE); // 0-1023
// mitad izquierda del pote: un sentido; mitad derecha: el otro.
// cuanto mas lejos del centro, mas rapido.
int desvio = lectura - 512;
digitalWrite(PIN_DIR, desvio > 0);
int magnitud = abs(desvio);
if (magnitud < 40) return; // zona muerta central: motor quieto
// periodo entre pasos: de 2000 us (lento) a 400 us (rapido)
int periodo = map(magnitud, 40, 512, 2000, 400);
digitalWrite(PIN_STEP, HIGH);
delayMicroseconds(periodo / 2);
digitalWrite(PIN_STEP, LOW);
delayMicroseconds(periodo / 2);
}
Pote al centro: quieto. Girás a la derecha: arranca en un sentido y acelera. A la izquierda: lo mismo al revés. Con esto ya entendiste lo esencial de cómo una CNC mueve sus ejes.
Errores comunes (los mismos de siempre, y uno nuevo)
- RESET y SLEEP sin puentear. El driver queda dormido y “no anda nada”. Puente y listo.
- Desconectar el motor con todo energizado. Mata al A4988 al instante. Fuente apagada antes de tocar cables de motor, siempre.
- Vref sin ajustar. Motor que vibra sin girar (corriente baja) o driver que arranca y se corta a los segundos (corriente alta, protección térmica).
- Perder pasos al acelerar. Los paso a paso no arrancan a máxima velocidad: necesitan rampa. Nuestro código acelera con el pote; si programás movimientos automáticos, subí la velocidad gradualmente.
- Bobinas mal apareadas. Si el motor tiembla sin girar, intercambiá un cable de un par. Con los pares bien armados, gira suave.
Para llevarlo más lejos
- Conectá MS1-MS3 a 5V y probá el microstepping: dieciseisavos de paso, movimiento de seda.
- Reemplazá el pote por señales STEP/DIR generadas por GRBL y ya estás controlando el motor desde el puerto USB con software de CNC real.
- El paso natural siguiente es el CNC Shield con hasta 4 drivers — mismo principio, cuatro ejes.
Todo el banco de pruebas
NEMA 17, A4988, fuente, capacitores y Arduino: todo en electronicabyp.com.ar con envío a todo el país. ¿Vas encaminado a una CNC completa? Escribinos por WhatsApp y armamos la lista entera de una.
¿Necesitás los componentes de esta guía? Los encontrás en electronicabyp.com.ar — hacemos envíos a toda Argentina. Para cotizaciones por cantidad, escribinos por WhatsApp.