‚Embedded Control Systems‘ – Ein Kurs der University of Michigan

Von Prof. Jim Freudenberg, University of Michigan und Prof. Jeff Cook, University of Michigan

1999 haben leitende Forschungsingenieure eines der „Big Three“ der Automobil-OEMs aus Detroit Professoren der University of Michigan darauf aufmerksam gemacht, dass es zu wenige Absolventen gibt, die gut auf den beruflichen Alltag in der Entwicklung eingebetteter Steuerungs- und Regelungssysteme vorbereitet sind. Junge Elektroingenieure kennen sich zwar gut in Signalverarbeitung und Regelungstechnik aus, haben aber in der Regel noch nie einen Regelungsalgorithmus auf einem Embedded Prozessor implementiert. Ebenso verstehen Informatik-Absolventen zwar etwas von Mikroprozessor-Hardware und -Programmierung, dafür aber wenig vom Regelungsentwurf, der Signalverarbeitung und den mit der Implementierung von Echtzeit-Embedded-Systemen verbundenen Problemen.

Um diese Diskrepanz zu beheben entschloss man sich, Elektroingenieure und Informatiker künftig während des Studiums an interdisziplinären Projekten arbeiten zu lassen, in denen sie lernen, wie man Algorithmen entwickelt und auf Hardware implementiert. Unter der Federführung von Ingenieuren aus Detroit und mit Unterstützung vieler Studenten, die im Laufe der Zeit ihren Abschluss gemacht haben (insbesondere Noah Cowan, heute Professor für Maschinenbau an der Johns Hopkins University) entwickelte die University of Michigan einen Wahlfachkurs, den Studenten im Hauptstudium sowie Studenten im ersten Jahr des Aufbaustudiums beider Studiengänge belegen können. Während des gesamten einsemestrigen Kurses befassen sich die Studenten mit industrietypischen Methoden und Werkzeugen sowie mit Model-Based Design für den Entwurf eingebetteter Regelungssysteme.

EECS 461: Embedded Control Systems

Das Herz der im Verlauf des Kurses zu absolvierenden Praktikumsaufgaben bilden der Freescale™ MPC5553-Mikroprozessor sowie ein von Professor Brent Gillespie aus der Fakultät für Maschinenbau entworfenes „haptisches Rad“.

Die Studenten entwickeln und implementieren mit dem Wissen, das sie in acht auf ein Semester verteilten Laborübungen erworben haben, am Ende einen Fahrsimulator, bei dem das haptische Rad ein mathematisches Fahrzeugmodell über eine virtuelle Straße steuert. Zum Abschluss werden die Fahrsimulatoren aller Teams über ein Controller Area Network (CAN) verbunden und eine gemeinsame Fahrt auf der selben Straße simuliert. Die Studenten implementieren dazu einen Tempomaten mit Abstandsregelung, der eine festgelegte Entfernung zwischen den virtuellen Fahrzeugen einhalten soll.

ecs_main1_w.jpg
ecs_main2_w.gif

Im Labor entwickeln die Studenten mit Simulink verschiedene Regelungen und Steuerungen für ein haptisches Rad. Ein haptisches Rad ist ein Kraft-Rückkopplungs-System, über das der Anwender durch den Tastsinn mit dem Computer interagieren kann. Im Prinzip ist es ein von einem Gleichstrommotor angetriebenes physikalisches Rad. Ein optischer Encoder liefert die für die Kraft-Rückkopplung erforderlichen Informationen zur Position des Rades. Zum Vergrößern auf das Bild klicken.

Verbindung von Vorlesungen und Laborübungen

EECS461 besteht aus drei Wochenstunden Vorlesung und drei Wochenstunden Praktikum. Jedes neue System- und Regelungskonzept wird zunächst in der Vorlesung vorgestellt und in der Regel durch eine mit Simulink® und Stateflow® zu lösende Hausaufgabe vertieft. Anschließend werden die gelernten Prinzipien im Labor angewandt, wozu jede Woche mit einer anderen Peripherieeinheit des MPC5553 gearbeitet wird. Die meiste Zeit verbringen die Studenten mit der Hardwareanbindung sowie der Algorithmen-Implementierung in handgeschriebenem C. Sie erhalten dadurch einen tieferen Einblick in die Architektur des Mikroprozessors, die Nutzung von Peripherie-Einheiten und die Feinheiten der Low-Level-Treiberprogrammierung.

Im ersten Praktikumsversuch arbeiten die Studenten mit einer von der University of Michigan entwickelte Schnittstelle zum Mikroprozessor. Diese besteht aus zwei Reihen von DIP-Schaltern zur Beschaltung der digitalen Eingangspins sowie einer LED-Zeile, die mit den digitalen Ausgangspins verbunden ist. Die Übung ist simpel: Mit den DIP-Schaltern werden zwei Binärwerte eingegeben. Diese werden addiert und das Ergebnis von den LEDs angezeigt. In den folgenden Versuchen programmieren die Studenten den Queued Analog-to-Digital Converter (QADC) und untersuchen daran Sampling- und Aliasing-Probleme. Mit dem optischen Encoder und der Quadratur-Dekodierungsfunktion der enhanced Time Processing Unit (eTPU) des MPC5553 messen sie die Winkelauslenkung des haptischen Rades. Ergänzend dazu modellieren sie als Hausaufgabe eigenständig die im Mikroprozessor eingesetzte Quadraturdekodierung mit Stateflow.

In der vierten Woche programmieren die Studenten den MPC5553 zur Erzeugung eines pulsweitenmodulierten (PWM) Signals, das die Geschwindigkeit und Richtung des haptischen Rades regelt und implementieren zwei einfache haptische virtuelle Welten: Eine virtuelle Feder, die eine zur Winkelauslenkung des haptischen Rades proportionale Rückstellkraft erzeugt, sowie eine virtuelle Wand, die ein freies Drehen des Rades bis zu einem bestimmten Winkel erlaubt, bei dessen Erreichen dann plötzlich eine hohe Rückstellkraft, die virtuelle Wand, auftritt.

Im nächsten Versuch lernen die Studenten die Interrupt-Verarbeitung kennen: Eine von einem Signalgenerator erzeugte Sinuswelle wird periodisch abgetastet und ihr Wert zur Modulation des Tastverhältnisses eines PWM-Signals eingesetzt. Aus dem PWM-Signal wird wiederum das Eingangssignal mithilfe eines Tiefpassfilters rekonstruiert, der die hochfrequenten Anteile unterdrückt und nur die sinusförmige Modulationsfrequenz durchlässt. Parallel dazu modellieren die Studenten den Gleichstrommotor in Simulink und untersuchen die PWM-Motorsteuerung in der Simulation.

Hier angekommen, haben die Studenten die Fähigkeit entwickelt, komplexe virtuelle Welten mit haptischer Rückkopplung und verschiedene Kombinationen aus Wänden, Dämpfern und Federn zu implementieren. Sie entwickeln nun einen virtuellen Drehschalter, der dem Anwender eine Rückmeldung in Form einer regelmäßigen Rastung gibt. Ein virtueller Federdämpfer übt eine zur Winkelgeschwindigkeit des Rades proportionale Rückstellkraft auf die zuvor entwickelte virtuelle Feder aus. Am Beispiel virtueller Feder/Masse- und Feder/Masse/Dämpfer-Systeme (Abb. 1) setzen sich die Studenten mit den bei der Euler-Integration entstehenden praktischen Problemen und numerischen Instabilitäten auseinander. Sie modellieren dynamische Systeme in Simulink und ermitteln dabei die Unterschiede zwischen diskreten und kontinuierlichen Implementierungen sowie den Einfluss verschiedener Integrationsmethoden. In der vorletzten Übung untersuchen sie die mit einer vernetzten Regelung verbundenen Probleme. Dazu werden die virtuellen Federn aller Teams als virtuelle Kette über ein CAN-Netzwerk verknüpft. Der Drehwinkel des Rades am einen Ende der Kette wird hierbei nach und nach auf jede der sechs angeschlossenen haptischen Baugruppen übertragen.

ecs_fig1_w.gif

Abb. 1: Virtuelles Feder/Masse-System. Zum Vergrößern auf das Bild klicken.

Im letzten Versuch vor dem Abschlussprojekt lernen die Studenten das Rapid Prototyping und die Codegenerierung mit Real-Time Workshop® und Real-Time Workshop Embedded Coder™ kennen. In der Vorlesung werden die Vorteile von Model-Based Design erörtert, darunter vor allem die Möglichkeit, Steuerungs- und Regelungssysteme vor der Hardwareimplementierung zu debuggen und zu verifizieren, sowie wie bedeutsam es ist, die Lücke zwischen Regelungs‑/Steuerungsentwurf und der nachfolgenden Implementierung zu schließen.

Die Studenten implementieren die schon früher erzeugte virtuelle Wand erneut, diesmal aber mittels Codegenerierung. Sie vergleichen die Effizienz und Struktur der handgeschriebenen Implementierung mit dem automatisch generierten Code. Anschließend erzeugen sie ein Simulink-Modell einer virtuellen Welt, die aus zwei mit dem haptischen Rad gekoppelten Feder/Trägheitsdämpfer-Systemen besteht (Abb. 2). Die beiden Systeme haben deutlich unterschiedliche Zeitkonstanten, so dass die Aufgabe nur durch einen Multitasking-Ansatz lösbar ist. Diese Übung demonstriert, wie viel Zeit bei der Entwicklung komplexer eingebetteter Regelungs- und Steuerungssysteme durch Rapid Prototyping eingespart werden kann.

ecs_fig2_w.gif

Abb. 2: Simulink-Modell zweier virtueller Systeme. Zum Vergrößern auf das Bild klicken.

Entwicklung eines Tempomaten mit Abstandsregelung

Im vierwöchigen Abschlussprojekt implementieren die Studententeams ihre Fahrsimulatoren komplett mittels Codegenerierung aus Simulink- und Stateflow-Modellen. Stateflow ist vor allem geeignet zur Beschreibung der drei erforderlichen Betriebsmodi: Im Modus „Manuell“ wird die Geschwindigkeit des virtuellen Fahrzeugs über ein Potentiometer auf dem Schnittstellen-Board eingestellt; der Modus „Konstante Geschwindigkeit“ entspricht einem typischen modernen Tempomaten; „Konstanter Abstand“ schließlich reguliert den Abstand zwischen dem virtuellen Fahrzeug und seinem Vordermann automatisch auf der Basis der über den CAN-Bus übermittelten Geschwindigkeits- und Positionsdaten der Simulatoren aller beteiligten Teams (Abb. 3).

ecs_fig3_w.gif

Abb. 3 : Simulation des Tempomaten mit Abstandsregelung. Zum Vergrößern auf das Bild klicken.

Deckung des Bedarfs an Ingenieuren für Embedded Regelungen/Steuerungen

Absolventen von EECS 461 sind im Anschluss zu führenden Automobilherstellern und -zulieferern, Halbleiterunternehmen, Haushaltsgeräteherstellern oder in die Luft- und Raumfahrtindustrie gegangen. Ein früherer Student, der jetzt bei einem Tier-1 Zulieferer für die Automobilindustrie arbeitet, hat seinen Dozenten kürzlich in einem Brief mitgeteilt: „Die in EECS 461 vermittelten Werkzeuge und Informationen waren für mich wertvoller als jeder andere Kurs an der Universität“. Eine andere Absolventin wurde von einem führenden Automobilzulieferer als Werksstudentin angenommen, nachdem sie im Vorstellungsgespräch ihre Erfahrung mit Simulink, Stateflow und dem Tempomaten mit Abstandsregelung geschildert hatte.

In einigen Fällen haben Arbeitgeber aus anderen Bundesstaaten ihr Personal sogar dafür bezahlt, vorübergehend nach Michigan zu ziehen, um diesen Kurs zu belegen. Es gab fest angestellte Ingenieure aus dem Umland, die sich für diesen Kurs angemeldet haben sowie weitere, die ausschließlich unter der Bedingung eingestellt wurden, ihn vor Antritt ihrer Stelle zu absolvieren.

Vor kurzem ist EECS 461 sogar “international” geworden. Im September 2008 hat Professor Lino Guzzella von der Eidgenössischen Technischen Hochschule (ETH) den Kurs nach Zürich geholt, wo er von Jeff Cook gehalten wurde. 2009 übernimmt ihn Jim Freudenberg.

Zwischen 80 und 100 Studenten belegen jedes Jahr EECS 461. Dass es nicht mehr sind, liegt ausschließlich an der Zahl der verfügbaren Praktikumsplätze. Zehn Jahre nach unseren ersten Gesprächen mit dem OEM zeigt das ungebrochene Interesse von Studierenden und Industrie, dass EECS 461 äußerst gewinnbringend für die Studenten ist und sie selbst wiederum attraktiv für Unternehmen macht.

Veröffentlicht 2009 - 91784v00

Receive the latest MATLAB and Simulink technical articles.

Related Resources

Latest Blogs