Taula de continguts:

Interfície Arduino Mega amb mòdul GPS (Neo-6M): 8 passos
Interfície Arduino Mega amb mòdul GPS (Neo-6M): 8 passos

Vídeo: Interfície Arduino Mega amb mòdul GPS (Neo-6M): 8 passos

Vídeo: Interfície Arduino Mega amb mòdul GPS (Neo-6M): 8 passos
Vídeo: Rastreamento por GPS 2024, Desembre
Anonim
Interfície Arduino Mega amb mòdul GPS (Neo-6M)
Interfície Arduino Mega amb mòdul GPS (Neo-6M)

En aquest projecte, he mostrat com interaccionar un mòdul GPS (Neo-6M) amb Arduino Mega. La biblioteca TinyGPS s’utilitza per mostrar les dades de Longitud i Latitud i TinyGPS ++ s’utilitza per mostrar Latitud, Longitud, Altitud, Velocitat i nombre de satèl·lits al monitor sèrie.

Pas 1: components necessaris

Maquinari

  • Arduino Mega ==> 30 dòlars
  • Mòdul GPS Neo-6M ==> 30 $

Programari

IDE Arduino

El cost total del projecte és de 60 dòlars

Pas 2: informació sobre el GPS

Què és el GPS

El sistema de posicionament global (GPS) és un sistema de navegació basat en satèl·lits format per almenys 24 satèl·lits. El GPS funciona en qualsevol condició meteorològica, a qualsevol part del món, les 24 hores del dia, sense comissions de subscripció ni càrrecs de configuració.

Com funciona el GPS

Els satèl·lits GPS envolten la Terra dues vegades al dia en una òrbita precisa. Cada satèl·lit transmet un senyal i paràmetres orbitals únics que permeten als dispositius GPS descodificar i calcular la ubicació precisa del satèl·lit. Els receptors GPS utilitzen aquesta informació i trilateració per calcular la ubicació exacta d’un usuari. Bàsicament, el receptor GPS mesura la distància a cada satèl·lit pel temps que triga a rebre un senyal transmès. Amb mesures de distància des d’uns quants satèl·lits més, el receptor pot determinar la posició de l’usuari i mostrar-la.

Per calcular la vostra posició 2-D (latitud i longitud) i el moviment de la pista, cal que un receptor GPS estigui bloquejat al senyal d'almenys 3 satèl·lits. Amb 4 o més satèl·lits a la vista, el receptor pot determinar la vostra posició 3D (latitud, longitud i altitud). Generalment, un receptor GPS fa un seguiment de vuit o més satèl·lits, però això depèn de l’hora del dia i d’on es trobi a la terra. Un cop determinada la vostra posició, la unitat GPS pot calcular altra informació, com ara

  • Velocitat
  • Rodament
  • Seguiment
  • Dist. Viatge
  • Distància a la destinació

Què és el senyal

Els satèl·lits GPS transmeten almenys 2 senyals de ràdio de baixa potència. Els senyals viatgen per la línia de visió, és a dir, passaran pels núvols, el vidre i el plàstic, però no passaran per la majoria d’objectes sòlids, com ara edificis i muntanyes. No obstant això, els receptors moderns són més sensibles i solen fer un seguiment a través de cases. Un senyal GPS conté 3 tipus d’informació diferents

Codi pseudoaleatori

És un I. D. codi que identifica quin satèl·lit transmet informació. Podeu veure de quins satèl·lits obteniu senyals a la pàgina de satèl·lits del dispositiu.

Dades d’efemèrides

Les dades d’efemèrides són necessàries per determinar la posició d’un satèl·lit i proporcionen informació important sobre la salut d’un satèl·lit, la data i l’hora actuals.

Dades de l’almanac

Les dades de l’almanac indiquen al receptor GPS on hauria d’estar cada satèl·lit GPS en qualsevol moment del dia i mostra la informació orbital d’aquest satèl·lit i de qualsevol altre satèl·lit del sistema.

Pas 3: mòdul GPS Neo-6M

El mòdul GPS NEO-6M es mostra a la figura següent. Ve amb antena externa i no inclou pins de capçalera. Per tant, haureu de soldar-lo.

Informació general del mòdul GPS NEO-6M

Xip GPS NEO-6M

El cor del mòdul és un xip GPS NEO-6M d’u-blox. Pot fer un seguiment de fins a 22 satèl·lits en 50 canals i aconsegueix el nivell més alt de sensibilitat de la indústria, és a dir, un seguiment de -161 dB, mentre que només consumeix corrent de subministrament de 45 mA. El motor de posicionament u-blox 6 també compta amb un Time-To-First-Fix (TTFF) inferior a 1 segon. Una de les millors funcions que proporciona el xip és el mode d’estalvi d’energia (PSM). Permet una reducció del consum d'energia del sistema en activar i apagar selectivament les parts del receptor. Això redueix dràsticament el consum d'energia del mòdul a només 11 mA, cosa que el fa adequat per a aplicacions sensibles a l'energia, com el rellotge de polsera GPS. Els pins de dades necessaris del xip GPS NEO-6M es divideixen en capçaleres de 0,1 ″. Això inclou els pins necessaris per a la comunicació amb un microcontrolador mitjançant UART.

Nota: - El mòdul admet una velocitat de transmissió des de 4800bps fins a 230400bps amb una transmissió predeterminada de 9600.

Indicador LED de posició fixa

Hi ha un LED al mòdul GPS NEO-6M que indica l'estat de Position Fix. Parpellejarà a diversos ritmes en funció de l’estat en què es trobi

  1. No parpelleja ==> significa que busca satèl·lits
  2. Parpelleja cada 1 s: significa que es troba la correcció de la posició

Regulador LDO de 3,3 V

La tensió de funcionament del xip NEO-6M és de 2,7 a 3,6 V. Però, el mòdul inclou un regulador 3V3 d’abandonament ultra-baix MIC5205 de MICREL. Els pins lògics també són tolerants a 5 volts, de manera que podem connectar-lo fàcilment a un Arduino o a qualsevol microcontrolador lògic de 5V sense utilitzar cap convertidor de nivell lògic.

Bateria i EEPROM

El mòdul està equipat amb una EEPROM serial de dos fils HK24C32. Té una mida de 4KB i està connectat al xip NEO-6M mitjançant I2C. El mòdul també conté una bateria de botó recarregable que actua com a supercondensador.

Una EEPROM juntament amb la bateria ajuden a retenir la memòria RAM amb bateria (BBR). El BBR conté dades de rellotge, dades de posició més recents (dades d’òrbita GNSS) i configuració del mòdul. Però no està pensat per a l’emmagatzematge permanent de dades.

A mesura que la bateria conserva el rellotge i la darrera posició, el temps de primera correcció (TTFF) es redueix significativament a 1 s. Això permet bloquejos de posició molt més ràpids.

Sense la bateria, el GPS sempre arrenca en fred, de manera que el bloqueig inicial del GPS triga més temps. La bateria es carrega automàticament quan s’aplica l’alimentació i manté les dades fins a dues setmanes sense alimentació.

Pinout

GND és el pin de terra i s’ha de connectar al pin GND de l’Arduino

El pin TxD (transmissor) s’utilitza per a la comunicació en sèrie

El pin RxD (receptor) s’utilitza per a la comunicació en sèrie

VCC subministra energia per al mòdul. Podeu connectar-lo directament al pin de 5V de l’Arduino

Pas 4: Arduino Mega

Arduino és una plataforma electrònica de codi obert basada en maquinari i programari fàcils d’utilitzar. Les plaques Arduino són capaces de llegir les entrades (llum d’un sensor, un dit sobre un botó o un missatge de Twitter) i convertir-lo en una sortida: activant un motor, encenent un LED, publicant alguna cosa en línia. Podeu dir a la vostra placa què fer enviant un conjunt d’instruccions al microcontrolador de la placa. Per fer-ho, utilitzeu el llenguatge de programació Arduino (basat en el cablejat) i el programari Arduino (IDE), basat en el processament.

Arduino Mega

Arduino Mega 2560 és una placa de microcontrolador basada en Atmega2560.

  • Hi ha 54 pins d'E / S digitals i 16 pins analògics incorporats a la placa que fan que aquest dispositiu sigui únic i es diferenciï d'altres. De les 54 E / S digitals, 15 s'utilitzen per a PWM (modulació d'amplada d'impuls).
  • A la placa s’afegeix un oscil·lador de cristall de freqüència de 16 MHz.
  • La placa inclou un port de cable USB que s’utilitza per connectar i transferir codi de l’ordinador a la placa.
  • La presa d'alimentació de CC es combina amb la placa que s'utilitza per alimentar la placa.
  • La placa ve amb dos reguladors de tensió, és a dir, 5V i 3,3V, que proporciona la flexibilitat per regular la tensió segons els requisits.
  • Hi ha un botó de reinici i 4 ports sèrie de maquinari anomenats USART que produeixen una velocitat màxima per configurar la comunicació.
  • Hi ha tres maneres d’alimentar la placa. Podeu utilitzar un cable USB per alimentar la placa i transferir el codi a la placa, o bé encendre-la mitjançant Vin de la placa o mitjançant la presa de corrent o la bateria.

Especificacions

Pinout

Descripció del pin

  • 5V i 3.3V ==> Aquest pin s'utilitza per proporcionar voltatge regulat de sortida al voltant de 5V. Aquesta font d'alimentació regulada encén el controlador i altres components de la placa. Es pot obtenir de Vin de la placa o del cable USB o d’una altra font de tensió regulada de 5V. Mentre que una altra regulació de voltatge és proporcionada per pin de 3,3 V. La potència màxima que pot consumir és de 50 mA.
  • GND ==> Hi ha cinc passadors de terra disponibles al tauler, cosa que el fa útil quan es necessiten més d'un pas de terra per al projecte.
  • Restableix ==> Aquest pin s'utilitza per restablir el tauler. Si configureu aquest pin a BAIX, es restablirà la placa.
  • Vin ==> És el voltatge d'entrada subministrat a la placa que oscil·la entre els 7V i els 20V. Es pot accedir a la tensió proporcionada per la presa de corrent a través d’aquest pin. No obstant això, la tensió de sortida a través d’aquest pin a la placa s’establirà automàticament a 5V.
  • Comunicació en sèrie ==> RXD i TXD són els pins sèrie que s’utilitzen per transmetre i rebre dades de sèrie, és a dir, Rx representa la transmissió de dades mentre que Tx s’utilitza per rebre dades. Hi ha quatre combinacions d’aquests pins en sèrie on Serail 0 conté RX (0) i TX (1), la sèrie 1 conté TX (18) i RX (19), la sèrie 2 conté TX (16) i RX (17), i la sèrie 3 conté TX (14) i RX (15).
  • Interrupcions externes ==> S'utilitzen sis pins per crear interrupcions externes, és a dir, interrupció 0 (0), interrupció 1 (3), interrupció 2 (21), interrupció 3 (20), interrupció 4 (19), interrupció 5 (18). Aquests pins produeixen interrupcions de diverses maneres, és a dir, proporcionen valor BAIX, pujada o baixada de la vora o canvi de valor als pins d’interrupció.
  • LED ==> Aquesta placa inclou un LED integrat connectat al pin digital 13. El valor HIGH d'aquest pin activarà el LED i el valor LOW l'apagarà.
  • AREF ==> AREF significa Voltatge de referència analògic, que és un voltatge de referència per a entrades analògiques.
  • Pins analògics ==> Hi ha 16 pins analògics incorporats al tauler etiquetats com A0 a A15. És important tenir en compte que tots aquests pins analògics es poden utilitzar com a pins d'E / S digitals. Cada pin analògic té una resolució de 10 bits. Aquests pins poden mesurar des de terra fins a 5V. No obstant això, el valor superior es pot canviar mitjançant la funció AREF i analogReference ().
  • I2C ==> Dos pins 20 i 21 admeten la comunicació I2C on 20 representa SDA (línia de dades en sèrie que s’utilitza principalment per conservar les dades) i 21 representa SCL (línia de rellotge en sèrie que s’utilitza principalment per proporcionar sincronització de dades entre els dispositius)
  • Comunicació SPI ==> SPI significa Interfície perifèrica sèrie que s'utilitza per a la transmissió de dades entre el controlador i altres components perifèrics. Per a la comunicació SPI s’utilitzen quatre pins, és a dir, 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).

Pas 5: Arduino IDE

Aquí suposo que ja heu instal·lat Arduino IDE.

1. Descarregueu la biblioteca necessària que es mostra a continuació

TinyGPS lib

2. Després de descarregar-lo. Extraieu-lo i moveu-lo a la carpeta C: / Users / … / Documents / Arduino / biblioteques assegureu-vos que no hi hagi (-).

3. Obriu l'IDE Arduino i copieu el codi de la secció del programa.

4. A continuació, seleccioneu el tauler per anar a Eines ==> Taules ==> seleccioneu el tauler aquí que estem fent servir Arduino Mega 2560

5. Després de seleccionar el tauler, seleccioneu el port per anar a Eines ==> Ports

6. Després de seleccionar el tauler i el port, feu clic a Carrega.

7. Un cop carregat el codi, obriu el terminal sèrie per veure la sortida.

Pas 6: connexions

Arduino MEGA ==> GPS NEO-6M

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

També podeu utilitzar Serial2 o Serial3 en lloc de Serial1

Recomanat: