Librería Arduino AsyncStepper Deja un comentario

La librería AsyncStepper permite mover un motor paso a paso de forma no bloqueante. De esta forma se tiene un motor paso a paso que tiene un cierto comportamiento “asíncrono”.

La clase AsyncStepper implementa un motor paso a paso cuyos movimientos están temporizados, en lugar de ser bloqueantes. El objetivo de la librería es poder mover uno o varios motores paso a paso en un proyecto, incluso a diferentes velocidades, mientras que no se impide la ejecución otras tareas en el bucle de control principal.

La clase AsyncStepper no realiza el control del motor paso a paso, únicamente realiza la temporaización de los pasos. Esto permite que sea muy versatil, ya que es independiente del motor paso a paso o controlador empleado.

Para conseguir controlar el motor paso a paso, debemos proporcionar las funciones de CallBack actionCW’ yactionCCW` que contangan, respectivamente, el código necesario para avanzar un paso en sentido horario y anti horario.

La clase AsyncStepper está especialmente pensada para funcionar de forma conjunta con controladores como el A4988 o el DRV8825. Este tipo de controladores avanzan un paso al recibir un pulso.

Para que el uso de estos controladores sea más sencillo, la clase AsyncStepper proporciona un constructor que recibe dos pines. En este caso, las acciones de CallBack por defecto se inicializan a la generación de un pulso digital para actuar sobre el controlador.

La actualización la posición del motor paso a paso se debe llamar a la función Update(), que comprueba el tiempo transcurrido y llama a las acciones de CallBack en caso necesario. Esta función se deberá invocar lo más frecuentemente posible desde el bucle principal.

La clase AsyncStepper puede instanciarse como un objeto a través de uno de sus constructores,

Uso de AsyncStepper

Instalación

  • Descargar la última versión desde GitHub
  • Descomprimir el archivo
  • Copiar en tu carpeta de librerías (normalmente Mis DocumentosArduinolibraries)
  • Relanzar el IDE de Arduino

La librería AsyncStepper incluye los siguientes ejemplos para ilustrar su uso.

  • AsyncStepper: Ejemplo que demuestra el control de un motor paso a paso sin controlador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?