Tabla de contenido:

Cronógrafo Nerf y barril de velocidad de disparo: 7 pasos
Cronógrafo Nerf y barril de velocidad de disparo: 7 pasos

Video: Cronógrafo Nerf y barril de velocidad de disparo: 7 pasos

Video: Cronógrafo Nerf y barril de velocidad de disparo: 7 pasos
Video: ¿Qué tan LETAL es el Calibre 50? 💥 2024, Noviembre
Anonim
Image
Image
Cronógrafo Nerf y barril de velocidad de disparo
Cronógrafo Nerf y barril de velocidad de disparo

Introducción

Como retocador, siempre es muy satisfactorio ver los resultados numéricos de sus retoques. Muchos de nosotros hemos modificado las pistolas Nerf antes y ¿a quién no le encanta arrojar trozos de espuma por la casa a más de 100 fps?

Después de modificar muchas pistolas Nerf a lo largo de mi vida, comenzando cuando tenía ~ 10 años con mi papá hasta ahora, cuando mis compañeros de cuarto y yo seguimos arrojándonos espuma por el apartamento, siempre quise saber exactamente qué tan rápido vuelan los dardos. y cuántos dardos por segundo disparan mis compañeros de cuarto Rapid-Strike. Hay cronógrafos comerciales disponibles para Nerf y Airsoft, pero los de alta precisión son caros y es divertido construir uno por nuestra cuenta. Si desea comprar uno, Nerf lanzó un barril casi idéntico al que se presenta en este proyecto (con un mejor diseño industrial) y se puede encontrar aquí:

Barril Nerf Modulus Ghost-Ops Chrono

La versión Nerf también funciona con baterías y muestra un contador de dardos disparados. El Instructable aquí también incluye una pantalla y un botón de reinicio, sin embargo, se basa en la longitud del dardo para calcular la velocidad y no parece utilizar interrupciones. El enfoque principal de este proyecto estará en la comunicación en serie (como un ejemplo simple como este no fue el más fácil de encontrar en línea) y el uso de interrupciones para una sincronización precisa. Es probable que esto se pueda convertir fácilmente en un cronógrafo de airsoft por las mismas razones con un recinto más ajustado y un mejor sistema de montaje para pistolas de airsoft. Sin el uso de interrupciones, el código puede ser más lento y menos eficiente, también es mucho más difícil medir el tiempo en microsegundos con precisión, ya que los milisegundos no producirán valores precisos para la velocidad del dardo.

No me centraré demasiado en el diseño de la carcasa, aunque los archivos STL están disponibles en GitHub, porque cualquiera puede comprar la versión de Nerf, que definitivamente es mejor para el juego real, pero una versión futura de esto puede mitigar los resultados.

Principios básicos (resultados del aprendizaje):

  • Tiene la forma de un barril Nerf estándar
  • Uso de fototransistores como puertas de tiempo para el dardo.
  • Muestra el uso de interrupciones de Adruino para medir el tiempo.
  • Uso de procesamiento con Arduino para comunicación en serie

Alcance del proyecto:

Planeo repasar la mayoría de los detalles de este proyecto con algunas descripciones breves y recomiendo leer las referencias para Arduino y Procesamiento para obtener información más específica. Esto no le enseñará cómo soldar, sino más bien cómo integrar Arduino y Processing y usar interrupciones. Gran parte de este aprendizaje será a través de la lectura del código comentado real, así que asegúrese de leer todo el código antes de cargarlo a ciegas e intentar que funcione.

Beneficios sobre proyectos similares:

  • Uso de interrupciones para una medición precisa de alta velocidad
  • Amplia sección de depuración para fototransistores
  • Cálculo de la tasa de fuego (ROF) que genera rondas por segundo (RPS)
  • Interfaz de computadora de pantalla completa: no es útil durante la batalla, pero es excelente si desea mostrar a otros los resultados en la transmisión o en Youtube con una grabadora de pantalla.
  • Posibilidad de adaptarse para Airsoft o Paintball mediante la modificación de solo el recinto
  • No se necesitan PCB personalizados (sería bueno en una actualización futura, pero cualquiera puede hacer esto por un costo relativamente bajo
  • Costo total de menos de $ 10 cuando se separan las piezas y si hay una impresora 3D disponible: a la par con el costo comercial, con la adición de ROF

Paso 1: Piezas y herramientas necesarias

Piezas y herramientas necesarias
Piezas y herramientas necesarias

Si tiene una impresora 3D, este será un gran proyecto para usted, ya que proporcionaré los archivos para el gabinete. No dude en actualizar el gabinete. No tenía ninguna pantalla LCD a mano, pero es de esperar que una segunda versión tenga una pantalla LCD y utilice una placa WEMOS D1 o una placa habilitada para WiFi / BT similar, y una batería. Esto permitirá el registro de datos en dispositivos móviles y comentarios en tiempo real, por ejemplo, cuántos dardos quedan en el arma. Se recomienda algo de experiencia en soldadura, si no se siente cómodo, le recomiendo seguir un Instructable para soldar y probablemente comprar componentes electrónicos adicionales por si acaso.

Herramientas necesarias:

  1. Soldador
  2. Soplador de aire caliente / Pistola de calor / Encendedor (si usa termocontraíble)
  3. Pelacables
  4. Cable USB Mini - B (o el cable que se requiera para su microcontrolador)
  5. Pistola de pegamento caliente o similar (utilicé un bolígrafo de impresión 3D para unir todos los componentes al gabinete impreso en 3D)

Los materiales requeridos:

  1. Cable de núcleo sólido 22AWG ej.: Juego de cables de núcleo sólido 22AWG
  2. Arduino Nano (o similar, usé un clon) por ejemplo: 3 x Arduino Nano (Clon)
  3. Kit de resistencias (2 x 220 ohmios, 2 x 220 k ohmios) Es posible que pueda usar resistencias pulldown de valor más bajo, como 47 k, con éxito, descubrí que necesitaba este valor para que funcione. La guía de resolución de problemas describe cómo determinar si la resistencia de extracción es el valor correcto para su fototransistor y conjunto de LED específicos. Debido a esto, recomiendo obtener un conjunto: por ejemplo: Conjunto de resistencias
  4. 2 x LED IR ex: LED IR y conjunto de fototransistor
  5. 2 x fototransistor
  6. 1 x Caja impresa en 3D - En un filamento opaco IR (Hatchbox Silver funcionó y fue el único color que probé)
  7. Los archivos de proyecto completos están disponibles aquí en GitHub, así como en el archivo zip adjunto. Los STL también están disponibles en Thingiverse aquí.

Paso 2: Prueba de la placa de pruebas

Prueba de protoboard
Prueba de protoboard
Prueba de protoboard
Prueba de protoboard

Una vez que ha llegado la electrónica, la soldadura conduce a los fototransistores y los LED IR ~ 20-30cm para la depuración, recomiendo encogerlos por calor. No tenía el encogimiento térmico del tamaño correcto y tuve que utilizar cinta aislante para este prototipo. Esto le permitirá utilizarlos para realizar pruebas en el recinto. Si ha impreso el gabinete y tiene LED y fototransistores en las posiciones correctas, puede comenzar a probar.

Asegúrese de tener Arduino y Processing instalados.

El archivo zip al principio tiene todo el código, así como los archivos STL para imprimir el gabinete.

Use Arduino para depurar al principio y solo use el procesamiento para la prueba final (puede ver todo en el monitor serial de Arduino).

Puede intentar simplemente disparar un dardo Nerf a través del cronógrafo con Chronogrpah_Updated.ino instalado en el Arduino. Si esto funciona, entonces está todo listo. Si esto no funciona, es probable que tenga que ajustar los valores de la resistencia. Esto se analiza en el siguiente paso.

Un poco sobre cómo funciona el código:

  1. La interrupción detiene el código cada vez que un dardo atraviesa una puerta y determina el tiempo en microsegundos
  2. Con esto se calcula la velocidad y se almacena el tiempo
  3. El tiempo entre disparos se calcula y se convierte en rondas por segundo.
  4. El tiempo entre puertas se calcula y se convierte a pies por segundo según la distancia de la puerta.

    El uso de dos puertas permite obtener mejores resultados con una sincronización idéntica (cuánto del sensor debe cubrirse) y reduce la histéresis

  5. La velocidad y la velocidad de disparo se envían a través de una serie separada por una coma al monitor en serie en arduino o al boceto de procesamiento que permite una interfaz de usuario agradable (¡concéntrese en el procesamiento cuando todo lo demás funciona!).

Paso 3: prueba y depuración

Si no tuvo éxito con la prueba inicial, entonces debemos averiguar qué salió mal.

Abra el ejemplo de Arduino AnalogReadSerial que se encuentra en Archivo-> Ejemplos-> 0.1 Conceptos básicos -> AnalogReadSerial

Queremos asegurarnos de que los fototransistores funcionan como esperamos. Queremos que se lean ALTO cuando el dardo no los bloquea, y BAJO cuando el dardo no lo está. Esto se debe a que el código usa interrupciones para registrar el tiempo en el que el dardo pasa por el sensor, y el tipo de interrupción que se usa es FALLING, lo que significa que se activará cuando pase de HIGH a LOW. Para asegurarnos de que el pin esté ALTO, podemos usar los pines analógicos para determinar el valor de estos pines.

Cargue el ejemplo de Arduino AnalogReadSerial y salte del pin digital D2 o D3 a A0.

D2 debería ser el primer sensor y D3 debería ser el segundo sensor. Elija 1 para leer y comenzar allí. Siga la guía a continuación para determinar la solución correcta según las lecturas:

El valor es 0 o muy bajo:

El valor debe ser alrededor de 1000 inicialmente, si está leyendo un valor muy bajo o cero, entonces asegúrese de que sus LED estén conectados correctamente y no quemados, así como alineados bien. Quemé mis LED en las pruebas cuando usé una resistencia de 100 ohmios en lugar de la de 220 ohmios. Es mejor consultar la hoja de datos de los LED para determinar el valor correcto de la resistencia, pero la mayoría de los LED probablemente funcionarán con la resistencia de 220 ohmios.

Los LED funcionan y el valor sigue siendo 0 o muy bajo:

Es probable que el problema esté en que la resistencia desplegable tiene una resistencia demasiado baja. Si tiene un problema con la resistencia de 220k, tal vez podría aumentarla más alto que esto, pero puede generar ruido. Debe asegurarse de que su foto transistor no se queme.

El valor es un rango medio:

Esto causará una gran cantidad de problemas, en su mayoría falsos disparadores, o nunca causará una euforia. Necesitamos asegurarnos de que se reciba un ALTO, para hacer esto necesitamos un valor ~ 600 pero apuntemos a 900+ para estar seguros. Estar demasiado cerca de este umbral puede provocar falsos disparadores, por lo que queremos evitar falsos positivos. Para ajustar este valor, queremos aumentar la resistencia de pulldown (220K). Ya hice esto varias veces en mi diseño y es probable que no tenga que hacer esto, ya que este es un valor muy grande para una resistencia desplegable.

El valor es muy ruidoso (salta mucho sin estímulos externos):

Asegúrese de que su cableado sea correcto con la resistencia desplegable. Si esto es correcto, es posible que deba aumentar el valor de la resistencia.

El valor está atascado en 1000+, incluso cuando se bloquea el sensor:

Asegúrese de que su resistencia pull-down esté conectada correctamente, es probable que esto ocurra si no hay pull-down. Si esto sigue siendo un problema, intente reducir el valor de la resistencia desplegable.

El valor es alto y llega a cero al bloquear la luz:

Esto debería ser suficiente para que el sensor funcione, sin embargo, es posible que no tengamos una respuesta lo suficientemente rápida cuando el dardo se cruce en el camino. Hay algo de capacitancia en el circuito, y con la resistencia de 220K puede tomar algún tiempo para que el voltaje caiga por debajo del umbral requerido. Si este es el caso, reduzca esta resistencia a 100K y vea cómo funcionan las pruebas.

ASEGÚRESE DE QUE CUALQUIER CAMBIO DE RESISTENCIA SEA CONSISTENTE ENTRE AMBOS SENSORES

Asegurar circuitos idénticos para ambos sensores mantiene la misma latencia entre las resistencias, lo que permitirá la mejor precisión en las mediciones.

Si tiene algún problema adicional, deje un comentario a continuación y haré todo lo posible para ayudarlo.

Paso 4: Montaje de hardware

Ensamblaje de hardware
Ensamblaje de hardware
Ensamblaje de hardware
Ensamblaje de hardware
Ensamblaje de hardware
Ensamblaje de hardware

Suelde los componentes a la PCB pequeña como se ve aquí:

Los cables de los LED y los fototransistores deben cortarse a la longitud adecuada, aproximadamente _.

Suelde el Arduino en la placa y conecte las resistencias desde el suelo a los pines accesibles. Además, asegúrese de que los 4 cables positivos se puedan unir fácilmente. Si tiene problemas con esto, puede pelar un trozo del cable y soldarlo en todos los cables al final.

Conecté los sensores al lado opuesto del gabinete, sin embargo, siéntase libre de conectarlos siempre que mantenga los lados consistentes. Corté los cables a la longitud y soldé los cables a cada uno de los diodos al final. Actualicé ligeramente el enrutamiento de cables para proporcionar más espacio y menos preocupación por tener algunos cables debajo de la PCB y otros sobre ella para facilitar su uso. Los STL están en el archivo zip del proyecto completo al comienzo del proyecto.

Paso 5: Ensamblaje final

Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final

Si los orificios de su PCB no coinciden con los orificios del cuerpo del cronógrafo principal, es probable que pueda asegurar los componentes electrónicos en la caja con cinta adhesiva o pegamento caliente, descubrí que no era necesario asegurarlos después del cable y el USB. estaban en su lugar, sin embargo, sus resultados pueden variar. Está diseñado para permitir la presión de filamento de 1,75 mm en los orificios de los tornillos para aplicar calor, sin embargo, la PCB también se puede atornillar o pegar. La parte más importante aquí es asegurarse de que el puerto USB sea accesible.

Cubra los componentes electrónicos con la cubierta de los componentes electrónicos. Los archivos actualizados deberían encajar mejor que el mío y, con suerte, presionarán en su lugar, sin embargo, utilicé un lápiz de impresión 3D para soldar las cubiertas en su lugar. ¡Ahora estás listo para disparar algunos dardos!

Una actualización futura puede usar enrutamiento interno para los cables, pero las cubiertas en este caso ceden ligeramente a la estética de Nerf.

Paso 6: cronógrafo en acción

Image
Image
Cronógrafo en acción
Cronógrafo en acción

Abrir el archivo de procesamiento: Chronograph_Intitial_Release permitirá una interfaz de usuario realmente agradable para el cronógrafo que muestra tanto FPS como RPS (rondas por segundo). Si tiene problemas para conectarse, asegúrese de cerrar su monitor serial Arduino, es posible que también tenga que cambiar el puerto serial en el código, pero esto está comentado y debería ser simple. Para restablecer los valores máximos, simplemente presione la barra espaciadora en su computadora.

Un poco sobre cómo funciona el código (la foto de la interfaz de usuario se puede ver arriba):

  1. Recibe información del Arduino
  2. Compara esto con la entrada anterior para encontrar el valor máximo
  3. Muestra los valores actuales y máximos en pantalla completa para facilitar la retroalimentación visual
  4. Restablece el valor máximo cuando se presiona el espacio

Paso 7: planes futuros

Una actualización futura para esto incluirá las siguientes mejoras. Si tiene características adicionales que le gustaría, avíseme e intentaré implementarlas.

  1. Incluir pantalla LCD
  2. Incluir baterías
  3. Puntos de fijación compatibles con Nerf
  4. Recinto actualizado
  5. Miradores de hierro

Recomendado: