Startseite Über EasyKit Über EasyLab Produkte Partner Downloads Kontakt Suche

Invertiertes Pendel

Über EasyLabFallstudien und Anwendungen → Invertiertes Pendel
Versuchsaufbau zum Invertierten Pendel
Versuchsaufbau zum Invertierten Pendel


Themen auf dieser Seite:
  1. Problem- und Aufgabenstellung
  2. Testaufbau
  3. Programmierung

1. Problem- und Aufgabenstellung

Schematische Darstellung im Initialzustand
Schematische Darstellung im Initialzustand
Das Invertierte Pendel ist ein klassischer Experimentieraufbau aus der Regelungstechnik. Er wird oft in der beruflichen oder universitären Ausbildung eingesetzt. Der Aufbau ähnelt sehr stark dem Balancieren eines Besenstiels: Ein Metallstab ist frei drehbar an einer Achse angebracht. Das Experiment besteht darin, den Stab so aufzurichten, dass dieser senkrecht über der Drehachse steht und den Stab danach in dieser Position zu halten. Jedoch wird dabei der Stab nicht direkt bewegt, sondern die Drehachse ist auf einem Schlitten montiert, der von einem Elektromotor nach links oder rechts bewegt werden kann (siehe Abbildung). Der Motor ist also nicht direkt mit dem Stab verbunden. Durch die Trägheit des Stabes ist es möglich, den Schlitten immer in die Richtung zu fahren, in die der Stab umzufallen droht, so dass ein Umfallem vermieden wird. Der Schlitten folgt also immer dem Schwerpunkt des Pendels. Die Dimensionierung eines Reglers für diese Aufgabe ist die Herausforderung an diesem Versuchsaufbau.

2. Testaufbau

Um die Regelung des Invertierten Pendels durchführen zu können, muss die Regelungsaufgabe zunächst genauer definiert werden:
  1. Während des Balancierens soll der Stab immer möglichst unter dem Schwerpunkt des Stabes gehalten werden. Dies verhindet ein Umfallen des Stabes.
  2. Während des Balancierens soll der Schlitten immer möglichst nahe in der Mitte der Schiene stehen. Diese Anforderung ist wichtig, da die Schiene selbstverständlich nur eine begrenzte Länge hat und vermieden werden soll, dass der Schlitten langsam an ein Ende der Schiene "driftet".
  3. Zu Beginn des Experiments soll das Pendel automatisch aufgerichtet werden. Ähnlich einer Schaukel wird durch Hin- und Herfahren des Schlittens wird immer mehr Bewegungsenergie in das Pendel eingebracht, bis dieses den Scheitelpunkt erreicht. Von diesem Moment an wird der Regelungsalgorithmus zum Balancieren des Stabs aktiv.

Mikrocontroller mit Peripherie
Mikrocontroller (oben links) mit Schmitt-Trigger-
Schaltung (unten links) und DAC (Mitte rechts)
Nun müssen die benötigten Ein- und Ausgangssignale definiert werden. Die wichtigste Information ist sicherlich der Drehwinkel, in dem das Pendel steht. Grundsätzlich gibt es viele verschiedene Methoden, den Schwerpunkt des Pendels zu bestimmen (Anforderung 1). Neben mechanischen Messungen können z.B. auch optische Methoden zum Einsatz kommen (z.B. Kamerabilder). In diesem Versuchsaufbau kommt ein Quadraturencoder (Rotationssensor) zum Einsatz, der an der Drehachse des Pendels montiert ist. Die Signale des Quadraturencoders werden mittels Schmitt-Triggern aufbereitet, bevor sie einem Mikrocontroller zugeführt werden.

Um die 2. Anforderung zu erfüllen, wird zusätzlich ein Quadraturencoder mit der Motorachse verbunden. Da solche Encoder keine absolute Position zurückgeben, sondern lediglich ein Signal ausgeben, wenn sich die Achse um einen bestimmten Winkel gedreht hat, müssen die Signale an geeigneter Stelle gezählt werden. In diesem Fall übernimmt diese Aufgabe der Mikrocontroller, der auch das Steuerprogramm enthält. Da die Sensoren nur relative Änderungen zurückgeben, muss festgelegt werden, dass das System immer in einem definieren Zustand startet. Dabei steht der Schlitten auf dem Mittelpunkt der Schiene und das Pendel hängt senkrecht nach unten. Diese Position der Encoder wird jeweils mit dem Wert Null identifiziert.

Die 3. Anforderung lässt sich mit den beiden zuvor definierten Eingangssignalen umsetzen. Es wird lediglich noch das Steuersignal für den Elektromotor benötigt. Der verwendete Motor arbeitet mit einer analogen Spannung von ±10 V. Ein Digital/Analog-Konverter (DAC) wird eingesetzt, um das digitale Signal des Mikrocontrollers entsprechend aufzubereiten.

3. Programmierung

Die Programmierung des Mikrocontrollers erfolgte mit EasyLab. Zunächst wurden die Quadraturencoder sowie der DAC/Motor in EasyLab durch die Einbindung geeigneter Funktionsblöcke definiert. Danach wurde ein entsprechendes Gerät modelliert. Somit war es möglich, das Inverse Pendel zu einem beliebigen EasyLab-Projekt hinzuzufügen und Code dafür zu generieren.

Da die Signale der Quadraturencoder exakt gezählt werden mussten, um auf die Dauer kein "Driften" des Zählerstandes gegenüber der realen Position zu riskieren, kamen für diese Aufgabe nur schnelle Zählereingänge (externe Interrupts) in Frage. Je nach Fahrtrichtung inkrementieren oder dekrementieren diese eine entsprechende Variable.

Implementierung des Aufschwingens

Der Vorgang des Aufschwingens lässt sich mathematisch modellieren. Ergebnis dieser Modellierung ist, dass ein PID-Regler dazu verwendet werden kann, um das Pendel aufzuschwingen. In der folgenden Abbildung ist das Datenflussprogramm als diskreten Funktionsblöcken aufgebaut (d.h. der PID-Regler ist ebenfalls aus mehreren Funktionsblöcken aufgebaut).

Datenflussprogramm zum Aufschwingen des Pendels
Datenflussprogramm zum Aufschwingen des Pendels

Um zum richtigen Zeitpunkt in den Balancier-Modus umzuschalten, wird ein Ablaufdiagramm mit einer entsprechenden Übergangsbedingung verwendet.

Implementierung des Balancierens

Das Balancieren lässt sich ebenfalls mathematisch modellieren und mit einem PID-Regler umsetzen.

Datenflussprogramm zum Balancieren des Pendels
Datenflussprogramm zum Balancieren des Pendels