Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:40
Tenía poca o ninguna experiencia en la conducción de motores paso a paso, así que antes de diseñar, imprimir, ensamblar y programar el reloj analógico de corrección automática 'antiguo' (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) usando un motor paso a paso, decidí diseñar y probar el software usando un dispositivo de prueba mucho más simple. Si usted, como yo, tiene poca o ninguna experiencia con motores paso a paso, entonces, con suerte, este breve Instructable con código fuente será de ayuda.
El dispositivo de prueba requiere los siguientes componentes:
- Una placa de creación de prototipos.
- Una Adafruit Feather ESP32 con cabezales hembra.
- Una placa controladora paso a paso basada en ULN2003.
- Un motor paso a paso 28BYJ-48 5vdc.
- Algunos cables de puente macho a hembra.
- Una batería de litio Adafruit 3.7vdc.
- Una manecilla indicadora impresa en 3D.
El controlador paso a paso, el motor paso a paso y los cables de puente que utilicé están incluidos en un paquete de 5 que compré como un kit en línea (busque "TIMESETL 5pcs DC 5V Stepper Motor 28BYJ-48 + 5pcs ULN2003 Driver Board + 40pcs Cable de puente macho hembra ").
La batería es opcional. Tenga en cuenta que la batería emite 3.7vdc, pero la placa del controlador paso a paso y el paso a paso son 5vdc. El dispositivo de prueba funcionará solo con la energía de la batería, incluso con el voltaje más bajo.
Incluí un video que muestra los pasos necesarios para descargar el software al ESP32, conectar el ESP32 al controlador del motor paso a paso y conectar el motor paso a paso y la batería.
Paso 1: cableado
Usé los cables de puente macho / hembra incluidos en el kit para cablear el dispositivo de prueba. Se requieren seis cables y se insertan de la siguiente manera:
- Clavija 14 (macho) del ESP32 a clavija IN4 (hembra) del tablero paso a paso.
- El pin 32 (macho) del ESP32 al pin IN3 (hembra) del tablero de pasos.
- El pin 15 (macho) del ESP32 al pin IN2 (hembra) del tablero de pasos.
- El pin 33 (macho) del ESP32 al pin IN1 (hembra) del tablero de pasos.
- El pin ESP32 "GND" (macho) al pin del tablero de pasos "-" (hembra).
- ESP32 pin "USB" (macho) para funcionamiento USB O "BAT" (macho) para funcionamiento con batería, al pin "+" del tablero paso a paso (hembra).
Una vez que los cables estén insertados y verificados dos veces, enchufe el cable del motor paso a paso en el conector de la placa del controlador del motor paso a paso. El conector está codificado y solo encajará de una manera.
Finalmente, si usa una batería, conéctela al conector de la batería ESP32.
Paso 2: indicador
Para un indicador en el motor paso a paso, diseñé e imprimí en 3D una manecilla indicadora "Hand.stl". Imprimí la mano indicadora a una altura de capa de.15 mm, 20% de relleno sin soportes, luego la presioné sobre el eje del motor paso a paso.
Como alternativa, se puede utilizar cinta, cartón u otro material como indicador.
Paso 3: software
Escribí el software de prueba paso a paso en el entorno Arduino 1.8.5. Si aún no lo ha hecho, descargue el entorno Arduino y los controladores USB necesarios en su computadora e instálelos. Además, visite el sitio web de Adafruit para obtener cualquier software adicional relacionado con Adafruit ESP32. Encontré este enlace muy útil: Adafruit ESP32 y el entorno Arduino.
Con un cable USB conectado entre su computadora y el ESP32, y "Stepper.ino" cargado en el entorno Arduino, descargue "Stepper.ino" al ESP32.
Una vez descargado, el paso a paso debería avanzar 6 grados una vez por segundo.
Escribí este software de prueba por dos razones; primero, aprender a manejar un motor paso a paso, y segundo, convertir los 4096 pasos por rotación del motor paso a paso en 60 "tics" de un segundo y 6 grados para el reloj.
La función "Paso (nDirección)" acciona el motor paso a paso. Esta función mantiene una variable entera local (estática) "nPhase", que se incrementa o decrementa en uno (cada vez que se llama a la función), de acuerdo con el signo del argumento de la función nDirection. Esta variable está limitada en el rango de 0 a 7, la cual, cuando se usa junto con el interruptor de caja, impulsa las fases del motor de acuerdo con las especificaciones del fabricante para cada paso.
La función "Actualizar ()" determina cuándo y cuántos pasos dar para cada tick para espaciar uniformemente 60 tics por 360 grados de rotación. Esta función acciona el motor paso a paso 68 o 69 pasos para cada tic. Por ejemplo, si la función solo usa 68 pasos por tick, entonces (68 pasos * 60 ticks) = 4080 pasos no serían suficientes pasos para completar los 360 grados de rotación (recuerde que el paso a paso requiere 4096 pasos para 360 grados de rotación). Y si la función usa 69 pasos por tick, entonces (69 pasos * 60 ticks) = 4140 serían demasiados pasos. El algoritmo simple que escribí distribuye uniformemente 68 y 69 pasos a lo largo de la rotación de 360 grados, y puede determinar qué dirección de rotación es más rápida para la cuenta de segundos deseada (usada en el reloj).
Y así es como diseñé y probé el software para el reloj analógico de corrección automática "antiguo".
Si tiene alguna sugerencia y / o pregunta, no dude en comentar y haré todo lo posible para responder.
Recomendado:
Motor paso a paso controlado por motor paso a paso sin microcontrolador: 6 pasos
¡Motor paso a paso controlado por motor paso a paso sin microcontrolador !: En este Instructable rápido, haremos un controlador de motor paso a paso simple usando un motor paso a paso. Este proyecto no requiere circuitos complejos ni un microcontrolador. Así que sin más preámbulos, ¡comencemos
Motor paso a paso controlado por motor paso a paso sin microcontrolador (V2): 9 pasos (con imágenes)
Motor paso a paso controlado por motor paso a paso sin microcontrolador (V2): En uno de mis Instructables anteriores, le mostré cómo controlar un motor paso a paso usando un motor paso a paso sin un microcontrolador. Fue un proyecto rápido y divertido, pero vino con dos problemas que se resolverán en este Instructable. Entonces, ingenio
Modelo de locomotora controlada por motor paso a paso - Motor paso a paso como codificador rotatorio: 11 pasos (con imágenes)
Locomotora modelo controlada por motor paso a paso | Motor paso a paso como codificador rotatorio: en uno de los Instructables anteriores, aprendimos cómo usar un motor paso a paso como codificador rotatorio. En este proyecto, ahora usaremos ese motor paso a paso convertido en codificador rotatorio para controlar un modelo de locomotora usando un microcontrolador Arduino. Entonces, sin fu
Motor paso a paso controlado por motor - Motor paso a paso como codificador rotatorio: 11 pasos (con imágenes)
Motor paso a paso controlado por motor paso a paso | Motor paso a paso como codificador rotatorio: ¿Tiene un par de motores paso a paso por ahí y quiere hacer algo? En este Instructable, usemos un motor paso a paso como codificador rotatorio para controlar la posición de otro motor paso a paso usando un microcontrolador Arduino. Así que sin más preámbulos, vamos a
Accesorio de prueba de PCB: 6 pasos
Accesorio de prueba de PCB: la mayoría de las placas que diseño tienen almohadillas de orificio pasante para un cabezal ICSP de 6 pines, y algunas tienen almohadillas de orificio pasante para un cabezal en serie. En muchos casos, ninguno de los encabezados se utiliza después de programar la placa. Este dispositivo de prueba se utiliza en lugar de un permanente