Indholdsfortegnelse:

Rocket Telemetry/Position Tracker: 7 trin
Rocket Telemetry/Position Tracker: 7 trin

Video: Rocket Telemetry/Position Tracker: 7 trin

Video: Rocket Telemetry/Position Tracker: 7 trin
Video: Anatomy of a High Power Rocket 6: Avionics and Recovery Gear 2024, Juli
Anonim
Rocket Telemetry/Position Tracker
Rocket Telemetry/Position Tracker

Dette projekt er beregnet til at logge flyvedata fra et 9 DOF -sensormodul til et SD -kort og samtidig overføre sin GPS -placering via mobilnetværk til en server. Dette system gør det muligt at finde raketten, hvis systemets landingsområde ligger uden for LOS.

Trin 1: Deleliste

Liste over dele
Liste over dele
Liste over dele
Liste over dele

Telemetri system:

1x ATmega328 mikrokontroller (Arduino UNO, Nano)

1x Micro SD Breakout -

1x Micro SD -kort - (størrelse betyder ikke noget FAT 16/32 formateret) - Amazon Link

1x Gy -86 IMU - Amazon Link

Positionssporing:

1x ATmega328 mikrokontroller (Arduino UNO, Nano) (hvert system har brug for sin egen mikro)

1x Sim800L GSM GPRS -modul - Amazon Link

1x SIM -kort (skal have dataplan) - https://ting.com/ (kun gebyrer for det, du bruger)

1x NEO 6M GPS -modul - Amazon LInk

Generelle dele:

1x 3,7v lipo batteri

1x 3.7-5v step-up converter (hvis du ikke bygger pcb)

1x Raspberry pi eller enhver computer, der kan være vært for en php -server

-Adgang til 3D -printer

-BOM til pcb er angivet i regneark

-Gerbers er på github repo -https://github.com/karagenit/maps-gps

Trin 2: delsystem 1: positionssporing

Test:

Når du har systemets dele (NEO-6M GPS, Sim800L) i hånden, skal du teste systemernes funktionalitet uafhængigt, så du ikke får hovedpine ved at finde ud af, hvad der ikke fungerer, når du integrerer systemerne.

GPS -test:

For at teste GPS-modtageren kan du enten bruge softwaren fra Ublox (U-Center Software)

eller testskitsen knyttet til github -repoen (GPS -test)

1. For at teste med U-center-software skal du blot tilslutte GPS-modtageren via USB og vælge com-porten i U-center, og systemet skal automatisk begynde at spore din placering efter det.

2. For at teste med en mikro-controller skal du uploade GPS-testskitsen til en arduino via IDE. Tilslut derefter 5V og GND til de mærkede ben på modtageren til arduino og GPS RX pin til digital 3 og TX pin til digital 4 på arduino. Endelig åbner du den serielle skærm på arduino IDE og indstiller baudhastigheden til 9600 og kontrollerer, at de modtagne koordinater er korrekte.

Bemærk: En visuel identifikator for satellitlås på NEO-6M-modulet er, at den røde LED-indikator blinker hvert par sekunder for at angive en forbindelse.

SIM800L -testning:

For at teste mobilmodulet skal du have et simkort registreret med en aktiv dataplan, jeg anbefaler Ting, fordi de kun opkræver gebyrer for det, du bruger i stedet for en månedlig dataplan.

Målet for Sim -modulet er at sende en HTTP GET -anmodning til serveren med den placering, der modtages af GPS -modtageren.

1. For at teste cellemodulet skal du indsætte simkortet i modulet med den affasede ende udad

2. Tilslut sim-modulet til GND og en 3,7-4,2v kilde, brug ikke 5v !!!! modulet er ikke i stand til at køre ved 5v. Tilslut Sim -modulet RX til Analog 2 og TX til Analog 3 på Arduino

3. Upload den serielle gennemgående skitse fra github for at kunne sende kommandoer til cellemodulet.

4. følg denne vejledning, eller download prøveversionen af AT Command Tester for at teste HTTP GET -funktionaliteten

Gennemførelse:

Når du har verificeret, at begge systemer fungerer uafhængigt, kan du gå videre til at uploade den fulde skitse til microcontroller github. du kan åbne den serielle skærm på 9600 baud for at kontrollere, at systemet sender data til webserveren.

*glem ikke at ændre serverens ip og port til din egen og sørg for at finde APN'en til den celleudbyder, du bruger.

Gå til det næste trin, hvor vi konfigurerede serveren

Trin 3: Serveropsætning

Serveropsætning
Serveropsætning

For at opsætte en server til at vise rakettens placering brugte jeg en hindbær pi som vært, men du kan bruge enhver computer.

Følg denne vejledning om opsætning af lightphp på en RPI, og kopier derefter php -filerne fra github til mappen/var/www/html i din RPI. Efter bare bruge kommandoen

sudo service lighttpd force-reload

at genindlæse serveren.

Sørg for at videresende de porte, der er knyttet til serveren på din router, så du kan få adgang til dataene eksternt. På rpi skal det være port 80, og den eksterne port kan være et vilkårligt nummer.

Det er en god idé at indstille en statisk ip til RPI'en, så de porte, du videresender, altid peger mod RPI'ens adresse.

Trin 4: Delsystem 2: Telemetri -logning

Telemetriprogrammet kører på en separat mikrokontroller fra positionssporingssystemet. Denne beslutning blev truffet på grund af hukommelsesbegrænsninger på ATmega328, der forhindrede begge programmer i at kunne køre på et system. Et andet valg af mikrokontroller med forbedrede specifikationer kunne løse dette problem og tillade brug af en central processor, men jeg ville bruge de dele, jeg havde til rådighed, for at lette brugen.

Funktioner: Dette program er baseret på et andet eksempel, jeg fandt online her.

  • Programmet læser indfødt den relative højde (højdemåling nulstillet ved opstart), temperatur, tryk, acceleration i X -retningen (du bliver nødt til at ændre accelerationsretningen baseret på sensorens fysiske orientering) og et tidsstempel (i millis).
  • For at forhindre data i at blive logget, mens du sidder på startpladen og spilder lagerplads, begynder systemet først at skrive data, når det registrerer en højdeændring (konfigurerbar i programmet) og stopper med at skrive data, når det opdager, at raketten er vendt tilbage til sin oprindelige højde, eller efter en flyvetid på 5 min. er gået.
  • Systemet angiver, at det er tændt og skriver data via en enkelt indikator -LED.

Test:

For at teste systemet skal du først tilslutte SD -kortbrud

Arduino SD -kort

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

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

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

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

Tilslut nu GY-86 til systemet via I^2C

Arduino GY-86

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

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

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

På SD -kortet skal du oprette en fil i hovedmappen med navnet datalog.txt, det er her, systemet vil skrive data til.

Inden du uploader Data_Logger.ino -skitsen til mikrokontrolleren, skal du ændre værdien af ALT_THRESHOLD til 0, så systemet ignorerer højden for test. Efter upload skal du åbne den serielle skærm med 9600 baud for at se systemets output. Sørg for, at systemet kan oprette forbindelse til sensoren, og at data skrives til SD -kortet. Tag systemet ud af stikkontakten, og indsæt SD -kortet i din computer for at kontrollere, at der er skrevet data på kortet.

Trin 5: Systemintegration

Systemintegration
Systemintegration
Systemintegration
Systemintegration

Efter at have kontrolleret, at hver del af systemet fungerer i den samme konfiguration, der bruges på hovedkortet, er det tid til at bringe det hele sammen og blive klar til lancering! Jeg har inkluderet Gerbers og EAGLE -filer til PCB og skematisk i github. du bliver nødt til at uploade gerberne til en producent som OSH park eller JLC for at få dem produceret. Disse plader er to lag og er små nok til at passe ind i de fleste producenter 10cmx10cm kategori til billige brædder.

Når du har brædderne tilbage fra fremstillingen, er det tid til at lodde alle komponenterne i regnearket og delelisten på tavlen.

Programmering:

Når alt er loddet, skal du uploade programmerne til de to mikrokontrollere. For at spare bordplads inkluderede jeg ikke nogen USB -funktionalitet, men efterlod ICSP og serielle porte brudt, så du stadig kan uploade og overvåge programmet.

  • For at uploade programmet følg denne vejledning om brug af et Arduino -kort som programmerer. Upload SimGpsTransmitter.ino til ICSP_GPS -porten og Data_Logger.ino til ICSP_DL -porten (ICSP -porten på printkortet er det samme layout som det, der findes på standard Arduino UNO -kort).
  • Når alle programmer er uploadet, kan du drive enheden fra batteriindgangen med 3,7-4,2V og bruge de 4 indikatorlamper til at kontrollere, at systemet fungerer.

    • De to første lys 5V_Ok og VBATT_OK angiver, at batteriet og 5v -skinnerne er strømforsynede.
    • Den tredje lampe DL_OK blinker hvert 1. sekund for at angive, at telemetri -logningen er aktiv.
    • Det sidste lys SIM_Transmit tændes, når mobil- og GPS -modulerne er forbundet, og data sendes til serveren.

Trin 6: Kapsling

Kabinet
Kabinet

Raketten, som jeg designer dette projekt omkring, har en indvendig diameter på 29 mm, for at beskytte elektronikken og tillade forsamlingen at passe ind i rakettens cylindriske legeme, lavede jeg et simpelt todelt 3D -trykt etui, der er boltet sammen og har visning af porte til indikatorlamperne. STL -filer til udskrivning og originale.ipt -filer findes i github -repoen. Jeg modellerede ikke dette, da jeg var usikker på det batteri, jeg ville bruge på det tidspunkt, men jeg lavede manuelt en fordybning til et 120 mAh batteri for at sidde helt i bund med sagen. Dette batteri anslås at give ~ 45 minutter maksimal driftstid for systemet ved ~ 200mA strømforbrug (Dette afhænger af processorforbrug og strømforbrug til datatransmission, SIM800L er angivet til at trække op til 2A i bursts under kommunikation).

Trin 7: Konklusion

Dette projekt var en ret ligetil implementering af to separate systemer, da jeg bare brugte diskrete moduler, der findes på Amazon, er den overordnede systemintegration en smule uklar, da projektets samlede størrelse er ret stor for det, den gør. Når man ser på tilbud fra nogle producenter, ville det at reducere den samlede pakkestørrelse i høj grad bruge en SIP, der indeholder både mobil og GPS.

Jeg er sikker på, at jeg efter flere flyvningstest skal foretage nogle ændringer af programmet og vil sørge for at opdatere Github -repoen med eventuelle ændringer.

Håber du nød dette projekt, du er velkommen til at kontakte mig om eventuelle spørgsmål.

Anbefalede: