GPS Ublox: NEO-6M módulo GPS con MATLAB por USB

Introducción: Módulo GPS Ublox NEO-6M

En este tutorial se aprenderá a usar el modulo GPS Ublox Neo-6M. La aplicación que se le dará es graficar la posición de nuestras oficinas mediante Matlab.

En la figura 1 se puede observar la tarjeta de control con el circuito NEO-6M y la antena, en la Figura 2 tenemos el convertidor USB-Serial utilizado para comunicar el GPS con la computadora.
Características

A continuación se describen algunas de las características del módulo:

  • Modulo GPS Ublox NEO-6M
  • Comunicación serial
  • Voltaje de alimentación:  (3.5 – 5 )VDC
  • Antena cerámica activa incluida
  • LED indicador de señal
  • Tamaño de antena 22x22mm
  • Tamaño de modulo 23x30mm
  • Batería incluida
  • BAUDRATE: 9600
  • EEPROM para guadar configuración de parámetros
  • Sistema de coordenadas: WGS-84
  • Sensibilidad de captura -148dBm
  • Sensibilidad de rastreo: -161 dBm
  • Máxima altura medible: 18000
  • Máxima velocidad 515 m/s
  • Exactitud: 1micro segundo
  • Frecuencia receptora: L1 (1575.42 Mhz)
  • Código C/A 1.023 Mhz
  • Tiempo de inicio primera vez: 38s en promedio
  • Tiempo de inicio : 35s en promedio
  • Temperatura:

El convertidor USB a TTL lo puedes encontrar aqui: http://hetpro-store.com/arduino/shield-comunicacion/convertidor-usb-ttl-modulo-para-microcontrolador.html
gps ublox
Figura 1. Módulo GPS Ublox con antena.

GPS Ublox

GPS Ublox NEO 6.

Figura 2. Módulo GPS Ublox con antena.

Diagrama esquemático de la tarjeta de control

A continuación en la figura 3 se muestra el diagrama esquemático de la tarjeta, se puede observar que incluye además del circuito NEO-6M una memoria EEPROM la cual podemos utilizar para guardar cualquier dato que queramos.

GPS Ublox

Diagrama esquemático.

Figura 3. Diagrama esquemático del módulo.

Conexiones

GPS Ublox

Figura 4. Conexión con un microcontrolador.

GPS Ublox

Figura 5. Conexión con la PCB a través de un convertidor USB a TTL.
Como se puede observar en las imágenes, el módulo se puede conectar con una infinidad de microcontroladores, asi como con diferentes programas en la computadora.

Modo de operación

El GPS NEO-6M es compatible con el protocolo NMEA. El GPS una vez conectado a una interfaz serial mandara cada segundo aproximadamente una serie de comandos siguiendo este protocolo. El usuario debe de diseñar un software capaz de reconocer estos comandos. En el siguiente texto se muestra un ejemplo de los datos producidos por el GPS.

En este caso muestra 9 comandos. Cada comando comienza con el símbolo $ y finaliza con un checksum y salto de línea. Cabe señalar que el GPS únicamente proporcionara datos validos si el led verde se encuentra encendiendo a lapsos de 1 segundos aproximadamente. En caso de que el led no esté encendiendo se puede deber a que el GPS no encuentra satélites o que el sistema se encuentra operando dentro de un espacio cerrado. Recuerde que las paredes y edificios grandes obstruyen la señal proveniente de los satélites.

Ejemplos de la información obtenida de los 9 comandos NMEA.

Dónde:

  • GGA = Global Positioning System Fix Data
  • 123519 = Muestra tomada a 12:35:19 UTC
  • 4807.038 = Norte   Latitud  48 grados 07.038′ N
  • 01131.000 = Este  Longitud 11 grados 31.000′ E
  • 1 = Fix quality:
    • 0 = invalid
    • 1 = GPS fix (SPS)
    • 2 = DGPS fix
    • 3 = PPS fix
    • 4 = Real Time Kinematic
    • 5 = Float RTK
    • 6 = estimado (dead reckoning) (2.3 feature)
    • 7 = modo entrada manual
    • 8 = modo simulación
  • 08 = Numero de satelites siendo rastreados
  • 0.9 = Dilución horizontal de la posición
  • 545.4,M = Altitud, metros, sobre el nivel del mar
  • 46.9,M = altura del geoid (promedio nivel del mar) sobre WGS84
  • (empty field) = time tiempo desde la última muestra
  • (empty field) = estacion DGPS numero ID
  • *47 = datos del checksum, siempre comienza con *

En este comando las características deseables son la latitud y longitud que se obtienen de la cadena $GPGGA.

Aplicación utilizando Matlab

El siguiente código muestra la aplicación del GPS utilizando matlab. El código es muy simple, solo se tienen que configurar en que puerto se tiene conectado al GPS mediante un convertidor USB-TTL.

Simplemente se tiene que esperar a que el GPS comience a encender y apagar su led verde para poder leer la latitud, longitud y altura sobre el nivel del mar. El programa busca inicialmente el símbolo $ para después capturar 5 caracteres, si los caracteres corresponden a GPGGA comienza a leer la latitud, longitud y altura, en caso de no detectar a ese comando NMEA vuelve a comenzar a buscar el símbolo $.
Para buscar la localización geográfica de acuerdo a esos puntos se podría utilizar la siguiente página de internet.

http://www.maps.pixelis.es

Simplemente bastaría convertir las dos medidas a unidades centesimales.

Ejemplo, datos obtenidos de MatLab para nuestro caso son:
LATITUD_NORTE = 2065.2766,N
LONGITUD_OESTE = 10332.5399,W
ALTURA = 1590.4,M

GPS Ublox

Datos del GPS introducidos en Googlemaps.

Codigo matlab

 

Esta aplicación únicamente utiliza el comando GPGGA y descarta la demás información.

El Módulo GPS a utilizar lo puedes encontrar aqui: https://hetpro-store.com/gps-neo-6m-ublox-con-antena-tx-rx/



21 Comments

  1. Evia marzo 25, 2015
    • Hector Torres marzo 25, 2015
  2. cesar cardenas junio 27, 2015
    • Hector Torres junio 29, 2015
  3. Carlos febrero 9, 2016
  4. Carlos febrero 11, 2016
    • Hector Torres febrero 11, 2016
      • Carlos febrero 12, 2016
  5. Juan febrero 24, 2016
  6. Hector febrero 28, 2016
    • Hector Torres febrero 29, 2016
  7. Richard octubre 20, 2016
  8. jafet noviembre 16, 2016
  9. Rodrigo febrero 17, 2017
  10. Daniel Fernando Alaya abril 19, 2017
    • Hector Torres abril 21, 2017
  11. breth austin diciembre 15, 2017

Leave a Reply