¿Qué es este blog?

La idea de este blog nace para compartir los avances que se vayan realizando a lo largo de un estudio sobre cómo interconectar los distintos sensores que se pueden encontrar en el mercado, o fabricar de forma casera, con la plataforma Mindstorms de LEGO. Para ello se hará uso ARDUINO, un entorno de desarrollo abierto basado en microcontrolador.

domingo, 12 de junio de 2011

Conexión del GPS Venus con conector SMA con Arduino por puerto serie


Otro de los dispositivos cuya integración se ha probado con Arduino ha sido un receptor GPS de la marca Venus, que se puede apreciar en la siguiente imagen:

Figura Receptor GPS Venus con conector SMA
Se trata de un receptor de gran sensibilidad, que permite la conexión de una antena externa mediante un conector SMA. Se puede configurar para lograr una tasa de refresco de hasta 10 Hz., y permite obtener por el puerto serie cadenas del tipo NMEA-0183, que se explicarán en otro post del blog. La tasa por defecto a la que este dispositivo devuelve datos es de 9600 baudios, pero puede configurarse con una velocidad de hasta 115200 baudios.
El corazón de este GPS es el chip Venus634FLPx, que lleva incorporado un LNC, un reloj en tiempo real y un regulador de tensión. Las características más destacadas son las siguientes:
  • 51 canales de adquisición y 14 de tracking
  • Lleva un chipset SkyTrack
  • La frecuencia máxima de actualización es de 10 Hz. aunque viene configurada por defecto a 1 H.
  • Lleva LNA integrado
  • Se debe alimentar con una tensión de entre 2,7 y 3,3 V.
  • Su consumo es de unos 28 mA una vez conectado con los satélites.
  • Su sensibilidad es de -161 dBm
  • El margen de error al posicionarse es de menos de 2,5 metros
  • Si se arranca en frío puede tardar unos 29 segundos en localizarse, mientras que si se arranca en caliente este tiempo se reduce incluso hasta un segundo.
  • Soporta antenas tanto activas como pasivas, aunque en el caso de las primeras deberán alimentarse de forma externa.
  • Su tamaño es de 3,8x1,8 cm, con lo que es fácilmente integrable.


Conexiones realizadas

Las conexiones realizadas son similares a las que se hicieron en el caso del lector RFID, con la diferencia de que en este caso el circuito va alimentado a una tensión de 3,3 V. Por lo tanto:
  • Las tierras (pines GND) de dispositivo se conectan entre sí y con cualquiera de los pines de tierra de la placa de Arduino.
  • El pin TX se conecta con el pin RX0 de Arduino, que en el caso de Arduino Mega 2560 corresponde al pin 0.
  • El pin de alimentación de 3,3 V se conecta con el pin de 3,3 V de Arduino.

Código implementado

En el código que se incluye a continuación, simplemente se configura la velocidad a 9600 baudios y se van mostrando los datos que se vayan recibiendo a través del puerto serie:

char val = 0; //Para almacenar el valor que le llega

void setup() {
    Serial.begin(9600); // Conectamos al puerto serie
}

void loop () {

    char IDstring[13]; //Para almacenar el tag
    int  i;
  
    if (Serial.available() > 0 ) {
      //Serial.println("Datos --> ");
      val = Serial.read();    // Se busca el inicio del codigo
      Serial.print(val);
      if (val=='\r'){
        Serial.println(" ");
      }
    }
}



2 comentarios:

  1. hola amigo, me parece muy interesante el proyecto, los datos que recibes son coordenadas?¿?

    ResponderEliminar
  2. No amigo, cuando pides mostrar lo que te llega del GPS, el envía una trama completa, es decir, hora, fecha, velocidad, latitud, longitud entre otras, lo importante es identificar que tipo de trama estás recibiendo.

    ResponderEliminar