Obsah:

Rozhranie Arduino Mega s modulom GPS (Neo-6M): 8 krokov
Rozhranie Arduino Mega s modulom GPS (Neo-6M): 8 krokov

Video: Rozhranie Arduino Mega s modulom GPS (Neo-6M): 8 krokov

Video: Rozhranie Arduino Mega s modulom GPS (Neo-6M): 8 krokov
Video: LDmicro 3: PIC16F628A и Arduino Nano (программирование лестничной логики ПЛК микроконтроллера с помощью LDmicro) 2024, November
Anonim
Rozhranie Arduino Mega s modulom GPS (Neo-6M)
Rozhranie Arduino Mega s modulom GPS (Neo-6M)

V tomto projekte som ukázal, ako prepojiť modul GPS (Neo-6M) s Arduino Mega. Knižnica TinyGPS sa používa na zobrazenie údajov zemepisnej šírky a šírky a TinyGPS ++ sa používa na zobrazenie zemepisnej šírky, dĺžky, nadmorskej výšky, rýchlosti a počtu satelitov na sériovom monitore.

Krok 1: Potrebné súčasti

Hardvér

  • Arduino Mega ==> 30 dolárov
  • GPS modul Neo-6M ==> 30 dolárov

Softvér

Arduino IDE

Celkové náklady na projekt sú 60 dolárov

Krok 2: Informácie o GPS

Čo je to GPS

Global Positioning System (GPS) je satelitný navigačný systém, ktorý pozostáva z najmenej 24 satelitov. GPS funguje za každého počasia, kdekoľvek na svete, 24 hodín denne, bez poplatkov za predplatné a nastavovania.

Ako funguje GPS

Satelity GPS obiehajú Zem dvakrát denne na presnej obežnej dráhe. Každý satelit vysiela jedinečný signál a orbitálne parametre, ktoré umožňujú zariadeniam GPS dekódovať a vypočítať presnú polohu satelitu. Prijímače GPS používajú tieto informácie a trilateráciu na výpočet presnej polohy používateľa. Prijímač GPS v zásade meria vzdialenosť ku každému satelitu podľa času, ktorý je potrebný na prijatie prenášaného signálu. Vďaka meraniu vzdialenosti z niekoľkých ďalších satelitov môže prijímač určiť polohu používateľa a zobraziť ju.

Na výpočet vašej 2-D polohy (zemepisnej šírky a dĺžky) a pohybu stopy musí byť prijímač GPS zablokovaný na signál najmenej troch satelitov. Pri pohľade na 4 alebo viac satelitov môže prijímač určiť vašu 3-D polohu (zemepisnú šírku, dĺžku a nadmorskú výšku). Prijímač GPS bude spravidla sledovať 8 alebo viac satelitov, ale to závisí od dennej doby a toho, kde sa nachádzate na Zemi. Po určení vašej polohy môže jednotka GPS vypočítať ďalšie informácie, ako napr

  • Rýchlosť
  • Ložisko
  • Sledovať
  • Trip dist
  • Vzdialenosť do cieľa

Čo je signál

Satelity GPS vysielajú najmenej 2 rádiové signály s nízkym výkonom. Signály sa pohybujú podľa zorného poľa, čo znamená, že prejdú mrakmi, sklom a plastom, ale neprechádzajú väčšinou pevných predmetov, ako sú budovy a hory. Moderné prijímače sú však citlivejšie a môžu zvyčajne sledovať domy. Signál GPS obsahuje 3 rôzne druhy informácií

Pseudonáhodný kód

Jedná sa o I. D. kód, ktorý identifikuje, ktorý satelit vysiela informácie. Na satelitnej stránke svojho zariadenia môžete vidieť, z ktorých satelitov dostávate signály.

Údaje o efemeridách

Údaje o efemeridách sú potrebné na určenie polohy satelitu a poskytujú dôležité informácie o stave satelitu, aktuálnom dátume a čase.

Údaje z almanachu

Údaje z almanachu informujú prijímač GPS o tom, kde by sa mal každý satelit GPS nachádzať kedykoľvek počas dňa, a zobrazujú orbitálne informácie pre tento satelit a všetky ostatné satelity v systéme.

Krok 3: GPS modul Neo-6M

GPS modul NEO-6M je zobrazený na obrázku nižšie. Dodáva sa s externou anténou a nie je vybavený kolíkovými konektormi. Takže ho budete musieť spájkovať.

Prehľad modulu GPS NEO-6M

GPS čip NEO-6M

Srdcom modulu je GPS čip NEO-6M od spoločnosti u-blox. Dokáže sledovať až 22 satelitov na 50 kanáloch a dosahuje najvyššiu úroveň citlivosti v odvetví, tj. Sledovanie -161 dB, pričom spotrebúva iba 45mA napájací prúd. Polohovací motor u-blox 6 sa môže pochváliť aj časovou opravou do prvej opravy (TTFF) pod 1 sekundu. Jednou z najlepších funkcií, ktoré čip ponúka, je úsporný režim (PSM). Umožňuje zníženie spotreby energie systému selektívnym zapínaním a vypínaním častí prijímača. Tým sa dramaticky zníži spotreba energie modulu na iba 11 mA, takže je vhodný pre aplikácie citlivé na energiu, ako sú náramkové hodinky GPS. Potrebné dátové piny GPS čipu NEO-6M sú rozčlenené na 0,1 ″ rozstupové záhlavia. To zahŕňa piny potrebné na komunikáciu s mikrokontrolérom cez UART.

Poznámka:- Modul podporuje prenosovú rýchlosť od 4800bps do 230400bps s predvolenou prenosovou rýchlosťou 9600.

LED indikátor fixnej polohy

Na GPS module NEO-6M je LED dióda, ktorá indikuje stav opravy polohy. Bude blikať rôznymi rýchlosťami v závislosti od stavu, v ktorom sa nachádza

  1. Žiadne blikanie ==> znamená, že hľadá satelity
  2. Žmurkanie každých 1 s - znamená, že bola nájdená oprava polohy

3.3V regulátor LDO

Prevádzkové napätie čipu NEO-6M je od 2,7 do 3,6V. Modul je však dodávaný s ultratenkým regulátorom 3V3 MIC5205 od spoločnosti MICREL. Logické piny sú tiež tolerantné voči 5 voltom, takže ho môžeme ľahko pripojiť k logickému mikrokontroléru Arduino alebo akémukoľvek 5V bez použitia akéhokoľvek prevodníka logickej úrovne.

Batéria a EEPROM

Modul je vybavený dvojvodičovou sériovou EEPROM HK24C32. Má veľkosť 4KB a je pripojený k čipu NEO-6M pomocou I2C. Modul obsahuje aj nabíjateľnú gombíkovú batériu, ktorá funguje ako superkondenzátor.

EEPROM spolu s batériou pomáha zachovať batériu podporovanú batériou (BBR). BBR obsahuje údaje o hodinách, posledné údaje o polohe (údaje o dráhe GNSS) a konfiguráciu modulu. Nie je to však určené na trvalé ukladanie údajov.

Pretože si batéria zachováva hodiny a poslednú pozíciu, čas do prvej opravy (TTFF) sa výrazne znižuje na 1 s. To umožňuje oveľa rýchlejšie blokovanie polohy.

Bez batérie sa GPS vždy štartuje za studena, takže počiatočný zámok GPS trvá viac času. Batéria sa automaticky nabíja po zapnutí napájania a uchováva údaje až dva týždne bez napájania.

Pinout

GND je uzemňovací kolík a musí byť pripojený k kolíku GND na Arduino

Pin TxD (vysielač) slúži na sériovú komunikáciu

Pin RxD (prijímač) slúži na sériovú komunikáciu

VCC dodáva energiu pre modul. Môžete ho priamo pripojiť k 5V pinu na Arduine

Krok 4: Arduino Mega

Arduino je elektronická platforma s otvoreným zdrojovým kódom založená na ľahko použiteľnom hardvéri a softvéri. Dosky Arduino sú schopné čítať vstupy - svetlo na senzore, prst na tlačidle alebo správu z Twitteru - a premeniť ho na výstup - aktivácia motora, zapnutie LED diódy, zverejnenie niečoho online. Svojej doske môžete povedať, čo má urobiť, a to tak, že pošlete sadu inštrukcií mikrokontroléru na doske. Na to použijete programovací jazyk Arduino (na základe zapojenia) a softvér Arduino (IDE) na základe spracovania.

Arduino Mega

Arduino Mega 2560 je doska mikrokontroléra založená na Atmega2560.

  • Na doske je integrovaných 54 digitálnych I/O pinov a 16 analógových pinov, vďaka ktorým je toto zariadenie jedinečné a odlišuje sa od ostatných. Z 54 digitálnych I/O je 15 použitých na PWM (pulzne šírková modulácia).
  • Na dosku je pridaný kryštálový oscilátor s frekvenciou 16 MHz.
  • Doska je vybavená káblovým portom USB, ktorý slúži na pripojenie a prenos kódu z počítača na dosku.
  • DC napájací konektor je spojený s doskou, ktorá slúži na napájanie dosky.
  • Doska je dodávaná s dvoma regulátormi napätia, tj. 5V a 3,3V, ktoré poskytujú flexibilitu pri regulácii napätia podľa požiadaviek.
  • K dispozícii je tlačidlo reset a 4 hardvérové sériové porty s názvom USART, ktoré produkujú maximálnu rýchlosť nastavenia komunikácie.
  • Existujú tri spôsoby napájania dosky. Na napájanie dosky a prenos kódu na dosku môžete použiť buď kábel USB, alebo ju môžete napájať pomocou Vin z dosky alebo pomocou napájacieho konektora alebo batérie.

technické údaje

Pinout

Popis kolíka

  • 5V a 3,3V ==> Tento kolík slúži na zaistenie výstupného regulovaného napätia okolo 5V. Tento regulovaný zdroj napája regulátor a ďalšie komponenty na doske. Môžete ho získať z dosky Vin alebo pomocou kábla USB alebo iného regulovaného zdroja napätia 5V. Ďalšiu reguláciu napätia zabezpečuje pin 3,3V. Maximálny výkon, ktorý môže čerpať, je 50 mA.
  • GND ==> Na doske je k dispozícii 5 uzemňovacích kolíkov, čo je užitočné, keď je pre projekt požadovaný viac ako jeden uzemňovací kolík.
  • Reset ==> Tento pin slúži na resetovanie dosky. Nastavením tohto kolíka na NÍZKU sa doska vynuluje.
  • Vin ==> Je to vstupné napätie dodávané na dosku, ktoré sa pohybuje od 7V do 20V. K napätiu poskytovanému napájacím konektorom je prístupné prostredníctvom tohto kolíka. Výstupné napätie cez tento pin na dosku však bude automaticky nastavené až na 5V.
  • Sériová komunikácia ==> RXD a TXD sú sériové piny používané na prenos a príjem sériových dát, t.j. Rx predstavuje prenos dát, zatiaľ čo Tx slúži na príjem dát. Existujú štyri kombinácie týchto sériových pinov, kde Serail 0 obsahuje RX (0) a TX (1), Serial 1 obsahuje TX (18) a RX (19), Serial 2 obsahuje TX (16) a RX (17), a Sériový 3 obsahuje TX (14) a RX (15).
  • Externé prerušenia ==> Šesť pinov sa používa na vytváranie externých prerušení, tj. Prerušenie 0 (0), prerušenie 1 (3), prerušenie 2 (21), prerušenie 3 (20), prerušenie 4 (19), prerušenie 5 (18). Tieto kolíky produkujú prerušenia niekoľkými spôsobmi, tj. Poskytujú NÍZKU hodnotu, stúpajúcu alebo klesajúcu hranu alebo meniacu hodnotu prerušovacích kolíkov.
  • LED ==> Táto doska je vybavená vstavanou diódou LED pripojenou k digitálnemu pinu 13. HIGH hodnota na tomto pine zapne LED a LOW hodnota vypne.
  • AREF ==> AREF znamená analógové referenčné napätie, ktoré je referenčným napätím pre analógové vstupy.
  • Analógové piny ==> Na doske je integrovaných 16 analógových pinov označených ako A0 až A15. Je dôležité poznamenať, že všetky tieto analógové piny je možné použiť ako digitálne I/O piny. Každý analógový pin má 10-bitové rozlíšenie. Tieto kolíky môžu merať od zeme do 5V. Hornú hodnotu je však možné zmeniť pomocou funkcie AREF a analogReference ().
  • I2C ==> Dva piny 20 a 21 podporujú komunikáciu I2C, kde 20 predstavuje SDA (sériová dátová linka používaná predovšetkým na uchovávanie údajov) a 21 predstavuje SCL (sériová hodinová linka sa používa hlavne na zabezpečenie synchronizácie údajov medzi zariadeniami)
  • Komunikácia SPI ==> SPI znamená sériové periférne rozhranie používané na prenos údajov medzi ovládačom a inými komponentmi periférnych zariadení. Na komunikáciu SPI slúžia štyri piny, tj. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).

Krok 5: Arduino IDE

Tu predpokladám, že ste už nainštalovali Arduino IDE.

1. Stiahnite si požadovanú knižnicu uvedenú nižšie

TinyGPS lib

2. Po stiahnutí. Rozbaľte ho a presuňte do priečinka C: / Users \… / Documents / Arduino / libraries, uistite sa, že neexistuje (()).

3. Otvorte Arduino IDE a skopírujte kód z programovej sekcie.

4. Potom vyberte dosku, pre ktorú prejdite na Nástroje ==> Dosky ==> vyberte dosku, tu používame Arduino Mega 2560

5. Po výbere dosky vyberte port, ktorý chcete otvoriť, v sekcii Nástroje ==> Porty

6. Po výbere dosky a portu kliknite na položku nahrať.

7. Po nahraní kódu otvorte sériový terminál, aby ste videli výstup.

Krok 6: Pripojenia

Arduino MEGA ==> GPS NEO-6M

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

Namiesto Serial1 môžete tiež použiť Serial2 alebo Serial3

Odporúča: