HeTPro-Tutoriales

Creamos tutoriales de electrónica digital para estudiantes, profesionistasy hoobistas de la electrónica, robótica o mecatronica. Tenemos tutoriales de Arduino, QT-Creator, OpenCV, Electrónica analógica y digital, entre otros temas.

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: https://hetpro-store.com/convertidor-usb-ttl-modulo-para-microcontrolador
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/

24 comentarios en «GPS Ublox: NEO-6M módulo GPS con MATLAB por USB»

  1. Estoy usando VENUS GPS con arduindo y la misma se muestran en size = 0 , MATLAB es en buzy lo largo del tiempo , tiene algunas modificaciones debo hacer en el código de MATLAB para usar este GPS con el Arduino .

    1. No eh tendió la oportunidad de usar esa tarjeta, sin embargo, me parece que si tendrías que modificar algo el código de tu Arduino, la idea es mandar una cadena como la de NMEA mediante el serial para poder visualizar la información. Checa primero que nada en la terminal de Arduino serial que tu cadena sea igual o parecida a la del ejemplo.

  2. buenas noches, estoy buscando informacion y me interesa este modulo GPS, solo una gran y a lo mejor boba pregunta pero soy algo nuevo en esto:

    el gps manda informacion serial a un microcontrolador o a una pc. Si lo conecto por ejemplo a algo como un automovil, motocicleta, bicicleta, etc, como veo la trama de informacion que me manda el GPS? Tendria que agregar al GPS un microcontrolar para que capte los datos de este, y añadirle un GSM para que me mande la informacion via SMS o 3G para tomar los datos en web y desde cualquier dispositivo movil con internet tomarlos?

    o con el simple hecho de estar conectado el modulo GPS, desde web tomando su IMEI puedo rastrear la posicion de GPS?

    1. Lo que dijiste primero es correcto, lo segundo no se puede con este módulo. GPS y GSM a microcontrolador para generar la red de datos.

  3. Hola muy buen día ¿Alguien tiene idea de cómo obtener más cifras significativas en los datos de latitud y longitud?, sucede que lo implementé en Arduino utilizando la librería TinyGPSPlus y solo obtuve de tres a cuatro cifras significativas (2 cifras a la izquierda del primer punto decimal y 2 a la derecha después del punto) por ejemplo, Lat: 19.32, Long: -99.38. Lo que quiero es poder tener después del punto más cifras, unas 6 ó 8, ya que con los datos que recibo con la librería no he logrado que el sistema note el cambio de posición en distancias pequeñas o menores a un metro. De antemano muchas gracias.

    1. Carlos, yo lo que hice fue en vez de tomar cada 1 segundos. tomar cada 2 segundos.

      Porque si tomas cada 1 segundo tenes valores muy cercanos y siempre te va a dar 0.

  4. Gracias Hector Torres, en este caso ¿Qué recomendarías?. ¿Aun así puedo obtener los datos con más cifras significativas? Muchas gracias.

    1. Carlos, si por algo es necesario, te recomiendo comprar un GPS con mayor precisión, también hay formas y algoritmos para estimar mejor la posición pero yo creo que casi todas las aplicaciones las puedes lograr con 2 metros si no, se usa una ayuda extra para eso como sensores o cámaras.

  5. Saben si puedo usar con este GPS el microcontrolador MSP430 de Texas Instruments? Mi intención es establecer comunicacióan via SMS y que el micro cierre un circuito y mande su ubicación.

  6. Hola, tengo conectado a una Raspberry Pi2+ el modulo y no toma satelite, muy esporadicamente lo logra y por periodos cortos. Alguien sabe el motivo??? Agote todas las cosas posibles….
    Gracias.

    1. Daniel. 1) Aveces el cable de la antena (pegado al cuadro) se rompe de la parte de la malla del recubrimiento en donde pasa GND. 2) Aveces si estas dentro de la casa la señal no llega de manera correcta, puedes probar sacando la antena o el módulo.

  7. me gustaría ponerme en contacto con usted, podría darme algún correo electrónico por favor o un numero de WhatsApp estaré agradecido

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *