Tabla de contenido:

Telemetría de cohetes / Rastreador de posición: 7 pasos
Telemetría de cohetes / Rastreador de posición: 7 pasos

Video: Telemetría de cohetes / Rastreador de posición: 7 pasos

Video: Telemetría de cohetes / Rastreador de posición: 7 pasos
Video: ¿Cómo Funcionan los Misiles? 2024, Mes de julio
Anonim
Telemetría de cohetes / Rastreador de posición
Telemetría de cohetes / Rastreador de posición

Este proyecto está destinado a registrar datos de vuelo desde un módulo sensor de 9 DOF a una tarjeta SD y, simultáneamente, transmitir su ubicación GPS a través de redes celulares a un servidor. Este sistema permite encontrar el cohete si el área de aterrizaje del sistema está más allá de LOS.

Paso 1: Lista de piezas

Lista de partes
Lista de partes
Lista de partes
Lista de partes

Sistema de telemetría:

1x microcontrolador ATmega328 (Arduino UNO, Nano)

1x Micro SD Breakout -

1x tarjeta Micro SD - (el tamaño no importa con formato FAT 16/32) - Amazon Link

1x Gy-86 IMU - Enlace de Amazon

Seguimiento de posición:

1x Microcontrolador ATmega328 (Arduino UNO, Nano) (cada sistema necesita su propio micro)

1x Módulo GPRS GSM Sim800L - Enlace de Amazon

1x tarjeta SIM (debe tener un plan de datos) - https://ting.com/ (ting solo cobra por lo que usa)

1x módulo GPS NEO 6M - Amazon LInk

Partes generales:

1x batería lipo de 3,7 v

1x convertidor elevador de 3.7-5v (si no construye el PCB)

1x Raspberry pi, o cualquier computadora que pueda albergar un servidor php

-Acceso a impresora 3D

-BOM para pcb aparece en la hoja de cálculo

-Gerbers están en github repo -

Paso 2: Subsistema 1: Seguimiento de posición

Pruebas:

Una vez que tenga las piezas del sistema (NEO-6M GPS, Sim800L) en la mano, debe probar la funcionalidad de los sistemas de forma independiente para no tener dolor de cabeza tratando de averiguar qué no funciona cuando integra los sistemas.

Prueba de GPS:

Para probar el receptor GPS, puede utilizar el software proporcionado por Ublox (software U-Center)

o el boceto de prueba vinculado en el repositorio de github (prueba de GPS)

1. Para probar con el software U-center, simplemente conecte el receptor GPS a través de USB y seleccione el puerto com en U-center, el sistema debería comenzar automáticamente a rastrear su ubicación después de eso.

2. Para probar con un microcontrolador, cargue el boceto de prueba de GPS a un arduino a través del IDE. Luego conecte 5V y GND a los pines etiquetados en el receptor al arduino y el pin GPS RX al digital 3 y el pin TX al digital 4 en el arduino. Finalmente, abra el monitor en serie en el arduino IDE y configure la velocidad en baudios en 9600 y verifique que las coordenadas recibidas sean correctas.

Nota: Un identificador visual de bloqueo de satélite en el módulo NEO-6M es que el indicador LED rojo parpadeará cada pocos segundos para indicar una conexión.

Prueba SIM800L:

Para probar el módulo celular, necesitará tener una tarjeta SIM registrada con un plan de datos activo, recomiendo Ting porque solo cobran por lo que usa en lugar de un plan de datos mensual.

El objetivo del módulo Sim es enviar una solicitud HTTP GET al servidor con la ubicación que recibe el receptor GPS.

1. Para probar el módulo de celda, inserte la tarjeta SIM en el módulo con el extremo biselado hacia afuera.

2. Conecte el módulo sim a GND y una fuente de 3.7-4.2v, ¡no use 5v! el módulo no puede funcionar a 5v. Conecte el módulo Sim RX a Analog 2 y TX a Analog 3 en el Arduino

3. Cargue el boceto de paso a través en serie desde el github para poder enviar comandos al módulo de celda.

4. siga este tutorial o descargue la versión de prueba de AT Command Tester para probar la funcionalidad HTTP GET

Implementación:

Una vez que haya verificado que ambos sistemas funcionan de forma independiente, puede pasar a cargar el boceto completo en el microcontrolador github. puede abrir el monitor en serie a 9600 baudios para verificar que el sistema está enviando datos al servidor web.

* No olvide cambiar la IP y el puerto del servidor por los suyos y asegúrese de encontrar el APN para el proveedor de telefonía celular que está utilizando.

Pasar al siguiente paso donde configuramos el servidor.

Paso 3: configuración del servidor

Configuración del servidor
Configuración del servidor

Para configurar un servidor para mostrar la ubicación del cohete, usé una raspberry pi como host, pero puedes usar cualquier computadora.

Siga este tutorial sobre cómo configurar lightphp en un RPI y luego copie los archivos php del github en la carpeta / var / www / html de su RPI. Después de usar el comando

sudo service lighttpd force-reload

para recargar el servidor.

Asegúrese de reenviar los puertos asociados con el servidor en su enrutador para que pueda acceder a los datos de forma remota. En el rpi debe ser el puerto 80 y el puerto externo puede ser un número arbitrario.

Es una buena idea establecer una dirección IP estática para el RPI para que los puertos que reenvíe siempre apunten hacia la dirección del RPI.

Paso 4: Subsistema 2: Registro de telemetría

El programa de telemetría se ejecuta en un microcontrolador independiente del sistema de seguimiento de posición. Esta decisión se tomó debido a limitaciones de memoria en el ATmega328 que impedían que ambos programas pudieran ejecutarse en un sistema. Otra opción de microcontrolador con especificaciones mejoradas podría resolver este problema y permitir el uso de un procesador central, pero quería usar las partes que tenía a mano para facilitar su uso.

Características: Este programa se basa en otro ejemplo que encontré en línea aquí.

  • El programa lee de forma nativa la altitud relativa (lectura de altitud puesta a cero en el inicio), la temperatura, la presión, la aceleración en la dirección X (deberá cambiar la dirección de la aceleración según la orientación física del sensor) y una marca de tiempo (en milisegundos).).
  • Para evitar que los datos se registren mientras está sentado en la plataforma de lanzamiento y desperdiciar espacio de almacenamiento, el sistema solo comenzará a escribir datos una vez que detecte un cambio de altitud (configurable en el programa) y dejará de escribir datos una vez que detecte que el cohete ha vuelto a su estado original. altitud, o después de que haya transcurrido un tiempo de vuelo de 5 min.
  • El sistema indicará que está encendido y escribiendo datos a través de un solo indicador LED.

Pruebas:

Para probar el sistema, primero conecte la salida de la tarjeta SD

Tarjeta SD Arduino

Pin 4 ---------------- CS

Pin 11 -------------- DI

Pin 13 -------------- SCK

Pin 12 -------------- HACER

Ahora conecte el GY-86 al sistema a través de I ^ 2C

Arduino GY-86

Pin A4 -------------- SDA

Pin A5 -------------- SCL

Pin 2 ---------------- INTA

En la tarjeta SD, cree un archivo en el directorio principal llamado datalog.txt, aquí es donde el sistema escribirá los datos.

Antes de cargar el boceto de Data_Logger.ino al microcontrolador, cambie el valor de ALT_THRESHOLD a 0 para que el sistema ignore la altitud para la prueba. Después de la carga, abra el monitor en serie a 9600 baudios para ver la salida del sistema. Asegúrese de que el sistema pueda conectarse al sensor y que los datos se escriban en la tarjeta SD. Desenchufe el sistema e inserte la tarjeta SD en su computadora para verificar que los datos se escribieron en la tarjeta.

Paso 5: Integración del sistema

Integración de sistema
Integración de sistema
Integración de sistema
Integración de sistema

Después de verificar que cada parte del sistema funciona en la misma configuración utilizada en la PCB principal, es hora de reunirlo todo y prepararse para el lanzamiento. He incluido los archivos Gerbers y EAGLE para el PCB y el esquema en el github. deberá cargar los gerber a un fabricante como OSH park o JLC para que se produzcan. Estos tableros son de dos capas y son lo suficientemente pequeños como para caber en la mayoría de los fabricantes de la categoría de tableros baratos de 10 cm x 10 cm.

Una vez que tenga las placas de fabricación, es hora de soldar todos los componentes que se encuentran en la hoja de cálculo y la lista de piezas en la placa.

Programación:

Después de que todo esté soldado, deberá cargar los programas en los dos microcontroladores. Para ahorrar espacio en la placa, no incluí ninguna funcionalidad USB, pero dejé el ICSP y los puertos serie rotos para que aún pueda cargar y monitorear el programa.

  • Para cargar el programa, siga este tutorial sobre el uso de una placa Arduino como programador. Cargue SimGpsTransmitter.ino al puerto ICSP_GPS y Data_Logger.ino al puerto ICSP_DL (el puerto ICSP en la PCB tiene el mismo diseño que el que se encuentra en las placas Arduino UNO estándar).
  • Una vez que se cargan todos los programas, puede alimentar el dispositivo desde la entrada de la batería con 3.7-4.2V y utilizar las 4 luces indicadoras para verificar que el sistema está funcionando.

    • Las dos primeras luces 5V_Ok y VBATT_OK indican que la batería y los rieles de 5v están alimentados.
    • La tercera luz DL_OK parpadeará cada segundo para indicar que el registro de telemetría está activo.
    • La última luz SIM_Transmit se encenderá una vez que los módulos de celular y GPS estén conectados y los datos se envíen al servidor.

Paso 6: Recinto

Recinto
Recinto

El cohete sobre el que estoy diseñando este proyecto tiene un diámetro interno de 29 mm, para proteger la electrónica y permitir que el ensamblaje encaje dentro del cuerpo cilíndrico del cohete. Hice una caja simple impresa en 3D de dos partes que está atornillada y tiene puertos de visualización para las luces indicadoras. Los archivos STL para imprimir y los archivos.ipt originales se encuentran en el repositorio de github. No modelé esto porque no estaba seguro de la batería que usaría en ese momento, pero creé manualmente un hueco para que una batería de 120 mAh se asentara al ras con la parte inferior de la caja. Se estima que esta batería proporciona un tiempo de ejecución máximo de ~ 45 minutos para el sistema con un consumo de energía de ~ 200 mA (esto depende del uso del procesador y del consumo de energía para la transmisión de datos, se calcula que el SIM800L consume más de 2 A en ráfagas durante la comunicación).

Paso 7: Conclusión

Este proyecto fue una implementación bastante sencilla de dos sistemas separados, dado que solo estaba usando módulos discretos que se encuentran en Amazon, la integración general del sistema es un poco mediocre ya que el tamaño general del proyecto es bastante grande para lo que hace. Al observar las ofertas de algunos fabricantes, utilizar un SIP que incluya tanto celular como GPS reduciría en gran medida el tamaño general del paquete.

Estoy seguro de que después de más pruebas en vuelo tendré que hacer algunas modificaciones al programa y me aseguraré de actualizar el repositorio de Github con cualquier cambio.

Espero que hayas disfrutado de este proyecto, no dudes en contactarme si tienes alguna pregunta.

Recomendado: