Paso 17: Electrónica para Motor paso a paso nuevo
Los ingredientes de la electrónicos son los siguientes:
- Arduino Uno R3, realmente un DCcduino Uno, ~ $6
- Motor de pasos de Adafruit NEMA 17-200 pasos/rev - 12V 350mA, $14
- Adafruit Motor/pasos/Servo Shield v2 Kit - v2.3, $20
- Fuente de alimentación enchufable 7.5VDC 400 ma no regulado, $5
- ChronoDot Real reloj de escarcha - v.1 (Adafruit), $18
- Estados Unidos 0,96" I2C CII serie 128 X 64 pantalla LCD OLED módulo LED blanco de Arduino (Amazonas), $14
- 9 mini pulsadores (eBay), $1
- 1k potenciómetro
- Altavoz piezoeléctrico
- Proyecto plástico caja de 6 x 4 x 2,5 pulgadas (MPJA), $5
Resumen de la Arduino sketch funciones:
La primera parte del boceto define numerosas variables globales y define las estructuras para el reloj RTC, el controlador paso a paso, la exhibición de OLED.
El reloj RTC, el escudo de paso a paso y lo OLED Mostrar todo uso I2C para comunicación. Eso significa que sólo cuatro hilos son necesarios para cada una de estas partes.
El usuario puede controlar varios modos de funcionamiento por medio de 9 botones.
Cuando se inicia el dibujo y si está conectado a un puerto USB del ordenador, se sincronizará el reloj RTC con el reloj de la computadora. Debe quedar claro, que tiene sentido verificar primero que el reloj del ordenador es adecuado a un tiempo severa como NIST. Una vez el reloj, se debe desconectar el código asociado para que el bosquejo pueda ejecutar desconectado de la computadora.
A continuación, el bosquejo entra en una sección de código en el lazo utilizado para registrar las posiciones de la mano real. El reloj mecánico no está funcionando en este momento. Nunca se ejecutará por sí mismo después de un inicio (podría ser causado por un fallo de alimentación). Un pulsador se utiliza para colocar tipo de un cursor en la pantalla OLED en la hora, minuto o segundo. Un segundo botón avanza el valor de hora, minutos y segundos como leer desde las posiciones de la mano real.
Para evitar tener que golpear los lotes de botón 'advance' de veces, generalmente gire la manecilla de segundos manualmente a la posición de 12:00 o seguir girándolo hasta obtener un valor pequeño para el minuto.
Una vez establecidas las figuras, un tercer botón (marcado con 'GO') sale esa parte del código y realiza la sincronización de una sola vez de las manos del reloj RTC
Esto se hace calculando el número de pasos que el reloj mecánico debe ser avanzado o retrasado y el motor ejecuta en un modo rápido (y ruidoso) para los pasos requeridos. Tenga en cuenta que esto puede tardar varios minutos, hacer el ajuste no muy correcta. De todos modos, el tiempo transcurrido para el ajuste se mide y se realiza un segundo ajuste. Una vez más, se mide el tiempo de ejecución y un tercer ajuste se ejecuta. En otras palabras, el ajuste final se toma en cuenta que tarda en hacer las cosas.
Después de esta etapa, las agujas del reloj se sincronizará con el reloj RTC.
El reloj RTC, estando supuestamente exacta a dentro de un minuto por año, puede eventualmente a la deriva. se utilizan 2 botones para avanzar o retrasar el reloj RTC por una hora (utilizada probablemente solamente cuando cambia de estándar a luz del día ahorro de tiempo o vice versa. 2 más no de botones el mismo el minuto. Los 2 botones para los segundos se comportan diferentemente. Uno fija los segundos a cero para el minuto actual, la otra establece los segundos a cero, pero avanza el minuto. Debería ser obvio que las manos mecánicas también deba restablecerse. Por lo tanto, después de que fue alterado el reloj RTC, uno debe parar el reloj en bicicleta el poder y volver aunque la configuración.
El normal funcionamiento sección del lazo envía una serie de pasos una vez por segundo para avanzar en el eje de la segunda por 6 grados. Dos interruptores de la foto, uno busca en un solo agujero en el disco codificador de eje, lo otros mirando a 60 huecos, activan dos interrupciones. Estos restablecer el 'recuento de la posición' cero o avanzan el conteo de cada segundo. Esto se llama un encoder incremental eje.
Uno un minuto, en la marca de 30 segundos, el valor obtenido del codificador de eje es comparado el reloj RTC y el motor es ralentizado o acelerado para esta segunda. Este se encarga de la algunos menor inexactitud de la sincronización de una sola vez que puede ser debido a un error como se registran las posiciones de las manos. Tenga en cuenta, que el ajuste final sólo puede hacerse cargo de la segunda mano.
¿Sería posible acabar con los procedimientos de instalación y ajuste más bien involucrados? la respuesta es sí. Asumir que nos equipa tres ejes segundo, minuto y hora codificadores de eje absoluto (no incrementales). Por favor, darse cuenta de que esto un diseño totalmente diferente de uno discutido aquí. Estos codificadores de eje tendría 6 pedacitos por el segundo y el minuto y 4 bits para la hora. No se podían utilizar interruptores foto simple. Uno necesitaría sistemas ópticos o magnéticos más complejos con un total de 16 canales. Puesto que el Arduino Uno no tiene que muchos pines de entrada, uno tendría que utilizar un Arduino Mega o procesamiento previo de las señales de encoder con, por ejemplo, convertidores de digital a analógica.
Lanzando un montón de hardware el problema, el código de Arduino sería muy sencillo. El código sería ahora las posiciones reales de la mano en todo momento, incluso después de un apagón y podría guardar el reloj mecánico sincronizado con el reloj RTC, pase lo que pase.
Bien, esto puede ser objeto de un diseño de futuro reloj.
Los ficheros incluidos contienen el sketch de Arduino y la colección de biblioteca asociada.
Notas sobre la descarga del archivo de sketch de Arduino a continuación:
Al guardarlo en su ordenador, se mostrará en la carpeta de descargas con un nombre raro con un montón de letras y la extensión de un archivo de ".ino". Cambiar lo que desee pero deja intacta la extensión.
Si abre el archivo con el programa IDE de Arduino, que se quejan y le pregunte si desea crear una nueva carpeta de esbozo y mueva el archivo allí. Aceptar eso. Por desgracia, la nueva carpeta de dibujo no también estará en la carpeta de descarga. Moverlo a donde generalmente guarda sus bocetos. Todavía, el bosquejo suele no funcionar puesto que faltan las bibliotecas.
Abra el archivo de dibujo (ino) con WordPad de Windows (no Bloc de notas). Verás cinco bibliotecas en la parte superior del bosquejo. Los dos primeros son inherentes al software de Arduino. Los tres restantes deben instalarse en la carpeta de bibliotecas
En ese caso, también para descargar (guardar) el archivo ClockLibaries.zip. Una vez más, el nombre de archivo contiene un montón de letras. Puede ignorarlo y sólo extraer las tres carpetas. A continuación, mover estas carpetas en la carpeta de bibliotecas de Arduino maestro carpeta.
Ahora el bosquejo debe funcionar muy bien.
El dibujo contiene una gran cantidad de comentarios explicando el propósito de la línea de código. Lo hago habitualmente en todos mis bocetos no sólo con el propósito de esta reseña. Lo que parece evidente en el diseño puede ser desconcertante si usted revisar el código de un año más tarde.
El bosquejo fue escrito, editado y ejecutar utilizando el Arduino IDE versión 1.6.2. También fue probado con la versión 1.6.8 y parece que funciona muy bien. Si estás familiarizado con la idiosincrasia de Arduino, usted sabe cómo manejar las bibliotecas y donde poner tus bocetos. Utilizar una configuración algo poco ortodoxa donde se conservan los bocetos y las bibliotecas adicionales en un servidor de archivos. Lo mismo es cierto para todos los archivos de datos asociados con CorelDraw, VCarve Pro y las trayectorias de herramienta CNC. Servidor de archivos está respaldado diariamente en unidades externas. Esta manera, mi trabajo se conserva debe dañada la computadora principal.