GPS MÓDULO RECEPTOR

Page 1

FIX INGENIERIA www.fixingenieria.com

GPS MÓDULO RECEPTOR Diseñado en cooperación con "Grand Idea Studio" (www.grandideastudio.com) el Sistema de Posicionamiento Global Parallax es un módulo completamente integrado, de bajo costo con una antena integrada. Usando el chip estándar de la industria SiRF Star III, el GPS es una solución completa en una pequeña tarjeta (50 x 36 mm). Todos los archivos de diseño, incluyendo el esquemático y el código Parallax SX/B están disponibles desde la página www.parallax.com buscando con el código de producto "28146" El GPS proporciona cadenas estándar raw NMEA0183 (National Marine Electronics Association) o datos específicos requeridos por usuario a través de los comandos de interface serial, rastreando hasta 20 satélites, y funcionalidad WAAS/EGNOS (Wide Area Augmentation System/European Geostationary Navigation Overlay Service) para resultados más precisos en el posicionamiento. El módulo proporciona datos actuales, tiempo, latitud, longitud, velocidad y orientación/dirección de viaje, junto con otros datos y puede usarse en una amplia variedad de aplicaciones comerciales, incluyendo navegación, sistemas de rastreo, mapeo , administración de flotas, auto-piloto y robótica.

Características      

GPS Completamente integrado, receptor de bajo costo con una antena pasiva integrada Interface serial de un solo cable al BASIC Stamp, Propeller y otros micro controladores Proporciona cadenas NMEA0183 o datos específicos requeridos por usuario a través del comando interface. Usa un chip estándar SIRF Star III Espaciado de .100" para uso fácil en prototipos e integración Código abierto completamente con todos los archivos de diseño disponible

Especificaciones clave    

Requerimientos de potencia +5VDC @ 65 mA Comunicación: Asíncrona serial 4800 bps a nivel TTL Dimensiones 49 x 36 x 15 mm Temperatura de operación: 0 a 70 ºC

TRADUCCION AL ESPAÑOL PUBLICADA: 30 ABRIL 2011

DERECHOS RESERVADOS PARALLAX INC. ©


GPS PARALLAX 28146

PAGE 2

Conexiones Eléctricas Pin

Nombre

Tipo

Función

1

GND

G

2 3

VCC SIO

P I/O

4

/RAW

I

Tierra del sistema. Conectar a la terminal de tierra de la fuente de poder. Potencia del sistema +5VDC entrada Comunicación Serial (comandos enviados A el módulo y recibidos DEL módulo) Asíncrono, Interface de nivel TTL. 4800 bps, 8 bits de datos, no paridad, 1 bit de paro, no invertido. Pin de selección de modo. Entrada digital activa BAJO. Internamente puesta en ALTO por defecto. Cuando el pin /RAW se desconecta, el modo inteligente se habilita, donde los comandos para los datos específicos GPS pueden solicitarse y se regresa el resultado (Ver el protocolo de comunicación en la página 4). Cuando /RAW se pone en BAJO el modulo ingresará el modo raw y transmite cadenas estándar NMEA0183 permitiendo a los usuarios avanzados usar la información directamente.

Nota: Tipo I= Entrada, O= Salida, P= Potencia, G= Tierra El módulo receptor GPS puede integrase en cualquier diseño utilizando un mínimo de 3 conexiones:

Los cuatro pins integrados permiten que el módulo se pueda colocar en una tarjeta prototipo. Si se desea el modo inteligente por defecto y el modo /RAW no se usará entonces se puede conectar el módulo con un cable de 3 pins similar al de los servos. (Parallax 805-00001). El modulo está diseñado para montarse horizontalmente para que la antena pueda ver hacia el cielo. Tiene perforaciones de montaje en cada esquina para un montaje sólido. Para mejores resultados el módulo debe usarse con una vista clara hacia el cielo, ésta es la naturaleza del GPS y no una limitación del producto. Con una vista no obstruida hacia el cielo el GPS trabaja las 24 horas del día, siete días a la semana en cualquier parte del mundo. Por favor observe que productos como motores, computadoras y diseños inalámbricos RF los cuales emiten altos de campos magnéticos e interferencias pueden hacer que el funcionamiento del módulo decremente. Además cuando se usa el modulo en aplicaciones de automóviles la posición ideal de montaje es el techo del automóvil. Si el módulo se usa dentro del carro asegúrese que la antena tenga una vista clara al cielo, colocándolo en el tablero y donde no esté bloqueado por ningún objeto metálico. Para mayor información del funcionamiento del GPS vea la sección de Breve Tecnología GPS en la pagina 6.


GPS PARALLAX 28146

PAGE 3

Indicador de Estado El módulo GPS contiene solo un LED rojo para indicar el estado del sistema. El LED está localizado en la esquina inferior derecha del módulo. Una cubierta blanca en el módulo se usa para reflejar la luz del LED haciéndolo más sencillo de ver. El LED denota dos estados para el módulo: 1. Parpadea: Esta buscando por satélites o no ha encontrado satélites fijos 2. Solido: Se adquirió información adecuadamente (un mínimo de 3 satélites se requiere antes de que el módulo comience a transmitir datos válidos GPS) Una vez encendido el GPS en una nueva posición puede tomar hasta 5 minutos para tomar la información de los satélites. Durante este tiempo el LED del módulo estará parpadeando. Cuando la suficiente información de los suficientes satélites haya sido recibida el LED se pondrá en un modo sólido. Si el LED rojo está apagado existe un problema, por favor verifique el cableado y la configuración del módulo.

Selección de Módulo El pin /RAW permite al usuario seleccionar los dos módulos de operación: 

Modo Inteligente. Cuando el modo /RAW se pone en ALTO o se deja desconectado (el pin internamente se pone en alto) el modo por defecto es el modo inteligente, donde los comandos específicos para datos GPS pueden solicitarse y se regresa el resultado. vea el protocolo de comunicación para mayores detalles. Modo Raw. Cuando el pin /RAM se pone BAJO se habilita el modo RAW con el cual el módulo transmitirá cadenas estándar NMEA0183 (GGA, GSV, GSA y RMC) permitiendo a los usuarios utilizar la información directamente.


GPS PARALLAX 28146

PAGE 4

Protocolo de Comunicación (para uso en modo inteligente únicamente) El módulo GPS está controlado por el host a través del estándar nivel-TTL, interface de comunicación asíncrona. Un pin sencillo (SIO) transfiere los comandos enviados AL módulo y los datos recibidos DESDE el módulo. Toda la comunicación sucede a 4800 bps, 8 Bits de Datos, 1 Bit de paro, No invertido. Para enviar un comando al módulo GPS el usuario debe enviar la cadena del encabezado ASCII de !GPS seguido de la instrucción byte hexadecimal especifica de su elección. Dependiendo de la instrucción un número variable de datos se regresará: Instrucción

Constante

Descripción

0x00

GetInfo

Versión del módulo GPS

0x01

GetValid

Verifica los datos de la cadena

1

0x02 0x03

GetStats GetTime

Número de satélites (Máximo 20) Tiempo (UTC/GTM)

1 3

0x04 0x05

GetDate GetLat

Fecha (UTM/GTM) Latitud

3 5

0x06

GetLong

Longitud

5

0x07

GetAltitude

Altitud sobre el nivel del mar en décimas de metros. 6553.5 m Max. 0x08 GetSpeed Velocidad (En décimas de nudos) 999.9 nudos Max. 0x09 GetHead Orientación/Dirección de viaje (en décimas de grados) 0x0A GetAltExt Modo extendido de altitud. Altitud sobe el nivel del mar (en metros) 65535 m Max. * Las variables son de 1 byte a menos que se especifique lo contrario

Bytes de regreso 2

2

Hardware, Firmware 0= No valido 1= Valido Satélites Horas, Minutos, Segundos Mes, Día, Año Grados, Minutos, Minutos Fraccionales (Word) Dirección (0=N, 1=S) Grados, Minutos, Minutos Fraccionales (Word) Dirección (0=E, 1=O) Altitud (Word)

2

Velocidad (Word)

2

Dirección (Word)

2

Altitud (Word)

Otras especificaciones    

Variables *

Rango de Actualización de Navegación una vez por segundo (1Hz) Alta sensibilidad de -159 dBm Precisión de posición de +/- 5 metros Precisión de velocidad de +/- 0.1 metros/segundo


GPS PARALLAX 28146

PAGE 5

Características Eléctricas Rango de Valores Absolutos Condición Temperatura de Operación Temperatura de Almacenaje Voltaje requerido (Vcc) Voltaje de Tierra (Vss) Voltaje en cualquier pin respecto a Vss

Valor 0º a 70ºC -55º a 100ºC +4.5VDC a +5.5VDC 0V -0.6V a +(Vcc +0.6)V

NOTA: Utilizar el equipo sobre las características enlistadas en los Rangos Absolutos Máximos puede ocasionar daño permanente al equipo. Estos son rangos únicamente y la operación funcional del equipo a estas u otras condiciones indicadas en la lista de operaciones de esta especificación no está implicada. La exposición a los rangos máximos por periodos extendidos puede afectar la confiablidad del equipo. Características DC

Parámetro Voltaje Corriente

Símbolo Vcc Icc

Dimensiones del Módulo

Condición de Prueba -----

Especificación Mínima 4.5 ---

Típica / Promedio 5.0 65

Máxima

Unidad

5.5 ---

V mA


GPS PARALLAX 28146

PAGE 6

Breves Comentarios sobre Tecnología GPS Alguna información proporcionada está basada en la información proporcionada por las Preguntas Frecuentes del Sistema de Posicionamiento Global (www.gpsy.com/gpsinfo/gps-faq.txt) Desarrollado y operado por el Gobierno de los Estados Unidos, el GPS (Sistema de Posicionamiento Global) es un sistema usado en todo el mundo para sistema de radio navegación formado por una constelación de 24 satélites y sus estaciones en tierra. Con una vista clara del cielo el GPS trabaja 24 horas al día, siete días a la semana. El Sistema de Posicionamiento Global consiste en tres componentes interactivos: 1. El Segmento del espacio -- Satélites orbitando la Tierra 2. El Segmento de Control -- el control y monitoreo de las estaciones correo por el Departamento de Defensa de los Estados Unidos (no se discute en esta documentación) 3. El Segmento del Usuario -- los recibidores GPS adquiridos por civiles y militares El segmento del espacio consiste en una constelación de 24 satélites activos (y uno o mas repuestos en órbita) orbitando la tierra cada 12 horas. Cuatro satélites están localizados en cada una de las seis órbitas y serán visibles en un 95% del tiempo. Las órbitas están distribuidas igualmente alrededor del atierra y están inclinadas 55 grados con respecto al ecuador. Los satélites en órbita están a una altura aproximada de 1,000 millas náuticas. Cada satélite transmite dos señales: L1 (1575.42 MHz) y L2 (1227.60 MHz). La señal L1 es modulada con dos semi-señales - el código protegido (P) y el código curso/adquisición (C/A). La señal L2 solo acarrea código P. Los receptores de Navegación civil solo utilizan el código C/A en la frecuencia L1. Cada señal de cada satélite contiene un mensaje repetido, indicando la posición y los parámetro orbitales del mismo y otros satélites (almanaque), una lista de la salud de los satélites y el tiempo atómico preciso. El receptor mide el tiempo requerido por la señal para viajar del satélite al receptor al conocer el tiempo en el que la señal deja el satélite y observando el tiempo en el que se recibe la señal, basado en su reloj interno. Si el recepto tiene un reloj perfecto exactamente en sincronía con los de los satélites, tres mediciones, de los tres satélites sería suficiente para determinar la posición en tres dimensiones a través de una triangulación. Sin embargo este no es el caso, así que un cuarto satélite se necesita para resolver el error del reloj. Con cuatro o más satélites un GPS puede proporcionar un preciso tiempo y posición. Observe que los datos de posición y precisión se ven afectados o degradados por la geometría del satélite, la interferencia electromagnética y el multicamino, un grupo de reflexiones impredecible y/o ondas directas con cada una de sus atenuaciones y retrasos. Midiendo la altitud usando un GPS puede inducir un error de 1.5 veces la posición precisa del receptor (en el caso del Receptor GPS de Parallax esto es +/- 7.5 metros en dirección vertical). Las señales de GPS trabajan en la banda de radio de microondas. Pueden pasar a través de vidrio pero se absorben por las moléculas del agua (por ejemplo madera o follaje) y se reflejan en concreto acero y rocas. Esto significa que el modulo GPS tiene problemas para operar en bosques, junglas urbanas, cañones profundos, dentro de automóviles y botes y en tormentas de nieve. Estos obstáculos ambientales degradan la precisión de posición haciendo difícil alcanzar una posición fija del satélite.


GPS PARALLAX 28146

PAGE 7

La mayoría de los GPS tienen una salida de datos que pueden ser utilizados e interpretados por otros equipos. El formato más común (usado por el receptor GPS de Parallax en modo RAW) es NMEA0183 desarrollado para comunicaciones entre instrumentos marinos. Algunos receptores también tienen propiedad de formatos para transferir listas, rastrear registros y otros datos entre el GPS y una computadora. Tales formatos no se cuben por el estándar NMEA. NMEA0183 se proporciona como una cadena de series de coma delimitada en ASCII, cada uno precedido con un encabezado de identificación. Cualquier micro controlador con un puerto serie puede extraer los datos de un módulo GPS. Pero los módulos no producen texto de la información de la localidad. En cambio crean sentencias estandarizadas tales como: $GPGGA,170834,4124.8963,N,08151.6838,W,1,05,1.5,280.2,M,-34.0,M,,,*75 $GPGSA,A,3,19,28,14,18,27,22,31,39,,,,,1.7,1.0,1.3*34 $GPGSV,3,2,11,14,25,170,00,16,57,208,39,18,67,296,40,19,40,246,00*74 $GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70 Los programadores pueden entonces convertir estas cadenas para obtener la información que necesitan, incluyendo tiempo, fecha, latitud, longitud, velocidad y altitud. Para más detalles de la estructura de las sentencias NMEA0183 visite:  http://home.mira.net/~gnb/gps/nmea.html  www.gpsinformation.org/dale/nmea.htm

El modo inteligente del GPS Parallax recibirá instrucciones del usuario y automáticamente pasara esta información NMEA0183 para proporcionar la información requerida, como se muestra en la salida de abajo usando el ejemplo de código que comienza en la página 8 Parallax GPS Receiver Demo -------------------------Hardware Version: 1.0 Firmware Version: 2.0 Signal Valid: Yes Acquired Satellites: 7 Local Time: 12:45:40 Local Date: 28 FEB 2010 Latitude: 037° 46' 51.5" N ( 37.7809 ) Longitude: 122° 27' 50.8" W (-122.4641 ) Altitude: 45.3 meters ( 147 feet ) Extended Altitude: 45 meters ( 147 feet ) Speed: 28.5 Knots ( 32.7 MPH ) Direction of Travel: 87.7°

Estas son tres notaciones estándares para desplegar longitud y latitud: Coordenadas GPS (Grados, minutos y minutos fraccionales) Ej: 36 grados 35.9159 minutos DDMMSS (Grados, Minutos, Segundos) Ej: 36 grados, 35 minutos, 55.3 segundos Grados Decimales Ej: 36.5986 grados


GPS PARALLAX 28146

PAGE 8

En modo inteligente el receptor GPS transmite latitud y longitud al usuario en formato coordinado GPS (Grados, Minutos y Minutos Fraccionales). La conversión de las otras dos notaciones, DDMMSS y Grados Decimales, es simple y se demuestra en el código que comienza en la página 8. Para desplegar gráficamente la posición GPS usando Mapas Google vaya a http://maps.google.com/ e ingrese sus coordenadas en el campo "Búsqueda" (por ejemplo "36.5989, -118.0599" sin las comillas). Para desplegar gráficamente una serie de puntos, SPG Visualizer (www.gpsvisualizer.com) es una utilidad en línea gratuita que genera mapas y perfiles de datos GPS. GPS Visualizer puede leer datos de diferentes fuentes, incluyendo RAW NMEA, Tab-Delimitado, o Coma-Separada del texto de datos relevantes de GPS. Algunos recursos adicionales y artículos se pueden encontrar en:  

Where in the World is my BASIC Stamp?, Jon Williams, The Nuts and Volts of BASIC Stamps (Volume 3; Column 83), que puede encontrar en el Tabulador de recursos en www.parallax.com. Stamping on Down the Road, Jon Williams, The Nuts and Volts of BASIC Stamps (Volume 4,Column 103), que puede encontrar en el Tabulador de recursos en www.parallax.com.

Programa BASIC Stamp® 2 El siguiente ejemplo de código demuestra el GPS en modo inteligente y despliega el número de satélites, tiempo local, fecha, latitud y longitud, longitud extendida, velocidad y dirección de viaje. El código está disponible para descarga en la página de Parallax bajo el Módulo GPS #28146 ' ========================================================================= ' ' File...... GPSDemoV2.0.B22 ' Purpose... Demonstrates features of the Parallax GPS Receiver Module ' Author.... Joe Grand, Grand Idea Studio, Inc. [www.grandideastudio.com] ' E-mail.... support@parallax.com ' Updated... 03 MAR 2011 ' ' {$STAMP BS2} ' {$PBASIC 2.5} ' ' ========================================================================= ' -----[ Program Description ]--------------------------------------------' ' Este programa demuestra la capacidad del modulo GPS ' ' Antes de correr este demo asegúrese que el pin /RAW está desconectado ' o jale a alto para habilitar el modo intelligente ' ' For an application that requires constant monitoring of multiple GPS ' data components, it is recommended to use the "raw" mode of the GPS ' Receiver Module by pulling the /RAW Pin LOW. In this mode, the module ' will transmit a constant stream of raw NMEA0183 data strings, which can ' then be parsed by the host application. ' ' See the user manual for more details. ' -----[ I/O Definitions ]----------------------------------------------


GPS PARALLAX 28146 Sio

PIN

PAGE 9

15

' connects to GPS Module SIO pin

' -----[ Constants ]------------------------------------------------------T4800 Open

CON CON

188 $8000

Baud

CON

Open | T4800

MoveTo CON ClrRt FieldLen

2 CON 11 CON 22

' DEBUG positioning command ' clear line right of cursor ' length of debug text

EST CST MST PST

CON -5 CON -6 CON -7 CON -8

' Eastern Standard Time ' Central Standard Time ' Mountain Standard Time ' Pacific Standard Time

EDT CDT MDT PDT

CON -4 CON -5 CON -6 CON -7

' Eastern Daylight Time ' Central Daylight Time ' Mountain Daylight Time ' Pacific Daylight Time

UTCfix

CON PST

' set based on time zone location

DegSym MinSym SecSym

CON 176 CON 39 CON 34

' degrees symbol for report ' minutes symbol ' seconds symbol

' Open mode to allow daisy chaining

' GPS Module Commands GetInfo CON $00 GetValid CON $01 GetSats CON $02 GetTime CON $03 GetDate CON $04 GetLat CON $05 GetLong CON $06 GetAlt CON $07 GetSpeed CON $08 GetHeading CON $09 GetAltExt CON $0A ' -----[ Variables ]------------------------------------------------------char VAR workVal VAR eeAddr VAR

Byte Word workVal

ver_hw VAR ver_fw VAR

Byte Byte

valid sats

VAR VAR

Byte Byte

' signal valid? 0 = not valid, 1 = valid ' number of satellites used in positioning calculations

tmHrs VAR tmMins VAR tmSecs VAR

Byte Byte Byte

' time fields

day month year

Byte Byte Byte

' day of month, 1-31 ' month, 1-12 ' year, 00-99

VAR VAR VAR

' for numeric conversions ' pointer to EE data


GPS PARALLAX 28146 degrees minutes minutesD dir W)

VAR VAR VAR VAR

PAGE 10 Byte Byte Word Byte

heading VAR WORD alt VAR WORD altExt VAR WORD supported in GPS firmware <= 2.0) speed VAR WORD ' speed in 0.1 knots

' latitude/longitude degrees ' latitude/longitude minutes ' latitude/longitude decimal minutes ' direction (latitude: 0 = N, 1 = S, longitude: 0 = E, 1 =

' heading in 0.1 degrees ' altitude in 0.1 meters ' altitude in meters (no decimal, extended range,

' -----[ EEPROM Data ]----------------------------------------------------NotValid IsValid DaysInMon MonNames

DATA DATA DATA DATA DATA

"No", 0 "Yes", 0 31,28,31,30,31,30,31,31,30,31,30,31 "JAN",0,"FEB",0,"MAR",0,"APR",0,"MAY",0,"JUN",0 "JUL",0,"AUG",0,"SEP",0,"OCT",0,"NOV",0,"DEC",0

' -----[ Initialization ]-------------------------------------------------Initialize: PAUSE 250 DEBUG CLS DEBUG MoveTo, 0, 1,

' let DEBUG open ' clear the screen "Parallax GPS Receiver Demo"

Draw_Data_Labels: DEBUG MoveTo, 0, 3, " Hardware Version: " DEBUG MoveTo, 0, 4, " Firmware Version: " DEBUG MoveTo, 0, 6, " Signal Valid: " DEBUG MoveTo, 0, 7, "Acquired Satellites: " DEBUG MoveTo, 0, 9, " Local Time: " DEBUG MoveTo, 0, 10, " Local Date: " DEBUG MoveTo, 0, 12, " Latitude: " DEBUG MoveTo, 0, 13, " Longitude: " DEBUG MoveTo, 0, 14, " Altitude: " DEBUG MoveTo, 0, 15, " Extended Altitude: " DEBUG MoveTo, 0, 16, " Speed: " DEBUG MoveTo, 0, 17, "Direction of Travel: " ' -----[ Program Code ]---------------------------------------------------Main: GOSUB Get_Info GOSUB Get_Valid GOSUB Get_Sats GOSUB Get_TimeDate GOSUB Get_Lat GOSUB Get_Long GOSUB Get_Alt GOSUB Get_AltExt GOSUB Get_Speed GOSUB Get_Heading GOTO Main ' -----[ Subroutines ]----------------------------------------------------Get_Info: SEROUT Sio, Baud, ["!GPS", GetInfo]


GPS PARALLAX 28146

PAGE 11

SERIN Sio, Baud, 3000, No_Response, [ver_hw, ver_fw] DEBUG MoveTo, FieldLen, 3, HEX ver_hw.HIGHNIB, ".", HEX ver_hw.LOWNIB DEBUG MoveTo, FieldLen, 4, HEX ver_fw.HIGHNIB, ".", HEX ver_fw.LOWNIB RETURN ' ---------------------------------------------------Get_Valid: SEROUT Sio, Baud, ["!GPS", GetValid] SERIN Sio, Baud, 3000, No_Response, [valid] DEBUG MoveTo, FieldLen, 6 LOOKUP valid, [NotValid, IsValid], eeAddr GOSUB Print_Z_String DEBUG ClrRt IF (valid = 0) THEN Signal_Not_Valid RETURN

' was the signal valid? ' get answer from EE ' print it ' clear end of line

' ---------------------------------------------------Get_Sats: SEROUT Sio, Baud, ["!GPS", GetSats] SERIN Sio, Baud, 3000, No_Response, [sats] DEBUG MoveTo, FieldLen, 7, DEC sats RETURN ' ---------------------------------------------------Get_TimeDate: SEROUT Sio, Baud, ["!GPS", GetTime] SERIN Sio, Baud, 3000, No_Response, [tmHrs, tmMins, tmSecs] SEROUT Sio, Baud, ["!GPS", GetDate] SERIN Sio, Baud, 3000, No_Response, [day, month, year] GOSUB Correct_Local_Time_Date DEBUG MoveTo, FieldLen, 9, DEC2 tmHrs, ":", DEC2 tmMins, ":", DEC2 tmSecs DEBUG MoveTo, FieldLen, 10, DEC2 day, " " eeAddr = (month - 1) * 4 + MonNames ' get address of month name GOSUB Print_Z_String ' print it DEBUG " 20", DEC2 year RETURN ' ---------------------------------------------------Get_Lat: SEROUT Sio, Baud, ["!GPS", GetLat] SERIN Sio, Baud, 3000, No_Response, [degrees, minutes, minutesD.HIGHBYTE, minutesD.LOWBYTE, dir] ' convert decimal minutes to tenths of seconds workVal = minutesD ** $0F5C ' minutesD * 0.06 DEBUG MoveTo, FieldLen, 12, DEC3 degrees, DegSym, " ", DEC2 minutes, MinSym, " " DEBUG DEC2 (workVal / 10), ".", DEC1 (workVal // 10), SecSym, " " DEBUG "N" + (dir * 5) ' convert to decimal format, too workVal = (minutes * 1000 / 6) + (minutesD / 60) DEBUG " (", " " + (dir * 13), DEC degrees, ".", DEC4 workVal, " ) " RETURN


GPS PARALLAX 28146 ' ---------------------------------------------------Get_Long: SEROUT Sio, Baud, ["!GPS", GetLong] SERIN Sio, Baud, 3000, No_Response, [degrees, minutes, minutesD.HIGHBYTE, minutesD.LOWBYTE, dir] ' convert decimal minutes to tenths of seconds workVal = minutesD ** $0F5C ' minutesD * 0.06 DEBUG MoveTo, FieldLen, 13, DEC3 degrees, DegSym, " ", DEC2 minutes, MinSym, " " DEBUG DEC2 (workVal / 10), ".", DEC1 (workVal // 10), SecSym, " " DEBUG "E" + (dir * 18) ' convert to decimal format, too workVal = (minutes * 1000 / 6) + (minutesD / 60) DEBUG " (", " " + (dir * 13), DEC degrees, ".", DEC4 workVal, " ) " RETURN ' ---------------------------------------------------Get_Alt: SEROUT Sio, Baud, ["!GPS", GetAlt] SERIN Sio, Baud, 3000, No_Response, [alt.HIGHBYTE, alt.LOWBYTE] DEBUG MoveTo, FieldLen, 14, DEC (alt / 10), ".", DEC1 (alt // 10), " meters " workVal = alt / 10 ' remove tenths from altitude ' convert altitude from meters to feet workVal = (workVal * 3) + (workVal ** $47E5) ' 1 meter = 3.2808399 feet DEBUG " ( ", DEC workVal, " feet ) " RETURN ' ---------------------------------------------------' The newer version of the Parallax GPS Receiver Module (firmware version >= 2.0) using the PMB-648 supports an extended altitude command. ' See the user manual for more details. Get_AltExt: IF (ver_fw.HIGHNIB >= 2) THEN SEROUT Sio, Baud, ["!GPS", GetAltExt] SERIN Sio, Baud, 3000, No_Response, [altExt.HIGHBYTE, altExt.LOWBYTE] DEBUG MoveTo, FieldLen, 15, DEC altExt, " meters " ' convert altitude from meters to feet workVal = (altExt * 3) + (altExt ** $47E5) ' 1 meter = 3.2808399 feet DEBUG " ( ", DEC workVal, " feet ) " ELSE DEBUG MoveTo, FieldLen, 15, "N/A" ENDIF RETURN ' ---------------------------------------------------Get_Speed: SEROUT Sio, Baud, ["!GPS", GetSpeed] SERIN Sio, Baud, 3000, No_Response, [speed.HIGHBYTE, speed.LOWBYTE] DEBUG MoveTo, FieldLen, 16, DEC (speed / 10), ".", DEC1 (speed // 10), " Knots " ' convert speed from knots to MPH workVal = speed + (speed ** $2699) ' 1 knot = 1.1507771555 MPH

PAGE 12


GPS PARALLAX 28146 DEBUG " ( ", DEC (workVal / 10), ".", DEC1 (workVal // 10), " MPH ) " RETURN ' ---------------------------------------------------Get_Heading: SEROUT Sio, Baud, ["!GPS", GetHeading] SERIN Sio, Baud, 3000, No_Response, [heading.HIGHBYTE, heading.LOWBYTE] IF speed = 0 THEN DEBUG MoveTo, FieldLen, 17, "N/A " ELSE DEBUG MoveTo, FieldLen, 17, DEC (heading / 10), ".", DEC1 (heading // 10), DegSym, " " ENDIF RETURN ' ---------------------------------------------------No_Response: DEBUG MoveTo, 0, 18, "Error: No response from GPS Receiver" PAUSE 5000 GOTO Initialize ' ---------------------------------------------------Signal_Not_Valid: DEBUG MoveTo, FieldLen, 7, "?", ClrRt ' clear all fields DEBUG MoveTo, FieldLen, 9, "?", ClrRt DEBUG MoveTo, FieldLen, 10, "?", ClrRt DEBUG MoveTo, FieldLen, 12, "?", ClrRt DEBUG MoveTo, FieldLen, 13, "?", ClrRt DEBUG MoveTo, FieldLen, 14, "?", ClrRt DEBUG MoveTo, FieldLen, 15, "?", ClrRt DEBUG MoveTo, FieldLen, 16, "?", ClrRt DEBUG MoveTo, FieldLen, 17, "?", ClrRt GOTO Main ' ---------------------------------------------------' Adjust date for local position ' Fixed by JZ for proper month adjustment in Location_Lags Correct_Local_Time_Date: workVal = tmHrs + UTCfix ' add UTC offset IF (workVal < 24) THEN Adjust_Time ' midnight crossed? workVal = UTCfix ' yes, so adjust date BRANCH workVal.BIT15, [Location_Leads, Location_Lags] Location_Leads: ' east of Greenwich day = day + 1 ' no, move to next day eeAddr = DaysInMon * (month - 1) ' get days in month READ eeAddr, char IF (day <= char) THEN Adjust_Time ' in same month? month = month + 1 ' no, move to next month day = 1 ' first day IF (month < 13) THEN Adjust_Time ' in same year? month = 1 ' no, set to January year = year + 1 // 100 ' add one to year GOTO Adjust_Time Location_Lags: ' west of Greenwich day = day - 1 ' adjust day IF (day > 0) THEN Adjust_Time ' same month?

PAGE 13


GPS PARALLAX 28146 month = month - 1 IF (month > 0) THEN ' same year? eeAddr = DaysInMon + (month - 1) ' same year, but different month, READ eeAddr, day ' so need to adjust the day GOTO Adjust_Time ' before adjusting the time. ENDIF month = 1 ' no, set to January eeAddr = DaysInMon * (month - 1) READ eeAddr, day ' get new day year = year + 99 // 100 ' set to previous year Adjust_Time: tmHrs = tmHrs + (24 + UTCfix) // 24 ' localize hours RETURN ' ---------------------------------------------------' Print Zero-terminated string stored in EEPROM ' -- eeAddr - starting character of string Print_Z_String: READ eeAddr, char ' get char from EE IF (char = 0) THEN Print_Z_String_Done ' if zero, we're done DEBUG char ' print the char eeAddr = eeAddr + 1 ' point to the next one GOTO Print_Z_String Print_Z_String_Done: RETURN ' ----------------------------------------------------

PAGE 14


GPS PARALLAX 28146

PAGE 15

Revisiones Desde Marzo del 2011 el módulo receptor GPS de Parallax se actualizó del PMB-248 al PMB648. Las versiones anteriores pueden identificarse con las marcas que se muestran en esta foto:

Las unidades anteriores son idénticamente funcionales a las nuevas excepto por las siguientes características: Característica Chip GPS Grupo de Instrucciones Satélites máximos Corriente Sensibilidad de señal

Módulo PMB-248 Sony CXD2951GA-4 GetAltExt no soportado 12 115 mA típico -152 dBm

Módulo PMB-648 SiRF Star III GetAltExt soportado 20 65 mA típico -159 dBm

La documentación y el Frimware para la V 1.1 (PMB-248) puede encontrarse en la página del producto en el sitio de parallax.com Por favor contacte a support@parallax.com para mayor información o para soporte en español contacte a direccion@fixingenieria.com

NOTA: Esta traducción al español realizada por FIX Ingeniería-México (www.fixingenieria.com) tiene fines educativos únicamente. Todos los Derechos Reservados por Parallax Inc. Agradeceremos sus comentarios y/o identificación de cualquier error detectado en este manual.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.