Motor paso a paso funcionando
Usaré cuatro motores paso a paso empinados en este proyecto. Por lo general, salen 5 o 6 cables de un motor paso a paso de cuatro curvas. En 5 cables, uno es nuestro vcc (voltaje externo) y los 4 renombrados son cables escalonados. En 6 cables, 2 son nuestro vcc (voltaje externo) y los cuatro renombrados son cables escalonados.
- ¿Para saber cómo funciona el motor paso a paso? Aquí tienes un buen tutorial. BUEN TUTORIAL DE WIKIPEDIA.
El motor paso a paso funciona desde 5 voltios hasta 12 voltios. El motor paso a paso que estoy usando en este tutorial es NEMA 17. Es un motor paso a paso bipolar. Cada paso dado por el motor paso a paso nema 17 representa un aumento de 1,8 grados. Por lo tanto, en 200 pasos, nema 17 completa una rotación de 360 (200 * 1,8 = 360) grados. Nuestra preocupación en este tutorial es simplemente girar el motor paso a paso.

Consumo de energía del motor paso a paso
Usando el controlador ULN2003 para motor paso a paso

Motor paso a paso del microcontrolador 8051 – Circuito de diseño
Conecte el puerto n.° 1 del microcontrolador 8051 (89c51) cuatro bits más abajo al controlador ic ULN2003. El microcontrolador 89c51 no puede producir suficiente voltaje/corriente para accionar un motor, por lo que se requiere un controlador IC para cumplir con los requisitos de voltaje/corriente del motor. La salida del ULN2003 está conectada a nuestro motor paso a paso. Asegúrese de insertar el mismo cable en el motor que está especificando en el paso de su código. Haga el pin de tierra 8 ULN2003. Aplique el mismo voltaje al pin 9 del ULN2003 que está aplicando a su motor.
A continuación se muestra el diagrama de circuito de la interfaz del motor paso a paso con el microcontrolador 89c51. Observe los pasos realizados por el motor paso a paso en la imagen GIF a continuación. Para cada paso, tenemos que realizar cada paso con alfileres altos y seguir el patrón que se muestra en la imagen GIF. Los pines/cables del motor paso a paso están coloreados en amarillo, marrón, negro y verde, etc. Primero, debemos estar seguros del patrón del cable de paso. El patrón del motor paso a paso Nema 17 se muestra en la imagen GIF.
Nota: El patrón debe estar en el orden correcto para hacer girar el motor paso a paso. Preste atención al código de colores de los cables del motor más empinados a continuación.

Interfaz de motor paso a paso con microcontrolador 8051 – Código de proyecto
El código es muy simple. Está escrito en lenguaje C++ utilizando keil ide como herramienta de software para escribir y compilar el código. Primero se incluye el archivo necesario reg51.h . Luego se crea una función de retraso para proporcionar algunos retrasos en los pasos. Este retraso es muy importante, úselo para evitar la contraemf (fuerza motriz eléctrica) generada por el motor; de lo contrario, su controlador se dañará por esta contraemf producida por el motor paso a paso. También puede acelerar la rotación del motor reduciendo el tiempo de retraso. En la función principal utilicé algunos comandos para girar el motor paso a paso. Los comandos se explican a continuación. Los comandos están en formato hexadecimal.
P1=0x01 Hacer que el puerto 1 bit 0 sea alto para el primer paso. Equivalente binario=00000001
P1=0x00 Haciendo que el puerto 1 todos los bits sean 0 para el siguiente paso. Equivalente binario=00000000
P1=0x02 Haciendo que el puerto 1 bit 1 sea alto para el segundo paso. Equivalente binario=00000010
P1=0x00 Haciendo que el puerto 1 todos los bits sean 0 para el siguiente paso. Equivalente binario=00000000
P1=0x04 Poner el puerto 1 bit 2 en alto para el tercer paso. Equivalente binario=00000100
P1=0x00 Haciendo que el puerto 1 todos los bits sean 0 para el siguiente paso. Equivalente binario=00000000
P1=0x08 Poner el puerto 1 bit 3 en alto para el cuarto paso. Equivalente binario=00001000
También puedes declarar individualmente los bits y hacerlos altos y bajos para suficientes pasos. El bucle while(1) hace funcionar continuamente el motor en el sentido de las agujas del reloj. También puede invertir la dirección en sentido antihorario simplemente invirtiendo los comandos, colocando el último comando (0x08) al principio e invirtiendo el
Ordena de la misma forma para el resto de comandos.
Con una ligera modificación en el código se puede variar la velocidad del motor paso a paso con el microcontrolador 89c51. Simplemente disminuya el retraso o elimínelo. Para rotar en un ángulo determinado, calcule los pasos necesarios para alcanzar el ángulo y coloque los pasos en el bucle for. Espero que tenga sentido para ti.
A continuación se enumeran más proyectos que involucran motores paso a paso y diferentes microcontroladores. Cada diseño es único y un microcontrolador dedicado controla el motor paso a paso. Todos los proyectos son de código abierto. Puedes modificarlos según tus necesidades.