Obsah:

Rozhraní Arduino Mega s modulem GPS (Neo-6M): 8 kroků
Rozhraní Arduino Mega s modulem GPS (Neo-6M): 8 kroků

Video: Rozhraní Arduino Mega s modulem GPS (Neo-6M): 8 kroků

Video: Rozhraní Arduino Mega s modulem GPS (Neo-6M): 8 kroků
Video: LDmicro 11: Serial LCD Temperature Controller (Microcontroller PLC Ladder Programming with LDmicro) 2024, Červen
Anonim
Rozhraní Arduino Mega s modulem GPS (Neo-6M)
Rozhraní Arduino Mega s modulem GPS (Neo-6M)

V tomto projektu jsem ukázal, jak propojit modul GPS (Neo-6M) s Arduino Mega. Knihovna TinyGPS slouží k zobrazení dat zeměpisné délky a šířky a TinyGPS ++ slouží k zobrazení zeměpisné šířky, délky, nadmořské výšky, rychlosti a počtu satelitů na sériovém monitoru.

Krok 1: Potřebné součásti

Hardware

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

Software

Arduino IDE

Celkové náklady na projekt činí 60 USD

Krok 2: Informace o GPS

Co je GPS

Global Positioning System (GPS) je satelitní navigační systém tvořený nejméně 24 satelity. GPS funguje za jakýchkoli povětrnostních podmínek, kdekoli na světě, 24 hodin denně, bez poplatků za předplatné nebo instalačních poplatků.

Jak funguje GPS

Satelity GPS krouží kolem Země dvakrát denně na přesné oběžné dráze. Každý satelit vysílá jedinečný signál a orbitální parametry, které umožňují zařízením GPS dekódovat a vypočítat přesnou polohu satelitu. Přijímače GPS používají tyto informace a trilateraci k výpočtu přesné polohy uživatele. Přijímač GPS v zásadě měří vzdálenost každého satelitu podle času, který je zapotřebí k přijetí vysílaného signálu. Při měření vzdálenosti z několika dalších satelitů může přijímač určit polohu uživatele a zobrazit ji.

Pro výpočet vaší 2-D polohy (zeměpisné šířky a délky) a pohybu stopy musí být přijímač GPS uzamčen na signál alespoň 3 satelitů. Při pohledu na 4 nebo více satelitů může přijímač určit vaši 3-D polohu (zeměpisná šířka, zeměpisná délka a nadmořská výška). Přijímač GPS bude obecně sledovat 8 nebo více satelitů, ale to závisí na denní době a na tom, kde se na Zemi nacházíte. Jakmile je vaše poloha určena, jednotka GPS může vypočítat další informace, jako například

  • Rychlost
  • Ložisko
  • Dráha
  • Trip dist
  • Vzdálenost do cíle

Co je signál

Satelity GPS vysílají alespoň 2 rádiové signály s nízkým výkonem. Signály se pohybují podle zorného pole, což znamená, že projdou mraky, sklem a plastem, ale neprojdou většinou pevných předmětů, jako jsou budovy a hory. Moderní přijímače jsou však citlivější a mohou obvykle sledovat domy. Signál GPS obsahuje 3 různé typy informací

Pseudonáhodný kód

Jedná se o I. D. kód, který identifikuje, který satelit vysílá informace. Na satelitní stránce vašeho zařízení můžete zjistit, ze kterých satelitů přijímáte signály.

Údaje o efemeridě

Údaje o efemeridách jsou potřebné k určení polohy satelitu a poskytují důležité informace o stavu satelitu, aktuálním datu a čase.

Data z almanachu

Data Almanacu sdělují přijímači GPS, kde by měl být každý satelit GPS kdykoli během dne, a ukazují orbitální informace pro tento satelit a každý další satelit v systému.

Krok 3: GPS modul Neo-6M

GPS modul NEO-6M je zobrazen na obrázku níže. Dodává se s externí anténou a není dodáván se záhlavími. Takže to budete muset pájet.

Přehled GPS modulu NEO-6M

GPS čip NEO-6M

Srdcem modulu je GPS čip NEO-6M od společnosti u-blox. Dokáže sledovat až 22 satelitů na 50 kanálech a dosahuje nejvyšší úrovně citlivosti v oboru, tj. Sledování -161 dB, přičemž spotřebovává pouze napájecí proud 45 mA. Polohovací motor u-blox 6 se může pochlubit také Time-To-First-Fix (TTFF) pod 1 sekundu. Jednou z nejlepších funkcí, které čip poskytuje, je Power Save Mode (PSM). Umožňuje snížení spotřeby energie systému selektivním zapínáním a vypínáním částí přijímače. Tím se dramaticky sníží spotřeba energie modulu na pouhých 11 mA, takže je vhodný pro aplikace citlivé na energii, jako jsou náramkové hodinky GPS. Potřebné datové piny GPS čipu NEO-6M jsou rozděleny na 0,1 rozteč záhlaví. To zahrnuje piny potřebné pro komunikaci s mikrokontrolérem přes UART.

Poznámka:- Modul podporuje přenosovou rychlost od 4800bps do 230400bps s výchozí přenosovou rychlostí 9600.

Indikátor LED Fixace polohy

Na GPS modulu NEO-6M je LED dioda, která indikuje stav Fixace polohy. Bude blikat různou rychlostí v závislosti na stavu, ve kterém se nachází

  1. Žádné blikání ==> znamená, že hledá satelity
  2. Mrknutí každých 1 s - znamená, že byla nalezena oprava polohy

3.3V LDO regulátor

Provozní napětí čipu NEO-6M je od 2,7 do 3,6V. Modul je však dodáván s ultratenkým regulátorem 3V3 MIC5205 od společnosti MICREL. Logické piny jsou také tolerantní k 5 voltům, takže je můžeme snadno připojit k logickému mikrokontroléru Arduino nebo 5V bez použití jakéhokoli převodníku logické úrovně.

Baterie a EEPROM

Modul je vybaven dvouvodičovou sériovou EEPROM HK24C32. Má velikost 4KB a je připojen k čipu NEO-6M přes I2C. Modul také obsahuje dobíjecí knoflíkovou baterii, která funguje jako superkondenzátor.

EEPROM spolu s baterií pomáhá zachovat RAM (BBR) zálohovanou baterií. BBR obsahuje data hodin, nejnovější údaje o poloze (data oběžné dráhy GNSS) a konfiguraci modulu. Není to však určeno pro trvalé ukládání dat.

Protože si baterie zachovává hodiny a poslední pozici, doba do první opravy (TTFF) se výrazně snižuje na 1 s. To umožňuje mnohem rychlejší polohové zámky.

Bez baterie se GPS vždy spustí studeně, takže počáteční zámek GPS zabere více času. Baterie se automaticky nabíjí po připojení napájení a udržuje data až dva týdny bez napájení.

Pinout

GND je uzemňovací kolík a musí být připojen ke kolíku GND na Arduinu

Pin TxD (Transmitter) slouží k sériové komunikaci

Pin RxD (Receiver) se používá pro sériovou komunikaci

VCC dodává energii pro modul. Můžete jej přímo připojit k 5V pinu na Arduinu

Krok 4: Arduino Mega

Arduino je open-source elektronická platforma založená na snadno použitelném hardwaru a softwaru. Desky Arduino jsou schopné číst vstupy - světlo na senzoru, prst na tlačítku nebo zprávu na Twitteru - a proměnit je na výstup - aktivace motoru, rozsvícení LED, zveřejnění něčeho online. Můžete své desce sdělit, co má dělat, a to zasláním sady pokynů mikrokontroléru na desce. K tomu použijete programovací jazyk Arduino (na základě zapojení) a software Arduino (IDE) na základě zpracování.

Arduino Mega

Arduino Mega 2560 je deska mikrokontroléru založená na Atmega2560.

  • Na desce je integrováno 54 digitálních I/O pinů a 16 analogových pinů, díky nimž je toto zařízení jedinečné a odlišuje se od ostatních. Z 54 digitálních I/O je 15 použito pro PWM (pulzně šířková modulace).
  • Na desku je přidán krystalový oscilátor o frekvenci 16 MHz.
  • Deska je dodávána s kabelem USB, který slouží k připojení a přenosu kódu z počítače na desku.
  • DC napájecí konektor je spojen s deskou, která slouží k napájení desky.
  • Deska je dodávána se dvěma regulátory napětí, tj. 5V a 3,3V, které poskytují flexibilitu pro regulaci napětí podle požadavků.
  • K dispozici je tlačítko reset a 4 hardwarový sériový port s názvem USART, který produkuje maximální rychlost pro nastavení komunikace.
  • Existují tři způsoby napájení desky. K napájení desky a přenosu kódu na desku můžete použít buď kabel USB, nebo ji můžete zapnout pomocí Vin desky nebo pomocí napájecího konektoru nebo baterie.

Specifikace

Pinout

Popis kolíku

  • 5V a 3,3V ==> Tento pin slouží k zajištění výstupního regulovaného napětí kolem 5V. Toto regulované napájení napájí ovladač a další komponenty na desce. Lze jej získat od Vin desky nebo kabelu USB nebo jiného regulovaného 5V napájecího zdroje. Další regulaci napětí zajišťuje pin 3,3V. Maximální výkon, který může čerpat, je 50mA.
  • GND ==> Na desce je k dispozici 5 zemních kolíků, což je užitečné, když je pro projekt zapotřebí více než jeden zemnící kolík.
  • Reset ==> Tento pin slouží k resetování desky. Nastavením tohoto pinu na LOW se deska resetuje.
  • Vin ==> Je to vstupní napětí dodávané na desku, které se pohybuje od 7V do 20V. K napětí poskytovanému napájecím konektorem lze přistupovat prostřednictvím tohoto kolíku. Výstupní napětí přes tento pin na desku však bude automaticky nastaveno až na 5V.
  • Sériová komunikace ==> RXD a TXD jsou sériové piny používané k přenosu a přijímání sériových dat, tj. Rx představuje přenos dat, zatímco Tx slouží k příjmu dat. Existují čtyři kombinace těchto sériových pinů, 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 Serial 3 obsahuje TX (14) a RX (15).
  • Externí přerušení ==> Šest pinů slouží k vytváření externích přerušení, tj. Přerušení 0 (0), přerušení 1 (3), přerušení 2 (21), přerušení 3 (20), přerušení 4 (19), přerušení 5 (18). Tyto kolíky vytvářejí přerušení několika způsoby, tj. Poskytováním NÍZKÉ hodnoty, stoupající nebo sestupné hrany nebo změnou hodnoty přerušovacích kolíků.
  • LED ==> Tato deska je dodávána s vestavěnou LED připojenou k digitálnímu pinu 13. HIGH hodnota na tomto pinu rozsvítí LED a LOW hodnota vypne.
  • AREF ==> AREF znamená analogové referenční napětí, což je referenční napětí pro analogové vstupy.
  • Analogové piny ==> Na desce je integrováno 16 analogových pinů označených jako A0 až A15. Je důležité si uvědomit, že všechny tyto analogové piny lze použít jako digitální I/O piny. Každý analogový pin má 10bitové rozlišení. Tyto kolíky lze měřit od země do 5V. Horní hodnotu však lze změnit pomocí funkce AREF a analogReference ().
  • I2C ==> Dva piny 20 a 21 podporují komunikaci I2C, kde 20 představuje SDA (sériová datová linka používaná hlavně pro uchovávání dat) a 21 představuje SCL (sériová hodinová linka používaná hlavně pro synchronizaci dat mezi zařízeními)
  • SPI Communication ==> SPI je zkratka pro Serial Peripheral Interface používané pro přenos dat mezi ovladačem a dalšími periferními komponentami. Pro komunikaci SPI se používají čtyři piny, tj. 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).

Krok 5: Arduino IDE

Zde předpokládám, že jste již nainstalovali Arduino IDE.

1. Stáhněte si níže uvedenou požadovanou knihovnu

TinyGPS lib

2. Po stažení. Rozbalte jej a přesuňte do složky C: / Users \… / Documents / Arduino / libraries, ujistěte se, že neexistuje (-).

3. Otevřete Arduino IDE a zkopírujte kód z programové sekce.

4. Poté vyberte desku a přejděte na Nástroje ==> Desky ==> zde vyberte desku, používáme Arduino Mega 2560

5. Po výběru desky vyberte port, pro který přejděte na Nástroje ==> Porty

6. Po výběru desky a portu klikněte na nahrát.

7. Jakmile je kód nahrán, otevřete sériový terminál a uvidíte výstup.

Krok 6: Připojení

Arduino MEGA ==> GPS NEO-6M

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

Místo Serial1 můžete také použít Serial2 nebo Serial3

Doporučuje: