Fahrzeugdaten übertragen mit dem Raspberry Pi

Yes, Pi CAN

,

Jedes Jahr messen sich Teams diverser Universitäten weltweit in der Formula Student. Das Team

README

Mess- und Steuergeräte in Fahrzeugen kommunizieren über den sogenannten CAN-Bus miteinander. Auf den kann man auch unter Linux zugreifen – und was liegt da näher, als einen Raspberry Pi dafür zu verwenden?

Bei der Formula Student handelt es sich um einen internationalen Konstruktionswettbewerb. Um daran teilzunehmen, muss ein Team aus Studenten ein Rennfahrzeug nach dem Formula-SAE-Reglement konstruieren und fertigen. Der Wettbewerb umfasst die statischen Disziplinen Engineering Design, Cost Analysis und Business Presentation sowie die dynamischen Disziplinen Skid Pad, Acceleration, Autocross, Endurance und Fuel Efficiency.

Die meisten Punkte lassen sich beim Engineering Design sammeln, bei dem eine Experten-Jury die Konstruktion des Fahrzeuges beurteilt. Dabei stellen die Punkterichter nicht nur Fragen zu den konstruierten Bauteilen, sondern diskutieren auch die Konstruktionsmethoden, wie etwa den Einsatz moderner, rechnergestützter Konstruktionshilfsmittel. Neben der Konstruktion bespricht und bewertet die Jury auch die Testphase der Einzelkomponenten sowie des Gesamtfahrzeugs.

Für die Cost Analysis gilt es, vorab eine Kostenaufstellung einzureichen, die jedes Einzelteil des Fahrzeugs sowie dessen Preis nachweist. Als Basis dient dabei eine standardisierte Tabelle, die jedes Team verwenden muss. Zum Preis eines Bauteils tragen neben dem Rohmaterial auch Maschinenstunden zur mechanischen Bearbeitung sowie eventuelle Nachbearbeitungszeiten (etwa für das Schleifen von Lagersitzen) bei. Stoßen die Juroren auf fehlende oder falsch gelistete Teile, hagelt es Strafpunkte.

Die Business Presentation stellt ein Geschäftsmodell für die Vermarktung des Fahrzeugs vor, wobei Amateur-Rennfahrer als Zielgruppe dienen. Die Jury nimmt bei der Beurteilung die Position von Produzenten und Investoren ein.

Die Beschleunigungsleistung der Fahrzeuge gilt es, bei der Disziplin Acceleration auf einer 75 Meter langen Strecke zu beweisen. Der Start erfolgt aus dem Stand, jedes Team darf vier Mal antreten. Dabei müssen mindestens zwei unterschiedliche Fahrer zum Einsatz kommen. Die beste gefahrene Zeit fließt dann in die Wertung ein.

Bei der Disziplin Skid Pad muss der Rennwagen zwei Kreise je zweimal durchfahren. Dabei decken die hohe konstante Kurvengeschwindigkeit und der Lastwechsel beim Wechsel in den zweiten Kreis jede Fahrwerksschwäche gnadenlos auf.

Zum Autocross geht es auf eine rund 800 Meter lange Strecke mit unterschiedlichem Start und Ziel. Dabei geht es nicht nur um Punkte für diese Disziplin, sondern auch um die Qualifikation für den abschließenden Endurance-Wettbewerb (Abbildung 1), bei dem es die meisten Punkte zu gewinnen gibt.

Abbildung 1: Der jr13 der Grazer Rennteams auf der Strecke. (Bild: Michael Trzesniowski / joanneum racing graz)

Die Endurance-Strecke ähnelt jener für den Autocross, weist aber andere Slalom-Passagen auf und ist als Rundkurs mit geschlossenem Start und Ziel ausgelegt. Bei dieser Prüfung starten die Fahrzeuge in der umgekehrten Reihenfolge des Autocross-Ergebnisses und müssen eine Distanz von 22 Kilometern absolvieren. Das Reglement schreibt nach halber Distanz einen Fahrerwechsel vor, bei welchem der Rennwagen für fünf Minuten abgestellt werden muss.

Der Kraftstoffverbrauch bei den Prüfungen fließt in die Fuel-Economy-Wertung ein, die daneben auch die Zeit erfasst, die das Fahrzeug für die Endurance-Disziplin benötigt hat. Damit geht es hier nicht nur um eine reine Verbrauchswertung, sondern vielmehr um die Effizienz des Rennfahrzeuges.

Einen Eindruck über die Wertigkeit der einzelnen Disziplinen gibt Abbildung 2 am Beispiel eines Formula-Student-Wettbewerbs am Hockenheimring (hier steht [stat] für statische Prüfungen, [dyn] für dynamische). Bei anderen Wettbewerben kann die Verteilung der Punkte leicht abweichen, die Schwerpunkte liegen aber in den statischen Disziplinen stets beim Engineering Design und in den dynamischen auf der Endurance.

Abbildung 2: Die Punkteverteilung der Formula Student Germany im Jahr 2013.

Anforderungen

Die wichtigsten Anforderungen an rennfahrzeugtaugliche Hardware fallen immer gleich aus: Die Komponenten müssen möglichst klein sein, dürfen nicht zu viel Gewicht auf die Waage bringen und müssen Stöße und Vibrationen klaglos wegstecken. All diese Eigenschaften sprechen gegen normale PCs – aber stark für den Einsatz eines Raspberry Pi.

Schon lange vor dem eigentlichen Wettbewerb muss ein Formula-Student-Rennfahrzeug schon auf der Teststrecke seine Fähigkeiten beweisen. Das geht nicht ohne eine Datenübertragung vom Fahrzeug an die Box, denn nur so kann der Renningenieur ständig alle Fahrzeugdaten im Auge behalten. Damit auch Experten im Entwicklungslabor die Werte laufend einsehen können, gilt es, diese zudem via Internet zu übertragen (Abbildung 3).

Abbildung 3: Die Gesamtarchitektur des Monitoring-Projekts im Überblick.

Dabei übernimmt der Raspberry Pi die Aufgabe, im Fahrzeug Messdaten über den CAN-Bus auszulesen und über einen Webserver bereitzustellen. Dazu liest er die Daten mithilfe eines Programms aus und speichert sie in eine Datenbank.

Ein modernes Formula-Student-Fahrzeug wimmelt förmlich vor Sensoren, die unzählige Daten erfassen. Als wichtigste Messwerte für die ersten Tests dienen Öldruck, Wasser- und Öltemperatur des Motors: Laufen sie aus dem Rahmen, droht ein Motorschaden. Sind diese Grundfunktionen des Fahrzeugs erfolgreich getestet, kann es an die Motor- und Fahrwerksabstimmung gehen. Hier interessieren dann Sensorwerte wie Bremsdruck, Reifentemperatur, Beschleunigung und viele andere.

Achtung!

Der in diesem Artikel beschriebene Rennwagen wurde von Fahrzeugtechnik-Studierenden selbst entwickelt – die Betreiber wissen also genauestens, welche Geräte verbaut und am CAN-Bus angeschlossen wurden.

Einen solchen Bus gibt es höchstwahrscheinlich auch in Ihrem Pkw – da liegt die Idee nahe, die hier demonstrierten Techniken auch einmal am eigenen fahrbaren Untersatz auszuprobieren. Das wäre allerdings eine extrem schlechte Idee, mit möglicherweise katastrophalen Folgen.

Der CAN-Bus bietet nämlich keinerlei Authentifizierungsmechanismen, sodass Sie mit CAN-Nachrichten problemlos beispielsweise die Kühlwasserpumpe abschalten könnten. Schon eine einzige versehentlich gesendete Nachricht könnte also zu Motorschäden führen oder im schlimmsten Fall zu einem Unfall.

Lassen Sie also besser die Finger von der Fahrzeugelektronik – auf jeden Fall bei Pkws, mit denen Sie am öffentlichen Straßenverkehr teilnehmen wollen.

CAN-Bus

Über den CAN-Bus des Rennfahrzeugs laufen alle relevanten Daten zwischen den Steuergeräten. Für die Telemetrie fängt ein CAN-Adapter der Firma Peak System alle Nachrichten ab. Listing 1 verdeutlicht, wie die entsprechenden Daten aussehen.

Der CAN-Bus kennt vier verschiedene Frame-Typen. Ein reiner Daten-Frame enthält bis zu 8 Daten-Bytes. Ein Remote-Frame übermittelt eine Datenanforderung eines anderen Bus-Teilnehmers, ein Error-Frame signalisiert Fehlerzustände. Mit einem Overload-Frame schließlich lässt sich eine Zwangspause zwischen Daten- und Remote-Frames einrichten.

Beim Formula-Student-Renner greift der CAN-Adapter lediglich passiv Datenpakete am CAN-Bus ab, es interessieren also nur Daten-Frames wie der in Listing 1 gezeigte.

Listing 1

 

$ ./candump can0
can0 0x713 [8] 2C EB C2 4A 65 0D EB 00
can0 0x5C4 [8] AE 65 0D 3B C2 4A 65 0D
can0 0x5C2 [8] 5A EB C2 4A EB C2 4A 30

Die unterschiedlichen Sensorwerte landen in einem oder mehreren Bytes der CAN-Nachricht, je nach Auflösung und Messbereich des Sensors. Die Bedeutung der einzelnen Bytes in der Nachricht mit der ID 0x713 zeigt die Tabelle "CAN-Daten der ID 0x713".

CAN-Daten der ID 0x713

Byte

Bedeutung

0

Öldruck

4

Kraftstofftemperatur

5

Öltemperatur

7

Wassertemperatur

Bei der Zuteilung der Messsignale an die Nachrichten gilt es, Signale nach Prioritäten zusammenzufassen, um nicht mehr unterschiedliche CAN-Nachrichten zu generieren, als unbedingt notwendig. Das hält die Busauslastung so gering wie möglich.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 8 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

03/2016
RasPi 3 Modell B

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Neuigkeiten

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial des Raspberry Pi. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • In Kontakt

    Fehlen beim Messen ausreichend viele Ports, um die Daten zum RasPi zu führen, dann hilft ein kleiner Baustein weiter.

  • Präziser Gradmesser

    Der ESP8266 geht auf Sendung: Von einem Sensor erhält er Temperaturdaten und sendet diese via REST an einen RasPi, der sie in einer Datenbank speichert.

  • Drei Pi

    Viele Raspberry-Fans wünschten sich für die nächste Generation des Mini-Computers USB 3.0, SATA-Schnittstelle und Gigabit-Ethernet. Dies alles bietet der Raspberry Pi 3 nicht, dafür aber WLAN, Bluetooth und eine schnelle 64-Bit-CPU.

  • Multifunktional

    To Pi or not to Pi – das ist hier die Frage: Für wen lohnt es sich, jetzt schon zum brandneuen Raspberry Pi 3 zu greifen?

  • Selbstzünder

    Definierte Schaltzeiten für Steckdosen helfen Strom zu sparen. Der RasPi übernimmt dabei das Kommando.

  • Laufende Bilder

    Photofilmstrip haucht mithilfe des Ken-Burns-Effekts Ihren Fotos neues Leben ein: Durch gezieltes Schwenken und Zoomen in den Bildern vermittelt es echtes Video-Feeling.

  • Datenkontrolleur

    Tracker und penetrante Werbung im Internet nerven viele Anwender. Mit der Upribox halten Sie diese lästigen Plagegeister von Ihren Endgeräten fern.

  • Hallo Welt

    Bauen Sie RISC OS aus zu einer leistungsfähigen Kontrollzentrale für die Kommunikation via UMTS-Modem.

  • Klötzchenbau

    FreeCAD macht 3D-Konstruktion auf dem RasPi auch für Einsteiger problemlos möglich. Den Ausdruck der Objekte erledigt dann ein Dienstleister.