Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(https://www.diarioelectronicohoy.com/blog/)
DESCRIPCIÓN DEL DRIVER A4988
5 marzo, 2020 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988) Vicente García
(https://www.diarioelectronicohoy.com/blog/author/vicente)
(https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988/drivers-mpap)Fig. 1 Aspecto
de los driver A4988 y DRV8825.
Ó
DESCRIPCIÓN DE A4988.
El uso de un driver Pololu para el control de un motor paso a paso nos simpli ca mucho el trabajo ya
que este driver se encarga de generar todas las señales necesarias para su funcionamiento y además
nos añade las protecciones necesarias de temperatura y corriente. Otra ventaja que nos proporciona es
que solo necesitaremos un par de puertos del micro, en este caso Arduino para controlarlo todo,
dejando más puertos libres para otras funciones.
Este producto es una placa de soporte o una placa de arranque para el controlador del A4988 de Allegro
con protección contra sobrecorriente. Estas son algunas de las características clave del controlador:
USANDO EL DRIVER
Conexiones de potencia: El controlador requiere un voltaje de suministro lógico (3 – 5.5 V) para ser
conectado a través de los pines VDD y GND y un voltaje de suministro del motor (8 – 35 V) para ser
conectado a través de VMOT y GND. Puede entregar hasta aprox. 1 A por fase sin disipador de calor o
ujo de aire forzado. Conexiones MOTOR: Los motores paso a paso de 4, 6 y 8 cables pueden ser
accionados por el A4988 si están conectados correctamente.
Tamaño de microespacio: Los motores paso a paso suelen tener una especi cación de tamaño de paso
(cómo 1.8° o 200 pasos por revolución), que se aplica a pasos completos. Un controlador de
microprocesamiento como el A4988 permite resoluciones más altas al permitir ubicaciones de pasos
intermedios. Que se logran energizando las bobinas con niveles de corriente intermedios. Por ejemplo,
conducir un motor en el modo de cuarto de paso le dará al motor de 200 pasos por revolución 800
microsteps por revolución usando cuatro niveles de corriente diferentes.
Numero de pasos: Las entradas del selector de pasos (MS1, MS2 y MS3) permiten seleccionar de la
resolución de uno de 5 pasos de acuerdo con la tabla siguiente. MS1 y MS3 tienen resistencias internas
de 100kΩ y MS2 tiene una resistencia interna de 50kΩ, de manera que dejando estos tres pines de
selección de microstep desconectados se obtiene el modo de paso completo. Para que los modos
microstep funcionen correctamente, el límite de corriente debe establecerse lo su cientemente bajo
para que la limitación de corriente se active. Si no es así, los niveles de corriente intermedios no se
mantendrán correctamente, y el motor se saltará los pasos intermedios.
(https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988/tabla_microsteps2)Fig. 3
Tabla microsteps.
Entradas de control: Cada pulso a la entrada STEP corresponde a un microstep del motor paso a paso
en la dirección seleccionada por el pin DIR. Tenga en cuenta que los pines STEP y DIR no están
conectados a un voltaje en particular internamente, por lo que no debe dejar ninguno de estos pines
otando en su aplicación. Si solo desea girar en una sola dirección, puede unir DIR directamente a VCC
o GND. El chip tiene tres entradas diferentes para controlar sus muchos estados de energía: RST, SLP y
EN. Tenga en cuenta que el pin RST está otando; si no está utilizando el pin, puede conectarlo al pin
SLP adyacente en el PCB para subirlo y habilitar el tablero.
Es recomendable colocarle un pequeño radiador pegado con pasta térmica, incluso dotarle de un
ventilador cuando trabajemos con altas corrientes.
¿Cómo proceder? cuando leemos algo como… Estoy usando un controlador el A4988 para alimentar un
motor paso a paso, pero antes de conectar cualquier otra cosa al controlador del motor paso a paso,
quiero saber cuánta corriente uirá al pin VMOT del controlador. A continuación proporcionaremos unos
pasos a seguir para responder a la pregunta.
CORRIENTE DEL MOTOR PASO A PASO.
Un paso muy importante es localizar los datos del motor mediante la hoja del fabricante o en último
caso los datos que obran en su cuerpo o carcasa, podemos encontrar por ej.:
(https://www.diarioelectronicohoy.com/blog/?
attachment_id=5254)
(https://www.diarioelectronicohoy.com/blog/?attachment_id=5255)
EL CONTROLADOR DRV8825.
Sólo de pasada. Según el propio fabricante dice, el soporte del controlador de
motor paso a paso DRV8825 es una placa de adaptación para el controlador
de motor paso a paso micro DRV8825 de TI.
El módulo tiene un pinout y una interfaz que son casi idénticos a los de
nuestros soportes de controlador de motor paso a paso A4988, por lo tanto,
se puede utilizar como un reemplazo de caída de alto rendimiento para esas
placas en muchas aplicaciones.
(https://www.diarioelectronicohoy.com/blog/imagenes/2020/07/drv8824-8825.jpg)Fig. 6 DRV8824 /
DRV8825
Volviendo al tema que nos ocupa, como se aprecia en el esquemático de la anterior gura 2, el Pololu
A4988 necesita dos tensiones de alimentación separadas, una para el motor propiamente dicho (8-35V)
y la otra para la alimentación del propio Pololu (3-5.5V), esta última se puede sacar del Arduino. Para
alimentar el motor utilizaremos una fuente independiente que conectaremos a los pines Vmot y GND.
Recordemos que tenemos que unir las masas GND del Arduino con la GND de la fuente del motor para
equilibrar las tensiones a 0V, es conveniente una vez más utilizar un condensador electrolítico de unos
100uf/63V entre los terminales de alimentación de la fuente del motor para estabilizarla más.
Como ya se ha descrito, el Pololu tiene protección térmica y de sobrecarga. Consultar el datasheet del
fabricante para saber exactamente cuanta corriente puede controlar ya que hay diversos modelos muy
similares, pero rondan entre 1A y 2A.
Vamos a realizar una práctica como de costumbre para familiarizarnos con los nuevos dispositivos que
cada día nos hacen la vida más fácil. En este caso, se trata de controlar la velocidad de un motor paso a
paso, así como el sentido de giro ayudados por el driver A4988 que de alguna manera estamos
analizando.
El siguiente es el esquema hecho con el Fritzing que nos servirá de referencia. Los pines están de nidos
en el propio esquema.
(https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988/arduino-motor-a4988)Fig. 7
Circuito utilizado en esta práctica.
(https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988/motor-jk57hs56-2804-01)Fig.
8 Datos del NEMA23.
La Rs son las S1-S2 señaladas en la gura 9, la resolución de los pasos se logra con los terminales MS1,
MS2 y MS3 que si están al aire estarán a masa por lo tanto en la tabla de la gura 3 sería una resolución
paso completo Full Step del 70%, que es lo recomendable ya que un cuarto, un octavo o dieciseisavo ya
pierde mucha fuerza el motor pierde pasos y no lo recomiendo. Lea el datasheet de Allegro para más
detalle. El fabricante aconseja no hacer los cambios con la tensión conectada ya que se puede dañar el
A4988.
(https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988/secuencia-pasos)Fig. 9 Tabla
Secuencia pasos.
Veamos como podemos ajustar la intensidad que le va a permitir conducir al motor que esté conectado
a la placa de un A4988, hay diferentes placas con ligeras modi caciones que se deberán tener en
cuenta.
(https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988/a4988-04)Fig. 10 Puntos de
interés.
En primer lugar, debemos tener la placa sin el disipador puesto, para jarnos en el valor de las
resistencias shunt mostradas como S1-S2 o R5-R4 depende del fabricante (estas, en mi caso R5 y R4 de
10mΩ = 0,01Ω), pueden ser de 10mΩ a 100mΩ o incluso 200mΩ, una vez conocemos estos valores le
daremos la tensión de control a la placa y conectaremos el polímetro de 3V o 5V en continua, entre los
pines positivo y gnd (las echas roja y negra), ajustando el potenciómetro (el pin se encuentra en el
propio potenciómetro) hasta lograr una tensión de:
Donde Imax es la intensidad máxima del motor y Rs el valor de las resistencias shunt.
Para ajustar la intensidad del motor se recomienda conectar solamente la llamada tensión lógica a los
pines de la placa +5V y GND y el polímetro entre los pines Positivo y GND indicado en la gura 10.
Un ejemplo práctico. Si la corriente máxima de mi motor es de 2,8A y la Rs es de 0,1Ω; sería 2,8 x 8 x 0,1
= 2,44V. Recordemos que se recomienda trabajar al 70% (Full step), esto quiere decir que el 70% de 2,44
es: 2,44 x 0,7 = 1,56V en de nitiva es el Vref con el polímetro en continua, conectamos el polo negativo a
gnd y el polo positivo al destornillador que situaremos en el potenciómetro, giraremos ajustando a
1,56V. Con esto el driver A4988 quedará correctamente con gurado.
Este producto puede calentarse lo su ciente como para quemarlo mucho antes de que el chip se
sobrecaliente. Tenga cuidado al manipular este producto y otros componentes conectados a él.
A continuación se muestra el código que utilizaremos para esta práctica. Sólo tenemos que seguir el
esquema de la gura 5, conectaremos los pines STEP y DIR a los pines P3 y P9 de nuestro Arduino.
Ahora, conectaremos entre sí los pines 3 y 4 (RESET y SLEEP) desde la izquierda del A4988, para que el
motor este continuamente en funcionamiento que es lo que necesitamos.
Toca conectar el motor, primero tenemos que identi car los cables del motor bipolar paso a paso (el de
cuatro hilos), con un polímetro en continuidad para conectar el motor paso a paso elegido al A4988,
para lo cual, tenemos cuatro terminales correspondientes a los dos bobinados del motor y, una vez
identi cadas conectar las bobinas 1A-1B de la primera bobina y 2A-2B a la segunda bobina del motor.
Según el esquema, nos quedan por conectar dos elementos, el pin central del potenciómetro de 10KΩ a
la entrada analógica A0 y un pulsador S2 que tendrá una resistencia de 1KΩ a masa que pondrá la
entrada a 0V si no se pulsa S2, evitando falsas lecturas en la entrada digital D7.
void loop() {
int sentido = digitalRead(boton); // leemos el boton de direcc
digitalWrite(direccion, sentido); // cambiamos de dirección s
potenciometro = analogRead(A0); // leemos el potenciomet
potenciometro = map(potenciometro,0,1024,900,2500);// ada
digitalWrite(steps, HIGH); // Aquí generamos un anco de
delayMicroseconds(5); // Pequeño retardo para formar
digitalWrite(steps, LOW); // y un anco de bajada, el A498
delayMicroseconds(potenciometro); // generamos un retardo
En la práctica he con gurado el A4988 como se indica más arriba, he cargado el programa y después de
comprobar todas las conexiones he conectado el Arduino y luego la tensión del motor procedente de
una batería de 8,4V y 1600mA/h que tengo de un balancín invertido que hice hace un tiempo, sin duda
que es poca tensión ya que el A4988 trabaja entre 8-35V y sobre todo la corriente está muy justa, lo que
se traduce en un corto periodo de tiempo en el que no se si funciona como se esperaba, la imagen no
es lo que se dice muy explicita.
(https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988/btr-2)
Fig. 11 Montaje.
Trataré de lograr una batería de 12V y con mayor capacidad para poder hacer servir el montaje, entre
tanto utilizaré un cargador de 9V 2,5A con el cual voy a realizar una nueva prueba. Además, he recibido
una nuevo paquete de dispositivos para hacer más sencillo y limpio el trabajo, estos son:
Después de unos cambios en el cableado he puesto vuelto a conectar el Arduino y, esta vez he realizado
un nuevo ajuste con el Vref ya que la corriente del NEMA 23 es de 2,8A lo que signi ca una
Vref resultante de 2,8 x 8 x 0,1 = 2,24 y el 70% es de 2,24 x 0,7 = 1,56V y luego he conectado la tensión de
12V para el motor y todo ha funcionado como se esperaba. También he probado otros motores más
pequeños con idéntico buen resultado.
Driver A4988
Con esta práctica y su descripción doy por terminado este artículo con el que espero haber ayudado a
entender como con gurar el driver A4988.
Una vez más, esta es una práctica que le ayudará a aprender las técnicas necesarias para aplicar un
driver A4988 tan útil a sus futuros proyectos. Espero le sea de ayuda en su aprendizaje.
Si esta interesado en los siguientes enlaces puede encontrar información más detallada al respecto:
https://www.pololu.com/product/1182
http://www.ing.unlp.edu.ar/electrotecnia/procesos/apuntes/Mot
http://robots-argentina.com.ar/MotorPP_basico.htm
http://www.alciro.org/alciro/Plotter-Router-Fresadora-CNC_1/Mo
Arduino (https://www.diarioelectronicohoy.com/blog/category/microcontroladores/arduino), Descripción-del-driver
A4988 (https://www.diarioelectronicohoy.com/blog/category/microcontroladores/arduino/descripcion-del-driver-
a4988), Micros (https://www.diarioelectronicohoy.com/blog/category/microcontroladores) A4988
(https://www.diarioelectronicohoy.com/blog/tag/a4988), Driver
(https://www.diarioelectronicohoy.com/blog/tag/driver)
Muy buena opción, gracias por la información. Felicidades por tan completa
explicación
Saludos y seguimos en comunicación
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=30729#respond)
Vicente García
(https://www.diarioelectronicohoy.com/blog/) dice:
20 julio, 2020 a las 21:49 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988#comment-
30742)
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=30742#respond)
Jesus dice:
13 agosto, 2020 a las 13:39 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-
a4988#comment-31099)
las entradas DIR y STEEP ¿Se podrian obtener directamente de las salidas del
puerto paralelo? y asi evitar el ardruino
Gracias.
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=31099#respond)
Jesus dice:
15 agosto, 2020 a las 10:47 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-
a4988#comment-31128)
Creo que no me he explicado bien. Me re ero a las entradas DIR y STEP del
a4988 Y las salidas DIR y STEP del puerto paralelo las proporcionaría mach 3
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=31128#respond)
Vicente García
(https://www.diarioelectronicohoy.com/blog/) dice:
25 agosto, 2020 a las 13:24 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-
a4988#comment-31289)
Hola Jesús.
No he manejado el mach3, de manera que no sabría responder
a tu consulta.
Saludos.
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=31289#respond)
Fabian dice:
26 agosto, 2020 a las 0:58 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988#comment-
31297)
Otra consulta por este lado… Si el motor PAP que tengo es de 6V, quiere decir que
no puedo manejarlo con estos controladores? Dado que el A4988 es para
motores de 8 a 35V y el DRV8825 es para 8,2 a 45V, no pueden manejar esos 6V?
Perdón si pregunto una burrada, pero esto es nuevo para mi… Muchas gracias!
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=31297#respond)
Vicente García
(https://www.diarioelectronicohoy.com/blog/) dice:
28 agosto, 2020 a las 11:30 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-
a4988#comment-31326)
Hola Fabian
Desde mi experiencia te diré que estos motores paso a paso,
se controlan mediante la corriente y no por la tensión. Con esto
quiero decir que, si con guras bien el A4988 o DRV8825 con su
Vref adecuado, puedes conectar tu motor, eso sí, cuídate de
que la fuente pueda entregar el amperaje por encima del
necesario .
He utilizado un motor unipolar al que he conectado como
bipolar con estas especi caciones:
VCC= 2,2V
I = 2.2A
1.8º
Con un Arduino UNO y en mi caso el TB6600 y lo he movido a
diferentes velocidades sin más problema.
Saludos.
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=31326#respond)
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=31509#respond)
Vicente García
(https://www.diarioelectronicohoy.com/blog/) dice:
24 septiembre, 2020 a las 10:50 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-
a4988#comment-31700)
Saludos.
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=31700#respond)
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=32040#respond)
Vicente García
(https://www.diarioelectronicohoy.com/blog/) dice:
20 octubre, 2020 a las 20:37 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-
a4988#comment-32059)
Saludos.
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=32059#respond)
Saludos pregunto cuales son los rangos de t°c min y max del driver A4988 y si lo
mantengo controlado x decir a 2°c condtantes podria trabajar con 2.7 amp max y
con picos de 3.2 amp? Seria estable , predecible , funcionaria?…gracias por
respuesta
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=36826#respond)
Vicente García
(https://www.diarioelectronicohoy.com/blog/) dice:
7 septiembre, 2021 a las 0:50 (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-
a4988#comment-36856)
Saludos y cuídate.
Responder (https://www.diarioelectronicohoy.com/blog/descripcion-del-driver-a4988?replytocom=36856#respond)
Nombre *
Correo electrónico *
Web
PUBLICAR EL COMENTARIO
Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios
(https://akismet.com/privacy/).
El SIGLO DE ORO
... se mantiene el tópico de la falta de aptitud de los españoles para la técnica y la invención,
siguiendo la manoseada frase del taciturno Unamuno «que inventen ellos».
Tal vez se refería a los ingenieros, él era de letras.
Sin embargo, es en la técnica y en la ingeniería donde España dio sus mejores frutos, cosa lógica,
ya que un imperio no puede sustentarse sin buenos ingenieros e inventores.
---
La sensibilidad en el hombre, es una cualidad que hay que cultivar, para apreciar la belleza que
contienen la música, la pintura, una obra literaria, el teatro o la naturaleza. En de nitiva el ARTE. by
Vicente García. 28.09.2014
Cualquier persona puede aprender a hacer lo que sea. Sólo ha de dedicarle tiempo e intentarlo.
Sólo aquello que he aprendido y me han enseñado a respetar, puedo a la vez enseñar.
La sensibilidad en el hombre, es una cualidad que hay que cultivar, para apreciar la belleza que
contienen la música, la pintura, una obra literaria, el teatro o la naturaleza. En de nitiva el ARTE. by
Vicente García. 28.09.2014
META
Acceder
(https://www.diarioelectronicohoy.com/blog/jglhfg84vgsokiygfdes78g5)
Feed de entradas (https://www.diarioelectronicohoy.com/blog/feed)
Feed de comentarios
(https://www.diarioelectronicohoy.com/blog/comments/feed)
WordPress.org (https://es.wordpress.org/)
SIEMPRE APRENDER
Aprende lo que puedas y enseña lo que sepas. Aprender no es algo que te pasa, es algo que haces.
Lo que es más, es algo que haces todo el tiempo, si estás preparado para ello. El conocimiento es
patrimonio de TODOS.
Huxley ha dicho que: en esta vida, uno está perpetuamente jugando una partida con un adversario
invisible, que sólo deja sentir su presencia cuando uno comete una falta: entonces, le impone un
castigo.
El jugador que comete la falta de ser egoísta puede tener que pagar un precio terrible por ello. Pero
hay algo inexplicable en las reglas de ese juego y es que algunos, que son sólo espectadores de la
partida, pueden verse obligados a ayudarle a pagar.