rot_Pendel
ArchivLaTeXLinksLiteraturMechanikNewsSoftware

inv_Pendel 
rot_Pendel 
Magnet 
Wetter 
[Home][Mechanik][rot_Pendel]

Aufbau eines rotierenden inversen Pendels

 

Analog zum inversen Pendel mit Linearführung geht es hier um das Balancieren eines Pendels in der senkrechten Lage. Das Pendel befindet sich am Ende eines rotierenden Arrns. Über die Drehbewegung des Arms wird die Ausgleichsbewegung erzeugt. Dieser Aufbau des Pendels ist sehr beliebt und mechanisch einfacher zu realisieren, da die Linearführung mit dem Zahnriemenantrieb entfällt . Auf YouTube findet man unter den Suchworten rotary inverted pendulum oder Furuta Pendulum diverse Aufbauvariaten z.B.

http://build-its-inprogress.blogspot.de/search/label/Pendulum

https://www.youtube.com/watch?v=pbvmbebFZoY

Als elektronischeSteuerung wird ein Arduino Megaboard benutzt. Ein paar Grundkenntnisse in der Programmierung des Arduino werden vorausgesetzt. Die Kosten der Einzelteile liegen in Summe bei 130 €. Als Antrieb für den Rotor wird ein NEMA 17 Schrittmotor mit Microsteppsteuerung verwendet. Wer ein größeres Modell bauen möchte, sollte besser einen NEMA 23 Motor einsetzen.  Der Pendelwinkel wird mit einem Winkelgeber (Fabrikat Omron E6B2-CWZ6C , 2000 Impulse je Umdrehung) erfasst. Der Winkel vom Rotorarm kann direkt über die Anzahl der Schritte des Schrittmotors berechnet werden, so dass ein weiterer Encoder entfällt. Alternativ könnte ein 12V DC Motor mit hoher Untersetzung (20 rpm) oder ein Servomotor als Antrieb für den Rotorarm zum Einsatz kommen. Beim Aufbau wurden folgende Prämissen gesetzt:

  • es werden keine Spezialmaschinen wie CNC-Fräse, Drehbank oder 3D-Drucker benötigt,
  • der mechanische Aufbau ist einfach und stabil und setzt keine Spezialkenntnisse voraus,
  •  alle verwendeten Teile sind handelsüblich und können über das Internet bestellt werden
  • für den PID Controller, den Schrittmotor und die Auswertung der Encodersignale werden fertige Arduino Bibliotheken genutzt (GitHub)

Der mechanische Aufbau

Das Grundgerüst besteht aus einer Aluminiumplatte 270x200x2.5mm. Auf der Platte werden mittig zwei ALU Profile 30x30x300mm 30 B-Typ Nut 8 senkrecht befestigt. Diese werden oben mit einem Profil (100x30x30mm) quer verbunden. Am Querverbinder ist der Motorhalter befestigt. Auf dem Motorwelle wird ein 60mm Zahnrad befsetigt, dass als Befestigung für den Rotorarm dient. Alternativ kann die in der Tabelle aufgeführte Winwill® 1Pc 5mm Flanschkupplung benutzt werden (bei NEMA 23 Schrittmotor 6,25mm Bohrung!) Der Rotor besteht aus einem ALU Profilstab 200x20x20mm. Am Ende des Rotors wird mit einem NEMA 17 Motorwinkel der Winkelegber befestigt. Auf der Welle des Winkelgebers ist mittels Kupplungsstutzen der Pendelstab verschraubt (10x10x300mm).

ALU Profile  30 B-Typ Nut 8

ALU Profile  30 B-Typ Nut 8 Fa. Dold Mechatronic


Grundgerüst mit Motorhalterung

Laboraufbau des inversen Pendels

Encoder mit Pendelstab

Rotorstab mit 60mm Zahnrad als Kupplungl


Dateien

Erfahrungsbericht Erfahrungsbericht_rot.pdf
Stückliste Antrieb mit  Schrittmotor Stückliste_Schrittmotor.pdf
Stromlaufplan Arduino mit Schrittmotor circuit3.png
Arduino Mega Programmcode PID_stepp5.ino
Programmbibliothek Enoder

Encoder.h

Programmbibliothek BasicStepDriver

BasicStepperDriver.h

Programmbiblithek PID control

PID_v1.h

Stromlaufplan mit Schrittmotor und Mircostepdriver LM542

Bilder und Links zu den Einzelteilen

Quimat Nema 17 Schrittmotor

SainSmart CNC-Mikroschrittschrittmotor Treiber 2M542

NEMA 17 Schrittmotor Halterung

OMRON Rotary Encoder E6B2-CWZ6C 2000P/R 5V-24V

Schaltnetzteil 24V 6,5A ; MeanWell, RS-150-24

 

Maker Beam ALU Profil 10x10x300 als Pendelstab

Zahnrad 40 Zähne als Pendelgewicht

Zahnrad 60 Zähne als Kupplung

Winwill® 1Pc 6mm Starre Flanschkupplung Motorführung Wellenkoppler Motoranschluss

 

 

MagiDeal Aluminium Schrittmotor Flexible Wellenkupplung


Inbetriebnahme des Pendels

Nach dem Laden des Programms und einschalten der 24V Stromversorgung für den Schrittmotor, muss das Pendel absolut ruhig und senkrecht nach unten hängen. Jetzt wird kurz die rote Resettaste auf dem Arduino Baord betätigt. Damit wird der Encodercounter mit dem Referenzwert -4000 geladen (eine volle Umdrehung sind 8000 Impulse, da die Endcoderbilbliothek die 2000 Impulse vervierfacht (Auswertung der steigenden und fallenden Signalflanken).  

Danach bringt man das Pendel im Uhrzeigersinn in die aufrechte Position. Der Regler beginnt zu arbeiten und sollte das Pendel jetzt aufrecht halten. Sollte der Rotararm stest in die falsche Richtung steuern, müssen die Schrittmotoranschlüsse am Drivermodul getauscht werden. Weiterhin müssen die PI Regelerparameter Kp und Ki abgeglichen werden (leicht absenken oder erhöhen). Der Rotor sollte um einen kleinen Drehhwinkel von +/- 15  Grad hin- und herschwingen. Eventuell muss die Grundplatte des Pendels waagerecht ausgerichtet werden, falls das Pendel immer nach einer bestimmten Seite hin abdriftet. Zur Kontrolle der Reglerausgabe wird der serielle Plotter in der Arduino Box am PC geöffnet. Das Signal sollte innerhalb von +/- 40 verbleiben (siehe Graphik). Ist der Kp Wert zu hoch eingestellt, schwingt sich der Regler auf und die Stellgröße schwankt innerhalb der Grenzen von +/- 180.

Kp und Ki sind korrekt eingstellt

 

Kp und Ki sind zu hoch gewählt, das Pendel schauklet sich langsam auf

[Home][Archiv][LaTeX][Links][Literatur][Mechanik][News][Software]

Copyright (c) 2004, Ingmar Rubin, Alle Rechte vorbehalten.

loesungen@matheraetsel.de