Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä projekti on tarkoitettu kirjaamaan lentotiedot 9 DOF -anturimoduulista SD -kortille ja lähettämään samanaikaisesti GPS -sijaintinsa matkapuhelinverkkojen kautta palvelimelle. Tämä järjestelmä mahdollistaa raketin löytämisen, jos järjestelmän laskeutumisalue on LOS: n ulkopuolella.
Vaihe 1: Osaluettelo
Telemetriajärjestelmä:
1x ATmega328 -mikrokontrolleri (Arduino UNO, Nano)
1x Micro SD Breakout -
1x Micro SD -kortti - (koolla ei ole väliä FAT 16/32 -muodostettuna) - Amazon Link
1x Gy -86 IMU - Amazon Link
Sijainnin seuranta:
1x ATmega328 -mikrokontrolleri (Arduino UNO, Nano) (jokainen järjestelmä tarvitsee oman mikron)
1x Sim800L GSM GPRS -moduuli - Amazon Link
1x SIM -kortti (datapaketti on oltava) - https://ting.com/ (veloittaa vain käyttämästäsi)
1x NEO 6M GPS -moduuli - Amazon LInk
Yleiset osat:
1x 3,7v lipoparisto
1x 3.7-5v-tehostin (jos et rakenna piirilevyä)
1x Raspberry pi tai mikä tahansa tietokone, joka voi isännöidä php -palvelinta
-Pääsy 3D -tulostimeen
-BB PCB: lle on lueteltu laskentataulukossa
-Gerberit ovat github -repossa -https://github.com/karagenit/maps-gps
Vaihe 2: Osajärjestelmä 1: Sijainnin seuranta
Testaus:
Kun sinulla on järjestelmän osat (NEO-6M GPS, Sim800L) käsillä, sinun on testattava järjestelmien toimivuus itsenäisesti, jotta sinulla ei ole päänsärkyä yrittää selvittää, mikä ei toimi, kun integroit järjestelmät.
GPS -testaus:
Voit testata GPS-vastaanottimen käyttämällä joko Ubloxin tarjoamaa ohjelmistoa (U-Center Software)
tai github -repoon linkitetty testiluonnos (GPS -testi)
1. Jos haluat testata U-center-ohjelmistolla, kytke GPS-vastaanotin USB-liitännän kautta ja valitse U-keskuksen com-portti. Järjestelmän pitäisi automaattisesti alkaa seurata sijaintiasi sen jälkeen.
2. Jos haluat testata mikro-ohjaimella, lataa GPS-testausluonnos arduinoon IDE: n kautta. Kytke sitten 5 V ja GND vastaanottimen merkittyihin nastoihin arduino- ja GPS RX -nastaan digitaaliseen 3 ja TX -nasta digitaaliseen 4 arduinoon. Avaa lopuksi sarjamonitori arduino IDE: ssä ja aseta baudinopeudeksi 9600 ja tarkista, että vastaanotetut koordinaatit ovat oikein.
Huomautus: NEO-6M-moduulin satelliittilukon visuaalinen tunniste on, että punainen LED-merkkivalo vilkkuu muutaman sekunnin välein osoittaen yhteyden.
SIM800L -testaus:
Matkapuhelinmoduulin testaamiseksi sinun on rekisteröitävä sim -kortti aktiiviseen datapakettiin, suosittelen Tingiä, koska he veloittavat vain käyttämästäsi tuotteesta kuukausittaisen datasuunnitelman sijasta.
Sim -moduulin tavoitteena on lähettää HTTP GET -pyyntö palvelimelle GPS -vastaanottimen vastaanottaman sijainnin kanssa.
1. Testaa solumoduulia asettamalla SIM -kortti moduuliin viistetty pää ulospäin
2. Liitä sim-moduuli GND: hen ja 3.7-4.2v-lähteeseen, älä käytä 5v !!!! moduuli ei pysty toimimaan 5V jännitteellä. Liitä Sim -moduuli RX Analog 2: een ja TX Analog 3: een Arduinolla
3. Lataa sarjaläpäisyluonnos githubista, jotta voit lähettää komentoja solumoduulille.
4. seuraa tätä opetusohjelmaa tai lataa AT Command Testerin kokeiluversio testataksesi HTTP GET -toimintoa
Toteutus:
Kun olet varmistanut, että molemmat järjestelmät toimivat itsenäisesti, voit siirtyä koko luonnoksen lataamiseen mikro -ohjaimen githubiin. Voit avata sarjamonitorin 9600 baudilla tarkistaaksesi, että järjestelmä lähettää tietoja verkkopalvelimelle.
*älä unohda vaihtaa palvelimen IP -osoitetta ja porttia omaasi ja varmista, että löydät käyttämäsi soluntarjoajan APN -numeron.
Siirry seuraavaan vaiheeseen, jossa asetimme palvelimen
Vaihe 3: Palvelimen asennus
Määritin palvelimen näyttämään raketin sijainnin isäntänä vadelmapiä, mutta voit käyttää mitä tahansa tietokonetta.
Noudata tätä opetusohjelmaa lightphp: n asettamisesta RPI: lle ja kopioi sitten php -tiedostot githubista RPI: si/var/www/html -kansioon. Käytä vain komentoa
sudo-palvelu lighttpd pakota uudelleen
ladataksesi palvelimen uudelleen.
Varmista, että lähetät reitittimen palvelimeen liittyvät portit eteenpäin, jotta voit käyttää tietoja etänä. Rpi: ssä sen pitäisi olla portti 80, ja ulkoinen portti voi olla mielivaltainen numero.
On hyvä idea asettaa staattinen ip RPI: lle, jotta välitettävät portit osoittavat aina kohti RPI: n osoitetta.
Vaihe 4: Osajärjestelmä 2: Telemetrian kirjaus
Telemetriaohjelma toimii erillisellä mikrokontrollerilla sijainnin seurantajärjestelmästä. Tämä päätös tehtiin, koska ATmega328 -muistin rajoitukset estävät molempia ohjelmia toimimasta yhdessä järjestelmässä. Toinen valinta parannetuilla mikro -ohjaimilla voisi ratkaista tämän ongelman ja sallia yhden keskusprosessorin käytön, mutta halusin käyttää käsillä olevia osia käytön helpottamiseksi.
Ominaisuudet: Tämä ohjelma perustuu toiseen esimerkkiin, jonka löysin verkossa täältä.
- Ohjelma lukee alkuperäisen suhteellisen korkeuden (korkeuslukema nollattu käynnistyksen yhteydessä), lämpötilan, paineen, kiihtyvyyden X -suunnassa (sinun on muutettava kiihtyvyyden lukusuuntaa anturin fyysisen suunnan perusteella) ja aikaleiman (millisekunteina)).
- Estääkseen tietojen kirjaamisen, kun istutaan laukaisualustalla ja tuhlataan tallennustilaa, järjestelmä aloittaa tietojen kirjoittamisen vasta, kun se havaitsee korkeudenmuutoksen (ohjelmoitavissa ohjelmassa), ja lopettaa tietojen kirjoittamisen, kun se havaitsee, että raketti on palannut alkuperäiseen korkeudessa tai 5 minuutin lennon jälkeen.
- Järjestelmä ilmoittaa, että se on päällä ja kirjoittaa tietoja yhden merkkivalon kautta.
Testaus:
Testaa järjestelmää kytkemällä ensin SD -kortti
Arduino SD -kortti
Nasta 4 ---------------- CS
Nasta 11 -------------- DI
Nasta 13 -------------- SCK
Nasta 12 -------------- DO
Liitä nyt GY-86 järjestelmään I^2C: n kautta
Arduino GY-86
Nasta A4 -------------- SDA
Nasta A5 -------------- SCL
Nasta 2 ---------------- INTA
Luo SD -kortille tiedosto päähakemistoon nimeltä datalog.txt, johon järjestelmä kirjoittaa tietoja.
Ennen kuin lataat Data_Logger.ino -luonnoksen mikrokontrolleriin, muuta ALT_THRESHOLD -arvon arvoksi 0, jotta järjestelmä ohittaa korkeuden testausta varten. Avaa lataamisen jälkeen sarjamonitori 9600 baudilla nähdäksesi järjestelmän ulostulon. Varmista, että järjestelmä pystyy muodostamaan yhteyden anturiin ja että tietoja kirjoitetaan SD -kortille. Irrota järjestelmä ja aseta SD -kortti tietokoneeseen varmistaaksesi, että kortille on kirjoitettu tietoja.
Vaihe 5: Järjestelmän integrointi
Kun olet varmistanut, että jokainen järjestelmän osa toimii samassa kokoonpanossa kuin pääpiirilevy, on aika koota kaikki yhteen ja valmistautua lanseeraukseen! Olen sisällyttänyt Gerbers- ja EAGLE -tiedostot PCB: lle ja kaavion githubiin. sinun on ladattava gerberit valmistajalle, kuten OSH park tai JLC, jotta ne voidaan tuottaa. Nämä levyt ovat kaksi kerrosta ja ne ovat riittävän pieniä, jotta ne sopivat useimpiin halpoja levyjä valmistavaan 10 cm x 10 cm luokkaan.
Kun olet saanut levyt takaisin valmistuksesta, sinun on juotettava kaikki taulukossa ja osaluettelossa olevat komponentit taululle.
Ohjelmointi:
Kun kaikki on juotettu, sinun on ladattava ohjelmat kahdelle mikro -ohjaimelle. Levytilan säästämiseksi en sisällyttänyt mitään USB -toimintoja, mutta jätin ICSP- ja sarjaportit rikki, jotta voit silti ladata ja seurata ohjelmaa.
- Voit ladata ohjelman noudattamalla tätä opetusohjelmaa Arduino -levyn käyttämisestä ohjelmoijana. Lataa SimGpsTransmitter.ino ICSP_GPS -porttiin ja Data_Logger.ino ICSP_DL -porttiin (Piirilevyn ICSP -portti on sama ulkoasu kuin tavallisissa Arduino UNO -levyissä).
-
Kun kaikki ohjelmat on ladattu, voit kytkeä laitteeseen virran akkutulosta 3,7-4,2 V: lla ja tarkistaa 4 merkkivaloa järjestelmän toimivuuden varmistamiseksi.
- Kaksi ensimmäistä valoa 5V_Ok ja VBATT_OK osoittavat, että akku ja 5v kiskot saavat virtaa.
- Kolmas merkkivalo DL_OK vilkkuu 1 sekunnin välein osoittaen, että telemetrian kirjaus on aktiivinen.
- Viimeinen valo SIM_Transmit syttyy, kun matkapuhelin- ja GPS -moduulit on yhdistetty ja tietoja lähetetään palvelimelle.
Vaihe 6: Kotelo
Raketin, jonka ympärille suunnittelen tätä projektia, sisähalkaisija on 29 mm elektroniikan suojaamiseksi ja jotta kokoonpano mahtuu raketin lieriömäiseen runkoon, tein yksinkertaisen kaksiosaisen 3D -painetun kotelon, joka on ruuvattu yhteen ja jossa on merkkivalojen katseluportit. STL -tiedostot tulostusta varten ja alkuperäiset.ipt -tiedostot ovat github -repossa. En mallinnanut tätä, koska olin epävarma käyttämästäni akusta tuolloin, mutta loin manuaalisesti syvennyksen 120 mAh: n akulle, joka istuu kotelon pohjan kanssa. Tämän akun arvioidaan antavan ~ 45 minuutin enimmäisajon järjestelmälle ~ 200 mA: n virrankulutuksella (tämä riippuu suorittimen käytöstä ja tiedonsiirron virrankulutuksesta. SIM800L: n noteerataan nostavan 2A ylöspäin purskeina viestinnän aikana).
Vaihe 7: Johtopäätös
Tämä projekti oli melko yksinkertainen kahden erillisen järjestelmän toteutus, koska käytin vain Amazonista löydettyjä erillisiä moduuleja, järjestelmän kokonaisintegraatio on hieman heikko, koska projektin koko on varsin suuri siihen verrattuna. Tarkasteltaessa joidenkin valmistajien tarjouksia SIP: n käyttäminen, joka sisältää sekä matkapuhelinverkon että GPS: n, pienentäisi suuresti kokonaispakettia.
Olen varma, että enemmän lentokokeita suoritettaessa minun on tehtävä joitain muutoksia ohjelmaan ja päivitän varmasti Github -repon mahdollisilla muutoksilla.
Toivottavasti pidit projektista, ota rohkeasti yhteyttä minuun, jos sinulla on kysyttävää.