You are on page 1of 28

25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

       

LUIS LLAMAS
Ingeniería, informática y diseño

TUTORIALES ARDUINO TUTORIALES ARDUINO INTERMEDIOS

MOTORES PASO A PASO CON ARDUINO Y DRIVER


A4988 O DRV8825

23 AGOSTO, 2016

     

¿QUÉ ES UN A4988 O DRV8825?


El A4988 y el DRV8825 son controladores (drivers) que simpli can el
manejo de motores paso a paso desde un autómata o procesador como
Arduino.

Estos controladores nos permiten manejar los altos voltajes e


intensidades que requieren estos motores, limitar la corriente que circula
https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 1/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

por el motor, y proporcionan las protecciones para evitar que la electrónica


pueda resultar dañada.

Para su control únicamente requieren dos salidas digitales, una


para indicar el sentido de giro y otra para comunicar que queremos que el
motor avance un paso. Además permiten realizar microstepping, una
técnica para conseguir precisiones superiores al paso nominal del motor.

El A4988 ha alcanzado una gran popularidad en sus últimos tiempos


debido a su uso en proyectos como, por ejemplo, en impresoras 3D
caseras. Por su parte el DRV8825 es una versión mejorada del A4988 y,
por tanto, tiene unas características ligeramente superiores.

Anuncio:

En particular, el DRV8825 permite trabajar con tensiones superiores al


A4988 (45V frente a 35V), e intensidades superiores (2.5A frente a 2A).
Además, añade un nuevo modo de microstepping (1/32) que no está
presente en el A4988.

Por lo demás, aparte de unas pequeñas diferencias, ambos


dispositivos son similares en su montaje y uso. Incluso pueden ser
compatibles entre sí, es decir, bajo ciertas condiciones podemos usar
indistintamente uno u otro, e incluso una combinación de ambos de forma
simultánea.

Modelo A4988 DRV8825

Color Verde o Rojo Morado

Intensidad máxima 2A 2.5A

Tensión máxima 35V 45A

Microsteps 16 32

Rs típico 0.05, 0.1 o 0.2 0.1

Fórmulas I_max = Vref / ( 8 * Rs) I_max = Vref / ( 5 * Rs)

Vref = I_max * 8 * Rs Vref = I_max * 5 * Rs


https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 2/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Ambos controladores pueden alcanzar altas temperaturas durante su


funcionamiento y es necesario disipar el calor para que el dispositivo no se
dañe. Para intensidades superiores 1A en el A4988 y a 1.5A en el DRV8825
es necesario añadir un sistema de disipación de calor, e incluso ventilación
forzada.

Disponen de protecciones contra sobreintensidad, cortocircuito,


sobretensión y sobretemperatura. En general, son dispositivos robustos
y ables siempre que realicemos la conexión correctamente, e
incorporemos disipación de calor si es necesario.

El A4988 y el DRV8825 son muy empleados en una gran variedad de


proyectos que requieren el uso de motores paso a paso, como máquinas
de CNC, plotters, robots que dibujan, impresoras 3D, y escáneres 3D.

También son un componente frecuente en proyectos para controlar


robots y vehículos, especialmente en aquellos que requieren variar de
forma individual la velocidad de cada rueda, como en vehículos con
omniwheel o mecannum wheels.

PRECIO
Actualmente ambos controladores son dispositivos baratos ya que han
visto bajar su precio gracias al aumento de su popularidad. Es posible
encontrar un driver A4988 por 0.75€, y un DRV8255 por 1.15€, en
vendedores internacionales en eBay o AliExpress.

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 3/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Con una diferencia de precio tan estrecha lo normal es que elijamos


el DRV8255, dado que tiene unas características técnicas superiores,

¿CÓMO FUNCIONA EL A4988 Y EL


DRV8825?
Como en la mayoría de los controladores de motores el componente
fundamental es un puente-H. En el caso del A4988 y DRV8825, destinados
a controlar motores paso a paso, se dispone de dos puentes-H (uno por
canal) constituidos por transistores MOSFET.

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 4/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Sin embargo, a diferencia de controladores más simples como el


L298N o el TB6612FNG, que presenta una electrónica relativamente simple,
el A4988 y el DRV8825 tienen una electrónica considerablemente más
compleja.

A modo de ejemplo, la siguiente imagen tenemos el esquema del


DRV8255 y, cómo vemos, los puentes-H (remarcados en azul) representan
una parte muy pequeña del conjunto.

Uno de los motivos para esta complejidad es que únicamente


requieren dos señales digitales de control para hacer funcionar el
motor, y que incorporan las protecciones necesarias para su manejo.

El otro motivo de la complejidad de su electrónica es que incorporan


funciones especialmente diseñadas para el control de motores paso a
paso, como son el regulador de intensidad y el Microstepping. Veremos
estas funcionalidades a continuación.

REGULACIÓN DE INTENSIDAD (CHOPPING)


Ambos controladores disponen de reguladores de intensidad
incorporados. El motivo es que los motores paso a paso de cierto tamaño
y potencia, como por ejemplo los NEMA 17 o NEMA 23, necesitan tensiones
superiores a las que podrían soportar las bobinas por su corriente
nominal.

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 5/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Por ejemplo, supongamos que tenemos un motor NEMA 17 con 1.2A


de intensidad nominal y 1.5 Ohm de resistencia por fase. Según la ley de
Ohm deberíamos aplicar 1.8V a cada bobina para que circule la intensidad
nominal de 1.2A. Sin embargo, con esa tensión el motor ni se movería.

Para el que el motor funcione correctamente necesitamos aplicar


una tensión superior. En este ejemplo, la tensión nominal podría ser 12V.
Pero si aplicáramos 12V directamente, nuevamente por la ley de Ohm,
pasarían 8A por la bobina, lo cual destruiría el motor en poco tiempo.

Por este motivo, los controladores incorporan un limitador de


intensidad, que permiten alimentar el motor a tensiones nominales
superiores a las que es posible por su resistencia e intensidad máxima
admisible.

Por supuesto, la ley de Ohmn debe cumplirse en todo momento por lo


que, continuando con nuestro ejemplo, cuando alimentemos el motor a
12V por la bobina pasará inevitablemente 8A.

El limitador interrumpe la señal proporcionando una señal pulsada


PWM de forma que el valor promedio de la intensidad que atraviesa la
bobina es la intensidad nominal del motor. Terminando nuestro ejemplo,
el limitador de tensión aplicaría el pulso durante el 15% del tiempo y
mantendrá el motor apagado el 85% restante.

A este mecanismo de limitación de intensidad se le denomina


 Chopping.

Para regular la intensidad que proporcionara el limitador y ajustarlo al


valor del motor que vayamos a emplear ambas placas disponen de un
potenciómetro que regula la intensidad del limitador.

Una forma de estimar la intensidad del regulador es medir la tensión


(Vref) entre el potenciómetro y GND y aplicar una fórmula que depende
del modelo, que encontraréis en la tabla del principio de la entrada.

Estas fórmulas dependen el valor Rs de las resistencias ubicadas en


la placa que pueden variar en función del fabricante. Los valores típicos
también aparecen en la tabla, pero debéis comprobar el valor de las
resistencias que monta vuestra placa.

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 6/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Por ejemplo, con los valores de Rs habituales las fórmulas se reducen


a:

Modelo Rs Fórmula reducida

A4988 50 I_max = 0,625 * V_ref

A4988 100 I_max = 1,25 * V_ref

A4988 200 I_max = 2 ,2* V_ref

DRV8825 100 I_max = 2 * V_ref

No obstante, el valor obtenido mediante esta medición es sólo una


aproximación y puede ser inexacto, por lo que lo emplearemos sólo como
una calibración inicial, y terminaremos el ajuste no midiendo la corriente
real que proporciona el controlador al motor mediante un amperímetro.

MICROSTEPPING
Como hemos dicho, el microstepping es una técnica que permite
obtener pasos inferiores al paso nominal del motor paso a paso que
vamos a controlar.

Cuando vimos las secuencias típicas de encendido de un paso a paso,


vimos que aplicando un control todo a nada a las bobinas teníamos varias
posibles combinaciones, de las cuales vimos las tres más habituales (1-
fase, 2-fases, media-fase). Pero nadie ha dicho que tengamos que
encender o apagar por completo las bobinas.

El microstepping hace variar la corriente aplicada a cada bobina


emulando un valor analógico. Si pudiéramos a ambas bobinas dos señal
eléctrica senoidal perfecta desfasadas 90º conseguiríamos un campo
magnético rotatorio perfecto en el interior del motor.

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 7/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Por supuesto el controlador digital no genera valores analógicos


perfectos, si no valores discretizados (“a saltos”), por lo que la señal
eléctrica que aplica es igualmente una función senoidal discretizada.

El resultado es un campo magnético un campo magnético rotativo con


un paso inferior al paso nominal, que depende del número de niveles de
discretos que podemos emplear en las señales de excitación de la bobina.

Cuando funcionamos sin microstepping (Modo full step), los


controladores aplican una secuencia de 2-fases, por lo que aplican de
forma permanente el 71% de la corriente del limitador a cada bobina.
Únicamente varían el sentido en el que la corriente circula por la bobina.

Sin embargo, si aplicamos microstepping en cualquier de sus modos


de funcionamiento, el controlador llega a aplicar el 100% de la corriente

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 8/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

a una de las bobinas en un determinado paso. La cantidad de corriente


concreta aplicada a cada bobina varía con cada paso.

Por ejemplo, con resolución 1/4 de paso, en el primer paso de la


secuencia tendremos una bobina al 100% y la bobina B al 0%, en el
segundo paso la bobina A al 92% y la bobina B al 38%, en el tercer paso la
bobina A al 71%, y así sucesivamente.

El hecho de que sin microstepping la corriente aplicada es siempre el


71%, y si aplicamos microstepping (en cualquier resolución) la
 corriente aplicada llegará a ser del 100% en algún paso, es muy
importante a la hora de calibrar la intensidad que circula por las
bobinas.

Finalmente, la resolución con la que queremos que funcione el


controlador se controla aplicando tensión a los Pines M0, M1 y M2.
Estos pines están puestos a tierra mediante resistencias de Pull-Up, por lo
que si no conectamos nada estarán a Low, y sólo deberemos forzar los
pines en High.

Resolucion Pines M0, M1 y M2

A4988 DRV8825 MODE0 MODE1 MODE2

Full step Full step Low Low Low

1/2 step 1/2 step High Low Low

1/4 step 1/4 step Low High Low

1/8 step 1/8 step High High Low

– 1/16 step Low Low High

– 1/32 step High Low High

– 1/32 step Low High High

1/16 step 1/32 step High High High

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 9/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Dejar todos los pines desconectados dará lugar a usar modo Full
 Step

ESQUEMA DE MONTAJE
El esquema de conexión de ambos controladores es muy similar.
Incluso, como hemos dicho, bajo ciertas consideraciones ambos
dispositivos son compatibles entre si.

En el caso del A4988 el esquema es el siguiente

Que visto desde Arduino quedaría de la siguiente forma.

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 10/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

En el caso del DRV8825 el esquema es muy similar, con la excepción de


que el pin Vdd se sustituye por el pin Fault.

El esquema desde Arduino sería idéntico al anterior.

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 11/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Observar que el potenciómetro está ubicado en extremos


diferentes en ambos modelos. Por tanto a la hora de cambiar uno por
otro, porque es fácil equivocarse en la orientación, y dañar el dispositivo.

Comprobar la orientación del controlador durante el montaje y


 antes de dar la alimentación al sistema

PROCESO DE MONTAJE
El proceso de montaje del A4988 o el DRV8825 no es demasiado
complicado. La única parte que resulta un poco peliaguda es el proceso de
ajuste y calibración del regulador de intensidad.

Ambos controladores son bastante robustos y difíciles de romper


cuando están trabajando, si respetamos las necesidades de disipación de
calor (cuando sea necesario).

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 12/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Pero son extremadamente sensibles a desconectar el motor


cuando el controlador está alimentado. Hacer esto causará, casi con
total seguridad, que dañemos el controlador.

En general, evitar conectar o desconectar cualquier cable mientras el


 controlador esté alimentado.

Por otro lado, el potenciómetro del regulador de intensidad no


tiene tope físico, por lo que es posible pasar de cero al máximo de valor
sin danos cuenta, y podríamos dañar accidentalmente el motor.

Para no dañar ni el controlador ni el componente, debemos seguir


siempre el proceso rigurosamente sin saltarnos ningún paso.

 Conectar el driver a tensión, sin el motor y sin microstepping

 Medir con un voltímetro la tensión entre GND y el potenciómetro

 Ajustar el potenciómetro hasta que la tensión sea el valor proporcionado


por la fórmula

 Apagar el montaje

 Conectar el motor, interponiendo en medio un amperímetro

 Realizar con cuidado el ajuste no del potenciómetro, hasta que la


intensidad sea la nominal del motor

 Apagar el montaje

 Retirar el amperímetro, y conectar el motor de nitivamente

 Conectar Arduino al montaje

Como hemos dicho, el hecho de que vayamos a usar posteriormente


microstepping in uye en el valor limite que debemos jar en el regulador
de intensidad.

Si no vamos a usar Microstepping, podemos aplicar aumentar el límite


del regulador de intensidad hasta el 100% de la intensidad nominal del
motor.

Si vamos a usar Microstteping, el valor que hemos medido es el 71%


del que luego circulará realmente por la bobina. Por tanto, en el

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 13/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

amperímetro debemos ajustar el 71% de la intensidad nominal del


motor.

EJEMPLO DE CÓDIGO
Aunque entender los pormenores del A4988 y el DRV8825 puede
haber tenido su di cultad, las ventajas de su uso claras. El código necesario
para su control es extremadamente sencillo, lo cual hace de ellos unos
componentes muy prácticos y útiles de usar.

Simplemente tenemos que indicar mediante dos salidas digitales el


instante en el que queremos que el motor avance un paso, y el sentido de
giro. La velocidad de giro se controla por el tiempo que dejamos
transcurrir entre paso y paso.

El siguiente ejemplo, hace girar el motor paso a paso una revolución


en un sentido, y dos en sentido contrario a una velocidad ligeramente
superior.

1 const int dirPin = 8;


2 const int stepPin = 9;
3
4 const int steps = 200;
5 int stepDelay;
6
7 void setup() {
8 // Marcar los pines como salida
9 pinMode(dirPin, OUTPUT);
10 pinMode(stepPin, OUTPUT);
11 }
12
13 void loop() {
14 //Activar una direccion y fijar la velocidad con stepDelay
15 digitalWrite(dirPin, HIGH);
16 stepDelay = 250;
17 // Giramos 200 pulsos para hacer una vuelta completa
18 for (int x = 0; x < 200; x++) {
19 digitalWrite(stepPin, HIGH);
20 delayMicroseconds(stepDelay);
21 digitalWrite(stepPin, LOW);
22 delayMicroseconds(stepDelay);
23 }
24 delay(1000);
25
26 //Cambiamos la direccion y aumentamos la velocidad
27 digitalWrite(dirPin, LOW);
28 stepDelay = 150;
29 // Giramos 400 pulsos para hacer dos vueltas completas
30 for (int x = 0; x < 400; x++) {
31 digitalWrite(stepPin, HIGH);
32 delayMicroseconds(stepDelay);
https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 14/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825
33 digitalWrite(stepPin, LOW);
34 delayMicroseconds(stepDelay);
35 }
36 delay(1000);
37 }

Si te ha gustado esta entrada y quieres leer más sobre Arduino


 puedes consultar la sección Tutoriales de Arduino

Anuncio:

 Actuadores,Arduino,Arduino intermedio,Motores

PREVIOUS

CONTROLAR DOS MOTORES DC CON ARDUINO Y DRIVER


TB6612FNG

NEXT

CÓMO USAR UN ACELERÓMETRO EN NUESTROS PROYECTOS DE


ARDUINO

TAMBIÉN TE PUEDE GUSTAR

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 15/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

MOTORES PASO A PASO EN SILENCIO CON ARDUINO Y LOS DRIVER TMC2100, TMC2130 Y
TMC2208

INTERRUPCIONES EN TODOS LOS PINES DE ARDUINO CON LAS PCINT

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 16/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

CÓMO PROGRAMAR ESP8266 CON EL IDE DE ARDUINO

CONVERTIR UN TANQUE RC EN UN TANQUE ROBOT CON ARDUINO

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 17/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

CÓMO PROGRAMAR ARDUINO CON VISUAL STUDIO CODE

LIBRERÍA DE ARDUINO TRIANGLESOLVER

Únete a la conversación...

16  10  1     12

 newest  oldest

Maximus

¿Es posible que donde dices DRV8225, quieras decir DRV8825?

Genial, el artículo … saludos

 Reply  2 years ago 

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 18/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

luisllamas

Muy posible, tengo una tendencia horrorosa a mezclar DRV8225


y DRV8825 y A4998 y A4988 XD
Está re-revisado, y creo que no me he dejado ninguna. Gracias
por el aviso!

Reply  2 years ago

manuel macugo

Buenas.
Primero que nada felicitarte por la currada que te has pegado con este
blog.
Y ahora la consulta.Compre un nema 23 para un proyecto con su arduino
uno R3, su shield y un driver DVR8825. Trato de ajustar el driver como tu
bien explicas pero no consigo que se mueva el dichoso motor. Hace un
ruidito cada segundo mas o menos y ahi se queda. Le he metido 0.7 V al
driver.
Gracias

 Reply  2 years ago 

luisllamas

¿A que te re eres con que les has metido 0.7V? (¿te re eres al
valor del potenciómetro? ¿has ajustado el regulador con un
amperímetro?)
¿Tu nema que valores nominales de tensión e intensidad
máxima tiene? ¿Que tensión alimentación le has puesto? ¿Has
medido la intensidad que está atravesando el motor?

Reply  2 years ago 

manuel macugo

Primero gracias por responder, y ahora te contesto por


orden tus preguntas. 1º y 2º Me re ero a que es el valor
que me da poniendo el positivo del polimetro en el
potenciometro y el negativo en GND. (por cierto que he
puesto mal el dato, son 0,98V) 3º Si, pero puesto en Voltios
y ajustando el potenciometro hasta que me dio esos 0,98
V. 4º Tension nominal por fase de 3,2V y de 2,8A 5º Tengo
el shield alimentado por una bateria de plomo 12 Voltios y

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 19/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

7 Amperios de capacidad. (como las de las motos) 6º Lo


he… Read more »

Reply  2 years ago 

luisllamas

¿Has mantenido en todo momento la precaución de


no desconectar el motor mientras está el montaje
encendido? (incluido durante la medición con el
amperímetro)
Si no, es posible que hayas dañado el driver
(porque por el resto de cosas que cuentas, debería
funcionarte, el resto parece que está bien)

Reply  2 years ago 

manuel macugo

No entiendo bien tu ultima contestacion.


Pero si te re eres a lo de manipular el
montaje mientras este tenia tension, ya te
digo que no (lo pones muy clarito en tu
expicacion). Apago todo, tanto la
alimentacion del driver, como el arduino. En
el codigo que tu pones de ejemplo, yo solo
cambio el pin de direccion (5) y el de pulso
(2).
Un saludo y gracias por contestar

Reply  2 years ago

luisllamas

Sí, me refería a eso, a manipular en tensión


(si tienes un amperimetro midiendo la
intensidad de fase del motor, puede ser que
se suelte, y eso es como desconectar el
motor, y el driver tiende a petar, lo digo por
triste experiencia jaja) Es que realmente, no
tengo muchas más ideas, si has respetado
eso, y el cableado, no debería fallar. Yo he
montado varios, y ningún problema. Cosas
que se me ocurren – Driver roto, que por lo
que has dicho pensemos que no – El motor
que estás usando necesita más tensión de
12V para funcionar. Por… Read more »

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 20/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Reply  2 years ago

mundomorro

Crees que tenga problemas con un motor NEMA 23 de 2.3 A , con el


DRV8825 ?

 Reply  1 year ago

luisllamas

50 000 micro segundos?? Eso es muchisima espera para un Nema17 +


A4988. Has comprobado que está correctamente alimentado, y has
calibrado bien el regulador de intensidad?

 Reply  1 year ago

luisllamas

Tienes que realizar el proceso de calibrado de la intensidad. Tu motor tiene


una intensidad nominal de 1.7A.
No dices cuál es la Rs de tu A4988, pero con 0,5V tienes entre 1.25V y 0,3V.
Estas por debajo de la intensidad nominal, y por eso el motor no va todo lo
rápido que podría ir.

 Reply  1 year ago

Luis Alvarez

Hola Luis,en primer lugar me gustaría darte las gracias por compartir tus
conocimientos. Como dice Juan lo explicas todo super claro. Ahora mi
duda. Estoy utilizando el código que has puesto de ejemplo para intentar
mover un nema 17 con una ramps 1.4 cambio los valores de : const int
dirPin = 48; const int stepPin = 46; ya que utilizo el zocalo Z y según la
documentación de la ramps estos son los pines que utiliza. El motor no
hace nada (movimiento, ruido ….). Mi pregunta es, ¿Debería de funcionar? o
al utilizar un escudo como ramps hay que… Read more »

 Reply  1 year ago 

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 21/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

luisllamas
Bueno, lo primero decir que ahora mismo no tengo
una Ramps, así que respondo “a ojo” Según entiendo, tienes
razón. El Ramps no es más que un shield para conectar
fácilmente los componentes de la impresora, en particular los
drivers de los paso a paso. Así que sí, el código de esta entrada
debería funcionar. Mirando en el esquema de la ramps, los
drivers de los steppers tienen la entrada Enable (negada)
conectada a Vcc a través de una resistencia de Pull-up. En el eje
Z, el pin correspondiente es el A8.
https://uploads.disquscdn.com/images/b44ad5bd52d2ddd618f6
59342674388b2dcaf17b1eac55214c5ca8851a90e6e8.png Es
decir, prueba a de nir el… Read more »

Reply  1 year ago

luisllamas

Gracias a ti!

 Reply  1 year ago

luisllamas

No, puedes cambiarlo sin hacer reset. De hecho, el pin de dirección y el de


step, actúan en la electrónica del módulo controla los puentes H, pero
están “muy alejados” de la parte que controla la potencia. A efectos
prácticos, tiene la misma in uencia dar un paso en un sentido o en otro.

Las únicas consideraciones realmente que hay que tener en cuenta para no
dañar el módulo son:
– Nunca cambiar una conexión (mover cables) mientras esté alimentado.
– Añadir un condensador de >47uF para absorber picos de corriente.
– Poner las tierras en común.

 Reply  1 year ago

luisllamas

Hombre… son de 2.1A nominal y el A4988 da un máximo de 2A. Eso no es


casi nada de diferencia. El A4988 limitará la intensidad a sus 2A máximos
(que es lo que hacen estos drivers, limitar la corriente) y no deberías notar
prácticamente diferencia en el stepper.

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 22/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Eso sí, metele un disipador bien gordo y si es posible un ventiladorcete no


le iría mal, porque trabajando a 2A se van a poner calentitos calentitos.

 Reply  1 year ago

juan C

hola, gracias por el post, una pregunta si tengo un motor nema 17 1.4 A y
mi fuente para motor es de 12v 6 A, es posible conectar al pololu ?

 Reply  1 year ago

luisllamas

Pues sin más información, no lo puedo saber. Toma mediciones en salida y


entrada, o prueba con otro driver u otro motor

 Reply  1 year ago

JOSE CAMPOS

hola felicitaciones por el post, una pregunta los pines reset y sleep en la
shield van conectados entre si pero no se ve que vayan conectados a otro
lado, es decir estan al aire, es correcto o me equivoco? gracias

 Reply  9 months ago

jose

Exactamente, ¿donde tomo Vref?

 Reply  8 months ago 

Luis

Entre la salida del potenciómetro en la placa y Gnd.

Reply  8 months ago

Raul Torralbo

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 23/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Buenas Luis. Tengo una duda respecto al A4988. Me estoy montando una
CNC casera y comprobar la Vref, desde una tierra y el potenciometro,
siempre me da 5,02v, independientemente de a donde mueva el
potenciometro. Lo tengo montado en una shield y esa a su vez en un
arduino Uno. Solo tengo alimentado el arduino para modi car la Vref pero
no hay manera. Sabes si estoy haciendo algo mal? Muchas gracias.

 Reply  7 months ago 

marko

tengo el mismo problema pero a mi me da o.3 volts mueva el


potenciometro en cualquier direcccion los drivers son drv8825

Reply  6 months ago

Rafael Fernandez Diez

Es posible utilizar estos drivers para controlar dos simples motores CC al


igual que el conocido L298 o 293? Me falten los pines pwm para modular la
velocidad, o eso creo.

 Reply  4 months ago 

Luis

Podrías hacerlo, controlando con el pin enable y jugando con los


pasos para encender los motores DC en el sentido que quieres.
Pero ¿Para qué? Mejor usa el L298N como vimos en esta entrada
https://www.luisllamas.es/arduino-motor-corriente-continua-
l298n/

Reply  4 months ago

Kira

Hola, En primer lugar, muy buen artículo, se entiende a la perfección. Tengo


un problema y no sé cual puede ser el error… He cambiado los A4988 por
DRV8825, he ajustado los drivers con la Vref/Iref calculada con los motores,
muy comunes, Nema17 2,8v 1,5A. También he calculado los pasos por mm
según las correas que tengo y las poleas, he cambiado estos valores en
marlin multiplicandos por 2 y a la hora de poner en marcha me he dado

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 24/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

cuenta que moviendo en manual los ejes X e Y, de 0 a 300mm que es el


ancho de la… Read more »

 Reply  13 days ago

Buscar 

NOS VEMOS EN
    

ENCUENTRA LO QUE TE INTERESA

NUESTRAS SECCIONES
INFORMÁTICA

INGENIERIA

PROGRAMACION

TUTORIALES ARDUINO

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 25/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

ZONA GEEK

DESCUBRE LAS ÚLTIMAS ENTRADAS

ENTRADAS RECIENTES
MODOS DE REPRESENTAR OBJETOS 3D PARA DISEÑO O IMPRESIÓN
11 OCTUBRE, 2018

MOTORES PASO A PASO EN SILENCIO CON ARDUINO Y LOS DRIVER TMC2100,


TMC2130 Y TMC2208
3 OCTUBRE, 2018

CÓMO PARSEAR HTML EN C# CON HTML AGILITY PACK


30 SEPTIEMBRE, 2018

CÓMO GESTIONAR USUARIOS Y CONTRASEÑAS EN RASPBERRY PI


26 SEPTIEMBRE, 2018

WEMOS D1 MINI, UNA GENIAL PLACA DE DESARROLLO CON ESP8266


22 SEPTIEMBRE, 2018

GUÍA BÁSICA DE INTRODUCCIÓN A LA IMPRESIÓN 3D


19 SEPTIEMBRE, 2018

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 26/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Excepto notación expresa, los contenidos de este sitio se ofrecen bajo


licencia Creative Commons License BY-NC-SA.

Más información

MODOS DE REPRESENTAR OBJETOS 3D PARA DISEÑO O IMPRESIÓN


11 OCTUBRE, 2018

MOTORES PASO A PASO EN SILENCIO CON ARDUINO Y LOS DRIVER TMC2100,


TMC2130 Y TMC2208
3 OCTUBRE, 2018

CÓMO PARSEAR HTML EN C# CON HTML AGILITY PACK


30 SEPTIEMBRE, 2018

GONZALO
on Conectar Arduino a una pantalla OLED de 0.96″

Hola!, muy buen trabajo este código se podrá replicar a Las pantalla publicitarias
LED que…

LIBARDO MONROY
on Programar STM32 con IDE de Arduino y ST-Link v2

Hola, Estamos atentos a tu nuevo hilo de como programar a traves del conector
usb…

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 27/28
25/10/2018 Motores paso a paso con Arduino y driver A4988 o DRV8825

Copyright ©2018, Todos los derechos reservados

Aviso legal Política de cookies

https://www.luisllamas.es/motores-paso-paso-arduino-driver-a4988-drv8825/ 28/28

You might also like