Sisukord:

Liides Arduino Mega GPS-mooduliga (Neo-6M): 8 sammu
Liides Arduino Mega GPS-mooduliga (Neo-6M): 8 sammu

Video: Liides Arduino Mega GPS-mooduliga (Neo-6M): 8 sammu

Video: Liides Arduino Mega GPS-mooduliga (Neo-6M): 8 sammu
Video: LDmicro 18: GPS-будильник Ublox NEO-6M (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, Juuni
Anonim
Liides Arduino Mega GPS-mooduliga (Neo-6M)
Liides Arduino Mega GPS-mooduliga (Neo-6M)

Selles projektis olen näidanud, kuidas ühendada GPS-moodul (Neo-6M) Arduino Mega. TinyGPS -i teeki kasutatakse pikkus- ja laiuskraadi andmete kuvamiseks ning TinyGPS ++ - laiuskraadi, pikkuskraadi, kõrguse, kiiruse ja satelliitide arvu kuvamiseks jadamonitoril.

Samm: vajalikud komponendid

Riistvara

  • Arduino Mega ==> 30 dollarit
  • Neo-6M GPS-moodul ==> 30 dollarit

Tarkvara

Arduino IDE

Projekti kogumaksumus on 60 dollarit

2. samm: teave GPS -i kohta

Mis on GPS

Globaalne positsioneerimissüsteem (GPS) on satelliidipõhine navigatsioonisüsteem, mis koosneb vähemalt 24 satelliidist. GPS töötab mis tahes ilmastikutingimustes, kõikjal maailmas, 24 tundi ööpäevas ilma liitumistasude ja seadistustasudeta.

Kuidas GPS töötab

GPS -satelliidid tiirlevad ümber Maa kaks korda päevas täpselt orbiidil. Iga satelliit edastab ainulaadse signaali ja orbitaalparameetrid, mis võimaldavad GPS -seadmetel dekodeerida ja arvutada satelliidi täpse asukoha. GPS -vastuvõtjad kasutavad seda teavet ja trilateratsiooni kasutaja täpse asukoha arvutamiseks. Põhimõtteliselt mõõdab GPS -vastuvõtja kaugust iga satelliidini edastatud signaali vastuvõtmiseks kuluva aja võrra. Veel mõne satelliidi kaugusemõõtmisel saab vastuvõtja määrata kasutaja asukoha ja seda kuvada.

Kahemõõtmelise asukoha (laius- ja pikkuskraad) ning raja liikumise arvutamiseks peab GPS-vastuvõtja olema lukustatud vähemalt kolme satelliidi signaaliga. Kui vaateväljas on 4 või enam satelliiti, saab vastuvõtja määrata teie kolmemõõtmelise asukoha (laius-, pikkus- ja kõrgus). Üldiselt jälgib GPS -vastuvõtja 8 või enamat satelliiti, kuid see sõltub kellaajast ja kohast, kus te olete. Kui teie asukoht on kindlaks määratud, saab GPS -seade arvutada muud teavet, näiteks

  • Kiirus
  • Laager
  • Rada
  • Reisi dist
  • Kaugus sihtkohast

Mis on signaal

GPS-satelliidid edastavad vähemalt 2 väikese võimsusega raadiosignaali. Signaalid liiguvad vaatevälja kaudu, mis tähendab, et need läbivad pilvi, klaasi ja plasti, kuid ei läbi enamikku tahkeid objekte, nagu hooned ja mäed. Kuid kaasaegsed vastuvõtjad on tundlikumad ja suudavad tavaliselt maju jälgida. GPS -signaal sisaldab kolme erinevat tüüpi teavet

Pseudo -juhuslik kood

See on I. D. kood, mis tuvastab, milline satelliit teavet edastab. Seadme satelliitlehelt näete, millistelt satelliitidelt signaale saate.

Efemeri andmed

Efemeri andmed on vajalikud satelliidi asukoha määramiseks ja annavad olulist teavet satelliidi tervise, praeguse kuupäeva ja kellaaja kohta.

Almanahhi andmed

Almanahhi andmed ütlevad GPS -vastuvõtjale, kus iga GPS -satelliit peaks päeva jooksul igal ajal asuma, ning näitab selle satelliidi ja süsteemi kõigi teiste satelliitide orbiiditeavet.

3. samm: Neo-6M GPS-moodul

GPS-moodul NEO-6M on näidatud alloleval joonisel. Kaasas väline antenn ja päise tihvte. Nii et peate selle jootma.

Ülevaade NEO-6M GPS-moodulist

GPS-kiip NEO-6M

Mooduli süda on u-bloxist pärit GPS-kiip NEO-6M. See suudab jälgida kuni 22 satelliiti 50 kanalil ja saavutada tööstuse kõrgeima tundlikkuse taseme, st -161 dB jälgimise, tarbides samal ajal ainult 45 mA toitevoolu. Samuti on u-blox 6 positsioneerimismootoril aega kuni 1 sekundi pikkune parandus (TTFF). Kiibi üks parimaid omadusi on energiasäästurežiim (PSM). See võimaldab vähendada süsteemi energiatarvet, lülitades vastuvõtja osad valikuliselt sisse ja välja. See vähendab oluliselt mooduli energiatarvet vaid 11 mA -ni, muutes selle sobivaks energiatundlikele rakendustele, nagu GPS -käekell. Vajalikud NEO-6M GPS-kiibi andmestikud on jaotatud 0,1-tolliste sammudega päisteks. See hõlmab kontakte, mis on vajalikud UART -i kaudu mikrokontrolleriga suhtlemiseks.

Märkus:- Moodul toetab andmeedastuskiirust 4800bps kuni 230400bps, vaikimisi edastuskiirus 9600bps.

Positsiooni fikseeritud LED -indikaator

GPS-moodulil NEO-6M on LED, mis näitab positsiooni parandamise olekut. See vilgub erineva kiirusega, olenevalt sellest, millises olekus see on

  1. Ei vilguta ==> tähendab, et see otsib satelliite
  2. Vilgub iga 1 sekundi järel - tähendab, et positsiooni parandus on leitud

3.3V LDO regulaator

Kiibi NEO-6M tööpinge on vahemikus 2,7 kuni 3,6 V. Kuid moodul on varustatud MICRELi ülimadala väljalangemisega 3V3 regulaatoriga MIC5205. Loogilised tihvtid on ka 5-voldise taluvusega, nii et saame selle hõlpsalt ühendada Arduino või mis tahes 5 V loogilise mikrokontrolleriga ilma loogika taseme muundurit kasutamata.

Aku ja EEPROM

Moodul on varustatud HK24C32 kahe juhtmega jada EEPROM -iga. See on 4KB suurune ja ühendatud I2C kaudu NEO-6M kiibiga. Moodul sisaldab ka laetavat aku, mis toimib superkondensaatorina.

EEPROM koos akuga aitab säilitada patareidega tagatud RAM -i (BBR). BBR sisaldab kellaandmeid, viimaseid asukohaandmeid (GNSS -i orbiidi andmed) ja mooduli konfiguratsiooni. Kuid see pole mõeldud püsivaks andmete salvestamiseks.

Kuna aku hoiab kella ja viimast asendit, väheneb esmane parandamine (TTFF) oluliselt 1 sekundini. See võimaldab palju kiiremat positsiooni lukustamist.

Ilma akuta käivitab GPS alati külmkäivituse, nii et esmane GPS-lukk võtab rohkem aega. Aku laeb toite sisselülitamisel automaatselt ja säilitab andmeid kuni kaks nädalat ilma vooluta.

Pinout

GND on maandusnõel ja see tuleb ühendada Arduino GND tihvtiga

TxD (saatja) tihvti kasutatakse jadaühenduseks

RxD (vastuvõtja) tihvti kasutatakse jadaühenduseks

VCC toidab moodulit. Saate selle otse ühendada Arduino 5V pistikuga

Samm: Arduino Mega

Arduino on avatud lähtekoodiga elektroonikaplatvorm, mis põhineb hõlpsasti kasutataval riist- ja tarkvaral. Arduino tahvlid on võimelised lugema sisendeid - valgust anduril, sõrme nupul või Twitteri sõnumit - ja muutma selle väljundiks - aktiveerides mootori, lülitades sisse LED -i, avaldades midagi võrgus. Saate oma plaadile öelda, mida teha, saates juhiste komplekti tahvli mikrokontrollerile. Selleks kasutate programmeerimiskeelt Arduino (põhineb juhtmestikul) ja töötlemisel põhinevat Arduino tarkvara (IDE).

Arduino Mega

Arduino Mega 2560 on mikrokontrolleri plaat, mis põhineb Atmega2560 -l.

  • Tahvlil on 54 digitaalset sisend-/väljundpistikut ja 16 analoog -tihvti, mis muudavad selle seadme ainulaadseks ja eristuvad teistest. 54 -st digitaalsest sisend -väljundist 15 kasutatakse PWM -i (impulsi laiuse modulatsioon) jaoks.
  • Tahvlile on lisatud 16MHz sagedusega kristallostsillaator.
  • Tahvlil on USB -kaabli port, mida kasutatakse koodi ühendamiseks ja arvutist tahvlile edastamiseks.
  • Alalisvoolu toitepistik on ühendatud plaadiga, mida kasutatakse plaadi toiteks.
  • Tahvlil on kaks pingeregulaatorit, st 5V ja 3,3V, mis tagab paindlikkuse pinge reguleerimiseks vastavalt nõuetele.
  • Seal on lähtestusnupp ja 4 riistvara jadaporti nimega USART, mis toodavad ühenduse loomiseks maksimaalset kiirust.
  • Tahvli toiteks on kolm võimalust. Tahvli toiteks ja koodi tahvlile edastamiseks võite kasutada USB -kaablit või saate selle sisse lülitada plaadi Vin abil või toitepistiku või taigna kaudu.

Tehnilised andmed

Pinout

Pin Kirjeldus

  • 5V & 3.3V ==> Seda tihvti kasutatakse väljundpinge reguleerimiseks umbes 5 V. See reguleeritud toide toidab kontrollerit ja teisi tahvli komponente. Selle saab hankida plaadi Vin -ist või USB -kaablist või muust reguleeritud 5 V pingeallikast. Kuigi teist pinge reguleerimist pakub 3,3 V pin. Selle maksimaalne võimsus on 50 mA.
  • GND ==> Tahvlil on saadaval 5 maandusnõela, mis on kasulik, kui projekti jaoks on vaja rohkem kui ühte maandusnõela.
  • Lähtesta ==> Seda tihvti kasutatakse tahvli lähtestamiseks. Kui määrate selle tihvti madalaks, lähtestatakse plaat.
  • Vin ==> See on plaadile sisestatud pinge vahemikus 7V kuni 20V. Toitepistiku pingele pääseb selle tihvti kaudu juurde. Kuid väljundpinge selle tihvti kaudu plaadile seadistatakse automaatselt 5 V -ni.
  • Jadaühendus ==> RXD ja TXD on jadaandmed, mida kasutatakse jadaandmete edastamiseks ja vastuvõtmiseks, st Rx tähistab andmete edastamist, Tx aga andmete vastuvõtmiseks. Nendest jadatihvtidest on neli kombinatsiooni, kus Serail 0 sisaldab RX (0) ja TX (1), seeria 1 sisaldab TX (18) ja RX (19), jada 2 sisaldab TX (16) ja RX (17), ja seeria 3 sisaldab TX (14) ja RX (15).
  • Välised katkestused ==> Kuus tihvti kasutatakse väliste katkestuste loomiseks, st katkestus 0 (0), katkestus 1 (3), katkestus 2 (21), katkestus 3 (20), katkestus 4 (19), katkestus 5 (18). Need tihvtid tekitavad katkestusi mitmel viisil, st annavad madala väärtuse, tõusevad või langevad servad või muudavad katkestusnööpe.
  • LED ==> Sellel plaadil on sisseehitatud LED, mis on ühendatud digitaalse tihvtiga 13. Kõrge väärtus sellel tihvtil lülitab LED sisse ja LOW väärtus lülitab selle välja.
  • AREF ==> AREF tähistab analoog -võrdluspinget, mis on analoogsisendite võrdluspinge.
  • Analoogpoldid ==> Tahvlil on 16 analoognõela, mis on märgistatud kui A0 kuni A15. Oluline on märkida, et kõiki neid analoogpistikuid saab kasutada digitaalsete sisend-/väljundpistikutena. Igal analoogpistikul on 10-bitine eraldusvõime. Need tihvtid võivad mõõta maapinnast kuni 5V. Kuid ülemist väärtust saab muuta, kasutades funktsiooni AREF ja analogReference ().
  • I2C ==> Kaks tihvti 20 ja 21 toetavad I2C -sidet, kus 20 tähistab SDA -d (jadaandmete liin, mida kasutatakse peamiselt andmete hoidmiseks) ja 21 tähistab SCL -i (jadakellaliin, mida kasutatakse peamiselt andmete sünkroonimiseks seadmete vahel)
  • SPI kommunikatsioon ==> SPI tähistab Serial Peripheral Interface, mida kasutatakse andmete edastamiseks kontrolleri ja teiste välisseadmete komponentide vahel. SPI -side jaoks kasutatakse nelja tihvti, st 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).

Samm: Arduino IDE

Siinkohal eeldan, et olete juba Arduino IDE installinud.

1. Laadige alla allpool nõutav kogu

TinyGPS lib

2. Pärast selle allalaadimist. Eemaldage see ja teisaldage see kausta C: / Users \… / Documents / Arduino / teegid veenduge, et seal pole (-).

3. Avage Arduino IDE ja kopeerige programmijaotisest kood.

4. Seejärel valige selle jaoks plaat, minge menüüsse Tööriistad ==> Tahvlid ==> valige siin tahvel, me kasutame Arduino Mega 2560

5. Pärast plaadi valimist valige selle jaoks port, valige Tools ==> Ports

6. Pärast tahvli ja pordi valimist klõpsake nuppu Laadi üles.

7. Kui kood on üles laaditud, avage väljundi nägemiseks jadaterminal.

6. samm: ühendused

Arduino MEGA ==> NEO-6M GPS

  • 3.3V ==> VCC
  • GND ==> GND
  • Tx1 (18) ==> Rx
  • Rx (19) ==> Tx

Serial1 asemel saate kasutada ka Serial2 või Serial3

Soovitan: