Projektteam
Leo Zublasing
Philipp Lintner
Projektidee
Das Projekt befasst sich mit der Entwicklung und Programmierung eines inversen Pendels auf einem linear geführten Wagen. Ziel ist es, das Pendel durch gezielte Wagenbewegungen aus der Ruheposition (unten) automatisiert aufzupendeln und in der oberen, instabilen Ruhelage auszubalancieren. Hierfür wurde ein kaskadierter PID-Regler auf einem ATmega328-Mikrocontroller implementiert. Ein eigens entwickeltes C#-Dashboard ermöglicht die Visualisierung der Sensorwerte und das Live-Tuning der Reglerparameter. Das System dient als klassisches Modell der Regelungstechnik zur Veranschaulichung komplexer dynamischer Systeme und hardwarenaher Echtzeit-Datenverarbeitung in C.
Funktionsweise
- Der ATmega328 liest hochauflösende optische Encoder für Winkel und Position aus.
- Ein Zustandsautomat steuert den automatischen Aufpendel-Vorgang ("Swing-Up").
- Durch Schwungerkennung am Umkehrpunkt wird der optimale Umschaltzeitpunkt ermittelt.
- In der oberen Position übernimmt ein kaskadierter PID-Regler die Stabilisierung.
- Der äußere Regler korrigiert die Wagenposition, der innere den Pendelwinkel.
- Motoren werden per PWM präzise und richtungsabhängig angesteuert.
- Hardware-Endschalter sichern das System vor physischen Kollisionen.
- Ein C#-Dashboard kommuniziert via USART verzögerungsfrei mit dem Mikrocontroller.
Daten und Fakten
Mikrocontroller: Atmel ATmega328P (16 MHz)
Regelungsart: Kaskadierter PID-Regler (Positions- und Winkelregelung)
Abtastrate: Timer-Interrupt-basiert für strikte Echtzeitbedingungen
Sensoren: 2x inkrementale optische Drehgeber für Pendelwinkel und Wagenposition
Winkelauflösung: 3600 Ticks pro Umdrehung
Aktorik: Brushless-Motor mit hochfrequenter PWM-Ansteuerung
Sicherheit 1: Zwei physische Endschalter mit Hardware-Notaus
Sicherheit 2: Software-Endschalter verhindern das "Landebahn-Problem" bei hohen Amplituden
Kommunikation: Nicht-blockierende serielle Schnittstelle (USART)
Software: Windows Forms C#-Dashboard für Live-Tuning.
Besonderheit: Automatische Peak-Erkennung mit Toleranz-Hysterese beim Aufpendeln
Detaillierte Projektbeschreibung
Dieses Projekt demonstriert die Überführung theoretischer Regelungskonzepte in hardwarenahen, ressourcenschonenden C-Code. Besondere Herausforderungen lagen in der Vermeidung von Interrupt-Blockaden durch eine saubere Trennung von zeitkritischer Sensorerfassung und der Hauptschleifen-Logik. Darüber hinaus verdeutlicht das Modell die praktische Relevanz der Regelungstechnik für komplexe industrielle Anwendungen, wie etwa die präzise Ausrichtung und aktive Schwingungsdämpfung einer hängenden Kranlast. Die implementierten Algorithmen zeigen anschaulich, wie sich ein dynamisches System stabilisieren lässt, um Transportgüter trotz hoher Geschwindigkeiten zielgenau und ohne gefährliches Nachpendeln zu positionieren.