A4988

El A4988 es un driver para motores paso a paso bipolares con traductor integrado y regulación de corriente por PWM. Su gran ventaja es que descarga por completo al microcontrolador: en lugar de tener que conmutar las cuatro medias puentes en la secuencia correcta, basta con darle un pulso en STEP por cada microstep y un nivel en DIR para el sentido. El traductor interno se encarga del resto.

Trabaja con una alimentación de potencia VBB de 8 a 35 V y una lógica VDD de 3,3 a 5,5 V, y entrega hasta 2 A por bobina con la disipación adecuada. Ofrece microstepping de hasta 1/16 de paso, lo que suaviza el movimiento y reduce el ruido y las resonancias frente al paso completo. Se encuentra en casi cualquier controladora de impresora 3D o pequeña CNC.

Cómo funciona el circuito

El montaje es la aplicación típica del A4988 y se puede leer en tres bloques:

Control (izquierda). Un microcontrolador genera las señales lógicas —STEP, DIR, ENABLE, RESET, SLEEP y las tres de selección de microstepping MS1/MS2/MS3— que entran al A4988. Cada flanco en STEP hace avanzar el traductor interno un microstep; DIR fija el sentido; MS1-MS3 eligen la resolución (desde paso completo hasta 1/16).

Potencia y motor (derecha). Las dos bobinas del motor M1 se conectan a los dos puentes completos de salida, OUT1A/OUT1B y OUT2A/OUT2B. El chip no aplica simplemente tensión a las bobinas: regula la corriente de cada una. Para ello mide la caída en las resistencias de sensado RS1 y RS2 (conectadas a SENSE1 y SENSE2) y, mediante un troceado PWM, mantiene la corriente en el valor que le corresponde a cada microstep. Ese valor lo marca un convertidor digital-analógico interno que va recorriendo una senoide, de modo que las dos bobinas reciben corrientes desfasadas 90° y el rotor se posiciona en puntos intermedios entre pasos físicos.

Servicios internos (arriba). El A4988 necesita una bomba de carga (condensadores en CP1/CP2 y VCP) para generar la tensión con la que ataca los MOSFET de lado alto, y un regulador interno (VREG, con su cerámico de desacoplo) para los de lado bajo. La resistencia R2 en ROSC fija el tiempo de apagado del PWM de regulación y el modo de decaimiento de la corriente. La alimentación de potencia se filtra con un condensador de bulk de 100 µF (C5) más un cerámico, imprescindible para absorber los picos de corriente que el motor devuelve a la fuente.

El único nudo que el esquema deja “en el aire” es VREF: aparece como una etiqueta de red que llega al pin, pero no se ve de dónde sale. Es justo lo que se detalla a continuación.

Diseño de aplicación

Límite de corriente y resistencias de sensado

La corriente máxima de cada bobina (la de pico, a fondo de escala) la fijan VREF y la resistencia de sensado RSR_S:

ITripMax=VREF8RSI_{TripMax} = \frac{V_{REF}}{8 \cdot R_{S}}

Despejando, la referencia que hay que aplicar para una corriente deseada es:

VREF=8RSITripMaxV_{REF} = 8 \cdot R_{S} \cdot I_{TripMax}

Con las resistencias de sensado habituales de RS=0,1 ΩR_{S} = 0{,}1\ \Omega, para una corriente de bobina de 1 A1\ \text{A} hace falta VREF=80,11=0,8 VV_{REF} = 8 \cdot 0{,}1 \cdot 1 = 0{,}8\ \text{V}. La referencia admite aproximadamente 0 a 2 V, así que con RS=0,1 ΩR_S = 0{,}1\ \Omega el rango llega hasta unos 2,5 A2{,}5\ \text{A}; conviene no pasar de los 2 A que soporta el integrado. Ajusta ITripMaxI_{TripMax} a un poco por encima de la corriente nominal de tu motor, no más: de ese límite depende directamente la temperatura del A4988 y del propio motor.

De dónde sale VREF y cómo debe ser

VREF no es una señal de datos: es una tensión continua de referencia que el A4988 usa como fondo de escala del DAC de corriente. Por tanto debe cumplir tres condiciones:

  • Estable y sin ruido. Cualquier variación en VREF se traduce directamente en variación de la corriente del motor (y, con ella, del par y de la temperatura).
  • Referida a la masa del driver (el mismo GND que las resistencias de sensado), y bien filtrada con un pequeño condensador a masa.
  • Dentro del rango 0-2 V, nunca por encima de VDD.

Las formas habituales de generarla, de más sencilla a más flexible:

  1. Divisor resistivo desde una tensión estable. Lo más directo: dos resistencias desde VDD (o mejor desde una referencia limpia) hasta masa, con la toma intermedia a VREF. Simple, pero la corriente del motor queda “atada” a lo estable que sea esa alimentación.
  2. Potenciómetro de ajuste (trimmer). Es lo que llevan los módulos comerciales tipo Pololu: un divisor ajustable que permite fijar VREF con un destornillador y medirla con un multímetro entre el cursor y masa mientras se calibra la corriente. La opción práctica para prototipos.
  3. Referencia de precisión + divisor. Cuando se quiere repetibilidad entre unidades o estabilidad con la temperatura, se parte de un diodo o IC de referencia en vez de VDD.
  4. Salida PWM del microcontrolador filtrada. Un pin PWM pasado por un filtro RC paso bajo da una continua ajustable por software: permite cambiar la corriente desde el firmware (por ejemplo, bajarla cuando el motor está parado para que no se caliente).

Potencia en las resistencias de sensado

Las RSR_S conducen la corriente de bobina durante la fase de conducción, así que disipan potencia:

PRSITripMax2RSP_{R_S} \approx I_{TripMax}^{2} \cdot R_{S}

Con 1 A1\ \text{A} y 0,1 Ω0{,}1\ \Omega son 0,1 W0{,}1\ \text{W}, pero a 2 A2\ \text{A} ya son 0,4 W0{,}4\ \text{W}: conviene usar resistencias de al menos 0,5 W0{,}5\ \text{W} (o dos en paralelo) y de bajo coeficiente térmico, porque su valor entra directamente en la ecuación de la corriente.

Alimentación

Alimenta primero VDD (lógica) y solo después VBB (potencia), y coloca el condensador de bulk lo más cerca posible de los pines VBB: el motor es una carga inductiva que devuelve picos de corriente en cada conmutación, y sin ese depósito la tensión de potencia oscilaría y podría dispararse por encima de los 35 V máximos.

Otras aplicaciones

Además del control de un motor paso a paso bipolar que se explica aquí, el A4988 y su circuito de aplicación aparecen en montajes muy parecidos:

  • Electrónica de impresoras 3D y CNC. Su uso estrella: un A4988 por cada eje (X, Y, Z y extrusor), pinchado en zócalos sobre la placa controladora.
  • Ejes de posicionamiento y automatización. Mesas XY, cámaras de enfoque, dosificadores o cualquier mecanismo que necesite mover una distancia conocida contando pasos, sin encoder.
  • Robótica y domótica. Brazos, plataformas y actuadores lineales con husillo donde interesa el par a baja velocidad y el posicionamiento sin realimentación.
  • Control de corriente por software. Aprovechando VREF desde un PWM filtrado, para reducir consumo y calentamiento en reposo o adaptar el par a la carga.