Sommario:
- Passaggio 1: elenco delle parti
- Passaggio 2: sottosistema 1: monitoraggio della posizione
- Passaggio 3: configurazione del server
- Passaggio 4: sottosistema 2: registrazione della telemetria
- Passaggio 5: integrazione del sistema
- Passaggio 6: allegato
- Passaggio 7: conclusione
Video: Telemetria del razzo/Tracciatore di posizione: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Questo progetto ha lo scopo di registrare i dati di volo da un modulo sensore 9 DOF su una scheda SD e trasmettere contemporaneamente la sua posizione GPS tramite reti cellulari a un server. Questo sistema consente di trovare il razzo se l'area di atterraggio del sistema è oltre la LOS.
Passaggio 1: elenco delle parti
Sistema di telemetria:
1x Microcontrollore ATmega328 (Arduino UNO, Nano)
1x Micro SD Breakout -
1x Micro SD Card - (le dimensioni non contano con formattazione FAT 16/32) - Amazon Link
1x IMU Gy-86 - Collegamento Amazon
Monitoraggio della posizione:
1x Microcontrollore ATmega328 (Arduino UNO, Nano) (ogni sistema ha bisogno del proprio micro)
1x Modulo GSM GPRS Sim800L - Collegamento Amazon
1x SIM Card (deve avere un piano dati) - https://ting.com/ (ting si addebita solo per ciò che si utilizza)
1x Modulo GPS NEO 6M - Amazon Link
Parti Generali:
1x batteria lipo da 3,7 V
1x convertitore step-up 3.7-5v (se non costruisci il pcb)
1x Raspberry pi o qualsiasi computer in grado di ospitare un server php
-Accesso alla stampante 3D
-BOM per pcb è elencato nel foglio di calcolo
-Gerbers sono nel repository github -
Passaggio 2: sottosistema 1: monitoraggio della posizione
Test:
Una volta che hai le parti per il sistema (NEO-6M GPS, Sim800L) in mano, devi testare la funzionalità dei sistemi in modo indipendente in modo da non avere mal di testa cercando di capire cosa non funziona quando integri i sistemi.
Test GPS:
Per testare il ricevitore GPS, puoi utilizzare il software fornito da Ublox (U-Center Software)
o lo schizzo di prova collegato nel repository github (test GPS)
1. Per eseguire il test con il software U-center, è sufficiente collegare il ricevitore GPS tramite USB e selezionare la porta com in U-center, dopodiché il sistema dovrebbe iniziare automaticamente a tracciare la tua posizione.
2. Per testare con un microcontrollore, carica lo schizzo del test GPS su un arduino tramite l'IDE. Quindi collegare 5V e GND ai pin etichettati sul ricevitore all'arduino e il pin GPS RX al digitale 3 e il pin TX al digitale 4 sull'arduino. Infine apri il monitor seriale sull'IDE arduino e imposta il baud rate a 9600 e verifica che le coordinate ricevute siano corrette.
Nota: un identificatore visivo dell'aggancio del satellite sul modulo NEO-6M è che l'indicatore LED rosso lampeggerà ogni pochi secondi per indicare una connessione.
SIM800L Test:
Per testare il modulo cellulare dovrai avere una sim card registrata con un piano dati attivo, consiglio Ting perché fanno pagare solo quello che usi invece di un piano dati mensile.
L'obiettivo del modulo Sim è inviare una richiesta HTTP GET al server con la posizione ricevuta dal ricevitore GPS.
1. Per testare il modulo cella, inserire la simcard nel modulo con l'estremità smussata rivolta verso l'esterno
2. Collega il modulo sim a GND e una sorgente 3.7-4.2v, non usare 5v!!!! il modulo non è in grado di funzionare a 5v. Collega il modulo Sim RX ad Analog 2 e TX ad Analog 3 su Arduino
3. Carica lo sketch del pass-through seriale da github per poter inviare comandi al modulo cella.
4. segui questo tutorial o scarica la versione di prova di AT Command Tester per testare la funzionalità HTTP GET
Implementazione:
Una volta verificato che entrambi i sistemi funzionano in modo indipendente, puoi passare al caricamento dello sketch completo sul microcontrollore github. è possibile aprire il monitor seriale a 9600 baud per verificare che il sistema stia inviando dati al webserver.
* non dimenticare di cambiare l'ip e la porta del server con i tuoi e assicurati di trovare l'APN per il provider di telefonia cellulare che stai utilizzando.
Passa al passaggio successivo in cui impostiamo il server
Passaggio 3: configurazione del server
Per configurare un server per visualizzare la posizione del razzo, ho usato un raspberry pi come host, ma puoi usare qualsiasi computer.
Segui questo tutorial sulla configurazione di lightphp su un RPI e quindi copia i file php da github nella cartella /var/www/html del tuo RPI. Dopo basta usare il comando
sudo service lighttpd force-reload
per ricaricare il server.
Assicurati di inoltrare le porte associate al server sul tuo router in modo da poter accedere ai dati in remoto. Sull'rpi dovrebbe essere la porta 80 e la porta esterna può essere un numero arbitrario.
È una buona idea impostare un IP statico per l'RPI in modo che le porte che inoltri puntino sempre verso l'indirizzo dell'RPI.
Passaggio 4: sottosistema 2: registrazione della telemetria
Il programma di telemetria viene eseguito su un microcontrollore separato dal sistema di tracciamento della posizione. Questa decisione è stata presa a causa delle limitazioni di memoria sull'ATmega328 che impediscono a entrambi i programmi di essere eseguiti su un sistema. Un'altra scelta di microcontrollore con specifiche avanzate potrebbe risolvere questo problema e consentire l'uso di un processore centrale, ma volevo utilizzare le parti che avevo a portata di mano per facilità d'uso.
Caratteristiche: Questo programma si basa su un altro esempio che ho trovato online qui.
- Il programma legge nativamente l'altitudine relativa (lettura dell'altitudine azzerata all'avvio), temperatura, pressione, accelerazione in direzione X (sarà necessario cambiare la direzione di accelerazione letta in base all'orientamento fisico del sensore) e un timestamp (in millis).
- Per evitare che i dati vengano registrati mentre si è seduti sul launchpad e sprecano spazio di archiviazione, il sistema inizierà a scrivere i dati solo una volta rilevato un cambiamento di altitudine (configurabile nel programma) e smetterà di scrivere i dati una volta rilevato che il razzo è tornato al suo originale altitudine, o dopo che è trascorso un tempo di volo di 5 minuti.
- Il sistema indicherà che è acceso e che sta scrivendo dati tramite un singolo LED di indicatore.
Test:
Per testare il sistema prima collegare la scheda SD breakout
Scheda SD Arduino
Pin 4 ---------------- CS
Pin 11 -------------- DI
Pin 13 -------------- SCK
Pin 12 -------------- DO
Ora collega la GY-86 al sistema tramite I^2C
Arduino GY-86
Pin A4 -------------- SDA
Pin A5 -------------- SCL
Pin 2 ---------------- INTA
Sulla scheda SD creare un file nella directory principale denominato datalog.txt, questo è il punto in cui il sistema scriverà i dati.
Prima di caricare lo sketch Data_Logger.ino sul microcontrollore, modificare il valore di ALT_THRESHOLD su 0 in modo che il sistema ignori l'altitudine per il test. Dopo il caricamento, aprire il monitor seriale a 9600 baud per visualizzare l'output del sistema. Assicurarsi che il sistema sia in grado di connettersi al sensore e che i dati vengano scritti sulla scheda SD. Scollegare il sistema e inserire la scheda SD nel computer per verificare che i dati siano stati scritti sulla scheda.
Passaggio 5: integrazione del sistema
Dopo aver verificato che ogni parte del sistema funzioni nella stessa configurazione utilizzata sul PCB principale, è tempo di riunire tutto e prepararsi per il lancio! Ho incluso i file Gerbers e EAGLE per il PCB e lo schema nel github. dovrai caricare i gerber su un produttore come OSH Park o JLC per farli produrre. Queste schede sono a due strati e sono abbastanza piccole da adattarsi alla maggior parte dei produttori nella categoria 10 cm x 10 cm per schede economiche.
Una volta che le schede sono tornate dalla produzione, è tempo di saldare tutti i componenti trovati nel foglio di calcolo e nell'elenco delle parti sulla scheda.
Programmazione:
Dopo aver saldato tutto, dovrai caricare i programmi sui due microcontrollori. Per risparmiare spazio sulla scheda non ho incluso alcuna funzionalità USB, ma ho lasciato l'ICSP e le porte seriali interrotte in modo da poter ancora caricare e monitorare il programma.
- Per caricare il programma segui questo tutorial sull'utilizzo di una scheda Arduino come programmatore. Carica SimGpsTransmitter.ino sulla porta ICSP_GPS e Data_Logger.ino sulla porta ICSP_DL (La porta ICSP sul PCB ha lo stesso layout di quella che si trova sulle schede Arduino UNO standard).
-
Una volta caricati tutti i programmi, è possibile alimentare il dispositivo dall'ingresso della batteria con 3,7-4,2 V e utilizzare le 4 spie luminose per verificare che il sistema funzioni.
- Le prime due spie 5V_Ok e VBATT_OK indicano che la batteria e i binari 5v sono alimentati.
- La terza spia DL_OK lampeggerà ogni 1 secondo per indicare che la registrazione della telemetria è attiva.
- L'ultima spia SIM_Transmit si accenderà una volta che i moduli cellulare e GPS sono collegati e i dati vengono inviati al server.
Passaggio 6: allegato
Il razzo attorno al quale sto progettando questo progetto ha un diametro interno di 29 mm, per proteggere l'elettronica e consentire al gruppo di adattarsi all'interno del corpo cilindrico del razzo ho realizzato una semplice custodia stampata in 3d in due parti che è imbullonata insieme e ha porte di visualizzazione per gli indicatori luminosi. I file STL per la stampa e i file.ipt originali si trovano nel repository github. Non l'ho modellato perché non ero sicuro della batteria che avrei usato in quel momento, ma ho creato manualmente un incavo per una batteria da 120 mAh per stare a filo con la parte inferiore del case. Si stima che questa batteria fornisca ~ 45 min di autonomia massima per il sistema con un consumo energetico di ~ 200 mA (questo dipende dall'utilizzo del processore e dall'assorbimento di potenza per la trasmissione dei dati, il SIM800L è indicato per assorbire fino a 2 A a raffiche durante la comunicazione).
Passaggio 7: conclusione
Questo progetto è stata un'implementazione piuttosto semplice di due sistemi separati, dato che stavo solo usando moduli discreti trovati su Amazon, l'integrazione complessiva del sistema è un po' scarsa poiché la dimensione complessiva del progetto è piuttosto grande per quello che fa. Guardando le offerte di alcuni produttori, l'utilizzo di un SIP che include sia cellulare che GPS ridurrebbe notevolmente le dimensioni complessive del pacchetto.
Sono certo che dopo ulteriori test in volo dovrò apportare alcune modifiche al programma e sarò sicuro di aggiornare il repository Github con eventuali modifiche.
Spero che questo progetto ti sia piaciuto, non esitare a contattarmi per qualsiasi domanda tu possa avere.
Consigliato:
Sensore di posizione del cavalletto per bicicletta di Magicbit [Magicblocks]: 8 passaggi
Sensore di posizione del cavalletto per bicicletta di Magicbit [Magicblocks]: semplice progetto fai-da-te per realizzare un sensore di posizione del cavalletto con un Magicbit usando Magicblocks. Stiamo usando magicbit come scheda di sviluppo in questo progetto basato su ESP32. Pertanto qualsiasi scheda di sviluppo ESP32 può essere utilizzata in questo progetto
Piattaforma di lancio del razzo Overkill Model!: 11 passaggi (con immagini)
Overkill Model Rocket Launch Pad!: Qualche tempo fa ho pubblicato un post di Instructables sul mio "Overkill Model Rocket Launch Controller" insieme a un video di YouTube. L'ho realizzato come parte di un enorme progetto di modello di razzo in cui sto rendendo tutto il più esagerato possibile, nel tentativo di imparare
Lampada a razzo: 11 passaggi (con immagini)
Lampada a razzo: ho avuto questa idea di lampada a razzo da un po' di tempo. Penso di aver visto un'immagine di qualcosa di simile in rete e mi è rimasta impressa. La cosa che mi stava trattenendo era il vero razzo. Inizialmente volevo farne uno in legno e usare un tornio per
EAL-Industria 4.0-Razzo intelligente: 8 passaggi (con immagini)
EAL-Industry 4.0-Smart Rocket: Questo è un progetto scolastico, realizzato su Erhversakademiet Lillebælt in Danimarca.Il progetto è realizzato in una classe chiamata "Industri 4.0".Il compito è implementare un sistema automatico dell'industria 4.0 principi.Il sistema dovrebbe essere in grado di
Tracciatore della curva del tubo: 10 passaggi
Tracciatore della curva del tubo: Questo è per tutti quegli appassionati e hacker di amplificatori a valvole là fuori. Volevo costruire un amplificatore stereo a valvole di cui essere orgoglioso. Tuttavia, durante il cablaggio, ho scoperto che alcuni 6AU6 si sono semplicemente rifiutati di polarizzare dove avrebbero dovuto. Io ho