Saltar al contenido
Control Automático Educación

Motor Paso a Paso Arduino

Hola controleros y controleras, bienvenidos a otra entrada del sitio web donde abordaremos como usar un Motor Paso a Paso con Arduino, sea Unipolar o Bipolar, y veremos cómo implementarlo con un ejemplo claro y detallado. En esta entrada tomaremos como ejemplo el motor paso a paso 28BYJ-48 y lo controlaremos a través de un UNL2003, sin embargo, veremos que podremos controlar un motor paso a paso con arduino usando transistores en puente H o otro tipo de driver como el L298.

Antes que nada te dejo la invitación para que veas nuestro Curso Gratis de Arduino.

Motor Paso a Paso con Arduino

Un motor paso a paso es un dispositivo electr√≥nico que permite efectuar un movimiento muy preciso en √°ngulos peque√Īos y por pasos en ambas direcciones, por lo tanto este dispositivo es usado en infinidad de procesos de precisi√≥n como CNC, impresoras 3D, cortadoras l√°ser entre otros.

Nosotros ya habíamos tenido la oportunidad de hablar de los motores paso a paso en nuestro curso de PIC donde explicamos en detalle su funcionamiento. Ver motor paso a paso con PIC.

B√°sicamente un motor paso a paso puede ser representado por la siguiente figura:

Motores Paso a Paso
5. Motores Paso a Paso

como puede ser observado el motor paso a paso posee diferentes cables y es porque internamente dicho motor posee varias bobinas, las cuales deben ser energizadas en una secuencia ordenada para poder conseguir el movimiento del motor.

Tipos de Motores Paso a Paso

Pero antes es importante entender que en el mercado existen dos tipos de motores paso a paso los cuales podremos controlar con Arduino.

Motor Paso a Paso Unipolar con Arduino

Este es el motor de paso m√°s com√ļn, el cual posee dos bobinas en cada uno de los estatores donde cada una de esas bobinas posee un punto com√ļn, por lo tanto este motor t√≠picamente posee 5 o 6 cables. Y viendo esta entrada estar√°s en la capacidad de controlar un motor paso a paso de 6 cables con Arduino y mucho m√°s.

Motor Paso a Paso Bipolar con Arduino

Tambi√©n posee dos bobinas, con la diferencia que no tienen un punto intermedio com√ļn, por lo tanto, es f√°cil intuir que posee 4 cables. Sin embargo, para conseguir el control de este motor bipolar ser√° necesario efectuar una configuraci√≥n de 2 puente H usando 8 transistores, o bien usando alg√ļn driver o integrado especial para poder mandar la secuencia de pasos.

Bobinas del motor paso a paso

A continuación podemos ver un esquema que muestra la configuración de las diferentes bobinas dentro de un motor paso a paso unipolar y bipolar.

Motores paso a paso

Estos motores de paso pueden ser encontrados en diferentes dispositivos comunes tales como las impresoras y muchas veces puede resultar especialmente utíl poder reconocer cada uno de los terminales del motor, por lo tanto preparé el siguiente video explicándote como reconocer fácilmente las bobinas y los cables de un motor paso a paso para controlarlo posteriormente con un Arduino.

Movimiento del Motor paso a Paso con Arduino o cualquier Microcontrolador

Para conseguir el movimiento de un motor paso a paso con Arduino o cualquier otro microcontrolador, necesariamente vamos a tener que recurrir a la ayuda de un circuito externo, debido a que un sistema microcontrolado no cuenta con la corriente suficiente para mover este dispositivo con carga.

En el mercado existen v√°rios drivers dise√Īados para este fin tales como el ULN2003, L298, L296 entre otros, o tambi√©n podriamos pensar en controlar un motor paso a paso con Arduino sin Driver a trav√©s de 4 transistores (unipolar) para activar cada bobina o 8 transistores (bipolar) para hacer una configuraci√≥n de 2 Puente H que direccione la corriente dentro del motor.

A través de estos dispositivo mandaremos la secuencia en orden para poder mover el motor paso a paso.

Entonces, para poder controlar un motor paso a paso con Arduino podemos emplear alguna de las siguientes 3 secuencias de pasos descritas a continuación:

Secuencia a 1 Fase

Encendemos √ļnicamente una bobina por vez siguiendo la siguiente tabla de verdad.

PasoIn1In2In3In4
1ONOFFOFFOFF
2OFFONOFFOFF
3OFFOFFONOFF
4OFFOFFOFFON
Secuencia a 1 paso

Secuencia a 2 pasos

En esta secuencia encendemos de a 2 bobinas para aumentar el Par del motor

PasoIn1In2In3In4
1ON ONOFFOFF
2OFFONONOFF
3OFFOFFONON
4 ONOFFOFFON
Secuencia a 2 pasos

Secuencia a Medio Paso

Es una combinación de las dos secuencias anteriores donde se enciende 1 bobina intercalada con la activación de 2 bobinas, por lo tanto puede ser aplicado en aplicaciones que requieran de una mayor precisión.

PasoIn1In2In3In4
1ONOFFOFFOFF
2ONONOFFOFF
3OFFONOFFOFF
4 OFFONONOFF
5 OFF OFF ONOFF
6OFFOFFONON
7OFFOFFOFFON
8ONOFFOFFON
Secuencia a medio paso

Usando un Motor Paso a Paso 28BYJ-48 con ULN2003 y Arduino

Para esta pr√°ctica del Motor paso a paso con Arduino vamos a usar el popular motor 28BYJ-48 (datasheet) con el driver ULN2003 controlado con Arduino. Por lo tanto esta practica consistir√° en un motor paso a paso unipolar con Arduino.

El motor 28BYJ-48 es un motor paso a paso Unipolar, por lo tanto no necesita de un complejo sistema de driver para ser controlado por eso haremos uso del ULN2003 el cual es una agrupación de 7 darlingtons que sirven para proporcionarle la corriente necesaria al motor para moverse.

El motor 28BYJ-48 posee 4 bobinas y usa una reductora de 1 /64 , por lo que si configuramos el arduino con la secuencia de 1 paso o de 2 pasos, el motor necesitar√° de 4 pasos x 64 = 256 pasos por vuelta, pero si configuramos el motor a pasos con la secuencia de medio paso, el motor necesitar√° de 8 medios pasos x 64 = 512 pasos por vuelta.

Ejemplo Motor Paso a Paso con Arduino UNL2003

Hagamos un ejemplo de un motor paso a paso unipolar arduino.

Crear un programa en arduino usando el driver UNL2003 y el Motor paso a paso
28BYJ-48 que sea capaz de detectar el cambio en 4 pulsadores. Un pulsador servir√° para hacer el giro sentido horario, otro pulsador har√° el giro anti horario, otro pulsador cambiar√° la secuencia de pasos para 1, 2 o medio paso y el ultimo pulsador modificar√° la velocidad del motor.

El esquema es representado a continuación, donde se muestra como conectar un motor paso a paso en Arduino:

Lista de Materiales

  • 1 Arduino
  • 1 Driver UNL2003
  • 1 Motor paso a paso 28BYJ-48
  • 4 Resistencias de 10k
  • 4 Pulsadores

Motor paso a paso arduino L293D y L298 Unipolar

Note que el ejemplo anterior del Motor Paso a Paso con Arduino Unipolar también puede ser implementado con drivers comerciales como el L293D y el Driver L298, que internamente poseen configuraciones en Puente H. Por lo que puedes usar exactamente el mismo código, cambiando el driver que tengas en tu poder.

También puede implementarse el control del motor paso a paso con arduino sin driver utilizando para ello un arreglo de 4 transistores que activen cada una de las bobinas del motor UNIPOLAR.

Motor Paso a Paso Bipolar con Arduino

El ejemplo anterior también puede ser utilizado con Motores Paso a Paso Bipolares, sin embargo el control de este tipo de motor puede resultar un poco más complejo, en el caso que se quiera implementar con un arreglo de 8 transistores para hacer 2 puente H.

A diferencia del motor paso a paso unipolar, el motor paso a paso bipolar tiene dos conductores por fase, ninguno de los cuales es com√ļn.

Sin embargo usando los Drivers que poseen puente H internos como el caso del L293D o el L298, es sumamente f√°cil poner a trabajar nuestros motores BIPOLARES, es m√°s, puede emplearse EXACTAMENTE EL MISMO programa hecho para el motor UNIPOLAR, haciendo las conexiones correctas.

Diferencia en la conexión del Motor Paso a Paso Unipolar y Bipolar

CONEXION BIPOLAR UNIPOLAR

Motor Paso a Paso UNIPOLAR y BIPOLAR con Arduino

A continuaci√≥n se muestra el esquema electr√≥nico del ejemplo, que muestra la conexi√≥n para motores paso a paso unipolares y bipolares usando cualquiera de los drivers anteriormente mencionados o inclusive vamos a conectar un motor paso a paso a Arduino sin usar DRIVER y lo m√°s importante es que todos los esquemas usan el MISMO C√ďDIGO DE PROGRAMACI√ďN DEL ARDUINO.

Inicialmente veamos el esquema del motor paso a paso en proteus:

Motor Paso a Paso UNIPOLAR y BIPOLAR con Arduino

Código Motor Paso a Paso Arduino

Sabes que para bajar el código solo basta con compartir el contenido de este post con cualquiera de los siguientes 3 botones, así ayudas a difundir la información de esta web y que más personas aprendan y conozcan el maravilloso mundo de Arduino.

Si lo deseas Puedes Descargar el Archivo con el Código y con los diagramas de simulación en Proteus 8
ūüĎČ DESCARGAR AHORA

 

Eso es todo por la clase del d√≠a de hoy controleros y controleras, espero les haya gustado y hayan aprendido algo nuevo y puedan colocar a rodar sus proyectos con Motores Paso a Paso y Arduino. Si te ha servido esta informaci√≥n podr√≠as invitarme a un caf√© y ayudarme a seguir pagando los servidores. ūüĎČInvitar un Caf√© a SERGIO ‚ėēÔłŹ

Nos Vemos en una próxima entrada de nuestro curso. Les deseo un excelente día.

Summary
Motor Paso a Paso con Arduino
Article Name
Motor Paso a Paso con Arduino
Description
Para controlar un motor paso a paso con Arduino necesitamos: 1. Conectar un driver o puente H al Arduino. 2. Identificar cables y bobinas del motor paso a paso 3. Realizar una de las 3 configuraciones de movimiento del motor paso a paso. 4. Realizar la secuencia lógica con arduino para cumplir con los requerimientos. Mira como hacerlo detalladamente en este excelente post con video.
Author
Publisher Name
Control Automático Educación
Publisher Logo

Entradas relacionadas

Deja un comentario

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.

Comentarios (8)

Sergio:
Excelente presentación. Didáctico, concentrado, objetivo e ilustrativo. Felicidades, buen trabajo. Me ha sido de gran utilidad.

Responder

Muchas Gracias Roberto, me alegra que te haya gustado el post y lo m√°s importante, que hayas aprendido. Saludos!!

Responder

muy bueno gracias por compartir todo esto, estoy comenzando en el tema de arduino no me quedó claro las sentencias para los pulsadores , yo quiero hacer solo que gire hacia izquierda o derecha y con el máximo de velocidad de mi motor nema 17. Mi pregunta es cómo modifico el código? para que funcione con 2 pulsadores solamente . gracias

Responder

Hola john, es solo dejar en tu código los IF de los sentidos de GIRO y quitar los otros IF. Colocar el mínimo delay para que vaya a la máxima velocidad. Y debes decidir cual de las 3 secuencias de pasos quieres darle, quizas una de dos pasos de convenga. Saludos.

Responder

el archivo de proteus no lo puedo abrir en proteus 8

Responder

Est√° hecho en la version Proteus 8.7

Responder

Gracias oo compartir. Excelente informaci√≥n. un favor no tendr√°s entre tus publicaciones como hacer un men√ļ con submen√ļs en Arduino ??

Responder

Gracias Mario. No tengo eso con Arduino, el curso apenas lo estoy comenzando. Saludos.

Responder