He construido un proyecto usando un microcontrolador Arduino para controlar la velocidad de la fotografía de un tiro de aire comprimido objetivos como globos.
Tengo un interruptor de contacto en el gatillo. Cuando el que alimenta a un 1 lógico en mi Arduino programa, me di a la cámara para disparar el obturador, apague el LED de las luces de la sala, y empezar a buscar la munición de la escopeta de aire comprimido para romper un haz de luz LED que se coloca en frente de el barril de la pistola. Cuando eso sucede, mi programa de veces la cantidad de tiempo que el pellet se lleva a romper una segunda viga que está exactamente 2 pulgadas más allá de la primera. Mi programa utiliza el retardo entre el 2 eventos para calcular la velocidad de la bolita, y se multiplica por la distancia a la meta que me he introducido en el Arduino.
En el tiempo calculado mi equipo utiliza un estado sólido optio-aislador para cerrar el contacto en un flash.
Todo funciona bien, a un punto. Escribí el código de Arduino que se ocupa de los puertos de e/s directamente en lugar de utilizar el Arduino funciones para minimizar la latencia de los insumos.
Sin embargo, el Arduino es relativamente lento, y se toma varios ciclos de instrucción para responder a un evento de disparo. Que significa que mi calcula el tiempo es limitado para los múltiplos de tiempo de respuesta, lo que significa que mi tiempo para disparar el flash a menudo por una pequeña pero importante cantidad.
Lo que me gustaría hacer es tener un microsegundo precisa programable reloj de tiempo real chip que podría desencadenar en un flanco de subida de la señal, tiene que medir el retardo para el segundo sensor, calcular el proyectil de la velocidad y el tiempo de espera deseado hasta que el proyectil alcanza el designado de la distancia al objetivo y, a continuación, activar un 1 lógico en ese momento con precisión de microsegundos.
La mayoría de reloj de tiempo real fichas que he visto de salida el tiempo a través de una línea serie, que sería la forma, demasiado lentos para esta aplicación. Incluso para mi rifle de aire de aplicación de los pellets se quedaban atascados en la "bala trampa" al final de la meta antes de que el primer valor de tiempo ha terminado de ser enviado a mi microcontrolador.
Actualmente estoy trabajando con rifles de aire, pero la esperanza de cambiar a balas calibre .22, la cual se puede mover más rápido que la velocidad del sonido.
Hay algunos de la alta precisión programable reloj de tiempo real chip que puede utilizar para esta aplicación? O tal vez un circuito que me podría construir con un cristal de cuarzo, un contador digital, y un arreglo de compuerta programable?
P. S. Aquí hay un enlace a algunos de los resultados de mi configuración actual. Cuando se trabaja, los resultados son muy chulo: