Forum: Mikrocontroller und Digitale Elektronik Datenlogger mit GPS ECM.


von D. C. (joker89)


Lesenswert?

Hallo ,
ich habe einige Anfänger Fragen, ich programmier gerade einen 
Datenlogger der unter anderem aus einem Steuergerät Parameter über die 
serielle Schnittstelle zieht, und dazu noch GPS Daten aus einem Modul 
auf einer SD Karte zusammen abspeichert....
Soweit so gut, die Kommunikation mit dem Steuergerät funktioniert über 
TX RX sehr gut, jetzt würde ich aber gerne den Arduino Uno benützen der 
hat aber leider nur eine serielle Schnittstelle wäre es möglich ohne 
große Probleme zwei Geräte an diesen Port anzuschließen ? Die meisten 
GPS Module funktionieren ja auch mit TX RX...

Als zweite Möglichkeit bliebe mir noch die I2C Variante für das GPS 
Modul, damit hätte ich sogar schon Erfahrungen gesammelt, aber lieber 
wäre mir das ganze natürlich über TX RX .

Gruß

von Jürgen S. (jurs)


Lesenswert?

D. Chung schrieb:
> jetzt würde ich aber gerne den Arduino Uno benützen der
> hat aber leider nur eine serielle Schnittstelle wäre es möglich ohne
> große Probleme zwei Geräte an diesen Port anzuschließen ?

Du kannst zusätzliche serielle Schnittstellen auf einem Atmega328 per 
Software emulieren.

Die Arduino-Software bringt zu dem Zweck bereits eine (völlig beknackte 
und kaum funktionsfähige) "SoftwareSerial" Library mit.

Besser funktioniert die AltSoftSerial-Library, die aber nur an 
bestimmten Pins eine zusätzliche serielle Schnittstelle einrichten kann:
https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html

Hänge Dein GPS-Modul einfach an per AltSoftSerial emulierte serielle 
Schnittstelle!

von D. C. (joker89)


Lesenswert?

Danke für die Schnelle Antwort, also das ECM an TX RX und das GPS Modul 
über SoftwareSeriall.
Eine Frage hätte ich noch. Bei I2C war ich es gewohnt das jedes Objekt 
eine eigene Adresse hat.
Bei meinem Steuergerät schicke ich eine Routine raus ->


Byte #  Meaning  Values (typical)  Remarks
1  SOH          0x01  Start of Header
2  Emittend  0x00  From PC
3  Recipient  0x42  To ECM
4  Data Size  0x02  2 Bytes
5  EOH          0xFF  End of Header
6  SOT          0x02  Start of Text
7  Data 1          0x43 = Get Runtime Data Code
8  Data 2 (EOT)  0x03  End of Text
9  Checksum  0xE8  XORed Checksum

Und schon antwortet mir das Steuergerät mit einem Paket von 106 Byte s

Bei dem GPS Modul finde ich so einen Routine aber nicht ? Wie bringe ich 
es dann dazu mir zu antworten ?

Bei allen GPS Modulen findet man aber nur ->

$GPGGA,064951.000,2307.1256,N,12016.4438,E,1,8,0.95,39.9,M,17.8,M,,*65

das ist wohl die Koordinaten usw Information (Quelle seite 19 
https://www.adafruit.com/datasheets/GlobalTop-FGPMMOPA6H-Datasheet-V0A.pdf 
)

Gruß

von spess53 (Gast)


Lesenswert?

Hi

>Bei dem GPS Modul finde ich so einen Routine aber nicht ? Wie bringe ich
>es dann dazu mir zu antworten ?

Das macht das GPS-Module von ganz allein.

MfG Spess

von Jürgen S. (jurs)


Lesenswert?

D. Chung schrieb:
> Bei dem GPS Modul finde ich so einen Routine aber nicht ? Wie bringe ich
> es dann dazu mir zu antworten ?

In der Grundkonfiguration senden GPS-Module von ganz alleine NMEA-Daten 
mit einer Standardbaudrate von oft 4800 bei älteren und 9600 Baud bei 
neueren Modulen. Meistens kommt einmal pro Sekunde einen 
vorkonfigurierter Standarddatensatz mit "den üblichen" NMEA Datensätzen.

Wenn Du was anderes haben möchtest, z.B. "Senden nur auf Anforderung" 
oder "Senden mit höherer Frequenz" oder "Senden mit abweichender 
Baudrate", mußt Du das GPS-Modul umkonfigurieren. Dafür gibt es keinen 
Standard. Was Du zum Umkonfigurieren an Dein Modul senden mußt, steht im 
Datenblatt des GPS-Chipherstellers. Manche Chiphersteller wie uBlox 
bieten auch PC-Programme zum Testen und Umkonfigurieren ihrer Module an.

von D. C. (joker89)


Lesenswert?

Irgendwie macht hier wirklich jeder sein eigenes Süppchen schrecklich 
...
Also muss ich nur alle Zeiten den Eingangspuffer abrufen .
Welcher ist eurer Meinung nach einer der einfach zum Programmieren und 
störunanfällig ist, der Preis spielt natürlich auch mit?

Danke schon mal für alles, ich baue das ganze demnächst mal auf und 
schreib dann am Programm weiter, ohne was zum testen macht das keinen 
Sinn.

Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.