Controlador de motor a pasos DRV8825 para Arduino

El DRV8825 para Arduino es un controlador de motores a pasos que proporciona una solución de  manejo de motores para impresoras, scanner, CNC entre otras aplicaciones.
El dispositivo cuenta con  dos puentes H y un indexador microstepping. Incluso está diseñado para accionar un motor paso a paso bipolar. La tarjeta cuenta con un potenciómetro que permite ajustar el uso de corriente para tener movimientos más suaves y a la vez proteger al motor de algún daño. Este controlador nos permite operar hasta 2.2 A por bobina y un voltaje máximo de hasta 45V.

En este tutorial te indicaremos como utilizar el DRV8825 para controlar un motor a pasos con Arduino.

Material para el tutorial:

  •        Arduino UNO.
  •        Cables macho macho.
  •        Protoboard.
  •        Alimentación externa de 12v.
  •        Motor a pasos.
  •        Capacitor electrolítico 100uF a 25v.
  •       Controlador de motor a pasos DRV8825.

En la tienda virtual de HeTPro puedes encontrar todos los materiales www.hetpro-store.com. Los controladores y software Arduino lo puedes encontrar en: www.arduino.cc

Motor a pasos con el DRV8825 para Arduino

Los motores paso con el DRV8825 que es un controlador, son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos. La característica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90° hasta pequeños movimientos de tan solo 1.8°. En otras palabras, se necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro completo de 360°.

Estos motores poseen la habilidad de poder quedar enclavados en una posición o bien totalmente libres. Si una o más de sus bobinas están energizadas, el motor estará enclavado en la posición correspondiente. Por el contrario quedará completamente libre si no circula corriente por ninguna de sus bobinas.

bobinas

 

Como identificar las bobinas de un motor a pasos

Para identificar las bobinas de un motor a pasos, es decir cuales son los cables que pertenecen a cada bobina y cual es el común es necesario un multímetro en modo continuidad. Para los motores bipolares (4 cables) basta con escoger un cable al azar conectarle una punta del mulímetro. Entonces con la otra punta  conectarla con cada uno de los cables restantes. El cable que accione el pitido del multímetro indicara que esos dos cables son una bobina, y por ende los dos cables sobrantes sera la otra.

Para los motores unipolares (6 cables) tres cables tendrán continuidad entre si. Esto significa que dos son para la bobina y uno es el común, para determinar cual es el común de los tres, con el multímetro medimos resistencia. Por lo tanto el par de cables que marquen la mayor resistencia estos serán la bobina. Finalmente el cable sobrante sera el común que aproximadamente sera la mitad del valor de los cables principales.

Controlador de motor a pasos DRV8825

Controlador de motor a pasos DRV8825 para Arduino

 

 

Código de ejemplo para el DRV8825 para Arduino:

Para el controlar la tarjeta del DRV8825 es necesario descargar la librería llamada “ AccelStepper.h”, ya que la descargues y se agregue a las librerías de Arduino ingresa el siguiente código:

Descargar libreria: AccelStepper.h

Detalles del programa

El primer numero declarado que en este caso es el  “1”  indica que se utilizara un controlador de motores,el “9” corresponde al paso y el “8” a la dirección, que estos irán directo a la tarjeta del DRV8825.

  • setMaxSpeed es la velocidad máxima permitida este valor debe ser mayor a 0. La velocidad máxima que alcance el motor dependerá del procesador y el oscilador del controlador, si se exceden las velocidades puede tener aceleraciones y desaceleraciones no lineales.
  • setAccelaration establece la relación de aceleración / desaceleracion y el valor debe ser mayor que cero.debes tener cuidado en no acelerar mas de lo necesario.

  • distanceToGo es la distancia de la posición actual y la de destino, numero positivo es en sentido horario desde la posición actual.

Fuente original del codigo: http://www.schmalzhaus.com

Diagrama de Conexión del DRV8825 con Arduino

Diagrama de Conexión del DRV8825 con Arduino

También te puede interesar:

26 Comments

  1. josue octubre 26, 2015
  2. josue octubre 26, 2015
  3. Fernando Manjarrez marzo 24, 2016
    • Hector Torres marzo 26, 2016
      • Fernando Manjarrez marzo 26, 2016
  4. james abril 1, 2016
  5. james abril 3, 2016
  6. Mantgartre septiembre 13, 2016
    • Saul Jesus septiembre 13, 2016
  7. Sofia noviembre 9, 2016
    • Saul Jesus noviembre 11, 2016
  8. Andres abril 13, 2017
    • Hector Torres abril 18, 2017
  9. Ernesto mayo 9, 2017
    • Eduardo Lara mayo 10, 2017
      • Ernesto mayo 11, 2017
        • Eduardo Lara mayo 11, 2017
  10. Cesar julio 7, 2017
    • Hector Torres julio 10, 2017
  11. Sandra agosto 4, 2017
    • jose octubre 18, 2017
  12. Antonio noviembre 22, 2017
    • Administrador noviembre 23, 2017

Escríbenos tus dudas o comentarios

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.