Sadržaj:

Sučelje Arduino Mega s GPS modulom (Neo-6M): 8 koraka
Sučelje Arduino Mega s GPS modulom (Neo-6M): 8 koraka

Video: Sučelje Arduino Mega s GPS modulom (Neo-6M): 8 koraka

Video: Sučelje Arduino Mega s GPS modulom (Neo-6M): 8 koraka
Video: GPS Speedometer DIY Using Arduino Pro Mini and NEO M6 GPS #electronic #electricalengineeringstudent 2024, Lipanj
Anonim
Sučelje Arduino Mega s GPS modulom (Neo-6M)
Sučelje Arduino Mega s GPS modulom (Neo-6M)

U ovom projektu sam pokazao kako spojiti GPS modul (Neo-6M) s Arduino Mega. Knjižnica TinyGPS koristi se za prikaz podataka o zemljopisnoj dužini i širini, a TinyGPS ++ za prikaz zemljopisne širine, dužine, nadmorske visine, brzine i broja satelita na serijskom monitoru.

Korak 1: Potrebne komponente

Hardver

  • Arduino Mega ==> 30 USD
  • Neo-6M GPS modul ==> 30 USD

Softver

Arduino IDE

Ukupna vrijednost projekta je 60 USD

Korak 2: Informacije o GPS -u

Što je GPS

Globalni sustav pozicioniranja (GPS) satelitski je navigacijski sustav sastavljen od najmanje 24 satelita. GPS radi u svim vremenskim uvjetima, bilo gdje u svijetu, 24 sata dnevno, bez pretplate ili naknade za postavljanje.

Kako GPS funkcionira

GPS sateliti kruže Zemljom dva puta dnevno u preciznoj orbiti. Svaki satelit odašilje jedinstveni signal i orbitalne parametre koji omogućuju GPS uređajima dekodiranje i izračunavanje točne lokacije satelita. GPS prijemnici koriste ove informacije i trilateraciju za izračun točne lokacije korisnika. U osnovi, GPS prijamnik mjeri udaljenost do svakog satelita prema količini vremena koje je potrebno za prijem primljenog signala. Mjerenjem udaljenosti od još nekoliko satelita, prijemnik može odrediti položaj korisnika i prikazati ga.

Za izračun vašeg 2-D položaja (zemljopisne širine i dužine) i kretanja traga, GPS prijemnik mora biti zaključan na signal najmanje 3 satelita. S 4 ili više satelita na vidiku, prijemnik može odrediti vaš 3-D položaj (zemljopisna širina, dužina i nadmorska visina). Općenito, GPS prijamnik će pratiti 8 ili više satelita, ali to ovisi o dobu dana i gdje se nalazite na zemlji. Nakon što je vaš položaj određen, GPS jedinica može izračunati druge podatke, npr

  • Ubrzati
  • Ležaj
  • Staza
  • Trip dist
  • Udaljenost do odredišta

Što je signal

GPS sateliti emitiraju najmanje 2 radio signala male snage. Signali putuju vidnom linijom, što znači da će prolaziti kroz oblake, staklo i plastiku, ali neće proći kroz većinu čvrstih objekata, poput zgrada i planina. Međutim, moderni prijemnici su osjetljiviji i obično mogu pratiti kuće. GPS signal sadrži 3 različite vrste informacija

Pseudoslučajni kod

To je I. D. kôd koji identificira koji satelit prenosi informacije. Na satelitskoj stranici uređaja možete vidjeti s kojih satelita primate signale.

Podaci o efemeridama

Efemeridi su potrebni za određivanje položaja satelita i daju važne informacije o zdravlju satelita, trenutnom datumu i vremenu.

Podaci almanaha

Podaci almanaha govore GPS prijemniku gdje bi svaki GPS satelit trebao biti u bilo koje doba dana i prikazuju orbitalne podatke za taj satelit i svaki drugi satelit u sustavu.

Korak 3: Neo-6M GPS modul

GPS modul NEO-6M prikazan je na donjoj slici. Dolazi s vanjskom antenom i ne dolazi sa zaglavljima. Zato ćete ga morati lemiti.

Pregled GPS modula NEO-6M

NEO-6M GPS čip

Srce modula je NEO-6M GPS čip iz u-bloxa. Može pratiti do 22 satelita na 50 kanala i postiže najvišu razinu osjetljivosti u industriji, tj. -161 dB praćenje, dok troši samo 45mA struju napajanja. Motor za pozicioniranje u-blox 6 također se može pohvaliti Time-To-First-Fix (TTFF) vremenom manjim od 1 sekunde. Jedna od najboljih značajki koje čip pruža je Power Save Mode (PSM). Omogućuje smanjenje potrošnje energije sustava selektivnim uključivanjem i isključivanjem dijelova prijemnika. Time se dramatično smanjuje potrošnja energije modula na samo 11mA što ga čini pogodnim za aplikacije osjetljive na energiju poput GPS ručnog sata. Potrebni podatkovni pinovi NEO-6M GPS čipa razbijeni su na zaglavlja visine 0,1 ″. To uključuje pinove potrebne za komunikaciju s mikrokontrolerom preko UART -a.

Napomena:- Modul podržava brzinu prijenosa od 4800bps do 230400bps sa zadanim protokom od 9600.

LED indikator fiksiranja položaja

Na GPS modulu NEO-6M nalazi se LED dioda koja pokazuje status Fix Fix. Treptat će različitim brzinama, ovisno o tome u kojem se stanju nalazi

  1. Bez treptanja ==> znači da traži satelite
  2. Treptati svakih 1 s - znači da je pronađena ispravka položaja

3.3V LDO regulator

Radni napon čipa NEO-6M je od 2,7 do 3,6V. No, modul dolazi s MICREL-ovim 3V3 regulatorom ultra niskog ispadanja. Logički pinovi su također tolerantni na 5 volti, pa ih možemo jednostavno spojiti na Arduino ili bilo koji 5V logički mikrokontroler bez korištenja pretvarača logičke razine.

Baterija i EEPROM

Modul je opremljen dvožilnim serijskim EEPROM -om HK24C32. Veličina je 4 KB i povezan je s NEO-6M čipom putem I2C. Modul također sadrži punjivu bateriju s gumbom koja djeluje kao super-kondenzator.

EEPROM zajedno s baterijom pomaže u zadržavanju RAM -a (BBR) podržanog baterijom. BBR sadrži podatke o satu, najnovije podatke o položaju (podaci o orbiti GNSS -a) i konfiguraciju modula. Ali nije namijenjeno trajnoj pohrani podataka.

Kako baterija zadržava sat i posljednji položaj, vrijeme do prvog popravljanja (TTFF) značajno se smanjuje na 1 s. To omogućuje mnogo brže zaključavanje položaja.

Bez baterije GPS se uvijek hladno pokreće pa početno zaključavanje GPS-a oduzima više vremena. Baterija se automatski puni pri uključivanju i održava podatke do dva tjedna bez napajanja.

Prikaz izvoda

GND je uzemljeni pin i potrebno ga je spojiti na GND pin na Arduinu

TxD (odašiljač) pin koristi se za serijsku komunikaciju

RxD (prijemnik) pin koristi se za serijsku komunikaciju

VCC napaja modul. Možete ga izravno spojiti na 5V pin na Arduinu

Korak 4: Arduino Mega

Arduino je elektronička platforma otvorenog koda koja se temelji na hardveru i softveru koji je jednostavan za korištenje. Arduino ploče mogu čitati ulaze - svjetlo na senzoru, prst na gumbu ili poruku na Twitteru - i pretvoriti ga u izlaz - aktivirati motor, uključiti LED, objaviti nešto na internetu. Ploči možete reći što učiniti slanjem skupa uputa mikrokontroleru na ploči. Da biste to učinili, koristite programski jezik Arduino (na temelju ožičenja) i Arduino softver (IDE), na temelju obrade.

Arduino Mega

Arduino Mega 2560 je ploča za mikrokontroler zasnovana na Atmega2560.

  • Na ploči su ugrađena 54 digitalna I/O pina i 16 analognih pinova koji ovaj uređaj čine jedinstvenim i izdvajaju se od ostalih. Od 54 digitalna I/O, 15 se koristi za PWM (pulsno -širinska modulacija).
  • Na ploču je dodan kristalni oscilator frekvencije 16MHz.
  • Ploča dolazi s priključkom za USB kabel koji se koristi za povezivanje i prijenos koda s računala na ploču.
  • Utičnica za istosmjerno napajanje povezana je s pločom koja se koristi za napajanje ploče.
  • Ploča dolazi s dva regulatora napona, odnosno 5V i 3.3V, što pruža fleksibilnost za regulaciju napona prema zahtjevima.
  • Postoji gumb za resetiranje i 4 hardverska serijska porta pod nazivom USART koji proizvode maksimalnu brzinu za postavljanje komunikacije.
  • Postoje tri načina za napajanje ploče. Možete koristiti USB kabel za napajanje ploče i prijenos koda na ploču ili ga možete napajati pomoću Vin ploče ili putem priključka za napajanje ili tijesta.

Tehnički podaci

Prikaz izvoda

Opis igle

  • 5V i 3.3V ==> Ovaj pin se koristi za osiguravanje izlaznog reguliranog napona oko 5V. Ovo regulirano napajanje napaja regulator i ostale komponente na ploči. Može se nabaviti putem Vin ploče ili USB kabela ili drugog reguliranog napona od 5 V. Dok je druga regulacija napona osigurana pinom od 3,3 V. Maksimalna snaga koju može izvući je 50mA.
  • GND ==> Na ploči je dostupno 5 uzemljenih igala što ga čini korisnim kada je za projekt potrebno više od jedne uzemljene igle.
  • Reset ==> Ovaj pin se koristi za resetiranje ploče. Postavljanje ovog pina na LOW poništiće ploču.
  • Vin ==> To je ulazni napon napajan na ploči koji se kreće od 7V do 20V. Ovom priključku može se pristupiti naponu koji daje utičnica za napajanje. Međutim, izlazni napon kroz ovaj pin na ploču automatski će se postaviti na 5V.
  • Serijska komunikacija ==> RXD i TXD su serijski pinovi koji se koriste za prijenos i prijem serijskih podataka, tj. Rx predstavlja prijenos podataka, dok se Tx koristi za primanje podataka. Postoje četiri kombinacije ovih serijskih pinova gdje Serail 0 sadrži RX (0) i TX (1), Serijski 1 sadrži TX (18) i RX (19), Serijski 2 sadrži TX (16) i RX (17), a serijski broj 3 sadrži TX (14) i RX (15).
  • Vanjski prekidi ==> Šest pinova koristi se za stvaranje vanjskih prekida, tj. Prekid 0 (0), prekid 1 (3), prekid 2 (21), prekid 3 (20), prekid 4 (19), prekid 5 (18). Ovi pinovi stvaraju prekide na više načina, tj. Pružaju NISKU vrijednost, rastući ili padajući rub ili mijenjaju vrijednost prekidačima.
  • LED ==> Ova ploča dolazi s ugrađenom LED diodom spojenom na digitalni pin 13. VISOKA vrijednost na ovom pinu će uključiti LED, a NISKA će je isključiti.
  • AREF ==> AREF označava analogni referentni napon koji je referentni napon za analogne ulaze.
  • Analogni pinovi ==> Na ploči je ugrađeno 16 analognih pinova označenih kao A0 do A15. Važno je napomenuti da se svi ti analogni pinovi mogu koristiti kao digitalni I/O pinovi. Svaki analogni pin dolazi s 10-bitnom rezolucijom. Ovi pinovi mogu mjeriti od zemlje do 5V. No gornja se vrijednost može promijeniti korištenjem funkcije AREF i analogReference ().
  • I2C ==> Dva pina 20 i 21 podržavaju I2C komunikaciju gdje 20 predstavlja SDA (serijska podatkovna linija koja se uglavnom koristi za čuvanje podataka), a 21 predstavlja SCL (serijska linija sata koja se uglavnom koristi za pružanje sinkronizacije podataka između uređaja)
  • SPI komunikacija ==> SPI označava serijsko periferno sučelje koje se koristi za prijenos podataka između kontrolera i drugih komponenti perifernih uređaja. Četiri pina, tj. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) koriste se za SPI komunikaciju.

Korak 5: Arduino IDE

Pretpostavljam da ste već instalirali Arduino IDE.

1. Preuzmite dolje navedenu potrebnu biblioteku

TinyGPS lib

2. Nakon preuzimanja. Raspakirajte ga i premjestite u mapu C: / Users \… / Documents / Arduino / libraries pazite da nema (-).

3. Otvorite Arduino IDE i kopirajte kôd iz odjeljka programa.

4. Zatim odaberite ploču za to idite na Alati ==> Ploče ==> ovdje odaberite ploču koju koristimo Arduino Mega 2560

5. Nakon odabira ploče odaberite port za to idite na Alati ==> Portovi

6. Nakon odabira ploče i porta kliknite upload.

7. Nakon učitavanja koda otvorite serijski terminal kako biste vidjeli izlaz.

Korak 6: Veze

Arduino MEGA ==> NEO-6M GPS

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

Također možete koristiti Serial2 ili Serial3 umjesto Serial1

Preporučeni: