Tartalomjegyzék:

Interfész Arduino Mega GPS modullal (Neo-6M): 8 lépés
Interfész Arduino Mega GPS modullal (Neo-6M): 8 lépés

Videó: Interfész Arduino Mega GPS modullal (Neo-6M): 8 lépés

Videó: Interfész Arduino Mega GPS modullal (Neo-6M): 8 lépés
Videó: LDmicro 11: Serial LCD Temperature Controller (Microcontroller PLC Ladder Programming with LDmicro) 2024, Június
Anonim
Interfész Arduino Mega GPS modullal (Neo-6M)
Interfész Arduino Mega GPS modullal (Neo-6M)

Ebben a projektben bemutattam, hogyan lehet egy GPS-modult (Neo-6M) csatlakoztatni az Arduino Mega-hoz. A TinyGPS könyvtár a hosszúsági és szélességi adatok, a TinyGPS ++ pedig a szélesség, hosszúság, magasság, sebesség és a műholdak száma megjelenítésére szolgál a soros monitoron.

1. lépés: Szükséges összetevők

Hardver

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

Szoftver

Arduino IDE

A projekt teljes költsége 60 dollár

2. lépés: Információk a GPS -ről

Mi az a GPS

A globális helymeghatározó rendszer (GPS) egy műholdas navigációs rendszer, amely legalább 24 műholdból áll. A GPS minden időjárási körülmények között, a világon bárhol, a nap 24 órájában működik, előfizetési és beállítási díjak nélkül.

Hogyan működik a GPS

A GPS -műholdak naponta kétszer körülveszik a Földet, pontos pályán. Minden műhold egyedi jelet és pályaparamétereket továbbít, amelyek lehetővé teszik a GPS -eszközök számára a műhold pontos helyének dekódolását és kiszámítását. A GPS -vevők ezt az információt és a trilatációt használják a felhasználó pontos tartózkodási helyének kiszámításához. Lényegében a GPS -vevő az egyes műholdak távolságát méri az átvitt jel vételéhez szükséges idővel. Még néhány műhold távolságmérésével a vevő képes meghatározni a felhasználó pozícióját és megjeleníteni azt.

A 2-D pozíció (szélesség és hosszúság) és a pálya mozgásának kiszámításához a GPS-vevőt legalább 3 műhold jelére kell zárni. Négy vagy több műhold láttán a vevő képes meghatározni a 3D pozícióját (szélesség, hosszúság és magasság). Általában a GPS -vevő 8 vagy több műholdat követ, de ez a napszaktól és a földi helytől függ. Miután meghatározta a pozícióját, a GPS -egység más információkat is kiszámíthat, mint pl

  • Sebesség
  • Csapágy
  • Vágány
  • Utazás táv
  • Távolság a célállomásig

Mi a jel

A GPS-műholdak legalább 2 kis teljesítményű rádiójelet továbbítanak. A jelek látómezőn keresztül haladnak, vagyis áthaladnak a felhőkön, üvegen és műanyagon, de nem mennek keresztül a legtöbb szilárd tárgyon, például épületeken és hegyeken. A modern vevőkészülékek azonban érzékenyebbek, és általában házon keresztül tudnak nyomon követni. A GPS jel 3 különböző típusú információt tartalmaz

Ál -véletlen kód

Ez egy I. D. kód, amely azonosítja, hogy melyik műhold küld információt. Az eszköz műholdoldalán megtekintheti, hogy mely műholdakról kap jelet.

Ephemeris adatok

Az efemerisz adatok szükségesek a műhold helyzetének meghatározásához, és fontos információkat szolgáltatnak a műhold állapotáról, az aktuális dátumról és időről.

Almanach adatok

Az almanach adatok megmondják a GPS -vevőnek, hogy a GPS -műholdaknak hol kell tartózkodniuk a nap folyamán, és megjelenítik az adott műhold és a rendszer többi műholdjának pálya -információit.

3. lépés: Neo-6M GPS modul

A NEO-6M GPS modul az alábbi ábrán látható. Külső antennával rendelkezik, és nem tartalmaz fejlécet. Tehát forrasztania kell.

A NEO-6M GPS modul áttekintése

NEO-6M GPS chip

A modul szíve az u-blox NEO-6M GPS chipje. 50 csatornán akár 22 műholdat is képes nyomon követni, és eléri az iparág legmagasabb szintű érzékenységét, azaz -161 dB követést, miközben csak 45 mA áramot fogyaszt. Az u-blox 6 pozicionáló motor szintén 1 másodperc alatti TTFF-el (Time-To-First-Fix) büszkélkedhet. A chip egyik legjobb tulajdonsága az energiatakarékos mód (PSM). Lehetővé teszi a rendszer energiafogyasztásának csökkentését a vevő egyes részeinek szelektív be- és kikapcsolásával. Ez drámaian csökkenti a modul energiafogyasztását mindössze 11 mA -re, így alkalmassá teszi az energiaérzékeny alkalmazásokhoz, például a GPS karórához. A NEO-6M GPS chip szükséges adatcsapjai 0,1 hüvelykes fejlécekre vannak felosztva. Ez magában foglalja az UART -on keresztüli mikrokontrollerrel való kommunikációhoz szükséges csapokat.

Megjegyzés:- A modul támogatja az átviteli sebességet 4800 bps és 230400 bps között, 9600 alapértelmezett baud mellett.

Position Fix LED kijelző

A NEO-6M GPS modulon található egy LED, amely jelzi a Position Fix állapotát. Különböző sebességgel villog, attól függően, hogy milyen állapotban van

  1. Nem villog ==> azt jelenti, hogy műholdakat keres
  2. 1 másodpercenként villog - ez azt jelenti, hogy a Position Fix megtalálható

3.3V LDO szabályozó

A NEO-6M chip üzemi feszültsége 2,7 és 3,6 V között van. A modulhoz azonban a MICREL MIC5205 ultra-low dropout 3V3 szabályozója tartozik. A logikai csapok szintén 5 voltos tűrőképességűek, így könnyen csatlakoztathatjuk egy Arduino-hoz vagy bármely 5 V-os logikai mikrokontrollerhez, minden logikai szintváltó használata nélkül.

Akkumulátor és EEPROM

A modul HK24C32 kétvezetékes soros EEPROM -al van felszerelve. 4KB méretű, és az I2C-n keresztül csatlakozik a NEO-6M chiphez. A modul újratölthető gombelemet is tartalmaz, amely szuperkondenzátorként működik.

Az EEPROM az akkumulátorral együtt segít megőrizni az akkumulátorral támogatott RAM -ot (BBR). A BBR óra adatokat, legújabb pozícióadatokat (GNSS pálya adatok) és modul konfigurációt tartalmaz. De nem állandó adattárolásra készült.

Mivel az akkumulátor megőrzi az órát és az utolsó pozíciót, az első javításhoz szükséges idő (TTFF) jelentősen 1 másodpercre csökken. Ez sokkal gyorsabb helyzetzárolást tesz lehetővé.

Elem nélkül a GPS mindig hidegen indul, így a kezdeti GPS-zárolás több időt vesz igénybe. Az akkumulátor automatikusan feltöltődik, amikor áramellátást kap, és akár két hétig is megőrzi az adatokat áram nélkül.

Kitűz

A GND a földelőcsap, és csatlakoztatni kell az Arduino GND csapjához

A TxD (Transmitter) tűt soros kommunikációra használják

Az RxD (vevő) tűt soros kommunikációra használják

A VCC táplálja a modult. Közvetlenül csatlakoztathatja az Arduino 5V -os csatlakozójához

4. lépés: Arduino Mega

Az Arduino egy nyílt forráskódú elektronikai platform, amely könnyen használható hardverre és szoftverre épül. Az Arduino táblák képesek olvasni a bemeneteket - fényt egy érzékelőn, egy ujjat a gombon vagy egy Twitter üzenetet - és kimenetké alakítani - aktiválni egy motort, bekapcsolni egy LED -et, vagy közzétenni valamit az interneten. Elmondhatja a táblának, hogy mit kell tennie, ha utasításokat küld a táblán lévő mikrokontrollernek. Ehhez használja az Arduino programozási nyelvet (Wiring -en alapuló) és az Arduino Software -t (IDE), amely a Processing -en alapul.

Arduino Mega

Az Arduino Mega 2560 egy mikrokontroller tábla, amely az Atmega2560 alapú.

  • Az alaplapon 54 digitális I/O és 16 analóg érintkező található, amelyek egyedivé és kiemelkedővé teszik ezt az eszközt. Az 54 digitális I/O közül 15 a PWM (impulzusszélesség -moduláció).
  • A táblán egy 16 MHz -es frekvenciájú kristályoszcillátor található.
  • A kártya USB -kábelcsatlakozóval rendelkezik, amely a kód csatlakoztatására és átvitelére szolgál a számítógépről az alaplapra.
  • Az egyenáramú tápcsatlakozó a táblához van csatlakoztatva, amely a tápellátást szolgálja.
  • A tábla két feszültségszabályozóval rendelkezik, azaz 5V és 3,3V, amely rugalmasságot biztosít a feszültség szabályozására az igényeknek megfelelően.
  • Van egy reset gomb és 4 USART nevű hardveres soros port, amely maximális sebességet biztosít a kommunikáció beállításához.
  • A tábla áramellátásának három módja van. Használhatja USB -kábellel a tápellátást, és átviheti a kódot a táblára, vagy bekapcsolhatja a tábla Vin segítségével, vagy a Power jack vagy tészta segítségével.

Specifikációk

Kitűz

Tű Leírás

  • 5V és 3.3V ==> Ezt a csapot 5V körüli szabályozott kimeneti feszültség biztosítására használják. Ez a szabályozott tápegység táplálja a vezérlőt és a tábla többi alkatrészét. A kártya Vin -ből vagy USB -kábelből vagy más szabályozott 5 V -os feszültségről kapható. Míg egy másik feszültségszabályozást a 3,3 V -os tüske biztosít. Maximális teljesítménye 50 mA.
  • GND ==> A táblán 5 db földelt csap áll rendelkezésre, ami hasznos, ha egynél több földelt csap szükséges a projekthez.
  • Visszaállítás ==> Ez a csap a tábla alaphelyzetbe állítására szolgál. Ha ezt a csapot LOW -ra állítja, akkor visszaállítja a táblát.
  • Vin ==> A tábla bemeneti feszültsége 7V és 20V között van. A csatlakozó által biztosított feszültség ezen a tűn keresztül érhető el. Azonban a kimeneti feszültség ezen a csapon keresztül a táblához automatikusan 5 V -ra áll.
  • Soros kommunikáció ==> Az RXD és a TXD a soros adatok soros adatátvitelére és fogadására szolgálnak, azaz Rx az adatok továbbítását jelenti, míg a Tx az adatok fogadását. E soros csapok négy kombinációját használják, ahol a Serail 0 RX (0) és TX (1), az 1. sorozat TX (18) és RX (19), a 2. sorozat TX (16) és RX (17), és a 3. sorozat tartalmazza a TX (14) és az RX (15) elemeket.
  • Külső megszakítások ==> Hat érintkezőt használnak külső megszakítások létrehozásához, azaz megszakítás 0 (0), megszakítás 1 (3), megszakítás 2 (21), megszakítás 3 (20), megszakítás 4 (19), megszakítás 5 (18). Ezek a csapok többféle módon hoznak létre megszakításokat, azaz LOW értéket, emelkedő vagy csökkenő élt vagy változó értéket biztosítanak a megszakító csapoknak.
  • LED ==> Ez a tábla beépített LED-del rendelkezik, amely a 13-as digitális tűhöz van csatlakoztatva. A magas érték ennél a tűnél bekapcsolja a LED-et, és a LOW érték kikapcsol.
  • AREF ==> AREF az analóg referenciafeszültséget jelenti, amely az analóg bemenetek referenciafeszültsége.
  • Analóg csapok ==> 16 analóg érintkező található a táblán A0 -tól A15 -ig. Fontos megjegyezni, hogy ezek az analóg érintkezők digitális I/O tűkként használhatók. Minden analóg tű 10 bites felbontással rendelkezik. Ezek a csapok a talajtól az 5V -ig mérhetők. A felső érték azonban megváltoztatható az AREF és az analogReference () függvénnyel.
  • I2C ==> Két 20 és 21 érintkező támogatja az I2C kommunikációt, ahol a 20 az SDA -t (soros adatvonal, amelyet elsősorban az adatok tárolására használnak), a 21 pedig az SCL -t (soros óravonal, amelyet főként az eszközök közötti adatszinkronizálásra használnak)
  • SPI kommunikáció ==> Az SPI a soros perifériás interfész rövidítése, amelyet a vezérlő és más perifériás komponensek közötti adatátvitelre használnak. Négy érintkezőt, azaz 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS), használnak az SPI kommunikációhoz.

5. lépés: Arduino IDE

Feltételezem, hogy már telepítette az Arduino IDE -t.

1. Töltse le az alábbi könyvtárat

TinyGPS lib

2. Letöltése után. Bontsa ki, és helyezze át a C mappába: / Users \… / Documents / Arduino / libraries győződjön meg arról, hogy nincs (-).

3. Nyissa meg az Arduino IDE -t, és másolja ki a kódot a programrészből.

4. Ezután válassza ki a táblát az Eszközök ==> Táblák ==> Válassza ki a táblát itt az Arduino Mega 2560 -at használjuk

5. A tábla kiválasztása után válassza ki a portot az Eszközök ==> Portok menüpontra

6. A tábla és a port kiválasztása után kattintson a feltöltés gombra.

7. A kód feltöltése után nyissa meg a soros terminált a kimenet megtekintéséhez.

6. lépés: Csatlakozások

Arduino MEGA ==> NEO-6M GPS

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

A Serial1 vagy a Serial2 helyett a Serial2 vagy a Serial3 is használható

Ajánlott: