Forum: Mikrocontroller und Digitale Elektronik Datenlogger (Can-Bus)


von Julien J. (drankaner)


Lesenswert?

Hallo Leute,

ich bin bei mir an der Hochschule im Motorsport-Team.
Das Ziel ist es einen Rennwagen zu bauen und auf mehreren Events der 
Formula Student anzutreten.

Die vergangenen Jahre haben wir immer einen Datenlogger einer Firma 
verwendet, mit dem wir allerdings nie richtig zufrieden waren!
Daher möchten wir diesen selber bauen und Programmieren.

Die erforderlichen Daten der Matrizen die auf den Can-Bus geschickt 
werden habe ich vorliegen, allerdings fehlt mir so ziemlich die 
Erfahrung mit dem Can-Bus um erfolgreich einen Logger zu programmieren.

Hat da jemand Erfahrung von euch und kann mir einen Ansatz geben? Und 
mir helfen?

Die Daten sollen auf einer SD-Karte gespeichert werden.

Gruß
Drankaner

von Marco (Gast)


Lesenswert?

Hi,

ich habe zufällig genau das letztes Jahr für mein FS-Team gemacht. 
Grundsätzlich musst du zunächst eine Hardware auswählen. Bzw. ihr werdet 
ja einige Mikrocontroller im Auto haben, die schon am CAN hängen. Daher 
werdet ihr vermutlich auch schon CAN irgendwie implementiert haben. Denn 
brauchst du eine LIB für das Dateisystem auf der SD Karte:
http://elm-chan.org/fsw/ff/00index_e.html
Jetzt holst du dir die Daten vom CAN und schreibst sie auf die SD Karte. 
Dabei würde ich mir allerdings überlegen wie oft du jedes Datum 
wegspeicherst. Wenn Daten z.b. mit 500Hz kommen macht es nicht unbedingt 
Sinn sie so oft zu speichern. Es sei denn für eure weitere Auswertung 
braucht ihr diese Auflösung. Denn musst du dir gedanken um das 
speicherformat machen. Wenn alle Daten gleich oft kommen, ist das 
ziemlich einfach. Wenn du bei einigen Daten eine höhere Auflösung hast, 
denn sieht das schon anders aus. Am besten du schreibst ab und zu mal 
einen Zeitstempel in die Logdatei versiehst die daten mit einer Kennung 
und machst den Rest bei der Auswertung.
Zur Auswertung: Die ist soeine Sache. Eigene Software kann u.U. sehr 
aufwendig werden. Wenn du schnell Ergebnisse sehen möchtest, empfielt 
sich Matlab ( bekommt man als FS-Team gesponsort ).


Von wo kommst du denn? Seid ihr ein FSE oder FSC Team?

Grüße

von Julien J. (drankaner)


Lesenswert?

Hi Marco,

ich danke dir!
Ja wir haben unseren Microcontroller und auch einen Aufbau für den 
Logger.

Bei der Auswertung wollten wir es wohl so machen das wir das ganze in 
einer Excel-Tabelle einlesen.

Wir sind aus Hannover und ein FSC-Team.

Danke und Gruß

von Julien J. (drankaner)


Lesenswert?

Wie sieht das denn aus, wie greife ich denn im Programm die Daten vom 
Can-Bus ab?

von Peter (Gast)


Lesenswert?

Am CAN-Bus hängen alle Teilnehmer an einem Bus.
Jeder empfängt erst einmal alles, filtert aber dann heraus,
was für ihn bestimmt ist.
Wenn man diesen Filter ausschaltet (oder gar nicht erst einschaltet),
dann empfängt man alle Nachrichten.

von Marco (Gast)


Lesenswert?

Genau, CAN ist Broadcast. Jeder empfängt (erstmal) alles. Und da du ja 
weißt in welcher nachricht was drinsteht kannst du dir alle 
Informationen aus den empfangenden Nachrichten holen. Welchen µC benutzt 
ihr denn? Beim Stm32 gibt es FIFO(s) aus denen du die Empfangenden 
Nachrichten ausließt. Den Empfang regelt die Hardware. Du kannst die 
Hardware auch so einstellen, dass ein Interrupt ausgelöst wird, sobald 
eine Nachricht empfangen wird oder, da es ja eh die einzige Aufgabe der 
Scvhaltung ist pollen, ob gerade was im FIFO steht. Bei den AVR ist es 
kein FIFO sondern Message Objekts. Ist aber ähnlich.

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.