Sadržaj:

Raketna telemetrija/praćenje položaja: 7 koraka
Raketna telemetrija/praćenje položaja: 7 koraka

Video: Raketna telemetrija/praćenje položaja: 7 koraka

Video: Raketna telemetrija/praćenje položaja: 7 koraka
Video: Нещо Необяснимо се Случва в Космоса Точно Сега 2024, Srpanj
Anonim
Raketna telemetrija/Praćenje položaja
Raketna telemetrija/Praćenje položaja

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

Popis dijelova
Popis dijelova
Popis dijelova
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

Postavljanje poslužitelja
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

Integracija sustava
Integracija sustava
Integracija sustava
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

Kućište
Kućište

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: