Acerca de si puedes crear tu propio sistema de posicionamiento GPS
Original de Elephant (BG4JPL) Vómitos de sangre: una guía completa para hacer un sistema de navegación y posicionamiento por satélite GPS de bricolaje He estado explorando cómo hacerlo y ahora lo compartiré con ustedes. En el nivel limitado, ¡debe haber muchas deficiencias! Espero comunicarnos más!
Índice
1. Introducción y selección del módulo GPS, GPS 9540
2. Formatos comunes de salida de datos GPS
3. y producción del circuito de interfaz GPS
IV Depuración del puerto serie, carga del sistema
V Tipos y selección de software GPS común, depuración y operación del software de la serie Lingtu Skywalker
.6. Software de la serie Open OZI
7. Introducción y selección del módulo de transmisión de información remota GSM
8. Uso del microcontrolador 51 para integrar el módulo GPS y el módulo GSM para la prueba de comunicación
9. Introducción y selección del módulo GPS, un avanzado sistema antirrobo de vehículos que puede transmitir información de ubicación del vehículo en tiempo real a través de mensajes de texto GSM
El GPS fue desarrollado originalmente en Estados Unidos. para servir a los militares. Enormes proyectos cósmicos y aeroespaciales propuestos e implementados. El sistema tiene 24 satélites funcionando en órbitas específicas en el espacio para transmitir información de posicionamiento a la Tierra. El receptor GPS terrestre puede obtener longitud, latitud, altitud, dirección, velocidad, hora y otra información para servir a sus agencias de inteligencia militar. Con el desarrollo de la ciencia y la tecnología y el aumento de la demanda de aplicaciones, la tecnología GPS ahora ha estado completamente abierta al uso civil y se usa ampliamente en la industria aeroespacial, topografía y cartografía, gestión del tráfico y otros campos, entre ellos el posicionamiento y el monitoreo. Los objetivos en movimiento terrestre (como vehículos, etc.) son los más utilizados. La industria con la tecnología de posicionamiento más exitosa;
El módulo de posicionamiento por satélite GPS es un dispositivo esencial para desarrollar productos relacionados con GPS. producido en los Estados Unidos, Japón y Taiwán. Entre ellos, los módulos producidos en Taiwán son relativamente baratos y tienen buen rendimiento, por lo que se utilizan ampliamente. Aquí elegimos módulos taiwaneses con una rentabilidad relativamente alta. Por supuesto, definitivamente habrá algunas brechas en términos de precisión, tiempo de respuesta y transmisión de datos, pero es suficiente para el campo civil automotriz. Después de la comparación, elegimos GPS9540.
Módulo GPS 9540
El módulo GPS 9540 es un módulo receptor GPS de 12 canales producido en Taiwán, tiene un volumen de 40x72x13 mm y se combina con un módulo de 5 metros de largo; Antena receptora magnética GPS con línea alimentadora. Este módulo es salida de datos de nivel TTL, comando $GPGGA/$GPRMC una vez por segundo, velocidad de 9600 baudios. El módulo incluye un reloj en tiempo real, salida de sincronización PPS, DGPS, entrada (salida) de velocidad en baudios seleccionable, NMEA 0183 y una memoria permanente. Las principales características son: Módulo de 12 canales con estructura compacta, excelente rendimiento y bajo consumo de energía. Se proporciona principalmente a clientes que se dedican al desarrollo secundario de módulos GPS.
Por defecto, la señal TTL NMEA-0183 se emite una vez por segundo. El formato es el siguiente:
$GPRMC, 040936.626, A, 3148.4753, N, 12138.6459, E, 013.6, 180.54, 100404,, *1A
Esta información contiene Año muy preciso /mes/día/hora/minuto/segundo/milisegundo, y longitud y latitud actuales, velocidad de movimiento, dirección del movimiento y otros datos.
Se puede utilizar para posicionamiento de vehículos de alta precisión y sistemas de sincronización de alta precisión
Principales características de rendimiento del módulo GPS9540
Voltaje de funcionamiento: voltaje de funcionamiento de CC de 5 V (70 mA),
Características ambientales: temperatura de funcionamiento de -40 grados a 85 grados, humedad relativa de 5 a 95 sin condensación, temperatura de almacenamiento de -55 grados a 100 grados
Interfaz externa: puerto de alimentación/datos, doble fila 20 pines SAMTEC # TMM-110-03-L-D
Características físicas: antena activa/pasiva, tamaño 71,1 X 40,6 X 7,6 mm
Características eléctricas: Potencia de cosquilleo 5 Mw. , consumo de energía 0,85 W, sensibilidad -145 dBm
Placa de alimentación de respaldo equipada con batería de litio de 3 V, voltaje de entrada 5,0 V ±5, información de entrada salida de segundo pulso 1pps, precisión ±1us
Información de salida: SiRF binario NMEA-0183, GGA GSA GSV RMC VTG GLL
Formato de datos: NMEA, SiRF binario, posición inicial/fecha y hora, seleccione información de salida NMEA-0183, SiRF binario
Velocidad de comunicación: Velocidad en baudios opcional: 4800 a 38400
Rendimiento de la interfaz: interfaz de antena, MCX, GPIO, puerto serie de 9 pines, 2 puertos serie TTL
Sistema de coordenadas: WGS -84 Se pueden definir otras coordenadas
Rendimiento dinámico: Velocidad: 515 m/s; Aceleración: 4 g; Altura: 18000 m
Tiempo de posicionamiento
Arranque en frío : lt; 45 s; inicio en caliente: lt; 38 s; precisión de posicionamiento: 10 m, 2D SA; DGPS lt; 5 m
Estructura de la placa del receptor: SiRF star II paralelo 12 canales
La definición más importante de 20 pines: el formato de salida de dos módulos GPS comunes (NMEA0183 ASC) protocolo de código II)
El protocolo de interfaz adopta el protocolo de código americano NMEA0183 ASC II, que es la versión NAEA 0183 (este protocolo sirve para establecer un estándar RTCM unificado en diferentes equipos de navegación GPS). Los siguientes comandos describen la definición del formato de datos del navegador GPS, incluida la selección de velocidad en baudios, la salida de segundo pulso y la salida de definición RTCM.
1. Declaración de recepción NMEA
Declaración de entrada, principalmente inicialización, la configuración de parámetros se guía a través del pin RXP
(1) Formato ALM (información de almanaque): $ GPALM,lt;1gt;,lt;2gt;,lt;3gt;,lt;4gt;,lt;5gt;,lt;6gt;,lt;7gt;,lt;8gt;,lt;9gt;,lt; ; 11gt; 12gt; 13gt; 14gt; 15gt; *hhltCRgt;
Si la batería de respaldo está agotada, utilice esta declaración para inicializar la información.
lt; ; Al descargar, el número total se puede transferir a la placa GPS. Al enviar a la placa GPS, este campo puede estar vacío o cualquier número.
lt; 2gt; El número de almanaque actual 20 puede estar vacío o cualquier valor;
lt; , 17-24 dígitos de cada almanaque
lt;6gt; excentricidad
lt ;7gt;Tiempo de referencia de efemérides
lt;8gt;Ángulo de inclinación
lt;9gt;Tasa de ascenso
lt;10gt;Semieje
lt; 11gt; Fin del perigeo
lt; longitud
lt; 13gt; ángulo de salida del perigeo
lt; 14gt; Parámetros de tiempo de Afo
lt; hh: El hh al final de la declaración es la suma de verificación de la declaración, que el usuario debe calcular y enviar a la placa GPS 25. Las reglas de cálculo son: Los ocho bytes después de "S" constituyen cada uno un código BCD (. A, B, C, etc. deben estar en mayúscula). La salida del GPS 25 tiene un dígito de control después de la declaración, a través del cual el usuario puede verificar el resultado.
(2) Comando de información de inicialización: $PGRMI se usa para inicializar la placa y establecer la posición y el tiempo del satélite.
Esta declaración se usa generalmente cuando la distancia entre la posición del faldón y el la posición real actual supera los 800 kilómetros, para recordar la velocidad de posicionamiento
Formato: $PGRMI$GPALM,lt;1gt;,lt;2gt;,lt;3gt;,lt;4gt;,lt;5gt; ,lt;6gt;,* hhlt;CRgt;lt;LFgt;
lt;1gt;Formato Latitude ddmm.mmm (la inicialización debe escribirse en la placa)
lt;2gt ;Latitud dirección N o S
p>lt; 3gt; Longitud formato ddmm.mmm (la inicialización debe escribirse en la placa)
lt; /p>
lt; 5gt; fecha UTC actual, formato kkmm yy
lt; 6gt; hora UTC actual formato hhmm ss
(3) Comando de información de configuración de la placa p>
$Parámetros de la placa receptora de configuración GPALM, almacenados en la batería de respaldo.
$GPALM,lt;1gt;,lt;2gt;,lt;3gt;,lt;4gt;,lt;5gt;,lt;6gt;,lt;7gt;,lt;8gt;, lt;9gt;,lt;10gt;,lt;11gt;,lt;12gt;,*hhlt;CRgt;lt;LFgt;
lt;1gt;Modo de trabajo adecuado A - automático, 2 —— Modo 2D, modo 3-3D
lt; 2gt; Altura del nivel del mar -1500,00~1800,00 metros
lt 3gt; ;Coordenadas geodésicas del usuario
lt;5gt;Precisión de las coordenadas geodésicas del usuario
lt;6gt;Coordenadas geodésicas del usuario eje x
lt;7gt;Coordenadas geodésicas del usuario eje y
lt; 8gt; coordenadas geodésicas del usuario eje z
lt; modo diferencial A: automático (genera información diferencial automáticamente cuando se activa) D: modo diferencial p>
lt; 10gt; velocidad de baudios NMEA 1=200 2=2400 3=4800 4=9600
lt; 11gt; estado del filtro de velocidad 0=sin filtrado 1—automático 2~255 =Constante de tiempo de filtro
lt; 12gt; modo PPS: 1=Ninguno Z=1HZ
El cambio de velocidad en baudios y PPS entra en vigor después de la repotenciación o la inicialización del PIN6.
(4) Activación de declaraciones de salida
$PGRMO determina si se generan declaraciones.
$PGRMOlt;1gt;,lt;2gt;*hhlt;CRgt;lt;LFgt;
(1) Descripción de la declaración
(2) Modo de declaración 0: desactivar especial 1: activar especial 2: desactivar todo 3: activar todo (excepto GPALM)
Nota: (1) Si es 2 o 3, no se realizará ninguna prueba. Se permiten campos vacíos
(2) Si es 0 o 1, se debe definir el campo de descripción
(3) Si ninguno de los dos funciona (refiriéndose a lt en la declaración anterior ; 1gt ;lt; 2gt;), esta declaración no tiene efecto
(4) $PGRMO, GPALM, 1 transmitirá todos los calendarios anteriores
2. >
A través del pin TXD
(1) Velocidad de transmisión
Definible por el usuario
Tabla de longitud de transmisión Longitud de transmisión = número total de caracteres transmitidos/transmisión por segundo Número
Velocidad en baudios Número máximo de caracteres transmitidos por segundo
1200 120 GPGGA 72
2400 240 GPGSA 65
4800 480 GPGSV 210
9600 960 GPRMC 70
GPVTG 34
PGRME 36
PGRMT 47
PGRMV 26 p> p>
PGRMF 79
LCGLL 36
LCDTG 34
La velocidad en baudios predeterminada es 48000. El módulo GPS9540 es 96000;
(2) Transmisión de hora
Genera la hora y fecha UTC y obtiene la fecha y hora actuales calculando la hora a bordo.
(3) Efemérides globales de satélite (ALM)
$GPALM,lt;1gt;,lt;2gt;,lt;3gt;,lt;4gt;,lt; ,lt;6gt;,lt;7gt;,lt;8gt;,lt;9gt;,lt;10gt;,lt;11gt;,lt;12gt;,lt;13gt;,lt;14gt;,lt; , *hhlt; CRgt; lt; LFgt;
No puedo transmitirlo normalmente y debo inicializarlo mediante el comando $PGRMO, GPALM, 1.
*Al leer la declaración de salida es mejor usar "," para distinguir entre datos y no leer bit a bit para garantizar la compatibilidad de la aplicación
(4) Información de ubicación (GGA)
$GPGGA, lt; 1gt;,lt;2gt;,lt;3gt;,lt;4gt;,lt;5gt;,lt;6gt;,lt;7gt;,lt;8gt;,lt;9gt;,M,lt;11gt;, lt;12gt;*hhlt;CRgt;lt;LFgt;
lt;1gt; hora UTC, formato hh mm ss (para localizarlo)
lt;2gt; formato mmmm (no 0)
lt; 3gt; dirección de longitud N o S
lt; 4gt; formato ddd mm mmmm (no 0)
lt 5gt; dirección de latitud E o W
lt; 6gt; indicación de estado de GPS 0—no posicionado 1—sin información de posicionamiento diferencial 2—con información de posicionamiento diferencial
lt; Número de satélite (00~08)
lt; 8gt; Porcentaje de precisión
lt; 9gt; Altura del nivel del mar
lt *La tierra es relativa; a la esfera Altura del nivel del mar
lt; 11gt; Información diferencial de GPS
lt; Número de identificación de estación diferencial 0000-123
(5) DOP y actividades Satélite
$GPGSA,lt;1gt;,lt;2gt;,lt;3gt;,lt;3gt;,lt;3gt;,lt;3gt;,lt;3gt;,lt ;3gt; ,lt;3gt;,lt;3gt;,lt;3gt;,lt;3gt;,lt;3gt;,lt;3gt;,lt;4gt;,lt;5gt;,lt;6gt;,* hhlt;CRgt ;lt; LFgt;
lt;1gt; Modo M—manual, A—automático
lt;2gt; Estado actual 1—sin información de posicionamiento, 2—2D —3D
lt; 3gt; número PRN 01~32
lt; 4gt; precisión de posición
lt; >lt; 6gt; Precisión horizontal
(6) Estado actual del satélite GPS (GSV)
$GPGSV,lt;1gt;,lt;2gt;,lt;3gt;,lt ;4gt; ,lt;5gt;,lt;6gt;,lt;7gt;lt;4gt;,lt;5gt;,lt;6gt;,lt;7gt;*hhlt;CRgt;lt;LFgt;
lt; 1gt; El número total de declaraciones GSV
lt; 2gt; El número actual de declaraciones GSV
lt; 12
lt; 4gt; signo de estrella del satélite PRV
lt; 5gt; ángulo de elevación del satélite
lt; >lt; 7gt; relación de operación de información
Hay *** dos declaraciones y la primera cláusula contiene como máximo
4 estrellas para el local.
Cada satélite tiene 4 datos, a saber, lt; 4gt; - asterisco lt; - ángulo de elevación lt; - azimut lt; - relación señal-ruido (7) ( RMC)
$GPRMC,lt;1gt;,lt;2gt;,lt;3gt;,lt;4gt;,lt;5gt;,lt;6gt;,lt;7gt;,lt; 8gt ;,lt;9gt;,lt;10gt;,lt;11gt;,*hhlt;CRgt;lt;LFgt;
lt;1gt; Hora UTC formato hhmmss al posicionar
lt; 2gt; Estado A=Posicionamiento V=Navegación
lt; 3gt; Formato ddmm.mmm
lt; > lt; 5gt; Latitud dddmm.mmmm
lt; 6gt; Latitud dirección E o W
lt; Orientación (dirección bidimensional, equivalente a una brújula bidimensional)
lt; 9gt; formato ddmmyy de fecha actual
lt; p>lt; 11gt ;Dirección del sol
(8) Velocidad VTG relativa a la dirección del norte verdadero
$GPVTG,lt;1gt;,T,lt;2gt;,M ,lt;3gt;,N ,lt;4gt;K*hhlt;CRgt;lt;LFgt;
lt;1gt;dirección reallt;2gt;, dirección relativalt;3gt;tamaño de pasolt;4gt;velocidad
(9) Comando de información geográfica con LORAN ID
LCGLL reporta información de ubicación
$LCGLL,lt;1gt;,lt;2gt;,lt;3gt ;, lt; 4gt;, lt; 5gt; lt; CRgt; lt; LFgt;
1. Longitud, formato ddmm.mm
2. p>
3. Latitud, formato dddmm .mm
4. Dirección de latitud E o W
5 Hora UTC (punto de ubicación) formato hhmmss. >( 10) Información de seguimiento y velocidad con LORAN ID
LCVTG informa información de seguimiento y velocidad
$LCVTG,lt;1gt;,T,lt;2gt;,,lt;3gt ;, N, lt; 4gt;, K, lt; CRgt; lt; LFgt;
1. Dirección verdadera (relativa al norte verdadero)
2. >
3. Tamaño del paso
4. Tasa
(11) Mensaje de error de evaluación
$PGRME informa un mensaje de error de evaluación
$PGRME,lt;1gt;,M,lt;2gt;,M,lt;3gt;,M,*hh lt;CRgt;lt;LFgt;
Número de estrella GPS (0-. 1023)
2. PGS adicional (0-604799)
3. Fecha UTC (punto actual) formato hhmmss
4. formato hhmmss
5. Segundos de salto GPS
6. Longitud, formato ddmm.mmmm
7. Dirección de longitud, N o S
8. Latitud, formato dddmm.mmmm
9. Dirección de latitud, E o W
10. Modo M=manual A=automático
11. tipo 0=Sin posicionamiento 1=2D 2=3D
12. Velocidad
13.
/p>
(13) Información de estado
$PGRMT,lt;1gt;,lt;2gt;,lt;3gt;,lt;4gt;,lt;5gt;,lt;6gt; ,lt;7gt;,lt;8gt;,lt;9gt;*hhlt;CRgt;lt;LFgt;
Declaración de estado del tablero de informes
1. Versión
2. Autoprueba P-pasó F-falló
3. Prueba de recepción P-pasó F-falló
4. L perdido reservado
5. Estado de los datos del reloj R-guardado perdido L
6. Error de prueba F de paso P de detección del oscilador de cristal
7. Recopilación de datos C: no se recopila cuando la colección está vacía
8. Temperatura de la placa ℃
Datos de configuración de la placa R-retenido L-perdido
(14. ) Información de posicionamiento 3D
$PGRMV,lt;1gt;,lt;2gt;,lt;3gt;*hhlt;CRgt;lt;LFgt;
1. 999,9 a 9999,9
2. Velocidad verdadera hacia el norte: 999,9 a 9999,9
3. Velocidad vertical: 999,9 a 9999,9
$GPGSA,A,1,,, ,,,,,,,,,,,99.9,99.9,99.9*09
$PSNY,0,00,05,500,06,06,06,06*14
$GPVTG,000.0,T,,M,000.0,N,000.0,K*60
$GPGGA,062320,3537.8333,N,13944.6667,E,0,00,99.9,0100,M, , M,000,0000*7D
$GPGLL,3537.8333,N,13944.6667,E,062320,V*3B
$GPRMC,062320,V,3537.8333,N,13944.6667 , E,000.0,000.0,030222,,*0D
$GPZDA,062320,03,02,2022,,*4E
$GPGSV,1,1,00,, , ,,,,,,,,,,,,,,,*79
$GPVTG,000.0,T,,M,000.0,N,000.0,K*60
$ GPGGA, 062321, 3537.8333, N, 13944.6667, E, 0, 00, 99.9, 0100, M,, M, 000, 0000*7C
$GPGLL, 3537.8333, N, 13944.6667, E, 062321 , V*3A
$GPRMC, 062321, V, 3537.8333, N, 13944.6667, E, 000.0, 000.0, 030222,, *0C
$GPZDA, 062321, 03, 02 , 2022,,*4F
$GPGSA,A,1,,,,,,,,,,,,99.9,99.9,99.9*09
$PSNY,0 , 00, 05, 500, 06, 06, 06, 06*14
$GPVTG, 000.0, T,, M, 000.0, N, 000.0, K*60
$ GPGGA ,062322,3537.8333,N,13944.6667,E,0,00,99.9,0100,M,,M,000,0
000*7F
$GPGLL, 3537.8333, N, 13944.6667, E, 062322, V*39
$GPRMC, 062322, V, 3537.8333, N, 13944.6667, E, 000.0, 000.0, 030222,, *0F
$GPZDA, 062322, 03, 02, 2022,, *4C