Accesorio de prueba de motor paso a paso: 3 pasos
Accesorio de prueba de motor paso a paso: 3 pasos
Anonim
Image
Image
Alambrado
Alambrado

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

Alambrado
Alambrado
Alambrado
Alambrado

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:

  1. Clavija 14 (macho) del ESP32 a clavija IN4 (hembra) del tablero paso a paso.
  2. El pin 32 (macho) del ESP32 al pin IN3 (hembra) del tablero de pasos.
  3. El pin 15 (macho) del ESP32 al pin IN2 (hembra) del tablero de pasos.
  4. El pin 33 (macho) del ESP32 al pin IN1 (hembra) del tablero de pasos.
  5. El pin ESP32 "GND" (macho) al pin del tablero de pasos "-" (hembra).
  6. 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

Indicador
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

Software
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: