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
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
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ß
Wie sieht das denn aus, wie greife ich denn im Programm die Daten vom Can-Bus ab?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.