Sisällysluettelo:

Liitäntä Arduino Mega GPS-moduulilla (Neo-6M): 8 vaihetta
Liitäntä Arduino Mega GPS-moduulilla (Neo-6M): 8 vaihetta

Video: Liitäntä Arduino Mega GPS-moduulilla (Neo-6M): 8 vaihetta

Video: Liitäntä Arduino Mega GPS-moduulilla (Neo-6M): 8 vaihetta
Video: LDmicro 14: ЖК-дисплей I2C и часы реального времени DS3231 (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, Joulukuu
Anonim
Liitäntä Arduino Mega GPS-moduulilla (Neo-6M)
Liitäntä Arduino Mega GPS-moduulilla (Neo-6M)

Tässä projektissa olen osoittanut, kuinka liittää GPS-moduuli (Neo-6M) Arduino Megaan. TinyGPS -kirjastoa käytetään pituus- ja leveysasteiden tietojen näyttämiseen ja TinyGPS ++ -sovellusta näyttämään leveys-, pituus-, korkeus-, nopeus- ja satelliittimäärät sarjamonitorissa.

Vaihe 1: Tarvittavat komponentit

Laitteisto

  • Arduino Mega ==> 30 dollaria
  • Neo-6M GPS-moduuli ==> 30 dollaria

Ohjelmisto

Arduino IDE

Hankkeen kokonaiskustannukset ovat 60 dollaria

Vaihe 2: Tietoja GPS: stä

Mikä on GPS

Global Positioning System (GPS) on satelliittipohjainen navigointijärjestelmä, joka koostuu vähintään 24 satelliitista. GPS toimii kaikissa sääolosuhteissa kaikkialla maailmassa 24 tuntia vuorokaudessa ilman tilaus- tai asennusmaksuja.

Kuinka GPS toimii

GPS -satelliitit kiertävät maapalloa kahdesti päivässä tarkalla kiertoradalla. Jokainen satelliitti lähettää ainutlaatuisen signaalin ja kiertorataparametrit, joiden avulla GPS -laitteet voivat purkaa ja laskea satelliitin tarkan sijainnin. GPS -vastaanottimet käyttävät näitä tietoja ja trilateraatiota laskemaan käyttäjän tarkan sijainnin. Pohjimmiltaan GPS -vastaanotin mittaa etäisyyden jokaiseen satelliittiin ajan verran, joka kuluu lähetetyn signaalin vastaanottamiseen. Kun etäisyys mitataan muutamasta muusta satelliitista, vastaanotin voi määrittää käyttäjän sijainnin ja näyttää sen.

2-D-sijaintisi (leveys- ja pituusaste) ja raidan liikkeen laskemiseksi GPS-vastaanotin on lukittava vähintään kolmen satelliitin signaaliin. Kun 4 tai useampi satelliitti on näkyvissä, vastaanotin voi määrittää kolmiulotteisen sijaintisi (leveys-, pituus- ja korkeus). Yleensä GPS -vastaanotin seuraa vähintään 8 satelliittia, mutta se riippuu kellonajasta ja siitä, missä olet maan päällä. Kun sijaintisi on määritetty, GPS -yksikkö voi laskea muita tietoja, kuten

  • Nopeus
  • Laakeri
  • Seurata
  • Matka etäisyys
  • Etäisyys määränpäähän

Mikä on signaali

GPS-satelliitit lähettävät vähintään 2 pienitehoista radiosignaalia. Signaalit kulkevat näköyhteyden kautta eli ne kulkevat pilvien, lasin ja muovin läpi, mutta eivät useimpien kiinteiden esineiden, kuten rakennusten ja vuorten, läpi. Nykyaikaiset vastaanottimet ovat kuitenkin herkempiä ja voivat yleensä seurata taloja. GPS -signaali sisältää 3 erityyppistä tietoa

Näennäissatunnainen koodi

Se on I. D. koodi, joka tunnistaa, mikä satelliitti lähettää tietoja. Laitteen satelliittisivulta näet, mistä satelliiteista saat signaaleja.

Ephemeris -tiedot

Ephemeris -tietoja tarvitaan satelliitin sijainnin määrittämiseen ja ne antavat tärkeitä tietoja satelliitin kunnosta, nykyisestä päivämäärästä ja kellonajasta.

Almanakkien tiedot

Almanakkitiedot kertovat GPS -vastaanottimelle, missä kunkin GPS -satelliitin on oltava milloin tahansa päivän aikana, ja näyttävät kyseisen satelliitin ja kaikkien muiden järjestelmän satelliittien kiertorataa koskevat tiedot.

Vaihe 3: Neo-6M GPS-moduuli

NEO-6M GPS-moduuli on esitetty alla olevassa kuvassa. Sen mukana tulee ulkoinen antenni, eikä mukana tule nastatappeja. Joten sinun on juotettava se.

Katsaus NEO-6M GPS -moduuliin

NEO-6M GPS-siru

Moduulin sydän on u-bloxin NEO-6M GPS-siru. Se voi seurata jopa 22 satelliittia 50 kanavalla ja saavuttaa alan korkeimman herkkyystason eli -161 dB: n seurannan samalla kun kuluttaa vain 45 mA: n syöttövirtaa. U-blox 6 -moottorissa on myös alle 1 sekunnin aika-ensimmäinen korjaus (TTFF). Yksi sirun parhaista ominaisuuksista on virransäästötila (PSM). Se mahdollistaa järjestelmän virrankulutuksen vähentämisen kytkemällä vastaanottimen osat valikoivasti päälle ja pois. Tämä vähentää merkittävästi moduulin virrankulutusta vain 11 mA: iin, joten se soveltuu tehoherkille sovelluksille, kuten GPS -rannekellolle. Tarvittavat NEO-6M GPS-sirun datanastat on jaettu 0,1 tuuman välein. Tämä sisältää nastat, joita tarvitaan kommunikointiin UART -mikrokontrollerin kanssa.

Huomautus:- Moduuli tukee tiedonsiirtonopeutta 4800 bps- 230400 bps oletus baudin ollessa 9600.

Position Fix -merkkivalo

NEO-6M GPS -moduulissa on LED, joka ilmaisee Position Fix -tilan. Se vilkkuu eri nopeuksilla sen mukaan, missä tilassa se on

  1. Ei vilkkua ==> tarkoittaa, että se etsii satelliitteja
  2. Vilkkuu 1 sekunnin välein - tarkoittaa, että sijaintikorjaus löytyy

3.3V LDO -säädin

NEO-6M-sirun käyttöjännite on 2,7-3,6 V. Moduulissa on kuitenkin MICRELin erittäin matala pudotus 3V3-säädin MIC5205. Loogiset nastat kestävät myös 5 volttia, joten voimme helposti liittää sen Arduinoon tai mihin tahansa 5 V: n logiikka-mikrokontrolleriin ilman mitään logiikkatasomuunninta.

Akku ja EEPROM

Moduuli on varustettu kaksijohtimisella HK24C32 EEPROM -sarjalla. Se on kooltaan 4KB ja liitetty NEO-6M-siruun I2C: n kautta. Moduuli sisältää myös ladattavan nappipariston, joka toimii superkondensaattorina.

EEPROM yhdessä akun kanssa auttaa säilyttämään akkuvarmennetun RAM -muistin (BBR). BBR sisältää kellotiedot, viimeisimmät sijaintitiedot (GNSS -kiertoradatiedot) ja moduulikonfiguraation. Mutta sitä ei ole tarkoitettu pysyvään tietojen tallentamiseen.

Kun akku säilyttää kellon ja viimeisen asennon, ensimmäisen korjauksen aika (TTFF) lyhenee merkittävästi 1 sekuntiin. Tämä mahdollistaa paljon nopeamman asennon lukituksen.

Ilman akkua GPS käynnistyy aina kylmäkäynnistyksellä, joten ensimmäinen GPS-lukitus kestää kauemmin. Akku latautuu automaattisesti, kun virta kytketään, ja säilyttää tiedot jopa kaksi viikkoa ilman virtaa.

Sokka irti

GND on maadoitusnasta ja se on liitettävä Arduinon GND -nastaan

TxD (Transmitter) -tappia käytetään sarjaliikenteeseen

RxD (vastaanotin) -tappia käytetään sarjaliikenteeseen

VCC syöttää virtaa moduulille. Voit liittää sen suoraan Arduinon 5V -nastaan

Vaihe 4: Arduino Mega

Arduino on avoimen lähdekoodin elektroniikka-alusta, joka perustuu helppokäyttöiseen laitteistoon ja ohjelmistoon. Arduino -levyt pystyvät lukemaan tulot - valon anturissa, sormen painikkeessa tai Twitter -viestin - ja muuttamaan sen ulostuloksi - aktivoimaan moottorin, kytkemään LED -valon päälle, julkaisemaan jotain verkossa. Voit kertoa taulullesi mitä tehdä lähettämällä ohjeet taululla olevalle mikrokontrollerille. Tätä varten käytät Arduino -ohjelmointikieltä (joka perustuu johdotukseen) ja Arduino -ohjelmistoa (IDE), joka perustuu käsittelyyn.

Arduino Mega

Arduino Mega 2560 on Atmega2560 -pohjainen mikrokortti.

  • Kortissa on 54 digitaalista I/O -nastaa ja 16 analogista nastaa, jotka tekevät tästä laitteesta ainutlaatuisen ja erottuvat muista. 54: stä digitaalisesta I/O: sta 15: tä käytetään PWM: ään (pulssileveysmodulaatio).
  • Taululle lisätään 16 MHz: n taajuudella varustettu kideoskillaattori.
  • Taulukossa on USB -kaapeliportti, jota käytetään koodin yhdistämiseen ja siirtämiseen tietokoneelta kortille.
  • DC -virtaliitin on liitetty piirilevyyn, jota käytetään levyn virtalähteenä.
  • Kortissa on kaksi jännitesäädintä eli 5V ja 3,3V, jotka tarjoavat joustavuutta jännitteen säätämiseen vaatimusten mukaisesti.
  • Siinä on nollauspainike ja 4 laitteiston sarjaporttia USART, jotka tuottavat enimmäisnopeuden tiedonsiirtoa varten.
  • Taululle voidaan antaa virta kolmella tavalla. Voit joko käyttää USB -kaapelia virran syöttämiseen ja koodin siirtämiseen taululle tai voit käynnistää sen käyttämällä levyn Vin -liitäntää tai virtaliitännän tai taikinan kautta.

Tekniset tiedot

Sokka irti

Nasta Kuvaus

  • 5V & 3.3V ==> Tätä tappia käytetään antamaan lähtöjännitettä noin 5 V. Tämä säädetty virtalähde syöttää ohjaimen ja muut piirilevyn komponentit. Se voidaan hankkia kortin Vin -liitännästä tai USB -kaapelista tai muusta säädetystä 5 V: n jännitelähteestä. Toinen jännitesäätö on 3,3 V: n nastainen. Suurin teho, jonka se voi vetää, on 50 mA.
  • GND ==> Taululla on saatavana 5 maadoitustappia, mikä tekee siitä hyödyllisen, kun projektiin tarvitaan useampi kuin yksi maadoituspiikki.
  • Nollaa ==> Tätä tappia käytetään levyn nollaamiseen. Tämän nastan asettaminen LOW -tilaan palauttaa levyn.
  • Vin ==> Se on piirilevylle syötetty tulojännite, joka vaihtelee välillä 7V - 20V. Virtaliittimen tarjoamaan jännitteeseen pääsee tämän nastan kautta. Lähtöjännite tämän tapin kautta kortille asetetaan kuitenkin automaattisesti 5 V: ksi.
  • Sarjaliikenne ==> RXD ja TXD ovat sarjatappeja, joita käytetään sarjatietojen lähettämiseen ja vastaanottamiseen eli Rx edustaa tiedonsiirtoa, kun taas Tx käytetään tietojen vastaanottamiseen. Näitä sarjatappeja on neljä yhdistelmää, joissa Serail 0 sisältää RX (0) ja TX (1), sarja 1 sisältää TX (18) ja RX (19), sarja 2 sisältää TX (16) ja RX (17), ja sarja 3 sisältää TX (14) ja RX (15).
  • Ulkoiset keskeytykset ==> Kuutta nastaa käytetään ulkoisten keskeytysten luomiseen eli keskeytys 0 (0), keskeytys 1 (3), keskeytys 2 (21), keskeytys 3 (20), keskeytys 4 (19), keskeytys 5 (18). Nämä nastat tuottavat keskeytyksiä useilla tavoilla, eli antavat LOW -arvon, nousevan tai laskevan reunan tai muuttavat arvoa keskeytystapeille.
  • LED ==> Tässä kortissa on sisäänrakennettu LED, joka on kytketty digitaaliseen nastaan 13. KORKEA arvo tässä tapissa sytyttää LED-valon ja LOW-arvo sammuttaa sen.
  • AREF ==> AREF tarkoittaa analogista referenssijännitettä, joka on analogiatulojen vertailujännite.
  • Analogiset nastat ==> Taululla on 16 analogista nastaa, jotka on merkitty A0 - A15. On tärkeää huomata, että kaikkia näitä analogisia nastoja voidaan käyttää digitaalisina I/O -nastoina. Jokaisessa analogisessa nastassa on 10-bittinen resoluutio. Nämä nastat voivat mitata maasta 5 V: iin. Ylempi arvo voidaan kuitenkin muuttaa AREF- ja analogReference () -toiminnolla.
  • I2C ==> Kaksi nastaa 20 ja 21 tukevat I2C -viestintää, jossa 20 edustaa SDA: ta (sarjatietolinja, jota käytetään pääasiassa tietojen säilyttämiseen) ja 21 SCL: ää (sarjakellolinja, jota käytetään pääasiassa tietojen synkronoimiseen laitteiden välillä)
  • SPI Communication ==> SPI tarkoittaa Serial Peripheral Interface, jota käytetään tiedonsiirtoon ohjaimen ja muiden oheislaitteiden välillä. SPI -tiedonsiirtoon käytetään neljää nastaa eli 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).

Vaihe 5: Arduino IDE

Tässä oletan, että olet jo asentanut Arduino IDE: n.

1. Lataa alla oleva pakollinen kirjasto

TinyGPS lib

2. Lataamisen jälkeen. Pura se ja siirrä se kansioon C: / Users \… / Documents / Arduino / libraries varmista, ettei siinä ole (-).

3. Avaa Arduino IDE ja kopioi koodi ohjelmaosasta.

4. Valitse sitten kyseinen lauta ja siirry kohtaan Työkalut ==> Taulut ==> valitse levy täältä, käytämme Arduino Mega 2560

5. Kun olet valinnut kortin, valitse sille portti, valitse Työkalut ==> Portit

6. Kun olet valinnut levyn ja portin, napsauta Lataa.

7. Kun koodi on ladattu, avaa sarjapääte nähdäksesi lähdön.

Vaihe 6: Liitännät

Arduino MEGA ==> NEO-6M GPS

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

Voit myös käyttää Serial2: ta tai Serial3: aa Serial1: n sijaan

Suositeltava: