Ballbalancierer
Einführung
Der Ballbalancierer ist ein Laborversuch an dem das Verhalten verschiedener Reglertypen untersucht und erlernt werden kann. Dabei wird ein Ball auf einer Wippe balanciert. Diese wird hierbei von einem Servomotor abhängig von der aktuellen Postion des Balles in Schieflage gebracht, wodurch der Ball durch die Erdanziehungskraft beschleunigt wird und beginnt zu rollen. An welche Sollposition auf der Wippe der Ball bei diesem Versuch gebracht werden soll, ist frei einstellbar. Außerdem kann das Verhalten von PID-Reglern an diesem Aufbau erforscht werden, da auch die Gewichtung der einzelnen Regelanteile steuerbar ist.
Versuchsaufabu
Mechanischer Aufbau
Der mechanische Aufbau des Ballbalancierers, der in Abbildung 1 zu sehen ist, lässt sich in zwei Bereiche unterteilen. Er besteht aus einem Gehäuse und einer darauf montierten Wippe. Das Gehäuse dient als Stauraum für den Servomotor und Teile der Elektronik. In der Wippe selbst sind zwei Rillenkugellager verbaut, die dafür sorgen, dass die Wippe den Winkeländerungen durch den Servomotor auch folgen kann. Außerdem besitzt sie einseitig eine Vorrichtung um einen Sensor aufnehmen zu können. Für jeden vorhandenen Sensor existiert dabei ein passendes Gehäuse, sodass diese einfach austauschbar sind. Außerdem sind zwei unterschiedliche Bälle vorhanden. Die Abmessungen dieser sind identisch, der Unterschied besteht lediglich im Material und folglich im Gewicht. Einer der Bälle ist aus Holz, der andere aus Styropor.
Elektrotechnischer Aufbau
Der Ballbalancierer verfügt über drei verschiedene Baugruppen, die elektronisch steuerbar sind.
- 3 LED : Dienen zum Anzeigen verschiedener Status wie z.B., dass das Gerät eingeschaltet ist oder der Ball sich aktuell in Sollposition befindet - 4 Potentiometer: Jeweils 1, um die Gewichtung eines Teils des PID-Reglers zu steuern und 1 um die Sollposition des Balles festzulegen - 1 Servomotor : Setzt die Befehle des Reglers in Stellwinkel um und balanciert so den Ball in Sollposition.
Der Ballbalancierer verfügt zudem noch über zwei Sensoren mit denen die Position des Balles auf der Wippe bestimmt werden kann. Es handelt sich um einen Ultraschallsensor und einen Infrarotsensor, von denen immer nur einer verwendet werden kann. Außerdem besitzt der Ballbalancierer einen 50-poligen Stecker. Die einzelnen Bauelemente belegen dabei wie in Abbildung 2 zu sehen ist die entsprechenden Pins. Über diesen Stecker ist der Ballbalancierer mit einem Arduino Uno verbunden. Dieser steuert den Ballbalancierer gemäß dem auf ihm gespeicherten Regler. Zur Entwicklung oder Verbesserung von Regelungsalgorithmen eine Programmierung mit Matlab Simulink oder der Arduino Entwicklungsumgebung zu empfehlen.
Wichtige Größen des Systems
Um einen Regler für das System entwickeln zu können ist wichtig zu wissen welche Größen das System charakterisieren. Erst dadurch kann erreicht werden, dass sich das entwickelte Modell physikalisch so verhält wie die Realität. Verwendet man die Holzkugel sind folgende Werte von Bedeutung:
- m = 0,2kg : Gewicht der Kugel (Holz) - r = 0,04m : Radius der Kugel - g = 9,81m/s² : Erdbeschleunigung - L = 0,6m : Länge der Regelstrecke bzw. des Wippenarms - d = 0,009 : Hebelarm des Servomotors - J = 0,000128kg*m²: Massenträgheitsmoment der Kugel
Theoretische Lösung
veränderliche Größen und wirkende Kräfte
Regelkreis
Das System des Ballbalancierer lässt sich durch einen geschachtelten Regelkreis darstellen. Als Eingangsgröße wird der Abstand der Kugel zum Snesor gewählt (Xssoll) dieser lässt sich über einen Poti beliebig einstellen. Die Ausgangsgröße ist der aktuelle Abstand (Xsist). Dieser wird über den Entfernungssensor gemessen und zurückgeführt. Ex ist die Differenz aus Xssoll und Xsist. Aus dieser Differenz wird ein Referenzwert αref für den Neigungswinkel α des Balkens berechnet. Die Differenz aus diesem und dem αist ergibt den einzustellenden Neigungswinkel. Im inneren Regelkreis wird dieser in den zu stellenden Servowinkel umgerechnet. Über den Servo wird dieser Winkel eingestellt und der Balken neigt sich durch die auf die Kugel wirkende Hangantriebskraft beginnt diese zu rollen.
Übertragungsfunktion des Systems
Regelungstechnische Herausforderungen
Mechanische Herausforderungen
Kugel
Eine Herausforderung bestand darin mit den gegebenen geometrischen Eigenschaften der Kugel zurecht zu kommen. Diese sind Ursache für ein sensortechnisches Problem. Um dies zu erläutern ist es wichtig die Funktionsweise eines Ultraschallsensors verstanden zu haben. Ein Ultraschallsensor besteht aus einem Sender und einem Empänger. Beide verfügen über eine Membran, die zum Schwingen angeregt werden kann. Möchte man eine Messung durchführen, so regt man die Membran die Membran des Senders dazu an in einer bestimmten Frequenz zu schwingen. Dabei entstehen Wellen, die sich abhängig von der Bauform des Sensors kegelförmig im Raum ausbreiten. Treffen sie dabei auf ein Objekt, werden sie von diesem reflektiert und treffen auf ihrem Rückweg auf den Ultraschallempfänger. Dessen Membran beginnt dabei ebenfalls zu schwingen was erfasst und in ein eletrisches Signal umgewandelt wird. Über die Zeitdifferenz zwischen dem Aussenden der Schallwellen und dem Moment des Wiederauftreffens auf die Empfängermembran kann bei bekannter Schallgeschwindigkeit auf den Abstand zum Objekt geschlossen werden von dem die Schallwellen reflektiert wurden. Schwierig wird dieser Vorgang wenn die zu detektierenden Objekte sehr klein sind, was auf den ersten Blick bei der verwendeten Kugel nicht der Fall ist. Immerhin hat diese einen Radius von 4cm. Aber auch für Ultraschallwellen gilt das Reflexionsgesetz also Einfallswinkel gleich Ausfallswinkel. Um wieder zum Ultraschallsensor zurückzukehren müssen die Wellen beinahe senkrecht auf das Objekt treffen. Im Fall einer Kugel ist also die Fläche, die die Wellen so reflektiert, dass sie detektiert werden können, sehr klein. Genau betrachtet ist eine Kugel sogar der Körper, der für die Erfassung mittels Ultraschall am schlechtesten geeignet ist. Die Auswirkung dieser Schwierigkeit sind sehr stark verrauschte Messwerte.
Lego - Wagen
Da die Kugel wie oben beschrieben nur schlecht für die Erfassung durch einen Ultraschallsensor geeignet ist, liegt Idee nahe diese einfach durch etwas anderes zu ersetzen. Baut man beispielsweise aus Lego einen Wagen, der in der Mitte eine ebene Fläche besitzt, die senkrecht zu den ausgesendeten Ultraschallwellen verläuft, kann man das Problem mit der Kugelgeometrie umgehen. Abbildung ??? zeigt ein Beispiel für einen solchen Wagen. Allerdings weist auch dieser Schwachstellen auf. Eine davon besteht darin, dass der Wagen natürlich nicht gleichen Eigenschaften besitzt wie die Kugel. Die unter "Wichtige Größen des Systems" aufgeführten Größen sind teilweise auf den Wagen gar nicht anwendbar wie z.B. der Radius oder deutlich schwieriger zu bestimmen wie z.B. das Massenträgheitsmoment. Der unter "Theoretische Lösung" aufgezeigte Ansatz für einen PID-Regler ist also auf einen Wagen so gar nicht anzuwenden. Es müsste ein neuer Regler für den Wagen ausgelegt werden. Außerdem hat der Wagen noch weitere mechanische Schwachstellen. Er rollt deutlich schlechter als die Kugel auf den Schienen, sodass es mitunter passieren kann, dass er sich verkantet und sich ohne Eingriff von außen gar nicht mehr bewegt. Es besteht auch die Möglichkeit, dass der Wagen von den Schienen herunterfällt, wenn der Servomotor, aufgrund einer großen Regeldifferenz, einen großen Weg fährt, während der Wagen sich fast an einem Ende des Wippenarm befindet.
Austauschbarkeit von Sensoren
Aufgrund der erläuterten Schwierigkeiten mit dem verbauten Ultraschallsensor bzw. Kugel wäre eine schnelle Austauschbarkeit der Komponienten wünschenswert. Insbesondere weil dem Ballbalancierer ein Infrarotsensor beiliegt, der bei der Erkennung des Balles deutlicht besser funktioniert als der Ultraschallsensor, der wie beschrieben eher für den Lego-Wagen eingesetzt werden kann. Der Sensor ist direkt mit dem 50-poligen Stecker verbunden, sodass eine Austausch nur möglich ist, wenn der Ballbalancierer weitgehend auseinandergebaut wird.
Sensortechnische Herausforderungen
Ultraschallsensor
Der Ultraschallsensor weist nicht nur, wie bereits erläutert, Probleme mit dem Erkennen eines Balles auf, sondern sorgt auch überdies hinaus für Schwierigkeiten. Laut Datenblatt ist der Ultraschallsensor in der Lage Objekte bis zu einer entferung von 3m zu erkennen. Dabei funktioniert er auf kurze Distanz besser als auf lange Entfernungen. Dem Datenblatt zufolge erstreckt sich dieser Bereich in dem der Sensor gut funktioniert über die ersten 30cm, bei größeren Abständen nimmt das Messrauschen stark zu. Dieses Verhalten wird durch Abbildung ??? bestätigt. Dabei wurde der wahre Abstand zum Objekt in Schritten von jeweils 5cm erhöht und gegen die Messwerte des Sensors dargestellt. Hierbei ist zu erwähnen, dass in der Grafik oft der Wert 61cm angegeben ist, was leicht über der gesamten Länge des Wippenarms liegt. In diesen Fällen lieferte der Sensor überhaupt kein konstantes Ergebnis. Es wurden dabei teilweise Messwerte von über 30m vom ausgegeben.
Auswirkungen dieses Problems war, dass auf der zweiten Hälfte des Wippenarms kaum eine Regelung möglich war.
Infrarotsensor
Der Infrarotsensor stellt eine Alternative zum Ultraschallsensor dar und weist nicht die beschriebenen Schwierigkeiten auf. Allerdings zeigt auch dieser Schwächen bei der Bewältigung der Aufgabe. Im Gegensatz zum Ultraschallsensor liegt sein Schwachpunkt in sehr kurzen Abständen zum zu erkennenden Objekt. Laut Datenblatt besitzt er eine Totfläche von 10cm, was immerhin schon einem Sechstel der gesamten Wippenarmlänge entspricht. Dies konnte durch Test bestätigt werden. Rollt der einmal in diesen Bereich hinein oder lässt man ihn dort starten, kann nicht normal nach dem Regelalgorithmus des PID-Reglers verfahren werden. Besonders Problematisch wird dies wenn die über das Potentiometer gewählte Sollposition der Kugel in diesem Bereich liegt.