Arduino Ballbalancierer: Unterschied zwischen den Versionen
Zeile 159: | Zeile 159: | ||
Ein Servomotor ist ein Elektromotor samt seiner Steuerelektronik. Dieser kann durch ein PWM Signal einen bestimmten Winkel ansteuern und so über den Hebel die Wippe bewegen. | Ein Servomotor ist ein Elektromotor samt seiner Steuerelektronik. Dieser kann durch ein PWM Signal einen bestimmten Winkel ansteuern und so über den Hebel die Wippe bewegen. | ||
'''Verdrahtungsplan''' | |||
Nachfolgend ist der Verdrahtungsplan für den Ballbalancierer gezeigt: | |||
<gallery widths="750" heights="400"> | <gallery widths="750" heights="400"> | ||
Datei:Funktionaler SystementwurfTechnischer Systementwurf.pdf|mini|Abb. 3: Funktionaler | Datei:Funktionaler SystementwurfTechnischer Systementwurf.pdf|mini|Abb. 3: Funktionaler Systementwurf/Technischer Systementwurf | ||
</gallery> | </gallery> |
Version vom 23. Dezember 2022, 16:49 Uhr
Autoren: Niklas Reeker & Marius Erdmann
Betreuer: Prof. Dr.-Ing. Mirek Göbel & Prof. Dr.-Ing. Ulrich Schneider
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)
Einleitung
Im Rahmen des GET-Fachpraktikums ensteht das Projekt Arduino Ballbalancierer. Bei diesem wird ein Ball mithilfe von Steuerungs- und Regelungsalgorithmen in der Mitte einer Wippe ausbalanciert. Auf externe Störeinflüsse soll das mechatronische System reagieren und den Ball schnellstmöglich an seine urspüngliche Position zurückbewegen. Eine RGB-LED zeigt zudem an ob das System Betriebsbereit ist.
Anforderungen
ID | Inhalt | Ersteller | Datum | Geprüft von | Datum |
---|---|---|---|---|---|
1 | Entwerfen einer mechanischen Konstruktion, welche als Wippe fungiert. | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
2 | Herstellen einer Stromversorgung für Servomotor, Sensor, LED und Arduino. | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
3 | Automatisches starten des Arduino Programms bei vorhandener Stromversorgung. | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
4 | Die LED soll einen Status anzeigen (System mit Spannung versorgt, System aktiv). | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
5 | Der Sensor soll die Entfernung zum Ball korrekt erfassen. | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
6 | Der Arduino soll den Servomotor ansteuern. | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
7 | Es soll ein passender Regler ausgewählt werden. | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
8 | Die gewählte Regelung muss passend parametriert werden. | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
9 | Die LED soll eine visuelle Rückmeldung geben, wenn der Ball in der Mitte ist. | Marius Erdmann | 13.10.2022 | Niklas Reeker | 14.10.2022 |
Tabelle 1 zeigt die funktionalen Anforderungen.
Funktionaler Systementwurf/Technischer Systementwurf
-
Abb. 1: Technischer Systementwurf
-
Abb. 2: Funktionaler Systementwurf
Komponentenspezifikation
ID | Komponente | Bezeichnung |
---|---|---|
1 | Konstruktion mit Wippe | Eigenbau |
2 | Arduino Uno Rev. 3 | A000073 |
3 | Sharp Entfernungssensor | GP2Y0A21YK0F |
4 | Futaba Servomotor | S3003 |
4 | RGB-LED | LL 5-8000RGB |
Tabelle 2 zeigt die benötigten Komponenten für den Aufbau des Ballbalancierers.
Umsetzung (Hardware)
Wippe
Für die Wippe wurde als Grundplatte eine Multiplex Holzplatte verwendet. Auf diese wurde ein Kantholz festgeschraubt. An dem Kantholz ist auf der Oberseite ein Scharnier angebracht, welches als Verbindung zu dem U-Profil aus Kunststoff dient und dabei die Wippfunktion ermöglicht. Außerdem ist an dem Kantholz der Servomotor mittels einer Halterung befestigt. Auf dem U-Profil auf welchem sich später der Ball bewegen soll befindet sich der Infrarotsensor. Dieser ist über eine Halterung aus Holz an dem U-Profil angebracht. Das Breadboard sowie der Mikrocontroller sind auf der Grundplatte befestigt.
Netzteil
Ein Netzteil wandelt die zugeführte Wechselspannung, die am Eingang anliegt, in die benötigte Gleichspannung um. In diesem Fall versorgt das Netzteil den Ballbalancierer mit einer 5V Gleichspannung.
Arduino Uno
Der Arduino Uno SMD R3 ist ein Mikrocontroller-Board, das auf dem ATmega328 basiert. Es hat 14 digitale Input/Output-Pins (von denen 6 als PWM-Outputs genutzt werden können), 6 analoge Eingänge, einen 16-MHz-Schwingquarz, einen USB-Anschluss, einen Netzstecker, einen ISP-Anschluss und eine Rückstelltaste. Der Arduino steuert das Gesamtsystem und wird von dem Netzteil mit einer 5V Gleichspannung versorgt.
Infrarotsensor
Der Infrarotsesnsor misst die Entfernung zum Ball mittels Triangulation. Triangulation bedeutet Abstandsmessung durch Winkelberechnung. Ein Sensor projiziert einen Laserpunkt auf das Messobjekt . Das dort reflektierte Licht trifft abhängig von der Entfernung unter einem bestimmten Winkel auf ein Empfangselement. Anhand des Winkels kann dann die Entfernung zum Messobjekt bestimmt werden. Die analogen Messwerte sind an der Port A0 mit dem Arduino Uno verbunden.
RGB LED
Eine RGB-LED kann verschiedene Farben ausgeben, indem sie die 3 Grundfarben Rot, Grün und Blau mischt und auch die Intensität ändert. Sie besteht also aus 3 separaten LEDs, Rot, Grün und Blau, die in einem einzigen Gehäuse untergebracht sind. Deshalb gibt es 4 Leitungen, eine Leitung für jede der 3 Farben und eine gemeinsame Kathode oder Anode, abhängig vom RGB-LED-Typ. Um andere Farben zu erzeugen, können Sie die drei Farben in verschiedenen Intensitäten kombinieren. Bei dem Ballbalancierer leuchtet die LED beim einschalten zunächst rot, da das System einige Zeit benötigt um hoch zu fahren. Anschließend leuchtet die LED grün, wenn der Ball in der Mitte der Wippe liegt oder blau wenn dies gerade nicht der Fall ist.
Servomotor
Ein Servomotor ist ein Elektromotor samt seiner Steuerelektronik. Dieser kann durch ein PWM Signal einen bestimmten Winkel ansteuern und so über den Hebel die Wippe bewegen.
Verdrahtungsplan
Nachfolgend ist der Verdrahtungsplan für den Ballbalancierer gezeigt:
-
Abb. 3: Funktionaler Systementwurf/Technischer Systementwurf
Umsetzung (Software)
Die Software für den Ballbalancierer wurde in Matlab Simulink erstellt und getestet. Anschließend wurde das Programm in den Arduino hochgeladen und dort ausgeführt. Nachfolgend werden die einzelnen Softwarekomponenten gezeigt:
-
Abb. 4: Simulink Modell Gesamtsystem
-
Abb. 5: Simulink Modell Einzelkomponenten
-
Abb. 6: Simulink Modell IR-Sensor
-
Abb. 7: Simulink Modell LED Steuerug
-
Abb. 8: Simulink Modell PDT1 Regler
Komponententest
Die Komponenten wurden nach erhalt auf äußere Beschädigungen überprüft und anschließend in Simulink angesteuert um die Funktionsfähigkeit der einzelnen Komponenten zu gewährleisten. Die Sensorkennline wurde Eingemessen und die eigenen Messwerte in Simulink übertragen, um Messfehlern vorzubeugen. Zusätzlich wurden bei verschiedenen Testläufen regelmäßig die Einzelkomponenten erneut auf ihre Funktion überprüft.
Ergebnis
Zusammenfassung
Lessons Learned
Projektunterlagen
Projektplan
-
Abb. 3: Projektplan Arduino Ballbalancierer
Projektdurchführung
Nach Erstellung eines Projektplans erfolgt die Auswahl und Beschaffung der Sensoren und Aktoren sowie aller weiteren Bauelemente/Bauteile. Anschließend soll der Aufbau der Konstruktion erfolgen. Nach dem Zusammenbau sollen die elektronischen Einzelkomponenten angeschlossen und getestet werden. Die dafür zu schreibenden Einzelprogramme werden später für das Gesamtprogramm zusammengeführt. Nach dem Einbau aller elektrischen Komponenten in das Gesamtsystem wird der PID-Regler programmiert und parametriert. Zum Schluss wird die Funktionalität des Gesamtsystems überprüft, ein YouTube-Video gedreht und das Projekt auf der Projektmesse vorgestellt.
YouTube Video
Weblinks
Literatur
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)