Escape Game: Kugel-Balancierer: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Kilian.engelhardt@stud.hshl.de (Diskussion | Beiträge)
Kilian.engelhardt@stud.hshl.de (Diskussion | Beiträge)
Zeile 162: Zeile 162:
Der Sharp GP2Y0A41SK0F ist ein optischer Infrarot-Abstandssensor, der die Entfernung eines Objekts im Bereich von etwa 4 bis 30 cm messen kann. Das Messprinzip beruht auf dem Aussenden eines Infrarotlichtstrahls mittels Infrarot LED, welcher vom Objekt zurück reflektiert und vom Detektor des Sensor ausgewertet wird. Die resultierende Ausgangsspannung des Sensors kann mithilfe der Kennlinie aus dem Sensordatenblatt (siehe Abbildung 4) in einen Abstand zum Objekt in cm umgerechnet werden.
Der Sharp GP2Y0A41SK0F ist ein optischer Infrarot-Abstandssensor, der die Entfernung eines Objekts im Bereich von etwa 4 bis 30 cm messen kann. Das Messprinzip beruht auf dem Aussenden eines Infrarotlichtstrahls mittels Infrarot LED, welcher vom Objekt zurück reflektiert und vom Detektor des Sensor ausgewertet wird. Die resultierende Ausgangsspannung des Sensors kann mithilfe der Kennlinie aus dem Sensordatenblatt (siehe Abbildung 4) in einen Abstand zum Objekt in cm umgerechnet werden.


[[Datei:Kennlinie IR Sharp.jpg|mini|800px|left|Abbildung 4: Sensorkennlinie Objektabstand in Abhängigkeit der Ausgangsspannung [https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y0a41sk_e.pdf]]]
[[Datei:Kennlinie IR Sharp.jpg|mini|600px|left|Abbildung 4: Sensorkennlinie Objektabstand in Abhängigkeit der Ausgangsspannung [https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y0a41sk_e.pdf]]]


<br clear=all>
<br clear=all>

Version vom 25. November 2025, 18:38 Uhr

Autoren: Kilian Engelhardt, Daniel Block
Betreuer: Prof. Schneider


Einleitung

Das Escape Game "Kugel-Balancierer" entsteht im Rahmen des Moduls Angewandte Mechatronik des Studiengangs Business and Systems Engineering (BSE). Anhand dieses Projekts lässt sich zeigen, wie sich mit wenigen Bauteilen ein experimentelles Puzzle für ein physikalisch-technisches Escape Game entwerfen lässt. Eine Kugel rollt auf einer einachsig kippbaren Schiene, ein Servomotor verändert den Neigungswinkel, ein Distanzsensor misst die Position. Die Spielenden stellen über drei Drehregler die P-, I- und D-Anteile eines Reglers ein. Ziel ist es, die Kugel für eine definierte Zeit im Fenster um die Mittelposition zu halten – gelingt dies, wird ein Code auf dem Display ausgegeben.

Das Puzzle erinnert an klassische Murmelbahnen und vermittelt zugleich zentrale Begriffe der Regelungstechnik. Die zugrunde liegende Physik ist anschaulich: Entlang der geneigten Ebene wirkt die Beschleunigung agα (für kleine Winkel α), die den Kugelort verändert. Ein PID-Regler nach der Formel u(t)=KPe(t)+KIe(t)dt+KDdedt stabilisiert das System. Hierbei stellt der Winkel des Servomotors die Stellgröße u dar, der Positionsfehler e bildet die Regelgröße.

Bezüglich der Vorgehensweise bei diesem Projekt wurde sich am Ablauf des V-Modells orientiert.

Schwierigkeitslevel: fortgeschritten

Lernziele: Spielerisch die Anwendung eines Reglers und die Einflüsse der drei Anteile P, I und D erlernen

Bezug zum BSE Studium: Regelungstechnik, Messdatenverarbeitung (Filterung)

Anforderungen

Als erster Schritt nach Vorgehensweise des V-Modells wurden Anforderungen definiert, welche während der Arbeiten am Projekt des Escape Games erfüllt werden sollen.

Die Anforderungen wurden in folgende Kapitel untergliedert und in Tabelle 1 festgehalten:

  • Hardware
  • Komponententest
  • Software
  • Programmierung
  • Dokumentation


ID Typ (I = Info, A = Anforderung) Kapitel Inhalt Ersteller Datum Status Auftragnehmer
Tabelle 1: Anforderungsliste Kugel-Balancierer
10 I 1 Hardware
11 A Die Sensoren und Aktoren müssen mit dem Arduino verbunden sein. Block 02.10.2025 Ausstehend
12 A Die Außenmaße des Kugel-Balancierers müssen kleiner als 358,02 x 250 x 250 mm sein. Block 02.10.2025 Ausstehend
13 A Die konstruierten Bauteile sollen mittels 3D-Druck hergestellt werden, wobei der Anteil des für Stützstrukturen verwendeten Filaments weniger als 10 % des gesamten Filamentverbrauchs betragen darf. Block 02.10.2025 Ausstehend
20 I 2 Komponententest
21 A Die Verdrahtung der elektronischen Komponenten mit dem Mikrocontroller muss mit dem Verdrahtungsplan überstimmen. Engelhardt 02.10.2025 Ausstehend
22 A Der Distanzsensor muss die Distanz zum Ball in einem Bereich von 3 bis 30 cm messen können. Engelhardt 02.10.2025 Ausstehend
23 A Der Distanzsensor muss eine Abtastrate von mindestens 20 Hz haben. Engelhardt 02.10.2025 Ausstehend
24 A Der Servomotor muss die Schiene von der Mittelstellung aus um mindestens 3 cm nach oben und 3 cm nach unten bewegen können. Engelhardt 02.10.2025 Ausstehend
30 I 3 Software
31 A Die Programmierung des Mikrocontrolleralgorithmus muss durch die MATLAB/Simulink Software in der Version 2024b erfolgen. Engelhardt 02.10.2025 Ausstehend
32 A Der Mittelpunkt der Schiene muss mit einer Kalibrierfunktion einstellbar sein. Engelhardt 02.10.2025 Ausstehend
33 A Die Gewinnkondition muss erreicht werden, wenn der Ball für 5 Sekunden in der Mitte der Schiene (± 1,5 cm) balanciert wird. Engelhardt 02.10.2025 Ausstehend
34 A Der Code für das nächste Rätsel muss bei Erreichen der Gewinnkondition auf dem Display angezeigt werden. Engelhardt 02.10.2025 Ausstehend
40 I 4 Programmierung
41 A Der Servomotor muss mit einem PWM-Signal angesteuert werden. Block 02.10.2025 Ausstehend
42 A Eine Funktion zur Filterung falscher Messwerte muss in den Algorithmus implementiert werden. Block 02.10.2025 Ausstehend
43 A Das PWM-Signal für den Servomotor muss von einem PID-Regler berechnet werden Block. 02.10.2025 Ausstehend
44 A Die P-, I- und D-Anteile des Reglers müssen in Echtzeit über Drehregler einstellbar sein. Block 02.10.2025 Ausstehend
45 A Die aktuellen Werte für die P-, I- und D-Anteile des Reglers müssen auf einem Display angezeigt werden. Block 02.10.2025 Ausstehend
50 I 5 Dokumentation
51 A Alle Softwarekomponenten müssen einen Header besitzen. Engelhardt 02.10.2025 Ausstehend
52 A Ein Wiki-Artikel muss nach Anleitung fertiggestellt werden. Engelhardt 02.10.2025 Ausstehend
53 A Die angefertigten CAD-Modelle und Programmdaten müssen in SVN hochgeladen werden. Engelhardt 02.10.2025 Ausstehend

Materialliste

Tabelle 2: Materialliste
Nr. Anz. Komponente Beschreibung
1 1 Funduino Mega Microcontroller
2 1 Sharp GP2Y0A41SK0F Distanzsensor
3 1 MG996R Servomotor
4 3 KY-040 Drehregler
5 1 I602 I2C LCD Modul Display
6 1 Taster Taster
7 1 Reely Kugellager 3mm Kugellager für Schiene
8 1 Gehäuse 3D-Druck Gehäuse
9 2 Gabelkopf Gabelkopf mit M3 Gewinde für Koppelstange
10 1 M3 Gewindestange M3 Gewindestange für Koppelstange
11 1 Netzteil 9V, 30W Netzteil
12 1 Diverse Verdrahtungsadern Zum Verbinden der Komponenten
13 1 Diverse Schrauben Zum Zusammenbauen der Komponenten

Funktionaler Systementwurf

In der folgenden Abbildung 2 ist der funktionalen Systementwurf des Kugel-Balancierers dargestellt. Die mechanischen Elemente werden aus Holz bzw. mittels 3D-Druck erstellt. Mittels Servomotor kann der Drehwinkel einer Drehscheibe (Stellgröße) verändert werden, um die Laufbahn der zu balancierenden Kugel (in gelb dargestellt) zubewegen. An einer Seite der Laufbahn befindet sich ein Infrarot Distanzsensor, um die aktuelle Position dieser Kugel auf der Laufbahn zu erfassen, welche ebenfalls die Regelgröße des Systems darstellt. Diese soll durch einen auf dem Mikrocontroller (hier Arduino MEGA) ausgeführten PID Regler geregelt werden. Um das Escape Game zu starten und die P-, I- und D-Anteile des Reglers über die drei Rotary Encoder einzustellen, muss das System über den seitlichen Schalter eingeschaltet werden. Bei Erfolg wird ein Code über den Display ausgegeben.

Abb. 2: Funktionaler Systementwurf des Balancierers


Technischer Systementwurf

Als technischer Systementwurf für das Projekt wurde der folgende Verdrahtungsplan erstellt (siehe Abbildung 3). In diesem sind alle elektronischen Bauteile des Balancierers sowie deren Verdrahtung mit dem Mikrocontroller dargestellt.

Abb. 3: Technischer Systementwurf des Balancierers


Komponentenspezifikation

Servomotor

Der MG996R ist ein leistungsstarker Servomotor, der präzise Positionsbewegungen ausführen kann. Er wandelt PWM-Signale in eine definierte Drehstellung in Grad um und hält diese Position durch ein internes Rückkopplungssystem. Durch sein hohes Drehmoment ist der Servo in der Lage, die Wippe des Balancierers ohne Probleme zu bewegen.

  • Betriebsspannung: 4,8 bis 7,2 V
  • Stellkraft: 11 kg/cm bei 6,0 V
  • Metallgetriebe
  • 3 Pins (VCC,GND,PWM)

Infrarot-Distanzsensor

Der Sharp GP2Y0A41SK0F ist ein optischer Infrarot-Abstandssensor, der die Entfernung eines Objekts im Bereich von etwa 4 bis 30 cm messen kann. Das Messprinzip beruht auf dem Aussenden eines Infrarotlichtstrahls mittels Infrarot LED, welcher vom Objekt zurück reflektiert und vom Detektor des Sensor ausgewertet wird. Die resultierende Ausgangsspannung des Sensors kann mithilfe der Kennlinie aus dem Sensordatenblatt (siehe Abbildung 4) in einen Abstand zum Objekt in cm umgerechnet werden.

Abbildung 4: Sensorkennlinie Objektabstand in Abhängigkeit der Ausgangsspannung [1]


Drehgeber

Bei den für das Projekt verwendeten Drehgeber zur Einstellung der PID-Anteile handelt es sich um die KY-040 rotary encoder. Dessen wesentliche Merkmale sind nachfolgend aufgelistet:

  • Betriebsspannung: 5V
  • 20 Pulse pro 360° Umdrehung
  • kontinuierlich drehbar
  • 5 Pins (CLK,DT,Switch,VCC,GND)

Anhand der Pins CLK, DT und GND kann die Drehrichtung des Drehgebers bestimmt werden. Liegt zuerst ein High-Signal an den Pins CLK und GND an, handelt es sich um eine Drehung im Uhrzeigersinn. Wird jedoch zuerst das High-Signal zwischen den Pins DT und GND erkannt, liegt eine Drehung im Gegenuhrzeigersinn vor. [2]

LCD-Display

Als Display wird ein 1602 I2C LCD Modul mit HD44780 eingesetzt. Dieses besitzt die folgenden Eigenschaften:

  • Betriebsspannung: 5V
  • Pinbelegung: 4 Pins (VCC, GND, SDA, SCL)
  • Display besitzt blaue Hintergrundbeleuchtung und weiße Schrift
  • 2 Zeichenreihen mit 16 Zeichen pro Reihe auf Display
  • verlötetes I2C HD44780 Modul

Umsetzung (HW/SW)

Hardware-Umsetzung

Gehäuseentwicklung

Die Entwicklung des Gehäuses begann mit einer ersten Skizze des möglichen Aufbaus. Im Mittelpunkt stand dabei der Kippmechanismus der Schiene in Kombination mit dem Servomotor. Daher wurde zunächst dieser zentrale Mechanismus konzipiert und anschließend das restliche Gehäuse darum herum konstruiert.

Die nachfolgende Abbildung zeigt die ursprüngliche Skizze des Kugel-Balanciers, welche als Grundlage für die weitere Entwicklung des CAD-Modells diente.

Abbildung 4: Skizze des Kugel-Balancierer

Die Schiene besitzt eine Länge von 30 cm, wobei sich ihr Drehpunkt exakt in der Mitte befindet. Schiene und Servomotor sind über eine Verbindungsstange miteinander gekoppelt. Der Anschlusspunkt dieser Verbindungsstange liegt 7,5 cm vom Drehpunkt der Schiene entfernt, während die Stange selbst 7 cm lang ist. Die Verbindungsstange wird über einen Servoarm mit dem Servomotor verbunden. Der Abstand zwischen dem Drehpunkt des Servos und der Anbindung der Verbindungsstange beträgt dabei 2,5 cm. In der Neutralstellung des Servos befindet sich die Schiene waagerecht, während die Verbindungsstange senkrecht steht. Alle genannten Maße wurden im Rahmen der Gehäuseentwicklung berücksichtigt.

Die nachfolgende Abbildung zeigt die vollständige Baugruppe des Kugel-Balanciers.

Abbildung 5: Kugel-Balancierer Baugruppe

Ein zentraler Gedanke bei der Entwicklung des Gehäuses für den Kugel-Balancierer war ein modularer Aufbau. Das bedeutet, dass die Baugruppe aus mehreren einzelnen Komponenten besteht, die zusammen das Gesamtmodell bilden. Dadurch wird gewährleistet, dass einzelne Bauteile leicht ausgetauscht werden können und jederzeit ein einfacher Zugang zu allen wichtigen Komponenten möglich ist.

Die Wandstärke der Bauteile beträgt in den meisten Fällen 3 mm, ein guter Kompromiss zwischen Stabilität und Materialverbrauch. Im Folgenden werden die einzelnen Komponenten sowie deren Zusammenspiel näher beschrieben. Die entsprechenden Abbildungen finden sich im Anschluss an diesen Abschnitt.

Grundmodell

Das Gehäuse basiert zunächst auf dem Grundmodell, welches als Bodenplatte für das gesamte System dient und gleichzeitig mehrere Befestigungspunkte bereitstellt. Dazu gehört unter anderem der Servomotor, der direkt auf der Bodenplatte verschraubt wird. Zusätzlich ist auf der Grundplatte die von uns entwickelte Stecker-Platine befestigt.

Für den Einschub der Hauptplatine ist ein Schienenmechanismus integriert. Weitere Informationen zu den Platinen folgen im Unterkapitel „Platinenentwicklung“. Ebenfalls auf der Bodenplatte befindet sich der Verbindungsturm, der den Drehpunkt für die Schiene bildet.

Hauptgehäuse

Die nächste Komponente ist das Hauptgehäuse, das die äußere Hülle bildet und mit vier M3-Schrauben auf der Bodenplatte befestigt wird. Auch hier sind wieder verschiedene Bauteile integriert:

Das LCD-Display, das in einem ergonomischen Winkel angebracht ist, um ein komfortables Ablesen zu ermöglichen.

Drei Drehgeber sowie ein zusätzlicher Taster, die gemeinsam in einer Reihe unterhalb des Displays angeordnet sind.

Das Hauptgehäuse ist an beiden Seiten sowie auf der Rückseite offen. Diese Öffnungen werden mit separaten Seitenteilen verschlossen, die mithilfe von Neodym-Magneten befestigt werden. Dazu werden die Magnete sowohl im Hauptgehäuse als auch in den Seitenteilen eingesetzt. Diese modulare Bauweise ermöglicht einen besonders einfachen Zugang zum Innenraum. Über die rechte Seitenwand kann zudem direkt auf die Hauptplatine zugegriffen werden.

Schiene

Eine weitere zentrale Komponente ist die Schiene, auf der die Kugel balanciert wird. Diese ist über den Drehpunkt mit der Grundplatte verbunden, wobei ein Kugellager im Drehpunkt für eine reibungslose und spielfreie Bewegung sorgt.

Für den Neigungsmechanismus ist die Schiene über eine M3-Gewindestange mit dem Servomotor gekoppelt. An beiden Enden der Gewindestange befinden sich Gabelköpfe, welche die Verbindung zu Schiene und Servoarm herstellen.

Auf der Schiene ist außerdem ein IR-Abstandssensor montiert. Dafür wurde ein eigenes Sensorgehäuse entwickelt, das über Befestigungslöcher direkt mit der Schiene verschraubt wird. Auf der gegenüberliegenden Seite befindet sich eine Abdeckung, die einen statischen Hintergrund für den Sensor erzeugt. Beide Bauteile, Sensorgehäuse und Sensorabdeckung, werden im Abschnitt „Komponententest des IR-Sensors“ ausführlich erläutert, da sie aufgrund ihrer speziellen Ausgestaltung eine optimale Funktion des Sensors unterstützen.

Im Folgenden werden Bilder der einzelnen Komponenten gezeigt: Die nachfolgende Abbildung zeigt die vollständige Baugruppe des Kugel-Balanciers.

Abbildung 6: Grundplatte Kugel-Balancierer
Abbildung 7: Hauptgehäuse des Kugel-Balancierers
Abbildung 8: Rechte Wand des Kugel-Balancierers
Abbildung 9: Linke Wand des Kugel-Balancierers
Abbildung 10: Hintere Wand des Kugel-Balancierers
Abbildung 11: Schiene des Kugel-Balancierers
Abbildung 12: Hauptgehäuse des Abstandsensors für den Kugel-Balancierer
Abbildung 13: Rückplatte des Abstandsensors für den Kugel-Balancierer
Abbildung 14: Schienen Abdeckung für den Kugel-Balancierer

Platinenentwicklung

Der Kugel-Balancierer benötigt einen Mikrocontroller, um die Sensoren und Aktoren ansteuern zu können und die erforderlichen Regelungsberechnungen durchzuführen. Wir haben uns für die Nutzung eines Arduino Mega 2560 entschieden, da dieser ausreichend Rechenleistung sowie genügend Ressourcen bietet.

Allerdings wollten wir nicht das vollständige Arduino-Mega-Entwicklungsboard verwenden, da die Vielzahl an Header-Pins für unser Projekt nicht benötigt wird. Zudem bieten Steckverbindungen über klassische Pin-Header keine dauerhafte, zuverlässige Lösung und sind eher für erste Prototypen geeignet. Aus diesem Grund entschieden wir uns, eine eigene Hauptplatine zu entwickeln, auf der sich unser Mikrocontroller befindet.

Um weiterhin vollständige Kompatibilität mit dem Arduino-Framework – und damit auch die modellbasierte Programmierung mit Simulink – sicherzustellen, haben wir die wesentlichen Komponenten des Arduino Mega 2560 übernommen. Unser Mikrocontroller ist daher ein ATmega2560, ergänzt durch den originalen ATmega16U2 als USB-zu-Serial-Schnittstelle. Eine Verbesserung, die sich aus der Eigenentwicklung ergab, war die Integration eines USB-C-Anschlusses anstelle des klassischen USB-B-Ports zur Programmierung des Boards.

Für die Entwicklung des Schaltplans in Multisim und der Platinenlayouts in Ultiboard dienten die originalen Arduino-Mega-2560-Rev3-Schaltpläne als Vorlage. Das Ergebnis ist eine kompakte Hauptplatine, die funktional einem Arduino-Mega-Board entspricht, jedoch ohne die Vielzahl an Pin-Headern auskommt.

Stecker-Platine

Um die Sensoren und Aktoren bequem mit der Hauptplatine verbinden zu können, entwickelten wir zusätzlich eine zweite Platine, die im Folgenden als Stecker-Platine bezeichnet wird. Die Verbindung zwischen beiden Platinen erfolgt über eine Einschubführung und eine Kombination aus Pin-Header und Buchsenleiste. Eine schematische Darstellung des Systems zeigt die folgende Abbildung.

Abbildung 15: Platinen des Kugel-Balancierers

Da wir beide Platinen selbst entwickeln konnten, waren wir in der Lage, die Abmessungen optimal an das vorhandene Gehäuse anzupassen und den Innenraum bestmöglich auszunutzen.

Die Stecker-Platine übernimmt neben der Signalverteilung zusätzlich die Spannungsversorgung. Der Kugel-Balancierer wird mit einem 9-Volt-Netzteil betrieben, während die Elektronik – insbesondere Hauptplatine, Sensoren und Aktoren – eine Versorgungsspannung von 5 Volt benötigt. Aus diesem Grund befindet sich auf der Stecker-Platine ein integrierter Spannungswandler mit den zugehörigen Kondensatoren und einer Schutzdiode.

Da der Servomotor kurzfristig hohe Ströme benötigt und dadurch Spannungsschwankungen verursachen kann, wurden zusätzlich spezielle Entstörmaßnahmen implementiert. Dazu zählen groß dimensionierte Elektrolytkondensatoren in unmittelbarer Nähe des Servo-Anschlusses sowie kleine Keramikkondensatoren direkt am Anschluss des IR-Abstandssensors. Diese Maßnahmen verhindern Störungen im Sensorsignal.

Die Stecker-Platine liefert somit die 5-Volt-Versorgung für die Hauptplatine. Alternativ kann das System über den USB-C-Anschluss gespeist werden; jedoch dürfen USB-C-Versorgung und 9-Volt-Netzteil nicht gleichzeitig angeschlossen sein.

Im Anschluss folgen die Schaltpläne sowie die Layout-Darstellungen der beiden Platinen.

Abbildung 16: Multisim Schaltplan der Kugel-Balancierer Hauptplatine Seite 1
Abbildung 17: Multisim Schaltplan der Kugel-Balancierer Hauptplatine Seite 2
Abbildung 18: Platinenlayout der Kugel-Balancierer Hauptplatine
Abbildung 19: Multisim Schaltplan der Kugel-Balancierer Stecker-Platine
Abbildung 20: Platinenlayout der Kugel-Balancierer Stecker-Platine

Aus Ultiboard wurden anschließend die erforderlichen Gerber-Dateien exportiert, auf deren Basis die Platinen gefertigt werden konnten. Die Produktion erfolgte beim chinesischen Leiterplattenhersteller JLCPCB. Parallel dazu wurden verschiedene elektronische Komponenten bestellt.

Ein Großteil der benötigten Bauteile wurde jedoch von einem originalen Arduino Mega 2560 Rev3 ausgelötet und wiederverwendet, um Kosten zu sparen und eine vollständige Kompatibilität sicherzustellen.

Software-Umsetzung

Komponententest

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Abbildung 4: Gantt Projektplan für das Projekt "Kugel-Balancierer“


Projektdurchführung

YouTube Video

Weblinks

Literatur


→ zurück zur Übersicht: WS 25/26: Escape Game