Përmbajtje:

Telemetria e Raketës/Gjurmuesi i Pozicionit: 7 Hapa
Telemetria e Raketës/Gjurmuesi i Pozicionit: 7 Hapa

Video: Telemetria e Raketës/Gjurmuesi i Pozicionit: 7 Hapa

Video: Telemetria e Raketës/Gjurmuesi i Pozicionit: 7 Hapa
Video: Эй, угадай, где я · Rocket League Live Stream Episode 64 · 1440p 60FPS 2024, Nëntor
Anonim
Telemetria e Raketës/Gjurmuesi i Pozicionit
Telemetria e Raketës/Gjurmuesi i Pozicionit

Ky projekt ka për qëllim të regjistrojë të dhënat e fluturimit nga një modul sensor 9 DOF në një kartë SD, dhe njëkohësisht të transmetojë vendndodhjen e tij GPS përmes rrjeteve celulare në një server. Ky sistem lejon që raketa të gjendet nëse zona e uljes së sistemit është përtej LOS.

Hapi 1: Lista e Pjesëve

Lista e Pjesëve
Lista e Pjesëve
Lista e Pjesëve
Lista e Pjesëve

Sistemi i telemetrisë:

1x Mikrokontrollues ATmega328 (Arduino UNO, Nano)

1x Micro SD Breakout -

1x Kartë Micro SD - (madhësia nuk ka rëndësi FAT 16/32 e formatuar) - Amazon Link

1x Gy -86 IMU - Amazon Link

Ndjekja e pozicionit:

1x Mikrokontrollues ATmega328 (Arduino UNO, Nano) (secili sistem ka nevojë për mikro të vetin)

1x Sim800L GSM GPRS Moduli - Amazon Link

1x Kartë SIM (duhet të ketë plan të dhënash) - https://ting.com/ (paguhet vetëm për atë që përdorni)

1x NEO 6M GPS Modul - Amazon LInk

Pjesë të përgjithshme:

Bateri 1x 3.7v lipo

Konvertues i rritjes 1x 3.7-5v (nëse nuk e ndërtoni PCB-në)

1x Raspberry pi, ose ndonjë kompjuter që mund të presë një server php

-Qasja në printerin 3D

-BOM për pcb është e shënuar në spreadsheet

-Gerberët janë në repo github -https://github.com/karagenit/maps-gps

Hapi 2: Nënsistemi 1: Ndjekja e Pozicionit

Duke testuar:

Pasi të keni pjesët për sistemin (NEO-6M GPS, Sim800L) në dorë, duhet të testoni funksionalitetin e sistemeve në mënyrë të pavarur në mënyrë që të mos keni dhimbje koke duke u përpjekur të kuptoni se çfarë nuk funksionon kur integroni sistemet.

Testimi GPS:

Për të testuar marrësin GPS, ose mund të përdorni softuerin e ofruar nga Ublox (U-Center Software)

ose skica e testit e lidhur në repo github (Test GPS)

1. Për të provuar me softuerin e qendrës U, thjesht lidhni marrësin GPS përmes USB dhe zgjidhni portën e kom në qendrën U, sistemi duhet të fillojë automatikisht të gjurmojë vendndodhjen tuaj pas kësaj.

2. Për të provuar me një mikrokontrollues, ngarkoni skicën e testimit GPS në një arduino përmes IDE. Pastaj lidhni 5V dhe GND në kunjat e etiketuar në marrës me arduino dhe pin RX GPS në dixhital 3 dhe pin TX në dixhital 4 në arduino. Më në fund hapni monitorin serik në arduino IDE dhe vendosni normën e baud në 9600 dhe verifikoni që koordinatat e marra janë të sakta.

Shënim: Një identifikues vizual i kyçjes satelitore në modulin NEO-6M është se treguesi i kuq i kuq do të pulsojë çdo disa sekonda për të treguar një lidhje.

Testimi i SIM800L:

Për të testuar modulin celular, do t'ju duhet të keni një kartë SIM të regjistruar me një plan aktiv të të dhënave, unë rekomandoj Ting sepse ato paguajnë vetëm për atë që përdorni në vend të një plani mujor të të dhënave.

Qëllimi për modulin Sim është të dërgojë një kërkesë HTTP GET në server me vendndodhjen që është marrë nga marrësi GPS.

1. Për të testuar modulin e qelizës futeni kartën e kartës në modul me skajin e çarë të kthyer nga jashtë

2. Lidhni modulin sim me GND dhe një burim 3.7-4.2v, mos përdorni 5v !!!! moduli nuk është i aftë të funksionojë në 5v. Lidhni modulin Sim RX me Analog 2 dhe TX me Analog 3 në Arduino

3. Ngarko skicën seriale të kalimit nga github për të qenë në gjendje të dërgosh komanda në modulin e qelizës.

4. ndiqni këtë tutorial, ose shkarkoni provën e AT Command Tester për të testuar funksionalitetin HTTP GET

Zbatimi:

Pasi të keni verifikuar që të dy sistemet funksionojnë në mënyrë të pavarur, mund të kaloni në ngarkimin e skicës së plotë në githubin e mikrokontrolluesit. mund të hapni monitorin serik në 9600 baud për të verifikuar që sistemi po dërgon të dhëna në serverin e uebit.

*mos harroni të ndryshoni ip dhe portën e serverit në tuajin dhe sigurohuni që të gjeni APN për ofruesin e qelizave që po përdorni.

Kaloni në hapin tjetër ku vendosim serverin

Hapi 3: Konfigurimi i serverit

Konfigurimi i serverit
Konfigurimi i serverit

Për të konfiguruar një server për të shfaqur vendndodhjen e raketës, kam përdorur një pi mjedër si host, por ju mund të përdorni çdo kompjuter.

Ndiqni këtë tutorial për vendosjen e lightphp në një RPI dhe më pas kopjoni skedarët php nga github në dosjen/var/www/html të RPI -së tuaj. Pasi të përdorni vetëm komandën

shërbimi sudo lighttpd forcë-rimbushje

për të ringarkuar serverin.

Sigurohuni që të përcillni portet e lidhura me serverin në ruterin tuaj në mënyrë që të keni qasje në të dhënat nga distanca. Në rpi duhet të jetë porti 80, dhe porta e jashtme mund të jetë një numër arbitrar.

Ideashtë një ide e mirë të vendosni një IP statike për RPI, kështu që portet që përparoni drejtohen gjithmonë drejt adresës së RPI.

Hapi 4: Nënsistemi 2: Regjistrimi i telemetrisë

Programi i telemetrisë funksionon në një mikrokontrollues të veçantë nga sistemi i përcjelljes së pozicionit. Ky vendim u mor për shkak të kufizimeve të kujtesës në ATmega328 duke parandaluar që të dy programet të jenë në gjendje të ekzekutohen në një sistem. Një zgjedhje tjetër e mikrokontrolluesit me specifikime të zgjeruara mund ta zgjidhë këtë çështje dhe të lejojë përdorimin e një procesori qendror, por unë doja të përdorja pjesët që kisha në dorë për lehtësinë e përdorimit.

Karakteristikat: Ky program bazohet në një shembull tjetër që kam gjetur në internet këtu.

  • Programi lexon lartësinë relative (leximi i lartësisë zero në fillimin), temperatura, presioni, nxitimi në drejtimin X (do t'ju duhet të ndryshoni drejtimin e leximit të nxitimit bazuar në orientimin fizik të sensorit) dhe një etiketë kohore (në milis)
  • Për të parandaluar regjistrimin e të dhënave gjatë uljes në fushën e nisjes dhe humbjes së hapësirës së ruajtjes, sistemi do të fillojë të shkruajë të dhëna vetëm pasi të zbulojë një ndryshim në lartësi (i konfigurueshëm në program) dhe do të ndalojë së shkruari të dhëna pasi zbulon se raketa është kthyer në origjinalin e saj lartësi, ose pasi të ketë kaluar një kohë fluturimi prej 5 min.
  • Sistemi do të tregojë se ndizet dhe shkruan të dhëna përmes një LED të vetëm tregues.

Duke testuar:

Për të testuar sistemin, së pari lidhni ndarjen e kartës SD

Kartë SD Arduino

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

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

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

Pin 12 -------------- BOJ

Tani lidhni GY-86 me sistemin përmes I^2C

Arduino GY-86

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

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

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

Në kartën SD krijoni një skedar në drejtorinë kryesore të quajtur datalog.txt këtu është vendi ku sistemi do të shkruajë të dhëna.

Para se të ngarkoni skicën Data_Logger.ino në mikrokontrollues ndryshoni vlerën e ALT_THRESHOLD në 0 kështu që sistemi do të injorojë lartësinë për testim. Pas ngarkimit, hapni monitorin serik në 9600 baud për të parë daljen e sistemit. Sigurohuni që sistemi të jetë në gjendje të lidhet me sensorin dhe se të dhënat po shkruhen në kartën SD. Shkëputeni sistemin dhe futni kartën SD në kompjuterin tuaj për të verifikuar që të dhënat janë shkruar në kartë.

Hapi 5: Integrimi i sistemit

Integrimi i sistemit
Integrimi i sistemit
Integrimi i sistemit
Integrimi i sistemit

Pasi të verifikoni që secila pjesë e sistemit funksionon në të njëjtin konfigurim të përdorur në PCB -në kryesore, është koha për t'i bashkuar të gjitha dhe për t'u bërë gati për nisje! Unë kam përfshirë skedarët Gerbers dhe EAGLE për PCB dhe skematike në github. do t'ju duhet t'i ngarkoni gerberët në një prodhues të tillë si parku i SSHP ose JLC për t'i prodhuar ato. Këto dërrasa janë dy shtresa dhe janë mjaft të vogla për t'u përshtatur në shumicën e prodhuesve të kategorisë 10cmx10cm për dërrasa të lira.

Pasi të keni kthyer dërrasat nga prodhimi, është koha për të bashkuar të gjithë përbërësit që gjenden në tabelë dhe listën e pjesëve në tabelë.

Programimi:

Pasi të jetë bashkuar gjithçka, do t'ju duhet të ngarkoni programet në dy mikrokontrolluesit. Për të kursyer hapësirën e bordit, unë nuk përfshiva ndonjë funksion USB, por lashë ICSP -në dhe portat serike të shpërthyera, kështu që ju ende mund të ngarkoni dhe monitoroni programin.

  • Për të ngarkuar programin ndiqni këtë tutorial për përdorimin e një bordi Arduino si programues. Ngarko SimGpsTransmitter.ino në portën ICSP_GPS dhe Data_Logger.ino në portin ICSP_DL (Porta ICSP në PCB është e njëjta paraqitje si ajo që gjendet në bordet standarde të Arduino UNO).
  • Pasi të jenë ngarkuar të gjitha programet, mund ta ndizni pajisjen nga hyrja e baterisë me 3.7-4.2V dhe të përdorni 4 dritat treguese për të verifikuar që sistemi po funksionon.

    • Dy dritat e para 5V_Ok dhe VBATT_OK tregojnë se bateria dhe binarët 5v janë të mundësuar.
    • Drita e tretë DL_OK do të pulsojë çdo 1 sekondë për të treguar që regjistrimi i telemetrisë është aktiv.
    • Drita e fundit SIM_Transmit do të ndizet pasi modulet celulare dhe GPS të jenë lidhur dhe të dhënat po dërgohen në server.

Hapi 6: Mbyllja

Rrethim
Rrethim

Raketa për të cilën po projektoj këtë projekt ka një diametër të brendshëm 29 mm, për të mbrojtur elektronikën dhe për të lejuar që montimi të futet brenda trupit cilindrik të raketës, bëra një kuti të thjeshtë të printuar me dy pjesë 3d, e cila është e mbyllur së bashku dhe ka portat e shikimit për dritat treguese. Skedarët STL për printim dhe skedarët origjinal.ipt janë në repo github. Unë nuk e modelova këtë pasi nuk isha i sigurt për baterinë që do të përdorja në atë kohë, por unë krijova manualisht një prerje për një bateri 120 mAh që të rrijë e barabartë me pjesën e poshtme të kutisë. Kjo bateri vlerësohet të japë 45min maximum kohë maksimale të funksionimit për sistemin në konsumin e energjisë ~ 200mA (Kjo varet nga përdorimi i procesorit dhe fuqia për transmetimin e të dhënave, SIM800L citohet të tërheqë lart 2A në breshëri gjatë komunikimit).

Hapi 7: Përfundimi

Ky projekt ishte një zbatim mjaft i drejtpërdrejtë i dy sistemeve të veçanta, duke qenë se unë thjesht po përdorja module diskrete të gjetura në Amazon, integrimi i përgjithshëm i sistemit është pak i zbehtë pasi madhësia e përgjithshme e projektit është mjaft e madhe për atë që bën. Duke parë ofertat nga disa prodhues, përdorimi i një SIP që përfshin si celular ashtu edhe GPS do të zvogëlonte shumë madhësinë e përgjithshme të paketës.

Unë jam i sigurt se pas më shumë në testimin e fluturimit do të më duhet të bëj disa modifikime në program dhe do të jem i sigurt për të azhurnuar repon e Github me çdo ndryshim.

Shpresoj se ju ka pëlqyer ky projekt, mos ngurroni të më kontaktoni për çdo pyetje që mund të keni.

Recommended: