lunedì 6 agosto 2018

thd7gps firmware arduino per Kenwood THD7 tradurre nmea 183.3 a 183.2 nmea

thd7gps


Il codice sorgente e progetto si trova su GitHub

https://github.com/in3aqk/thd7gps


Si tratta di un firmware Arduino in grado di convertire stringhe NMEA 183,3  in NMEA 183.2.

E' necessario  per permettere ad un vecchio ricetrasmettiore  Kenwood TH-D7 hamradio RTX con firmware non modificato di funzionare con un GPS NMEA.


Il TH-D7 utilizza due frasi NMEA per ricavare la posizione che vengon ocntinuamente inviate dall'unita GPS: $GPGGA e $ GPRMC.

La vecchi a versione del firmware non riconosce correttamente le virgole che separano i vari campi all'interno queste frasi, utilizzando invece un metodo di lunghezza fissa che potrebbe portare alla interpretazione sbagliata dei dati.

Per esempio:

NMEA GPS 183.3 manda:
$GPRMC, 192.944, V, 3733,8310, N, 01.504,5017, E, 20.0,270.8,081205,2.0, E, S23
$GPGGA, 192958,3733.8070, N, 01.504,4222, E, 8,09,2.0,335.4, M, 38,3 , M ,, 4A

NMEA GPS 183,2 manda:

$GPRMC, 192.944, V, 3733,831, N, 01.504,501, E, 20.0,270.8,081205,2.0, E, S23
$GPGGA, 192958,3733.807, N, 01.504,422, E, 8,09,2.0,335.4, M, 38,3 , M ,, 4A

Prestare attenzione il checksum su questi stringa di esempio è probabilmente sbagliata.

Le cifre decimali nei campi latitudine e longitudine sono 4 invece delle 3 attese dal TH-D7.

Il codice arduino toglie la cifra in più e re-invia la  stringa sistemata al TH-D7 in formato NMEA 183.2

L'hardware si basa su:

  • Arduino nano 
  • GPS con uscita NMEA
  • Max 23 come convertitore di livello




Hardware e il firmware è in grado di:

  • ricevere le stringhe NMEA con una porta seriale software
  • identificare le frasi $ GPGGA e $ GPRMC
  • rimuovere i decimanli  meno significativi
  • Ricalcolare il checksum
  • trasmettere la stringa NMEA per la radio con una porta seriale software

riferimento sul problema http://www.qsl.net/n6qab/n6qabgps1.htm

(C) 2017 Paolo Mattiolo In3aqk