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, Novembar
Anonim
Raketna telemetrija/praćenje položaja
Raketna telemetrija/praćenje položaja

Ovaj projekt ima za cilj zapisati podatke o letu sa 9 DOF senzorskog modula na SD karticu, te istovremeno prenijeti njegovu GPS lokaciju putem mobilnih mreža na poslužitelj. Ovaj sistem omogućava pronalaženje rakete ako je područje slijetanja sistema izvan LOS -a.

Korak 1: Lista dijelova

Lista delova
Lista delova
Lista delova
Lista delova

Telemetrijski sistem:

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 pozicije:

1x mikrokontroler ATmega328 (Arduino UNO, Nano) (svaki sistem treba svoj 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šti delovi:

1x 3.7v lipo baterija

1x 3.7-5V pojačavač (ako ne izrađujete PCB)

1x Raspberry pi ili bilo koji računar koji može da ugosti php server

-Pristup 3D štampaču

-BOM za PCB je naveden u proračunskoj tablici

-Gerberi su na github repo -https://github.com/karagenit/maps-gps

Korak 2: Podsistem 1: Praćenje položaja

Testiranje:

Nakon što imate dijelove sistema (NEO-6M GPS, Sim800L) u ruci, morate samostalno testirati funkcionalnost sistema kako vas ne bi boljela glava pokušavajući otkriti šta ne radi kada integrirate sisteme.

GPS testiranje:

Za testiranje GPS prijemnika 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 prijemnik putem USB-a i odaberite com port u U-centru, sistem bi nakon toga trebao automatski početi pratiti vašu lokaciju.

2. Za testiranje pomoću mikrokontrolera, 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 ispravne.

Napomena: Vizuelni identifikator satelitske brave na NEO-6M modulu je da će crveni LED indikator treptati 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 slanje HTTP GET zahtjeva poslužitelju s lokacijom koju prima GPS prijemnik.

1. Da biste testirali ćelijski modul, umetnite simkarticu u modul sa skošenim krajem prema van

2. Priključite sim modul na GND i izvor od 3,7-4,2v, nemojte koristiti 5v !!!! modul ne može raditi na 5V. Povežite Sim modul RX na Analog 2 i TX na Analog 3 na Arduinu

3. Prenesite serijsku prolaznu skicu sa github-a da biste mogli slati komande u ćelijski modul.

4. slijedite ovaj vodič ili preuzmite probnu verziju AT Command Tester -a da biste testirali HTTP GET funkcionalnost

Implementacija:

Nakon što provjerite da oba sistema rade neovisno, možete prijeći na postavljanje cijele skice na github mikrokontrolera. možete otvoriti serijski monitor na 9600 bauda kako biste provjerili da li sistem šalje podatke na web poslužitelj.

*ne zaboravite da promenite ip i port servera na svoj i obavezno pronađite APN za provajdera ćelije koji koristite.

Pređite na sljedeći korak gdje postavljamo poslužitelj

Korak 3: Postavljanje servera

Server Setup
Server Setup

Da bih podesio server za prikaz lokacije rakete, koristio sam malinu pi kao host, ali možete koristiti bilo koji računar.

Slijedite ovaj vodič o postavljanju lightphp -a na RPI, a zatim kopirajte php datoteke iz github -a u/var/www/html fasciklu vašeg RPI -ja. Nakon toga samo upotrijebite naredbu

sudo servis lighttpd prisilno ponovno učitavanje

za ponovno učitavanje servera.

Proslijedite portove povezane sa poslužiteljem na usmjerivaču kako biste mogli daljinski pristupiti podacima. Na rpi -u to 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: Podsistem 2: Telemetrijsko bilježenje

Telemetrijski program radi na odvojenom mikrokontroleru od sistema za praćenje položaja. Ova odluka je donesena zbog ograničenja memorije na ATmega328 koja sprečava oba programa da se pokreću na jednom sistemu. Drugi izbor mikrokontrolera s poboljšanim specifikacijama mogao bi riješiti ovaj problem i omogućiti korištenje jednog centralnog procesora, ali sam htio koristiti dijelove koje sam imao pri ruci radi lakše upotrebe.

Karakteristike: Ovaj program je zasnovan na još jednom primjeru koji sam ovdje pronašao na mreži.

  • Program izvorno čita relativnu nadmorsku visinu (očitanje visine na nuli pri pokretanju), temperaturu, pritisak, ubrzanje u smjeru X (morat ćete promijeniti smjer očitavanja ubrzanja na osnovu 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 (konfigurira se u programu) i prestat će pisati podatke kada otkrije da se raketa vratila u original nadmorskoj visini ili nakon što je proteklo vrijeme leta od 5 minuta.
  • Sistem će pokazati da je uključen i zapisuje podatke putem jedne LED lampice.

Testiranje:

Da biste testirali sistem, prvo povežite prekidač SD kartice

Arduino SD kartica

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

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

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

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

Sada spojite GY-86 na sistem putem I^2C

Arduino GY-86

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

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

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

Na SD kartici stvorite datoteku u glavnom direktoriju pod imenom datalog.txt, u koju će sistem upisivati podatke.

Prije postavljanja skice Data_Logger.ino na mikrokontroler promijenite vrijednost ALT_THRESHOLD na 0 tako da će sistem zanemariti nadmorsku visinu za testiranje. Nakon učitavanja otvorite serijski monitor na 9600 bauda da vidite izlaz sistema. Uvjerite se da se sistem može povezati sa senzorom i da se podaci zapisuju na SD karticu. Isključite sistem i umetnite SD karticu u računar kako biste provjerili jesu li podaci upisani na karticu.

Korak 5: Integracija sistema

Integracija sistema
Integracija sistema
Integracija sistema
Integracija sistema

Nakon provjere da svaki dio sistema radi u istoj konfiguraciji koja se koristi na glavnoj PCB -u, vrijeme je da sve to spoji i pripremi za pokretanje! Uključio sam Gerbers i EAGLE datoteke za PCB i sheme u github. morat ćete učitati gerbere proizvođaču kao što je OSH park ili JLC da biste ih proizveli. Ove ploče su dvoslojne i dovoljno su male da se uklapaju u većinu proizvođača kategorije 10cmx10cm za jeftine ploče.

Nakon što 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. Da bih uštedio prostor na ploči, nisam uključio nikakvu USB funkciju, ali sam ostavio ICSP i serijske portove polomljenim tako da i dalje možete učitavati i pratiti program.

  • Da biste učitali program, slijedite ove upute o korištenju Arduino ploče kao programer. Otpremite SimGpsTransmitter.ino na ICSP_GPS port i Data_Logger.ino na ICSP_DL port (ICSP port na PCB -u je istog izgleda kao i na standardnim Arduino UNO pločama).
  • Nakon što su svi programi učitani, možete napajati uređaj iz ulaza za bateriju sa 3,7-4,2 V i koristiti 4 indikatorska svjetla za provjeru rada sistema.

    • Prva dva svjetla 5V_Ok i VBATT_OK označavaju da se napajaju baterija i 5v šine.
    • Treće svetlo DL_OK će treptati svake 1 sekunde kako bi označilo da je telemetrijsko zapisivanje 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

Enclosure
Enclosure

Raketa oko koje dizajniram ovaj projekt ima unutrašnji promjer 29 mm, kako bih zaštitila elektroniku i omogućila montaži da se uklopi u cilindrično tijelo rakete, napravila sam jednostavnu dvodijelnu 3D tiskanu kutiju koja je spojena zajedno i ima portovi za pregled indikatorskih lampica. STL datoteke za štampanje i originalne.ipt datoteke nalaze se u github repo -u. 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 sistema ~ 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 projekt je bio prilično jednostavna implementacija dva odvojena sistema, s obzirom na to da sam samo koristio diskretne module koji se nalaze na Amazonu, cjelokupna sistemska integracija 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 napraviti neke izmjene u programu 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čuje se: