Turinys:

Raketų telemetrija/padėties stebėjimas: 7 žingsniai
Raketų telemetrija/padėties stebėjimas: 7 žingsniai

Video: Raketų telemetrija/padėties stebėjimas: 7 žingsniai

Video: Raketų telemetrija/padėties stebėjimas: 7 žingsniai
Video: Часть 5 — Аудиокнига Эдит Уортон «Дом веселья» (книга 2 — главы 06–10) 2024, Liepa
Anonim
Raketų telemetrijos/padėties stebėjimo priemonė
Raketų telemetrijos/padėties stebėjimo priemonė

Šis projektas skirtas registruoti skrydžio duomenis iš 9 DOF jutiklio modulio į SD kortelę ir tuo pačiu metu perduoti jo GPS vietą korinio ryšio tinklais į serverį. Ši sistema leidžia raketą rasti, jei sistemos nusileidimo zona yra už LOS.

1 žingsnis: dalių sąrašas

Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas

Telemetrijos sistema:

1x ATmega328 mikrovaldiklis („Arduino UNO“, „Nano“)

1x „Micro SD Breakout“-

1x „Micro SD“kortelė - (dydis nesvarbu FAT 16/32 formatu) - „Amazon Link“

1x Gy -86 IMU - „Amazon Link“

Padėties stebėjimas:

1x ATmega328 mikrovaldiklis („Arduino UNO“, „Nano“) (kiekvienai sistemai reikia savo mikro)

1x Sim800L GSM GPRS modulis - „Amazon Link“

1x SIM kortelė (turi turėti duomenų planą) - https://ting.com/ (tik apmokestinama už tai, ką naudojate)

1x NEO 6M GPS modulis - „Amazon LInk“

Bendrosios dalys:

1x 3,7v lipo baterija

1x 3.7-5v pakopinis keitiklis (jei nestatote PCB)

1x „Raspberry pi“arba bet kuris kompiuteris, kuriame gali būti php serveris

-Prieiga prie 3D spausdintuvo

-BOM PCB yra išvardytas skaičiuoklėje

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

2 žingsnis: 1 posistemis: padėties stebėjimas

Bandymas:

Kai turėsite sistemos dalis (NEO-6M GPS, Sim800L), turite savarankiškai išbandyti sistemų funkcionalumą, kad jums neskaudėtų galvos, bandant išsiaiškinti, kas neveikia integruojant sistemas.

GPS testavimas:

Norėdami išbandyti GPS imtuvą, galite naudoti „Ublox“pateiktą programinę įrangą („U-Center Software“)

arba „Github“repo susietas bandymo eskizas (GPS testas)

1. Norėdami išbandyti naudodami „U-center“programinę įrangą, tiesiog prijunkite GPS imtuvą per USB ir pasirinkite „com“prievadą „U-centre“, po to sistema turėtų automatiškai pradėti sekti jūsų buvimo vietą.

2. Norėdami išbandyti naudodami mikrovaldiklį, įkelkite GPS testavimo eskizą į arduino per IDE. Tada prijunkite 5 V ir GND prie imtuvo kaiščių prie arduino ir GPS RX kaiščio prie skaitmeninio 3 ir TX kaiščio prie skaitmeninio 4 arduino. Galiausiai atidarykite serijinį monitorių „arduino IDE“ir nustatykite duomenų perdavimo spartą į 9600 ir patikrinkite, ar gautos koordinatės teisingos.

Pastaba: vizualus palydovinio užrakto identifikatorius NEO-6M modulyje yra tas, kad raudonas indikatorius mirksi kas kelias sekundes, rodydamas ryšį.

SIM800L bandymas:

Norėdami išbandyti korinį modulį, turėsite turėti SIM kortelę, užregistruotą aktyviame duomenų plane, rekomenduoju „Ting“, nes jie ima mokestį tik už tai, ką naudojate, o ne mėnesinį duomenų planą.

„Sim“modulio tikslas yra nusiųsti HTTP GET užklausą į serverį su vieta, kurią gauna GPS imtuvas.

1. Norėdami patikrinti ląstelių modulį, įdėkite simcard kortelę į modulį taip, kad jos galas būtų nukreiptas į išorę

2. Prijunkite sim modulį prie GND ir 3.7-4.2v šaltinio, nenaudokite 5v !!!! modulis negali veikti esant 5 V įtampai. Prijunkite „Sim“modulį RX prie „Arduino“2 ir „TX“prie 3 analogo

3. Įkelkite nuoseklaus perdavimo eskizą iš „github“, kad galėtumėte siųsti komandas į ląstelių modulį.

4. vadovaukitės šia pamoka arba atsisiųskite „AT Command Tester“bandomąją versiją, kad patikrintumėte HTTP GET funkcionalumą

Įgyvendinimas:

Kai įsitikinsite, kad abi sistemos veikia nepriklausomai, galite pereiti prie viso eskizo įkėlimo į mikrovaldiklio github. galite atidaryti nuoseklųjį monitorių esant 9600 baudų, kad patikrintumėte, ar sistema siunčia duomenis į žiniatinklio serverį.

*nepamirškite pakeisti serverio IP ir prievado į savo ir būtinai suraskite naudojamo mobiliojo ryšio teikėjo APN.

Pereikite prie kito veiksmo, kuriame nustatėme serverį

3 veiksmas: serverio sąranka

Serverio sąranka
Serverio sąranka

Norėdami nustatyti serverį, kad būtų rodoma raketos buvimo vieta, aš kaip šeimininką naudojau aviečių pi, bet galite naudoti bet kurį kompiuterį.

Vykdykite šią pamoką, kaip nustatyti „lightphp“RPI, tada nukopijuokite php failus iš „github“į savo RPI aplanką/var/www/html. Tiesiog naudokite komandą

sudo tarnyba lighttpd jėgos perkrovimas

iš naujo įkelti serverį.

Būtinai persiųskite prievadus, susietus su maršrutizatoriaus serveriu, kad galėtumėte pasiekti duomenis nuotoliniu būdu. Rpi turėtų būti 80 prievadas, o išorinis prievadas gali būti savavališkas skaičius.

Gera idėja nustatyti statinį RPI IP, kad jūsų siunčiami prievadai visada nukreiptų į RPI adresą.

4 žingsnis: 2 posistemis: telemetrijos registravimas

Telemetrijos programa veikia atskirame mikrovaldiklyje nuo padėties stebėjimo sistemos. Šis sprendimas buvo priimtas dėl atminties apribojimų ATmega328, todėl abi programos negalėjo veikti vienoje sistemoje. Kitas pasirinktas mikrovaldiklis su patobulintomis specifikacijomis galėtų išspręsti šią problemą ir leisti naudoti vieną centrinį procesorių, tačiau norėjau patogiau naudoti turimas dalis.

Savybės: Ši programa pagrįsta kitu pavyzdžiu, kurį radau internete čia.

  • Programa iš pradžių nuskaito santykinį aukštį (aukščio rodmenys nuliui paleidžiant), temperatūrą, slėgį, pagreitį X kryptimi (turėsite pakeisti pagreičio nuskaitymo kryptį, pagrįstą fizine jutiklio orientacija), ir laiko žymę (milis).
  • Kad duomenys nebūtų registruojami sėdint paleidimo skydelyje ir eikvojant saugyklos vietą, sistema pradės rašyti duomenis tik nustačiusi aukščio pasikeitimą (galima konfigūruoti programoje) ir nustos rašyti duomenis, kai aptiks, kad raketa grįžo į pradinę padėtį aukštyje arba praėjus 5 minučių skrydžio laikui.
  • Sistema parodys, kad yra įjungta ir įrašo duomenis per vieną indikatoriaus šviesos diodą.

Bandymas:

Norėdami išbandyti sistemą, pirmiausia prijunkite SD kortelės pertrauką

„Arduino“SD kortelė

4 kaištis ---------------- CS

11 kaištis -------------- DI

Smeigtukas 13 -------------- SCK

12 kaištis -------------- DARYTI

Dabar prijunkite GY-86 prie sistemos per I^2C

„Arduino GY-86“

Smeigtukas A4 -------------- SDA

Smeigtukas A5 -------------- SCL

2 kaištis ---------------- INTA

SD kortelėje sukurkite failą pagrindiniame kataloge pavadinimu datalog.txt, į kurį sistema įrašys duomenis.

Prieš įkeldami „Data_Logger.ino“eskizą į mikrovaldiklį, pakeiskite ALT_THRESHOLD reikšmę į 0, kad sistema nekreiptų dėmesio į bandymo aukštį. Įkėlę atidarykite 9600 baudų serijos monitorių, kad pamatytumėte sistemos išvestį. Įsitikinkite, kad sistema gali prisijungti prie jutiklio ir kad duomenys įrašomi į SD kortelę. Atjunkite sistemą ir įdėkite SD kortelę į kompiuterį, kad patikrintumėte, ar kortelėje įrašyti duomenys.

5 žingsnis: sistemos integravimas

Sistemos integracija
Sistemos integracija
Sistemos integracija
Sistemos integracija

Patikrinus, ar kiekviena sistemos dalis veikia ta pačia konfigūracija, kuri naudojama pagrindinėje PCB, atėjo laikas viską sujungti ir pasiruošti paleidimui! Aš įtraukiau „Gerbers“ir „EAGLE“failus į PCB ir schemą į „github“. turėsite įkelti gerbėjus į gamintoją, pvz., OSH parką ar JLC, kad jie būtų pagaminti. Šios plokštės yra dviejų sluoksnių ir yra pakankamai mažos, kad tilptų į daugumą 10 cm x 10 cm gamintojų pigių plokščių.

Sugrąžinus lentas nuo gamybos laiko, reikia ant lentos lituoti visus skaičiuoklėje ir dalių sąraše esančius komponentus.

Programavimas:

Kai viskas bus sulituota, turėsite įkelti programas į du mikrovaldiklius. Norėdami sutaupyti vietos plokštėje, neįtraukiau jokių USB funkcijų, tačiau palikau nesugadintus ICSP ir nuoseklius prievadus, kad vis tiek galėtumėte įkelti ir stebėti programą.

  • Norėdami įkelti programą, vadovaukitės šia pamoka, kaip naudoti „Arduino“plokštę kaip programuotoją. Įkelkite SimGpsTransmitter.ino į ICSP_GPS prievadą ir Data_Logger.ino į ICSP_DL prievadą (PCSP ICSP prievadas yra toks pat, kaip ir standartinėse „Arduino UNO“plokštėse).
  • Įkėlę visas programas, galite įjungti įrenginį iš akumuliatoriaus įvesties 3,7–4,2 V įtampa ir naudoti 4 indikatoriaus lemputes, kad patikrintumėte, ar sistema veikia.

    • Pirmosios dvi lemputės 5V_Ok ir VBATT_OK rodo, kad baterija ir 5v bėgeliai yra maitinami.
    • Trečioji lemputė DL_OK mirksės kas 1 sekundė, nurodydama, kad telemetrijos registravimas yra aktyvus.
    • Paskutinė lemputė SIM_Transmit įsijungs, kai bus prijungti koriniai ir GPS moduliai ir duomenys bus siunčiami į serverį.

6 žingsnis: gaubtas

Korpusas
Korpusas

Raketos, kuria aš planuoju šį projektą, vidinis skersmuo yra 29 mm, kad būtų apsaugota elektronika ir kad agregatas tilptų į raketos cilindrinį korpusą, aš padariau paprastą dviejų dalių 3D spausdintą dėklą, kuris yra prisukamas ir pritvirtintas indikatorių peržiūros prievadai. Spausdinti skirti STL failai ir originalūs.ipt failai yra „github“saugykloje. Aš to nemodeliavau, nes nebuvau tikras dėl baterijos, kurią tuo metu naudosiu, tačiau rankiniu būdu sukūriau įdubą 120 mAh talpos baterijai, kad ji būtų lygi korpuso apačiai. Apskaičiuota, kad ši baterija suteikia ~ 45 min. Maksimalų sistemos veikimo laiką, kai sunaudojama ~ 200 mA energijos (tai priklauso nuo procesoriaus naudojimo ir energijos perdavimo duomenų perdavimui).

7 žingsnis: Išvada

Šis projektas buvo gana paprastas dviejų atskirų sistemų įgyvendinimas, atsižvelgiant į tai, kad aš tik naudojau „Amazon“rastus atskirus modulius, todėl bendra sistemos integracija yra šiek tiek silpna, nes bendras projekto dydis yra gana didelis. Žvelgiant į kai kurių gamintojų pasiūlymus, naudojant SIP, apimantį ir korinį, ir GPS, bendras pakuotės dydis labai sumažėtų.

Esu tikras, kad po daugiau bandymų skrydžio metu turėsiu atlikti tam tikrus programos pakeitimus ir būtinai atnaujinsiu „Github“atpirkimo sandorį su bet kokiais pakeitimais.

Tikimės, kad jums patiko šis projektas, nedvejodami susisiekite su manimi visais kilusiais klausimais.

Rekomenduojamas: