Projekt 38: Regelung eines instabilen Systems: Unterschied zwischen den Versionen
(62 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 13: | Zeile 13: | ||
== Erwartungen an die Projektlösung == | == Erwartungen an die Projektlösung == | ||
*Einsatz einer von Matlab/Simulink unterstützten Hardware (z.B. Lego EV3, Raspberry Pi, Galileo, oder Arduino) | *Einsatz einer von Matlab / Simulink unterstützten Hardware (z.B. Lego EV3, Raspberry Pi, Galileo, oder Arduino) | ||
*Darstellung der Theorie | *Darstellung der Theorie | ||
*Systemidentifikation (Übertragungsfunktion der Regelstrecke bestimmen) | *Systemidentifikation (Übertragungsfunktion der Regelstrecke bestimmen) | ||
Zeile 22: | Zeile 22: | ||
*Test und wiss. Dokumentation | *Test und wiss. Dokumentation | ||
*Live Vorführung während der Abschlusspräsentation | *Live Vorführung während der Abschlusspräsentation | ||
== Schwierigkeitsgrad == | == Schwierigkeitsgrad == | ||
Zeile 28: | Zeile 27: | ||
== Einleitung == | == Einleitung == | ||
Im Rahmen des GET-Fachpraktikums an der HSHL wurde die Aufgabe gestellt, ein instabiles System zu konstruieren und dieses anschließend durch eine Regelung zu stabilisieren. Dabei ist die Wahl auf die Konstruktion eines Motorrads als instabiles Systems gefallen. Dieses soll mit einem LEGO MINDSTORMS EV3 Baukasten konstruiert und mit Matlab / Simulink geregelt werden. | |||
== Verwendete Bauteile == | == Verwendete Bauteile == | ||
Zeile 45: | Zeile 45: | ||
== Projekt == | == Projekt == | ||
=== | === Planung des Projekts === | ||
Um das Projekt erfolgreich durchführen zu können, wurde dieses im ersten Schritt geplant. Dazu wurde das Projekt grob in vier Phasen unterteilt. Die Anfangsphase beinhaltet dabei das Erstellen eines Zeitplans des Projekts, die Installation und Einarbeitung in die benötigten Programme, sowie das Einholen von Informationen. Nach Abschluss der Anfangsphase folgt die Konstruktionsphase, in der das Motorrad als instabiles System aus dem LEGO MINDSTORMS EV3 Baukasten konstruiert werden soll. Dabei gilt es die Konstruktion durch das Erstellen einer Bauanleitung und verschiedenen CAD Modellen zu dokumentieren. Abschließend soll die Konstruktionsphase durch Funktionstests und Problemanalysen bewertet werden und bei zufriedenstellenden Ergebnissen in die Programmierungsphase übergegangen werden. Der erste Schritt der Programmierungsphase soll dabei der Entwurf eines Reglerkonzepts sein, dass anschließend in Simulink implementiert werden soll. Anschließend soll die Regelung getestet und durch Anpassungen optimiert werden. Die Auswertung und Problemanalyse schließt die Programmierungsphase ab und es kann mit der Endphase des Projekts begonnen werden. Diese dient dazu, die Dokumentation des Projekts fertigzustellen und die Präsentation auf der Messe vorzubereiten. | |||
Der nachfolgende Projektplan gibt eine Übersicht der in den vier Phasen zu erledigenden Aufgabenpakete des Projekts so wie deren geschätzte Dauer. | |||
[[Datei:Projektplaner Regelung eines instabilen Systems.png|zentriert|800px|left|Michael Bock]] | |||
=== Konstruktionsphase === | |||
[[Bild:Erstes Modell.PNG|mini|Erstes Konzept des Motorrads]] | |||
Zu Beginn sind die Anforderungen an die Konstruktion ermittelt worden, um diese bestmöglich auf die zu erfüllende Aufgabe abzustimmen. | |||
Dabei war die erste Überlegung, das Motorrad so zu konstruieren, dass es symmetrisch zur Neigungsachse ist. Dadurch ist gewährleistet, dass das Motorrad keine Schlagseite aufweist. Darüber hinaus sollte der Schwerpunkt des Systems möglichst niedrig liegen, um dadurch einen möglichst großen Winkel der Neigungsachse zu ermöglichen, ohne dass das System umkippt. Desweiteren musste berücksichtigt werden, dass das Gyroskop auf der Neigungsachse verbaut wird, um so die richtigen Messdaten zu empfangen. Die Lenkung bedurfte ebenfalls besondere Aufmerksamkeit, da diese schnell und präzise reagieren muss. | |||
So kam es dazu, dass die Lenkung während des Projektes mehrmals umgebaut und verbessert wurde. Ebenfalls vergrößerte sich der Radabstand von Modell zu Modell, um den Schwerpunkt des Systems möglichst bodennah und mittig zwischen die beiden Reifen zu bekommen. Durch die Konstruktion mit dem EV3-Block mittig zwischen den Reifen des Motorrads und dem Gyroskop Sensor mittig unter dem EV3-Block, konnte ein stabiles System mit einer gleichmäßigen Verteilung der Masse auf beide Reifen, symmetrisch zur Neigungsachse erzeugt werden. | |||
=== Programmierphase === | |||
[[Datei:Simulink Motorrad.jpeg|mini|Oberfläche der Regelung in Matlab/Simulink ]] | |||
Zu Beginn der Programmierphase wurden Informationen für die Realisierung der Regelung eingeholt. Auf dessen Grundlage wurde die Verwendung eines PID Reglers ausgewählt, da dieser die Vorteile aller enthaltenen Regler kombiniert. Im Anschluss wurde mit der Umsetzung der Regelung durch Matlab / Simulink begonnen. Als Eingangsgrößen wurden die aktuelle Gierrate und der aktuelle Lenkwinkel über Sensoren erfasst und daraus resultierend eine Änderung des Lenkwinkels als Stellgröße ausgegeben. Die Geschwindigkeit und die Dauer der Ansteuerung der beiden Antriebsmotoren können über die Wahl von Konstanten festgelegt werden. Durch die Aufnahme und Auswertung von Messdaten konnte das System nun hinsichtlich der Gewichtung der P I und D Anteile der Regelung angepasst werden. Über eine Reihe von Tests wurde die optimale Geschwindigkeit der Antriebsmotoren ermittelt. Bis zu einem gewissen Grad hat sich die Stabilität des Systems durch Verwenden einer höheren Geschwindigkeit verbessert. Bei zu hoher Geschwindigkeit war das System nicht mehr fähig die Daten in Echtzeit in die Regelung mit einfließen zu lassen und es haben sich wieder Verschlechterungen im Regelungsergebnis gezeigt. | |||
=== Fazit === | |||
Die Durchführung des Projekts lief in der Anfangsphase und der Konstruktionsphase sehr gut, sodass schnell Ergebnisse erzielt werden konnten. Auch die geplanten Zeiträume für die Arbeitspakete haben dort sehr gut gepasst. In der Programmierphase kam es leider zu mehr Schwierigkeiten als anfangs erwartet und somit konnten die Anpassungen und das Feintuning nicht vollständig abgeschlossen werden. Trotzdem fuhr das Motorrad sehr gut und hat sich mit Hilfe des entwickelten Programms selbstständig geregelt. | |||
== Ergebnis == | |||
[[Datei:Motorrad als instabiles System.PNG|mini|fertiges Motorrad]] | |||
- Ein instabiles System wurde entworfen | |||
- Das entwickelte Konzept wurde gebaut | |||
- Eine Aufbauanleitung wurde verfasst | |||
- Eine Regelung des Systems über Matlab / Simulink wurde verwirklicht | |||
- Ein Youtube Video wurde angefertigt | |||
- Das Projekt wurde auf der HSHL-Messe vorgestellt und vorgeführt | |||
== Zusammenfassung == | |||
Das Projekt im GET-Fachpraktikum kann als sehr gewinnbringend eingestuft werden. So wurde auf viele Bereiche des Mechatronik Studiums eingegangen. Angefangen bei der Konstuktionstechnik, welche bei dem Aufbau des Motorrades hilfreich war, über die Schwerpunktsberechnung aus der technischen Mechanik bis hin zur Regelungstechnik, um das instabile System zu regeln. So wurden die Kompetenzen in den Bereichen aufgefrischt und haben praxisnah Anwendung gefunden. | |||
== Ausblick == | |||
In Zukunft kann das Projekt noch erweitert werden. Ein Ultraschallsensor kann dafür sorgen, dass das Motorrad nicht gegen Hindernisse oder Objekte auf der Fahrbahn fährt. Dazu kann es auch dahingehend erweitert werden, dass es diesen ausweicht oder im Notfall anhält. Auch eine Regelung zum geradeaus fahren ist denkbar. | |||
Die Optimierung der Lenkung ist ein weiteres Thema, da diese im aktuellen Aufbau noch sehr viel Spiel hat. | |||
== Literatur == | == Literatur == | ||
== Weblinks == | == Weblinks == | ||
*[http://bicycle.tudelft.nl/schwab/Bicycle/ Bicycle Dynamics] | |||
*[https://de.wikipedia.org/wiki/Fahrphysik_(Fahrrad) Fahrphysik (Fahrrad)Wikipedia] | |||
*[https://de.mathworks.com/matlabcentral/fileexchange/27694-nxtbike-gs--self-balancing-bike-robot-by-steer-into-fall- NXTbike-GS] | *[https://de.mathworks.com/matlabcentral/fileexchange/27694-nxtbike-gs--self-balancing-bike-robot-by-steer-into-fall- NXTbike-GS] | ||
Zeile 106: | Zeile 118: | ||
== Projektunterlagen == | == Projektunterlagen == | ||
Die gesamten Projektunterlagen sind unter dem Ordner 38_Regelung_instabiles_System in SVN zu finden. Bei Bedarf können die Dokumente auch bei den Autoren dieses Artikels angefragt werden. | |||
== YouTube Video == | == YouTube Video == |
Aktuelle Version vom 23. Januar 2018, 00:50 Uhr
Autoren: Madlen Bartnick, Nick Kleinewalter & Michael Bock
Betreuer: Prof. Dr. Ing.-Schneider & Prof. Dr.-Ing. Göbel
Aufgabe
Regeln Sie ein instabiles System, wie z.B. ein Motorrad oder einen Ballbalancierer
Erwartungen an die Projektlösung
- Einsatz einer von Matlab / Simulink unterstützten Hardware (z.B. Lego EV3, Raspberry Pi, Galileo, oder Arduino)
- Darstellung der Theorie
- Systemidentifikation (Übertragungsfunktion der Regelstrecke bestimmen)
- Realisierung des Aufbaus
- Vergleichen und bewerten Sie verschiedene Regleransätze (P, PI, PID und andere).
- Modellbasierte Programmierung der Hardware mit Simulink
- Machen Sie ein tolles Videos, welches die Funktion visualisiert.
- Test und wiss. Dokumentation
- Live Vorführung während der Abschlusspräsentation
Schwierigkeitsgrad
Anspruchsvoll (****)
Einleitung
Im Rahmen des GET-Fachpraktikums an der HSHL wurde die Aufgabe gestellt, ein instabiles System zu konstruieren und dieses anschließend durch eine Regelung zu stabilisieren. Dabei ist die Wahl auf die Konstruktion eines Motorrads als instabiles Systems gefallen. Dieses soll mit einem LEGO MINDSTORMS EV3 Baukasten konstruiert und mit Matlab / Simulink geregelt werden.
Verwendete Bauteile
- LEGO Mindstorm Education V3 Base Kit (mit Software)
- LEGO MINDSTORMS Education EV3 Ergänzungsset
- LEGO MINDSTORMS Education EV3 Gyrosensor
- 2 LEGO Technic Räder 81,6x15 Motorrad
- EDIMAX EW-7811UN Wireless USB Adapter, 150 Mbit/s, IEEE802.11b/g/n
Verwendete Software
- Lego Digital Designer
- LeoCAD
- Autodesk 3D Studio MAX 2018
- Mindstorms EV3 Education
- Matlab / Simulink
Projekt
Planung des Projekts
Um das Projekt erfolgreich durchführen zu können, wurde dieses im ersten Schritt geplant. Dazu wurde das Projekt grob in vier Phasen unterteilt. Die Anfangsphase beinhaltet dabei das Erstellen eines Zeitplans des Projekts, die Installation und Einarbeitung in die benötigten Programme, sowie das Einholen von Informationen. Nach Abschluss der Anfangsphase folgt die Konstruktionsphase, in der das Motorrad als instabiles System aus dem LEGO MINDSTORMS EV3 Baukasten konstruiert werden soll. Dabei gilt es die Konstruktion durch das Erstellen einer Bauanleitung und verschiedenen CAD Modellen zu dokumentieren. Abschließend soll die Konstruktionsphase durch Funktionstests und Problemanalysen bewertet werden und bei zufriedenstellenden Ergebnissen in die Programmierungsphase übergegangen werden. Der erste Schritt der Programmierungsphase soll dabei der Entwurf eines Reglerkonzepts sein, dass anschließend in Simulink implementiert werden soll. Anschließend soll die Regelung getestet und durch Anpassungen optimiert werden. Die Auswertung und Problemanalyse schließt die Programmierungsphase ab und es kann mit der Endphase des Projekts begonnen werden. Diese dient dazu, die Dokumentation des Projekts fertigzustellen und die Präsentation auf der Messe vorzubereiten.
Der nachfolgende Projektplan gibt eine Übersicht der in den vier Phasen zu erledigenden Aufgabenpakete des Projekts so wie deren geschätzte Dauer.
Konstruktionsphase
Zu Beginn sind die Anforderungen an die Konstruktion ermittelt worden, um diese bestmöglich auf die zu erfüllende Aufgabe abzustimmen. Dabei war die erste Überlegung, das Motorrad so zu konstruieren, dass es symmetrisch zur Neigungsachse ist. Dadurch ist gewährleistet, dass das Motorrad keine Schlagseite aufweist. Darüber hinaus sollte der Schwerpunkt des Systems möglichst niedrig liegen, um dadurch einen möglichst großen Winkel der Neigungsachse zu ermöglichen, ohne dass das System umkippt. Desweiteren musste berücksichtigt werden, dass das Gyroskop auf der Neigungsachse verbaut wird, um so die richtigen Messdaten zu empfangen. Die Lenkung bedurfte ebenfalls besondere Aufmerksamkeit, da diese schnell und präzise reagieren muss.
So kam es dazu, dass die Lenkung während des Projektes mehrmals umgebaut und verbessert wurde. Ebenfalls vergrößerte sich der Radabstand von Modell zu Modell, um den Schwerpunkt des Systems möglichst bodennah und mittig zwischen die beiden Reifen zu bekommen. Durch die Konstruktion mit dem EV3-Block mittig zwischen den Reifen des Motorrads und dem Gyroskop Sensor mittig unter dem EV3-Block, konnte ein stabiles System mit einer gleichmäßigen Verteilung der Masse auf beide Reifen, symmetrisch zur Neigungsachse erzeugt werden.
Programmierphase
Zu Beginn der Programmierphase wurden Informationen für die Realisierung der Regelung eingeholt. Auf dessen Grundlage wurde die Verwendung eines PID Reglers ausgewählt, da dieser die Vorteile aller enthaltenen Regler kombiniert. Im Anschluss wurde mit der Umsetzung der Regelung durch Matlab / Simulink begonnen. Als Eingangsgrößen wurden die aktuelle Gierrate und der aktuelle Lenkwinkel über Sensoren erfasst und daraus resultierend eine Änderung des Lenkwinkels als Stellgröße ausgegeben. Die Geschwindigkeit und die Dauer der Ansteuerung der beiden Antriebsmotoren können über die Wahl von Konstanten festgelegt werden. Durch die Aufnahme und Auswertung von Messdaten konnte das System nun hinsichtlich der Gewichtung der P I und D Anteile der Regelung angepasst werden. Über eine Reihe von Tests wurde die optimale Geschwindigkeit der Antriebsmotoren ermittelt. Bis zu einem gewissen Grad hat sich die Stabilität des Systems durch Verwenden einer höheren Geschwindigkeit verbessert. Bei zu hoher Geschwindigkeit war das System nicht mehr fähig die Daten in Echtzeit in die Regelung mit einfließen zu lassen und es haben sich wieder Verschlechterungen im Regelungsergebnis gezeigt.
Fazit
Die Durchführung des Projekts lief in der Anfangsphase und der Konstruktionsphase sehr gut, sodass schnell Ergebnisse erzielt werden konnten. Auch die geplanten Zeiträume für die Arbeitspakete haben dort sehr gut gepasst. In der Programmierphase kam es leider zu mehr Schwierigkeiten als anfangs erwartet und somit konnten die Anpassungen und das Feintuning nicht vollständig abgeschlossen werden. Trotzdem fuhr das Motorrad sehr gut und hat sich mit Hilfe des entwickelten Programms selbstständig geregelt.
Ergebnis
- Ein instabiles System wurde entworfen
- Das entwickelte Konzept wurde gebaut
- Eine Aufbauanleitung wurde verfasst
- Eine Regelung des Systems über Matlab / Simulink wurde verwirklicht
- Ein Youtube Video wurde angefertigt
- Das Projekt wurde auf der HSHL-Messe vorgestellt und vorgeführt
Zusammenfassung
Das Projekt im GET-Fachpraktikum kann als sehr gewinnbringend eingestuft werden. So wurde auf viele Bereiche des Mechatronik Studiums eingegangen. Angefangen bei der Konstuktionstechnik, welche bei dem Aufbau des Motorrades hilfreich war, über die Schwerpunktsberechnung aus der technischen Mechanik bis hin zur Regelungstechnik, um das instabile System zu regeln. So wurden die Kompetenzen in den Bereichen aufgefrischt und haben praxisnah Anwendung gefunden.
Ausblick
In Zukunft kann das Projekt noch erweitert werden. Ein Ultraschallsensor kann dafür sorgen, dass das Motorrad nicht gegen Hindernisse oder Objekte auf der Fahrbahn fährt. Dazu kann es auch dahingehend erweitert werden, dass es diesen ausweicht oder im Notfall anhält. Auch eine Regelung zum geradeaus fahren ist denkbar.
Die Optimierung der Lenkung ist ein weiteres Thema, da diese im aktuellen Aufbau noch sehr viel Spiel hat.
Literatur
Weblinks
Projektunterlagen
Die gesamten Projektunterlagen sind unter dem Ordner 38_Regelung_instabiles_System in SVN zu finden. Bei Bedarf können die Dokumente auch bei den Autoren dieses Artikels angefragt werden.
YouTube Video
→ zurück zum Hauptartikel: WS 17/18: Fachpraktikum Elektrotechnik (MTR) und Angewandte Elektrotechnik (BSE)