Sadržaj:
- Korak 1: Popis dijelova
- Korak 2: Podsustav 1: Praćenje položaja
- Korak 3: Postavljanje poslužitelja
- Korak 4: Podsustav 2: Telemetrijsko bilježenje
- Korak 5: Integracija sustava
- Korak 6: Ograđivanje
- Korak 7: Zaključak
Video: Raketna telemetrija/praćenje položaja: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Ovaj je projekt namijenjen bilježenju podataka o letu s 9 DOF senzorskog modula na SD karticu, a istovremeno prenosi njegovu GPS lokaciju putem mobilnih mreža na poslužitelj. Ovaj sustav omogućuje pronalaženje rakete ako je područje slijetanja sustava izvan LOS -a.
Korak 1: Popis dijelova
Telemetrijski sustav:
1x mikrokontroler ATmega328 (Arduino UNO, Nano)
1x Micro SD razbijanje -
1x Micro SD kartica - (veličina nije bitna u formatu FAT 16/32) - Amazon Link
1x Gy -86 IMU - Amazon Link
Praćenje položaja:
1x mikrokontroler ATmega328 (Arduino UNO, Nano) (svaki sustav treba vlastiti mikro)
1x SIM800L GSM GPRS modul - Amazon Link
1x SIM kartica (mora imati podatkovni plan) - https://ting.com/ (ting naplaćuje samo ono što koristite)
1x NEO 6M GPS modul - Amazon LInk
Opći dijelovi:
1x 3,7v lipo baterija
1x 3.7-5V pojačavač (ako ne izrađujete PCB)
1x Raspberry pi ili bilo koje računalo koje može ugostiti php poslužitelj
-Pristup 3D pisaču
-BOM za pcb naveden je u proračunskoj tablici
-Gerberi su na github repo -https://github.com/karagenit/maps-gps
Korak 2: Podsustav 1: Praćenje položaja
Testiranje:
Nakon što imate dijelove sustava (NEO-6M GPS, Sim800L) u ruci, morate neovisno testirati funkcionalnost sustava kako vas ne bi boljela glava pokušavajući otkriti što ne radi kada integrirate sustave.
GPS testiranje:
Za testiranje GPS prijamnika možete koristiti softver koji nudi Ublox (softver U-Center)
ili testna skica povezana u github repo (GPS test)
1. Za testiranje sa softverom U-center jednostavno priključite GPS prijamnik putem USB-a i odaberite com port u U-centru, sustav bi nakon toga trebao automatski početi pratiti vašu lokaciju.
2. Za testiranje s mikrokontrolerom, prenesite skicu GPS-testiranja na arduino putem IDE-a. Zatim spojite 5V i GND na označene pinove na prijemniku na arduino i GPS RX pin na digitalni 3 i TX pin na digitalni 4 na arduinu. Na kraju otvorite serijski monitor na arduino IDE -u i postavite brzinu prijenosa na 9600 i provjerite jesu li primljene koordinate točne.
Napomena: Vizualni identifikator satelitske brave na NEO-6M modulu je da će crveni LED indikator treperiti svakih nekoliko sekundi kako bi označio vezu.
Testiranje SIM800L:
Za testiranje mobilnog modula morat ćete imati SIM karticu registriranu s aktivnim podatkovnim planom, preporučujem Ting jer oni naplaćuju samo ono što koristite umjesto mjesečnog podatkovnog plana.
Cilj Sim modula je poslati HTTP GET zahtjev poslužitelju s lokacijom koju prima GPS prijemnik.
1. Za testiranje ćelijskog modula umetnite simkarticu u modul s kosim krajem prema van
2. Spojite sim modul na GND i izvor 3,7-4,2v, nemojte koristiti 5v !!!! modul ne može raditi na 5v. Spojite Sim modul RX na Analog 2 i TX na Analog 3 na Arduinu
3. Prenesite serijsku prolaznu skicu s githuba kako biste mogli slati naredbe u ćelijski modul.
4. slijedite ovaj vodič ili preuzmite probnu verziju AT Command Tester -a kako biste testirali HTTP GET funkcionalnost
Implementacija:
Nakon što provjerite rade li oba sustava neovisno, možete prijeći na prijenos cijele skice na github mikrokontrolera. možete otvoriti serijski monitor na 9600 bauda kako biste provjerili šalje li sustav podatke na web poslužitelj.
*ne zaboravite promijeniti IP poslužitelja i port na svoj i svakako pronađite APN za davatelja mobilnih usluga koji koristite.
Prijeđite na sljedeći korak gdje postavljamo poslužitelj
Korak 3: Postavljanje poslužitelja
Za postavljanje poslužitelja za prikaz lokacije rakete koristio sam malinu pi kao domaćina, ali možete koristiti bilo koje računalo.
Slijedite ovaj vodič o postavljanju lightphp -a na RPI -u, a zatim kopirajte php datoteke s github -a u mapu/var/www/html vašeg RPI -ja. Nakon toga samo upotrijebite naredbu
sudo servis lighttpd prisilno ponovno učitavanje
za ponovno učitavanje poslužitelja.
Proslijedite portove povezane sa poslužiteljem na usmjerivaču kako biste mogli daljinski pristupiti podacima. Na rpi bi trebao biti port 80, a vanjski port može biti proizvoljan broj.
Dobra je ideja postaviti statički ip za RPI tako da portovi koje prosljeđujete uvijek pokazuju prema RPI adresi.
Korak 4: Podsustav 2: Telemetrijsko bilježenje
Telemetrijski program radi na zasebnom mikrokontroleru od sustava za praćenje položaja. Ova je odluka donesena zbog ograničenja memorije na ATmega328 koja sprječava da se oba programa mogu izvoditi na jednom sustavu. Drugi izbor mikrokontrolera s poboljšanim specifikacijama mogao bi riješiti ovaj problem i omogućiti korištenje jednog središnjeg procesora, ali htio sam koristiti dijelove koje sam imao pri ruci radi lakše uporabe.
Značajke: Ovaj se program temelji na još jednom primjeru koji sam ovdje pronašao na internetu.
- Program izvorno čita relativnu nadmorsku visinu (očitanje visine postavljeno na nulu pri pokretanju), temperaturu, tlak, ubrzanje u smjeru X (morat ćete promijeniti smjer očitanja ubrzanja na temelju fizičke orijentacije senzora) i vremensku oznaku (u milisima).
- Kako bi spriječio zapisivanje podataka dok sjedi na podnožju za lansiranje i troši prostor za pohranu, sustav će početi pisati podatke tek kad otkrije promjenu visine (konfigurirano u programu) i prestat će pisati podatke kada otkrije da se raketa vratila na izvornu vrijednost nadmorskoj visini ili nakon što je proteklo vrijeme leta od 5 minuta.
- Sustav će pokazati da je uključen i zapisuje podatke putem jedne LED lampice.
Testiranje:
Za testiranje sustava prvo spojite proboj SD kartice
Arduino SD kartica
Pin 4 ---------------- CS
Pin 11 -------------- DI
Pin 13 -------------- SCK
Pin 12 -------------- DO
Sada spojite GY-86 na sustav putem I^2C
Arduino GY-86
Pin A4 -------------- SDA
Pin A5 -------------- SCL
Pin 2 ---------------- INTA
Na SD kartici stvorite datoteku u glavnom direktoriju pod nazivom datalog.txt, u koju će sustav upisivati podatke.
Prije prijenosa skice Data_Logger.ino na mikrokontroler promijenite vrijednost ALT_THRESHOLD na 0 kako bi sustav zanemario nadmorsku visinu za testiranje. Nakon prijenosa otvorite serijski monitor na 9600 bauda da vidite izlaz sustava. Uvjerite se da se sustav može spojiti na senzor i da se podaci zapisuju na SD karticu. Isključite sustav i umetnite SD karticu u računalo kako biste provjerili jesu li podaci zapisani na kartici.
Korak 5: Integracija sustava
Nakon što provjerite radi li svaki dio sustava u istoj konfiguraciji koja se koristi na glavnom PCB -u, vrijeme je da sve to spojite i pripremite za pokretanje! Uključio sam Gerbers i EAGLE datoteke za PCB i shemu u github. morat ćete učitati gerbere proizvođaču kao što je OSH park ili JLC kako bi ih proizveli. Ove su ploče dvoslojne i dovoljno su male da se uklapaju u većinu proizvođača 10cmx10cm u kategoriji jeftinih ploča.
Kad vratite ploče od proizvodnje, vrijeme je za lemljenje svih komponenti koje se nalaze u proračunskoj tablici i popisu dijelova na ploču.
Programiranje:
Nakon što je sve zalemljeno, morate učitati programe na dva mikrokontrolera. Kako bih uštedio prostor na ploči, nisam uključio nikakvu USB funkciju, ali sam ostavio ICSP i serijske portove pokvarenim, tako da i dalje možete učitavati i pratiti program.
- Za učitavanje programa slijedite ovaj vodič o korištenju Arduino ploče kao programera. Prenesite SimGpsTransmitter.ino na ICSP_GPS port i Data_Logger.ino na ICSP_DL port (ICSP port na PCB -u je istog izgleda kao i onaj koji se nalazi na standardnim Arduino UNO pločama).
-
Nakon što su svi programi učitani, možete napajati uređaj iz ulaza za bateriju s 3,7-4,2 V i koristiti 4 indikatorska svjetla za provjeru rada sustava.
- Prva dva svjetla 5V_Ok i VBATT_OK označavaju da se napajaju baterija i 5v tračnice.
- Treće svjetlo DL_OK treperit će svake 1 sekunde kako bi pokazalo da je bilježenje telemetrije aktivno.
- Posljednje svjetlo SIM_Transmit uključit će se nakon povezivanja mobilnih i GPS modula i slanja podataka na poslužitelj.
Korak 6: Ograđivanje
Raketa oko koje dizajniram ovaj projekt ima unutarnji promjer 29 mm, kako bih zaštitio elektroniku i omogućio da sklop stane unutar cilindričnog tijela rakete. Napravio sam jednostavnu dvodijelnu 3D tiskanu kutiju koja je spojena vijcima i ima pregledavanje priključaka za indikatorska svjetla. STL datoteke za ispis i izvorne.ipt datoteke nalaze se u github repo. Nisam ovo modelirao jer nisam bio siguran u to vrijeme koju ću bateriju koristiti, ali sam ručno napravio udubljenje za bateriju od 120 mAh koja će sjediti u ravnini s dnom kućišta. Procjenjuje se da ova baterija daje maksimalno vrijeme rada sustava ~ 45 min pri potrošnji energije od ~ 200 mA (To ovisi o upotrebi procesora i potrošnji energije za prijenos podataka, navodi se da SIM800L tijekom komunikacije crpi više od 2A u rafalima).
Korak 7: Zaključak
Ovaj je projekt bio prilično jednostavna implementacija dva odvojena sustava, s obzirom na to da sam samo koristio diskretne module koji se nalaze na Amazonu, cjelokupna integracija sustava je pomalo mutna jer je ukupna veličina projekta prilično velika za ono što radi. Gledajući ponude nekih proizvođača, korištenje SIP -a koji uključuje i mobilnu mrežu i GPS uvelike bi smanjilo ukupnu veličinu pakiranja.
Siguran sam da ću nakon više letačkih testiranja morati unijeti neke izmjene u program i bit ću siguran da ću ažurirati Github repo sa svim promjenama.
Nadam se da ste uživali u ovom projektu, slobodno me kontaktirajte u slučaju bilo kakvih pitanja.
Preporučeni:
Senzor položaja biciklističkog postolja iz Magicbita [Magicblocks]: 8 koraka
Senzor položaja biciklističkog postolja iz Magicbita [Magicblocks]: Jednostavan DIY projekt za izradu senzora položaja postolja s Magicbitom pomoću Magicblocks -a. Koristimo magicbit kao razvojnu ploču u ovom projektu koji se temelji na ESP32. Stoga se u ovom projektu može koristiti bilo koja razvojna ploča ESP32
Prilagođeni kružni točak (lonac kao senzor položaja): 10 koraka
Prilagođeni kružni točak (lonac kao senzor položaja): odricanje od odgovornosti: nemojte me kriviti što ne prikazujem korak po korak ovo bi trebalo biti samo referenca, a ja samo govorim ono što sam učinio i rezultat, on ima neke osnovne nedostatke poput buka pa nemojte raditi baš kao ja i očekujte izvanredan rezultat, a f
Praćenje i praćenje za male trgovine: 9 koraka (sa slikama)
Track & trace za male trgovine: Ovo je sustav koji je napravljen za male trgovine koje bi se trebale montirati na e-bicikle ili e-skutere za kratke isporuke, na primjer pekara koja želi isporučivati peciva. Track and Trace znači sustav Track and Trace koji koriste ca
DIY pametni robotski alati za praćenje automobila Kompleti za praćenje automobila Fotoosjetljivi: 7 koraka
DIY Pametni roboti za praćenje automobila Kompleti za praćenje Automobil Fotoosjetljivi: Dizajn SINONING ROBOT -a Možete kupiti od robota za praćenje Robotski čip TheoryLM393 usporedite dva fotootpornika, kada LED dioda s jednog bočnog fotootpornika na BIJELOJ strani motora odmah će se zaustaviti, s druge strane motora okreni se pa
Raketna lampa: 11 koraka (sa slikama)
Raketna svjetiljka: Već neko vrijeme imam ideju o ovoj raketnoj svjetiljci. Mislim da sam vidio sliku nečeg sličnog na netu i da mi se zalijepila. Ono što me sputavalo bila je stvarna raketa. U početku sam htio napraviti jedan od drveta i koristiti tokarski stroj za