U-Blox GPS über Bascom Konfigurieren
Hallo,
ich lese mit einem ATMega8 und Bascom ein GPS-Modul von U-Blox aus. Funktioniert auch alles ganz gut. Ich betreibe das Modul mit 4Hz. Leider fällt das Modul aber immer wieder nach ein paar Wochen (wenn die SRam Batterie leer ist) in die Factory Default Werte zurück und die sind leider 1Hz. Damit das nicht passiert und ich das GPS-Modul nicht jedesmal nach längeren Stillstandszeiten mit der U-Blox Software neu konfigurieren muß würde ich es gerne über den ATMega zum beginn des Programms entsprechend konfigurieren........ich habe nur leider keine Ahnung wie das funktioniert. Die diversen USER-Manuals haben mich da auch nicht weiter gebracht. Hat von Euch jemand Erfahrung darin und weis wie das geht?
Gruß
Andreas
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
anbei die Anleitung zu den Antaris Protokoll Spezifikationen. Datei speichern und .txt in .chm ändern.
Vor einiger Zeit habe ich Versuche mit 2 U-Blox zu DGPS gemacht. Ich habe das Basic-Programm wieder ausgegraben. Danach kann man folgendermaßen mit U-Blox kommunizieren:
Beispiel: Abruf der Ephimeriden:
RXM-EPH:
Message Structure Header ID Length Payload Checksum
0xB5 0x62 0x02 0x31 0 0 Bytes CK_A CK_B
CK_A und CK_B sind Checksummen
Umgesetzt habe ich das mit folgenden BASIC Programm. Daran kann man auch erkennen wie die Checksumme berechnet wird:
Dim buffer(100) As Byte, CK_A As Byte, CK_B As Byte
buffer(1) = &HB5: buffer(2) = &H62: buffer(3) = &H2: buffer(4) = &H31: buffer(5) = &H0: buffer(6) = &H0
CK_A = 0: CK_B = 0
For i = 3 To 6
A = (CK_A + buffer(i)): CK_A = A Mod 256
B = (CK_B + CK_A): CK_B = B Mod 256
Next
B = "": For i = 1 To 6: B = B + Chr(buffer(i)): Next
MSComm1.Output = B + Chr(CK_A) + Chr(CK_B)
Die Einstellung der Übertragungsrate habe ich selbst nicht ausprobiert. Die Anweisung müßte aber folgende sein:
CFG-RATE:
Message Structure Header ID Length Payload Checksum
0xB5 0x62 0x06 0x08 6 6 Bytes CK_A CK_B
Payload Contents:
Byte Offset Number Format Scaling Name Unit Purpose / Comment
0 U2 - Meas Rate ms Measurement Rate
2 U2 - Nav Rate cycles Navigation Rate (in number of measurement cycles)
4 U2 - Time Ref - alignment to reference time:0 = UTC time, !0 = GPS time
U2 bedeutet 2 Bytes bzw Word.
Zu senden wäre also:
buffer(1) = &HB5: buffer(2) = &H62: buffer(3) = &H6: buffer(4) = &H8: buffer(5) = &H6: 'Länge
buffer(6) = &H0:buffer(7) = &HFA 'measurement rate 250 ms ?
buffer(8) = &H0:buffer(9) = &H4 'nav rate 4 ?
buffer(10) = &H0:buffer(11) = &H0 'UTC-Time
CK_A CK_B s.o.
Wie gesagt CFG-RATE habe ich nicht ausprobiert. Ich hoffe aber, dass Dir die Beispiele weiterhelfen.
Grüße
Christian
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Christian,
danke für Deine Tipps, aber das ist für mich alles zu hoch. Buffer, checksummen usw kenne ich alles noch nicht. Ich habe jetzt eiine Beschreibung für mein GPS-Modul. Da steht auf seite 7 genau das was ich brauche. Nur ist das glaube ich alles in C. Kannst Du mir sagen wie ich die entsprechenden Befehle in Bascom abschicken muß?
Gruß
Andreas