Kazalo:

Raketna telemetrija/sledilnik položaja: 7 korakov
Raketna telemetrija/sledilnik položaja: 7 korakov

Video: Raketna telemetrija/sledilnik položaja: 7 korakov

Video: Raketna telemetrija/sledilnik položaja: 7 korakov
Video: The Electrifying Rise of Formula E: The Future of Motorsports - Real Racing 3 Gameplay 🏎🚗🚙🚘🎮📲 2024, Julij
Anonim
Raketna telemetrija/sledilnik položaja
Raketna telemetrija/sledilnik položaja

Namen tega projekta je beleženje podatkov o letu iz senzorskega modula 9 DOF na kartico SD in hkrati prenos njegove lokacije GPS prek mobilnih omrežij na strežnik. Ta sistem omogoča iskanje rakete, če pristajalno območje sistema presega LOS.

Korak: Seznam delov

Seznam delov
Seznam delov
Seznam delov
Seznam delov

Telemetrijski sistem:

1x mikrokrmilnik ATmega328 (Arduino UNO, Nano)

1x prekinitev Micro SD -

1x kartica Micro SD - (velikost ni pomembna v formatu FAT 16/32) - Amazon Link

1x Gy -86 IMU - Amazon Link

Sledenje položaja:

1x mikrokrmilnik ATmega328 (Arduino UNO, Nano) (vsak sistem potrebuje svoj mikro)

1x SIM800L GSM GPRS modul - Amazon Link

1x kartica SIM (mora imeti podatkovni paket) - https://ting.com/ (ting zaračuna samo tisto, kar uporabljate)

1x GPS modul NEO 6M - Amazon LInk

Splošni deli:

1x 3,7V lipo baterija

1x 3.7-5v povečevalni pretvornik (če ne sestavite tiskanega vezja)

1x Raspberry pi ali kateri koli računalnik, ki lahko gosti php strežnik

-Dostop do 3D tiskalnika

-BOM za pcb je naveden v preglednici

-Gerbers so na github repo -https://github.com/karagenit/maps-gps

2. korak: Podsistem 1: Sledenje položaja

Testiranje:

Ko imate v roki dele za sistem (NEO-6M GPS, Sim800L), morate samostojno preizkusiti funkcionalnost sistemov, da vas pri integraciji sistemov ne bo bolelo glava.

GPS testiranje:

Za preizkus sprejemnika GPS lahko uporabite programsko opremo Ublox (programska oprema U-Center)

ali preskusna skica, povezana v github repo (GPS Test)

1. Če želite preizkusiti s programsko opremo U-center, preprosto priključite sprejemnik GPS prek USB-ja in izberite vrata Com v U-centru, sistem mora po tem samodejno začeti slediti vaši lokaciji.

2. Za preskus z mikrokrmilnikom naložite skico za testiranje GPS na arduino prek IDE. Nato priključite 5V in GND na označene zatiče sprejemnika na arduino in pin RX GPS na digitalni 3 in pin TX na digitalni 4 na arduinu. Končno odprite serijski monitor na arduino IDE in nastavite hitrost prenosa na 9600 in preverite, ali so prejete koordinate pravilne.

Opomba: Vizualni identifikator satelitske ključavnice na modulu NEO-6M je, da rdeči LED indikator utripa vsakih nekaj sekund, kar označuje povezavo.

Testiranje SIM800L:

Če želite preizkusiti celični modul, morate imeti kartico SIM, registrirano z aktivnim podatkovnim paketom, priporočam Ting, ker zaračunavajo le tisto, kar uporabljate, namesto mesečnega podatkovnega načrta.

Cilj modula Sim je poslati strežniku zahtevo HTTP GET strežniku z lokacijo, ki jo sprejme sprejemnik GPS.

1. Za preizkus celičnega modula vstavite sim kartico v modul s poševnim koncem navzven

2. Sim-modul priključite na GND in vir 3,7-4,2v, ne uporabljajte 5v !!!! modul ne more delovati pri napetosti 5v. Sim -modul RX priključite na Analog 2 in TX na Analog 3 na Arduinu

3. Naložite serijsko prehodno skico iz github-a, da boste lahko pošiljali ukaze v celični modul.

4. sledite tej vadnici ali prenesite preskus AT Command Tester, da preizkusite funkcionalnost HTTP GET

Izvajanje:

Ko preverite, ali oba sistema delujeta neodvisno, lahko nadaljujete s prenosom celotne skice v github mikrokrmilnika. lahko odprete serijski monitor pri 9600 baud, da preverite, ali sistem pošilja podatke na spletni strežnik.

*ne pozabite spremeniti IP strežnika in vrat strežnika na svoje ter najti APN za ponudnika mobilnih storitev, ki ga uporabljate.

Premaknite se na naslednji korak, kjer smo nastavili strežnik

3. korak: Namestitev strežnika

Namestitev strežnika
Namestitev strežnika

Za nastavitev strežnika za prikaz lokacije rakete sem kot gostitelja uporabil malinovo pi, lahko pa uporabite kateri koli računalnik.

Sledite tej vadnici za nastavitev lightphp na RPI in nato kopirajte datoteke php iz github v mapo/var/www/html svojega RPI. Potem samo uporabite ukaz

sudo storitev lighttpd prisilno ponovno nalaganje

za ponovno nalaganje strežnika.

Posredujte vrata, povezana s strežnikom na usmerjevalniku, da lahko dostopate do podatkov na daljavo. Na rpi bi morala biti vrata 80, zunanja vrata pa lahko poljubno število.

Dobra ideja je, da za RPI nastavite statični IP, tako da vrata, ki jih posredujete, vedno kažejo proti naslovu RPI.

4. korak: Podsistem 2: Telemetrijsko beleženje

Telemetrijski program deluje na ločenem mikrokrmilniku od sistema za sledenje položaja. Ta odločitev je bila sprejeta zaradi omejitev pomnilnika na ATmega328, ki preprečujeta, da bi se lahko oba programa izvajala v enem sistemu. Druga izbira mikrokrmilnika z izboljšanimi specifikacijami bi lahko rešila to težavo in omogočila uporabo enega osrednjega procesorja, vendar sem za lažjo uporabo želel uporabiti dele, ki sem jih imel pri roki.

Značilnosti: Ta program temelji na drugem primeru, ki sem ga našel na spletu.

  • Program izvorno bere relativno nadmorsko višino (odčitavanje nadmorske višine pri zagonu nič), temperaturo, tlak, pospešek v smeri X (smer odčitavanja pospeška boste morali spremeniti glede na fizično usmerjenost senzorja) in časovni žig (v milisah).
  • Da bi preprečili beleženje podatkov med sedenjem na izstrelitveni plošči in zapravljanjem prostora za shranjevanje, bo sistem začel pisati podatke šele, ko zazna spremembo nadmorske višine (nastavljivo v programu), in preneha pisati podatke, ko zazna, da se je raketa vrnila v izvirnik nadmorske višine ali po preteku leta 5 minut.
  • Sistem bo pokazal, da je vklopljen in zapisuje podatke z eno samo indikatorsko LED.

Testiranje:

Če želite preizkusiti sistem, najprej priključite prekinitev kartice SD

Arduino SD kartica

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

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

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

Pin 12 -------------- DO

Zdaj povežite GY-86 s sistemom prek I^2C

Arduino GY-86

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

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

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

Na kartici SD ustvarite datoteko v glavnem imeniku z imenom datalog.txt, kamor bo sistem zapisoval podatke.

Preden naložite skico Data_Logger.ino v mikrokrmilnik, spremenite vrednost ALT_THRESHOLD na 0, da sistem ne upošteva nadmorske višine za testiranje. Po nalaganju odprite serijski monitor pri 9600 baud, da si ogledate izhod sistema. Prepričajte se, da se sistem lahko poveže s senzorjem in da se podatki zapisujejo na kartico SD. Odklopite sistem in vstavite kartico SD v računalnik, da preverite, ali so bili podatki zapisani na kartici.

5. korak: Sistemska integracija

Sistemska integracija
Sistemska integracija
Sistemska integracija
Sistemska integracija

Ko se prepričate, da vsak del sistema deluje v isti konfiguraciji, ki je uporabljena na glavnem tiskanem vezju, je čas, da vse združite in se pripravite na zagon! V datoteko github sem vključil datoteke Gerbers in EAGLE za tiskano vezje in shemo. za izdelavo gerberjev boste morali naložiti proizvajalcu, kot je OSH park ali JLC. Te plošče so dvoslojne in dovolj majhne, da se prilegajo kategoriji poceni plošč večine proizvajalcev 10cmx10cm.

Ko imate plošče nazaj od proizvodnje, je čas, da vse komponente, ki jih najdete v preglednici in na seznamu delov, spajkate na ploščo.

Programiranje:

Ko je vse spajkano, morate naložiti programe na dva mikrokrmilnika. Da bi prihranil prostor na plošči, nisem vključil nobene funkcije USB, vendar sem pustil ICSP in serijska vrata izločena, tako da lahko še vedno naložite in spremljate program.

  • Če želite naložiti program, sledite tej vadnici o uporabi plošče Arduino kot programerja. Naložite SimGpsTransmitter.ino na vrata ICSP_GPS in Data_Logger.ino na vrata ICSP_DL (vrata ICSP na tiskanem vezju so enake postavitve kot na standardnih ploščah Arduino UNO).
  • Ko so naloženi vsi programi, lahko napravo napajate iz vhoda za baterijo s 3,7-4,2 V in s 4 lučkami preverite, ali sistem deluje.

    • Prvi dve luči 5V_Ok in VBATT_OK označujeta, da sta napajana baterija in 5v tirnice.
    • Tretja lučka DL_OK utripa vsake 1 sekunde, kar pomeni, da je telemetrijsko beleženje aktivno.
    • Zadnja lučka SIM_Transmit se prižge, ko se povežejo mobilni in GPS moduli ter se podatki pošljejo na strežnik.

6. korak: ohišje

Ohišje
Ohišje

Raketa, za katero načrtujem ta projekt, ima notranji premer 29 mm, da bi zaščitila elektroniko in omogočila, da se sklop prilega notranjosti valjastega telesa rakete. Naredila sem preprosto dvodelno 3D tiskano ohišje, ki je pritrjeno skupaj in ogled lukenj za indikatorske lučke. Datoteke STL za tiskanje in izvirne datoteke.ipt so v repoju github. Tega nisem modeliral, ker nisem bil prepričan glede baterije, ki bi jo takrat uporabil, ampak sem ročno ustvaril vdolbino za 120 mAh baterijo, ki bo poravnana s spodnjim delom ohišja. Ocenjuje se, da ta baterija daje sistemu ~ 45min največ časa delovanja pri ~ 200mA porabi energije (To je odvisno od porabe procesorja in porabe energije za prenos podatkov, SIM800L med komunikacijo porabi več kot 2A).

7. korak: Zaključek

Ta projekt je bil precej preprosta izvedba dveh ločenih sistemov, glede na to, da sem uporabljal samo diskretne module, ki jih najdemo na Amazonu, je celotna sistemska integracija nekoliko nejasna, saj je celotna velikost projekta precej velika. Če pogledamo ponudbe nekaterih proizvajalcev, bi uporaba SIP, ki vključuje tako mobilno povezavo kot GPS, močno zmanjšala celotno velikost paketa.

Prepričan sem, da bom moral po več testiranjih med letom narediti nekaj sprememb v programu in zagotovo posodobiti repo Github z vsemi spremembami.

Upam, da ste uživali v tem projektu. Če imate kakršna koli vprašanja, me kontaktirajte.

Priporočena: