Bachelor Thesis – Information and Computer Engineering

In January 2013 i finished my bachelor thesis: 

Drive-by-Wire System of the TU Graz Formula Student Electric Race Car 2011 at the Institute of technical Informatics of the TU Graz.

You can directly download the Bachelor Thesis and the Presentation here. If you were wondering why its in German, this is because the Presentation language was German. 

Bachelor Thesis
Bachelor Arbeit_V1.1.pdf
Version: 1.1
1.8 MiB
3274 Downloads
Details...
Bachelor Thesis Presentation
Presentation_Bachelor_Thesis.pdf
Version: 1.0
1.1 MiB
640 Downloads
Details...
Motivation

MotivationIn der Automobilbranche lässt sich ein klarer Trend erkennen. Alle großen Automobilhersteller sind am Weg serienreife Fahrzeuge zu entwickeln, deren Hauptantrieb ein rein elektrischer ist. Der Weg für die Automobilentwicklung in den nächsten Jahren scheint geebnet für den elektrischen Antrieb.

Doch hat der Verbrennungskraft Motor schon eine Jahrzehnte lange andauernde Entwicklung hinter sich. Für elektrische Antriebe ist es nicht nur notwendig, effiziente Elektromotoren und Stromrichter zu entwickeln, sondern auch die Batterietechnik und besonders die Sicherheit von Batterien wird vermutlich ausschlaggebend sein, ob sich rein elektrisch bewegte Fahrzeuge durchsetzen können.

Des weiteren stellt die benötigte Energie zum Laden ein Problem dar. Es muss ein flächendeckendes Netz geschaffen werden, das den Konsumenten und deren hohen Anforderungen genügt. Auch der Transport der notwendigen Energien wird die Energieversorger vor neue Probleme stellen. Aus heutiger Sicht wäre es nicht möglich sofort die ganze Bevölkerung auf Elektrofahrzeuge umzustellen denn das Versorgungsnetz wäre total überlastet.

Da ich die Entwicklung besonders von rein elektrisch betriebenen Fahrzeugen schon seit mehreren Jahren gespannt verfolge, wollte ich durch aktive Mitarbeit beim damaligen E-Power Racing Team 2011 einen tieferen Einblick in die Thematik und Probleme rund um den elektrisch angetriebene Fahrzeuge gewinnen.Aufgabenstellung

Folie4Im Rahmen dieser Zusammenarbeit sollte das 2010 entwickelte Drive-by-Wire System auf Schwachstellen hin analysiert und weiter verbessert werden.

Es sollte eine sogenannte X-by-Wire Box entwickelt werden, welche Lenkwinkel, Bremsdruck beider Bremskreise sowie die „Gas“Pedalstellung erfassen soll.

Es sollte besonderes Augenmerk auf redundante Messungen sowie Fehlertoleranz bei Sensorausfällen aller Art gelegt werden. Sensorausfälle können Kurzschluss Leerlauf, falsche oder keine Sensordaten und Übertragungsfehler bei digitalen Sensoren sein. Die Messdaten sollen in Echtzeit – 10ms Intervall – via CAN Bus zur zentralen Steuereinheit des Fahrzeuges , auch ECU gennant, übermittelt werden.

Desweiteren sollte durch die hohen Anforderungen des Formel Sports, Kosten, Größe und Gewicht sowie die Energieeffizienz des Drive-by-Wire Systems weiter optimiert werden.Grundlagen

Folie5

Man muss zwischen Abweichungen sogenannten faults, Fehlern sprich errors und Ausfällen also failures eines Systems unterscheiden. Aus Faults können Errors und daraus Failures, resultieren. Ein Fault ist immer die Grundursache für einen System Ausfall, jedoch kann ein solcher Ausfall durch geschickte Gegenmaßnahmen verhindert werden.

Es existieren verschiedenste Arten um Fehlertoleranz zu implementieren.

In Hardware wird beispielsweise zwischen statischer und dynamischer Hardwareredundanz unterschieden. So sind bei statischer Redundanz alle Komponenten gleichzeitig aktiv, während bei dynamischer Redundanz erst im Fehlerfall Komponenten gezielt wieder hinzugeschalten werden. Einen Sonderfall von Hardwareredundanz stellen hybride Systeme dar, bei welchen statische und dynamische Redundanz kombiniert werden.

Da Fahrzeugsysteme immer komplexer werden, und in modernen Fahrzeugen etliche Mega Byte an Software in mehreren Controllern laufen, wird Fehlertoleranz in Software auch in Zukunft immer wichtiger werden. Diese kann durch folgende Maßnahmen erreicht werden:

Design Diversität: Verschiedene Implementierungen eines Algorithmus laufen parallel zB.: N-version programming.
Daten Diversität: Die Eingabedaten werden leicht modifiziert mehrfach bearbeitet
Temporale Diversität: Ein Algorithmus wird mit denselben Daten mehrfach aufgerufen

Nicht nur Hardware- und Software Redundanz spielen eine wichtige Rolle, sondern auch das Übertragen oder Speichern der berechneten Daten mit Redundanz.

Daher sind bei Bussystemen, welche speziell für den Automotive Bereich entwickelt wurden, große Redundanzen in der Codierung des Übertragungsstandards vorhanden, um Fehlern bei der Übertragung vorzubeugen. Zusätzlich zu Redundanz in verwendeten Codes, kann zeitliche Redundanz ebenfalls verwendet werden, um Übertragungsfehler zu kompensieren. Es kann es sinnvoll sein, wenn es das Übertragungssystem zulässt, ein und denselben Wert, in bestimmten Zeitintervallen nochmals zu senden.

Auch die Mensch-Maschine Schnittstelle soll robust gegen Eingabefehler durch den Menschen sein. Daher wird zB in der Automobilindustrie schon seit längerer Zeit mit Bremsassistenten gearbeitet, um Fehler in der Benutzereingabe – zu spätes bremsen – korrigieren zu können.E-Power Racing Team

Folie6Die X-by-Wire Box soll so klein als möglich robust und spritzwasserfest sein. Die Sensoren sollen einzeln und eindeutig steckbar sein, sodass diese auf keinen Fall falsch angesteckt werden können.

Die Messung soll mit folgenden bereitgestellten Sensoren erfolgen:
2x analoge Bremsdrucksensoren welche ein ratiometrisches Ausgangssignal liefern
4x Gaspedalstellung, da der zu verwendende Sensor als redundante Ausführung erhältlich war und 2x Lenkwinkel, wecher jedoch aus Kostengründen derselbe Sensor wie bei der Pedalstellung sein soll.

Alle Sensoren müssen unbedingt durch separate Leitungen mit der X-by-Wire Box verbunden sein, um bei Kabelbruch oder mechanischen Belastungen nicht mehrere Sensoren gleichzeitig zu verlieren.

Die an die ECU gesendeten Datenpakete sollen eindeutig identifizierbar sein und in Echtzeit übermittelt werden. Zusätzlich sollte ein Safety Watchdog IC auf der Platine implementiert werden, welcher bei Abweichungen der Versorgungsspannungen oder bei WD timeouts, einen Reset verschiedener auf der Platine befindlichen Komponenten bewirken kann.Umsetzung Sensorik

Folie7Als Gaspedal sowie Lenkwinkelsensoren wurden wie schon erwähnt dieselben per SPI angeschlossenen Sensoren mit 14bit Auflösung verwendet. Diese sind in verschiedenen Montagevarianten erhältlich. Für die Montage am Pedal sowie an der Lenksäule wurde dieselbe Ausführung mit Flanschmontage gewählt. Dies hatte den weiteren Vorteil, dass nur ein Sensor Typ als Ersatz zu Verfügung stehen muss. Da die Sensoreinheit jedoch komplett in Kunstharz eingegossen ist, sollte zumindest Wasser keine Defekte hervorrufen. Da die Box in Nähe der Pedale montiert wird, soll versucht werden, die Kabellängen so kurz als möglich zu halten.

Die zwei Bremsdrucksensoren, werden hinter der Pedalerie direkt in die Bremszylinder eingeschraubt. Die Kabellänge der analogen Messleitung beträgt daher auch hier nur wenige Zentimeter.ahrzeugüberblick

Folie8In der Abbildung ist das Gesamtfahrzeugkonzept des MaxWheel 2011 zu sehen. Wie zu erkennen ist, werden 3 voneinander getrennte CAN Busse verwendet. Einer der CAN Busse wird nur für die Kommunikation BMS intern verwendet wird. Ein weiterer Bus ist für jene Einheiten, welche für die Bewegung des Fahrzeuges zuständig sind, der Powertrain CAN. Am Feature CAN sind alle verbleibenden Einheiten angeschlossen. Da nur die X-by-Wire Box sowie die beiden Stromrichter und die ECU an den Powertrain CAN Bus angeschlossen sind, kann durch die Erfahrungen des Vorjahres die Buslast relativ genau analysiert werden. Da diese bei 1Mbit nur ca. 10% betragen wird, kann dem Bus Echtzeitfähigkeit attestiert werden.-by-Wire Box

Folie9Die Anschlüsse der X-by-Wire Box hier nochmals im Überblick.

Folie10Als Spannungsversorgung der X-by-Wire Einheit wurde ein Spannungsregler aus dem Hause Infineon gewählt, da dieser nahezu alle gewünschten Anforderungen erfüllen konnte.
Er konnte eine relativ hoch belastbare Zwischenkreisspannung von 5,5V zu Verfügung stellen, 2x 3,3V für den Mikrocontroller und Peripherie sowie 1x 5V für den analogen Teil des verwendeten Mikrocontrollers.
Da 6 idente Winkelsensoren verwendet werden, stellt der Spannungsregler mit den 6 integrierten Trackern nahezu alle Spannungsversorgungnen bereit, welche benötigt werden. Es wurden nur 2 zusätzliche Tracker benötigt um die analogen Bremsdrucksensoren versorgen zu können. Der Mehrfachspannungsregler bietet außerdem die Möglichkeit über SPI mehrere Statusbits auszulesen, bzw. eine Window Watchdog Funktion einzuschalten.

Folie11Die Verwendung von separaten Trackern für jeden Sensor, impliziert leider noch nicht, dass bei einem Kurzschluss beliebiger Leitungen eines Sensors (Bsp: Sensor VCC – Sensor Clock) der Bus ohne Probleme weiter betrieben werden kann. Ohne Trennung mit geeigneten Treiberbausteinen, welche in diesem Fall auch eine Pegelumsetzung des 3,3V versorgten Mikrocontrollers auf die mit 5V versorgten Sensoren vornahm, wäre die nicht möglich.

Zusätzlich zu diesen Sicherheitsvorkehrungen wurde entschieden, alle Versorgungsspannung, sei es die Versorgung der Treiber oder auch die digital Versorgung des µC‘s zwischen 3V3 und 5V frei konfigurierbar auszuführen. Daher wurden auf der Platine zur Versorgung einzelner Schaltungsteile Jumper zwischen 3V3 und 5V vorgesehen. Aus diesem Grund mussten auch im Vorfeld verschiedene Bestückungsvarianten und Spannungskonfigurationen auf Funktionalität hin überprüft werden. Der Grund für das Vorsehen der verschiedenen Konfigurationen war, dass die Informationen über den SPI Teil der Winkelsensoren so schlecht ausgeführt waren, dass man leider nicht 100%ig darauf schließen konnte, dass sich der Sensor auch mit 3V3 Volt Logikpegeln ansprechen ließe. 

Folie12Bei der Umsetzung des Schaltplanes in das Layout sollten folgende Punkte berücksichtigt werden:

Alle Bauteile sollen mit Hand auflötbar sein
Montagebohrungen sollen vorgesehen werden, sodass eine Befestigung im Gehäuse möglich ist
Die Verbindungen zu den Gehäusesteckern sollen trennbar aber zugleich vibrationsfest sein um im fehlerfall die Platine rasch auswechseln zu können
Die Platine soll einen 2 Layer Standard Aufbau besitzen und mit den standard design rules des bevorzugten Herstellers – multicb – produziert werden können.
Alle ungenützten Flächen sollen als Supply-Layer oder GND Layer verwendet werden, oder zumindest mit Kupfer ausgefüllt werden um eine bessere Störunterdrückung zu erzielen
Die Bauteile sollen sich nur auf einer Platinenseite befinden
Stützkondensatoren sollten so nah als möglich an Treibern und am uC platziert werden
Der verwendete Quarz muss mit kurzen Leitungen am µC angeschlossen werden
Signalleitungen sollen auf möglichst auf kurzem Weg zu den Steckern führen
Im selben Zusammenhang sollen Leiterschleifen so gut es geht vermieden werden 

Folie13Jeder Sensor besitzt mehrere Wert-Teilbereiche. Die oberen und unteren Grenzwerte werden nach Einbau des Pedals einmalig ermittelt.
Da es sich um 4 voneinander getrennte Sensoren handelt, und jeweils 2 davon gegenläufig messen, muss Start- und Endwert für jeden Sensor einzeln ermittelt und gespeichert werden. Die oberen und unteren Limit Bereiche dienen zur Berücksichtigung von mechanischen Verformungen des Pedals, während des Bewerbs, sodass bei Über bzw. Unterschreitung der kalibrierten Start bzw. Endwerte der Sensor nicht aus dem validen Bereich fiel.
Weiters war es möglich einige Fahrerwünsche zu berücksichtigen. Über die Limits konnte „aktive“ Pedalweg festgelegt werden, damit nicht schon bei leichter Berührung des Pedals das Fahrzeug in Bewegung gesetzt wird, oder durch mechanische Verformung 100% Endwert nicht mehr erreicht werden können. Außerdem wäre es auch möglich gewesen, Fahrerspezifische progressive oder degressive Pedalkennlinien einzustellen.

Die Datenaufbereitung für Bremsdruck und Lenkwinkel passiert quasi analog zu dieser Methode. 

Folie14In dieser Version war jeder Sensor einzeln auf der Box steckbar. Wurden beispielsweise 3 der 4 Pedalsensoren abgesteckt, so musste dies erkannt werden, und eine Abschaltung des gesamten Powertrain Systems aufgrund verlorener Sensor-Redundanz am Gaspedal erfolgen.

Folie15Durch die Verwendung von Widerstandsnetzwerken, konnte der Platzbedarf enorm reduziert werden. So finden nun beispielsweise 4 Widerstände in einem Gehäuse der Bauform 1206 entspricht 2×0603 Platz! Also dort wo 2011 ein Widerstand benutzt wurde, finden nun fast 3 Platz. Die überdimensionierten Speicherdrosseln wurden eliminiert, und da auch die Bauhöhe klein zu halten war, wurden spezielle niedrig ESR Polymer Kapazitäten verwendet, anstatt der hohen Panasonic Elkos.

Durch die Verwendung von 4 Layern konnte das Spannungsversorgungskonzept weiter verbessert werden, sodass sich auf den Busleitungen bessere elektrische Eigenschaften nachweisen ließen.

Innovative Electronic Design – pushing the limits