Taula de continguts:

Telemetria de coets / localitzador de posicions: 7 passos
Telemetria de coets / localitzador de posicions: 7 passos

Vídeo: Telemetria de coets / localitzador de posicions: 7 passos

Vídeo: Telemetria de coets / localitzador de posicions: 7 passos
Vídeo: Дэниел Крафт: Будущее медицины? Для него существуют приложения 2024, De novembre
Anonim
Telemetria de coets / localitzador de posicions
Telemetria de coets / localitzador de posicions

Aquest projecte està destinat a registrar dades de vol des d’un mòdul de sensor de 9 DOF a una targeta SD i transmetre simultàniament la seva ubicació GPS a través de xarxes cel·lulars a un servidor. Aquest sistema permet trobar el coet si la zona d'aterratge del sistema està més enllà de LOS.

Pas 1: llista de peces

Llista de peces
Llista de peces
Llista de peces
Llista de peces

Sistema de telemetria:

1x microcontrolador ATmega328 (Arduino UNO, Nano)

1x Micro SD Breakout:

1x targeta Micro SD - (la mida no té format FAT 16/32 format) - Amazon Link

1x Gy-86 IMU: enllaç Amazon

Seguiment de la posició:

1x microcontrolador ATmega328 (Arduino UNO, Nano) (cada sistema necessita el seu propi micro)

1 mòdul GPRS Sim800L GSM: Amazon Link

1x targeta SIM (ha de tenir un pla de dades) - https://ting.com/ (només cobra el que utilitzeu)

1 mòdul GPS NEO 6M: Amazon LInk

Parts generals:

1 bateria lipo de 3,7 v

1x convertidor amplificador de 3,7-5 v (si no construïu el PCB)

1x Raspberry pi o qualsevol ordinador que pugui allotjar un servidor PHP

-Accés a la impressora 3D

-La llista de materials per a PCB apareix al full de càlcul

-Els gerents es troben al repositori de github -

Pas 2: subsistema 1: seguiment de posició

Proves:

Un cop tingueu a mà les peces del sistema (NEO-6M GPS, Sim800L), heu de provar la funcionalitat dels sistemes de manera independent per tal que no tingueu mal de cap intentant esbrinar què no funciona quan s’integren els sistemes.

Proves GPS:

Per provar el receptor GPS, podeu utilitzar el programari subministrat per Ublox (U-Center Software)

o l'esbós de la prova enllaçat al repositori de github (prova GPS)

1. Per fer proves amb el programari U-center, només cal que connecteu el receptor GPS mitjançant USB i seleccioneu el port de com a U-center; el sistema hauria de començar automàticament el seguiment de la vostra ubicació.

2. Per provar amb un microcontrolador, pengeu l'esbós de proves de GPS a un arduino mitjançant l'IDE. A continuació, connecteu 5V i GND als pins etiquetats del receptor a l’arduino i el pin RX GPS al digital 3 i el pin TX al digital 4 de l’arduino. Finalment, obriu el monitor sèrie a l'IDE arduino i configureu la velocitat de transmissió en 9600 i verifiqueu que les coordenades rebudes siguin correctes.

Nota: Un identificador visual del bloqueig de satèl·lit al mòdul NEO-6M és que l'indicador de led vermell parpellejarà cada pocs segons per indicar una connexió.

Proves SIM800L:

Per provar el mòdul cel·lular, haureu de tenir una targeta SIM registrada amb un pla de dades actiu, us recomano Ting perquè només cobren el que feu servir en lloc d’un pla de dades mensual.

L’objectiu del mòdul Sim és enviar una sol·licitud HTTP GET al servidor amb la ubicació que rep el receptor GPS.

1. Per provar el mòdul de cel·la, inseriu la targeta sim al mòdul amb l'extrem bisellat cap a fora

2. Connecteu el mòdul sim a GND i una font de 3.7-4.2v, no utilitzeu 5v !!!! el mòdul no pot funcionar a 5v. Connecteu el mòdul Sim RX a Analog 2 i TX a Analog 3 a l'Arduino

3. Pengeu l'esbós de passatge en sèrie des del github per poder enviar ordres al mòdul de cel·la.

4. seguiu aquest tutorial o descarregueu la prova de AT Command Tester per provar la funcionalitat HTTP GET

Implementació:

Un cop hàgiu comprovat que tots dos sistemes funcionen de forma independent, podeu passar a carregar l'esbós complet al github del microcontrolador. Podeu obrir el monitor sèrie a 9600 bauds per verificar que el sistema envia dades al servidor web.

* No us oblideu de canviar la IP i el port del servidor al vostre i assegureu-vos de trobar l'APN del proveïdor de cèl·lules que utilitzeu.

Aneu al pas següent on configurem el servidor

Pas 3: Configuració del servidor

Configuració del servidor
Configuració del servidor

Per configurar un servidor per mostrar la ubicació del coet, he utilitzat un raspberry pi com a amfitrió, però podeu utilitzar qualsevol ordinador.

Seguiu aquest tutorial per configurar lightphp en un RPI i, a continuació, copieu els fitxers php del github a la carpeta / var / www / html del vostre RPI. Després només heu d'utilitzar l'ordre

servei sudo lighttpd recàrrega forçada

per tornar a carregar el servidor.

Assegureu-vos de reenviar els ports associats al servidor del vostre encaminador perquè pugueu accedir a les dades de forma remota. Al rpi hauria de ser el port 80 i el port extern pot ser un nombre arbitrari.

És una bona idea establir un IP estàtic per a l'RPI, de manera que els ports que reenvieu sempre apunten cap a l'adreça de l'RPI.

Pas 4: subsistema 2: registre de telemetria

El programa de telemetria s’executa en un microcontrolador separat del sistema de seguiment de posició. Aquesta decisió es va prendre a causa de les limitacions de memòria de l'ATmega328 que impedia que ambdós programes poguessin executar-se en un sistema. Una altra opció de microcontrolador amb especificacions millorades podria resoldre aquest problema i permetre l’ús d’un processador central, però volia utilitzar les parts que tenia a mà per facilitar-ne l’ús.

Característiques: aquest programa es basa en un altre exemple que he trobat en línia aquí.

  • El programa llegeix de forma nativa l’altitud relativa (lectura de l’altitud posada a zero a l’inici), la temperatura, la pressió, l’acceleració en la direcció X (haureu de canviar la direcció de l’acceleració llegida en funció de l’orientació física del sensor) i una marca de temps (en mil·lis)).
  • Per evitar que es registrin dades mentre està assegut al llançador i malgastant espai d’emmagatzematge, el sistema només començarà a escriure dades un cop detecti un canvi d’altitud (configurable al programa) i deixarà d’escriure dades un cop detecti que el coet ha tornat al seu original d'altitud o després que hagi transcorregut un temps de vol de 5 min.
  • El sistema indicarà que està encès i que escriu dades mitjançant un únic LED indicador.

Proves:

Per provar el sistema, primer heu de connectar la targeta SD

Targeta SD Arduino

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

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

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

Pin 12 -------------- FER

Ara connecteu el GY-86 al sistema mitjançant I ^ 2C

Arduino GY-86

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

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

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

A la targeta SD, creeu un fitxer al directori principal anomenat datalog.txt, aquí és on el sistema escriurà les dades.

Abans de penjar l'esbós Data_Logger.ino al microcontrolador, canvieu el valor de ALT_THRESHOLD a 0 perquè el sistema ignori l'altitud per a la prova. Després de carregar-lo, obriu el monitor sèrie a 9600 baud per veure la sortida del sistema. Assegureu-vos que el sistema es pugui connectar al sensor i que s’estiguin escrivint dades a la targeta SD. Desconnecteu el sistema i introduïu la targeta SD a l'ordinador per verificar que hi hagi dades escrites a la targeta.

Pas 5: integració del sistema

Integració del sistema
Integració del sistema
Integració del sistema
Integració del sistema

Després de verificar que cada part del sistema funciona amb la mateixa configuració que s'utilitza a la placa principal, és hora de reunir-ho tot i preparar-se per al llançament. He inclòs els fitxers Gerbers i EAGLE per al PCB i l'esquema al github. haureu de carregar els gerbers a un fabricant com OSH park o JLC perquè es produeixin. Aquests taulers són de dues capes i són prou petits per adaptar-se a la majoria de fabricants de la categoria de 10cmx10cm per obtenir taulers econòmics.

Un cop hàgiu tornat a fabricar els taulers, és hora de soldar tots els components del full de càlcul i de la llista de peces al tauler.

Programació:

Després de soldar-ho tot, haureu de carregar els programes als dos microcontroladors. Per estalviar espai a la placa, no he inclòs cap funcionalitat USB, però he deixat els ports sèrie i ICSP trencats perquè pugueu pujar i supervisar el programa.

  • Per carregar el programa, seguiu aquest tutorial sobre l'ús d'una placa Arduino com a programador. Pengeu SimGpsTransmitter.ino al port ICSP_GPS i Data_Logger.ino al port ICSP_DL (El port ICSP del PCB té el mateix disseny que el que es troba a les plaques Arduino UNO estàndard).
  • Un cop carregats tots els programes, podeu alimentar el dispositiu des de l'entrada de la bateria amb 3,7-4,2 V i utilitzar els 4 indicadors lluminosos per verificar que el sistema funcioni.

    • Els dos primers llums 5V_Ok i VBATT_OK indiquen que la bateria i els rails de 5v estan alimentats.
    • La tercera llum DL_OK parpellejarà cada 1 segon per indicar que el registre de telemetria està actiu.
    • L'últim llum SIM_Transmit s'encendrà quan es connectin els mòduls cel·lulars i GPS i s'enviïn dades al servidor.

Pas 6: recinte

Recinte
Recinte

El coet que estic dissenyant al voltant d’aquest projecte té un diàmetre intern de 29 mm, per tal de protegir l’electrònica i permetre que el muntatge s’adapti a l’interior del cos cilíndric del coet, vaig fer una senzilla caixa impresa en dues parts que es cargola i que té ports de visualització dels llums indicadors. Els fitxers STL per imprimir i els fitxers.ipt originals es troben al repositori de github. No el vaig modelar, ja que no estava segur de la bateria que faria servir en aquell moment, però vaig crear manualment un recés per a una bateria de 120 mAh que quedés al mateix nivell que la part inferior de la caixa. S’estima que aquesta bateria proporciona un temps d’execució màxim de ~ 45 minuts per al sistema amb un consum d’energia de ~ 200 mA (depèn de l’ús del processador i de l’energia consumida per a la transmissió de dades, el SIM800L es calcula per obtenir més de 2A en ràfegues durant la comunicació).

Pas 7: Conclusió

Aquest projecte va suposar una implementació força senzilla de dos sistemes separats, ja que només feia servir mòduls discrets trobats a Amazon, la integració general del sistema és una mica escassa, ja que la mida general del projecte és bastant gran pel que fa. Si mirem les ofertes d’alguns fabricants, l’ús d’un SIP que inclogui tant mòbils com GPS reduiria considerablement la mida global del paquet.

Estic segur que després de fer més proves de vol, hauré de fer algunes modificacions al programa i estaré segur d’actualitzar la reposició de Github amb qualsevol canvi.

Espero que us hagi agradat aquest projecte, no dubteu a posar-vos en contacte amb mi sobre qualsevol dubte que pugueu tenir.

Recomanat: