ESTADO DEL GPS SIM908 "Ubicación desconocida" Error

0

Estoy usando un módulo SIM908 en una placa personalizada y tengo problemas para obtener la ubicación del GPS. Todo lo demás funciona en el módulo. Puedo enviar SMS, hacer llamadas y enviar y recibir datos de una página web. Pero el GPS no parece funcionar. Estoy usando la almohadilla de la antena directamente en el chip con una antena pasiva.

Cuando llamo a AT+GPSSTATUS? recibo Location Unknown sin importar lo que haga. Probé esto al aire libre con vista clara al cielo. Esperaba que al menos diera Location Not Fix , pero Location Unknown parece indicar que el GPS no está encendido, aunque llamo a AT+CGPSPWR=1 y AT+CGPSRST=0 y obtengo "OK" casi siempre. Algunas veces, ha devuelto ERROR GPS READY , que no puedo encontrar en ninguna parte de las hojas de datos, pero supongo que se debe a que no se ha reiniciado el SIM908 al probar el nuevo código.

He publicado mi código de prueba a continuación. ¿Me estoy perdiendo algo?

// DDDR initializations (not included)
// UART Initialization
uart0_init(UART_BAUD_SELECT(UART_BAUDRATE, F_CPU));
sei();
_delay_ms(500);
// GSM Power on
PORTD |= (1<<PORTD3);
_delay_ms(1100);
PORTD &= ~(1<<PORTD3);
_delay_ms(2300);
UWriteString("AT");
// Returns: "AT" and "OK"
// So far all good
_delay_ms(1000);
// GPS Power on
UWriteString("AT+CGPSPWR=1\r");
// Returns "OK"
_delay_ms(10000);
UWriteString("AT+CGPSRST=0\r");  // Have tried with =1 with no luck
// Returns "OK"
_delay_ms(10000);
// VERY LONG DELAY
_delay_ms(30000);
_delay_ms(30000);
_delay_ms(30000);
_delay_ms(30000);
_delay_ms(30000);
_delay_ms(30000);
// GPS STATUS
UWriteString("AT+CGPSSTATUS?\r");
// Returns: "Location Unknown"
_delay_ms(10000);
UWriteString("AT+CGPSINF=2\r");
// Returns: "2,160745,0.000000,N,0.000000,E,0,0,99.989998,187.000000,M,-187.000000,M,,0000
    
pregunta Johis

3 respuestas

1

Para concluir, veo tres opciones posibles aquí:

1.) Su chip está dañado

2.) El rastreo entre U.FL y el chip no está controlado por 50 ohmios

3.) Su chip se ha reiniciado al intentar conectarse a la red.

Tome el osciloscopio y cómo se ve la señal en los pines de la fuente de alimentación. Debe compensar el pico 2A con los capacitores de derivación.

    
respondido por el Bip
0

¿Está funcionando su motor GSM y no está en modo de suspensión? Verifique usando estos comandos

  

AT + CFUNC? y AT + CSCLK?

Respuesta de AT + CFUNC? debe ser + CFUNC: 1 , si su motor no es gsm no se está ejecutando, ejecútelo mediante AT+CFUNC=1

Respuesta de AT + CSCLK? debe ser + CSCLK: 0 , si no es así, el motor gsm está en modo de suspensión (reloj lento) para salir del comando de envío en espera AT+CSCLK=0

Realice un ciclo de alimentación de GPS, luego verifique la ubicación.

    
respondido por el anishkumar
0

Recientemente luché con el mismo problema, pero finalmente tuve esa solución al proceder de la siguiente manera

  1. restablecer a la configuración de fábrica por tipo AT & F o ATZ
  2. escriba AT + CMGF = 1
  3. escriba AT + CGPSPWR = 1
  4. escriba AT + CGPSRST = 0 demora 5 minutos después de escribir este cmd.
  5. finalmente escriba AT + CGPSINF = 0 y luego obtendrá sus ubicaciones.

nota: la demora de 5 minutos es solo cuando el módulo se está encendiendo.

    
respondido por el Hermanno

Lea otras preguntas en las etiquetas