Entwicklung eines geregelten Wasserstandssystems für die Hochschullehre
| Autor: | Denim Hilz |
| Erstprüfer: | Prof. Göbel |
| Zweitprüfer: | Prof. Tikhomirov |
| Wissenschaftliche Unterstützung: | Marc Ebmeyer |
work in progress
Einleitung
Dieser Wiki-Artikel stellt die Masterarbeit
Modellierung, Simulation und Echtzeit-Implementierung eines geregelten Wasserstandssystems mit MATLAB/Simulink und Mikrocontrollertechnik
für praxisorientierte Hochschuldemonstrationen im Rahmen der regelungstechnischen Lehre
vor. Dabei werden Planung, Entwicklung und Umsetzung aufgezeigt und die erzielten Ergebnisse dokumentiert.
Die Regelungstechnik ist eine zentrale Kernkompetenz für angehende Ingenieurinnen und Ingenieure, da sie die Steuerung und Regelung technischer Prozesse vermittelt. Um die oft abstrakte Theorie greifbarer zu machen, eignet sich der Einsatz praxisnaher Werkzeuge wie MATLAB/Simulink und Mikrocontrollertechnik.
Ziel der Masterarbeit war die Entwicklung eines didaktisch einsetzbaren Wasserstandssystems für die regelungstechnische Lehre an der Hochschule Hamm-Lippstadt (HSHL), um Theorie und Praxis miteinander zu verknüpfen.
Die entwickelten Regelungskonzepte basieren auf einem grundlegenden Schema der Füllstandsregelung (Level Control, LC), wie es in Abbildung ?? dargestellt ist. Ziel der Regelung ist es, den Wasserstand eines Behälters auf eine vorgegebene Sollhöhe 𝑤 (z. B. 1 m) zu bringen und dort zu halten. Die Stellgröße 𝑢 beeinflusst den Zufluss, während ein Sensor die aktuelle Ist-Höhe 𝑦 misst. Externe Einflüsse wie eine Wasserentnahme wirken als Störung 𝑑 auf das System und müssen durch die Regelung ausgeglichen werden.
Solche Regelungssysteme sind nicht nur für Lehrzwecke relevant, sondern auch in der Industrie weit verbreitet – etwa zur Vermeidung von Überlauf, Trockenlauf oder unerwünschten Füllstandsschwankungen. Die Planung und Entwicklung des Systems orientiert sich an diesem Grundschema. Quelle?? Keine Ahnung
Das Masterarbeit umfasst:
- die Modellierung des Tanksystems,
- die Simulation des physikalischen Verhaltens und der Auslegung des Reglers mit MATLAB/Simulink,
- sowie die Echtzeit-Implementierung des Reglers auf einem Mikrocontroller.
Durch die Integration von MATLAB/Simulink und Mikrocontrollertechnik wird eine enge Verbindung zu den im Studium vermittelten Lehrinhalten geschaffen.
Theoretische Grundlagen
Systementwurf und Umsetzung
Basierend auf den dargelegten theoretischen Grundlagen wird in diesem Kapitel die Modellierung, Simulation und Umsetzung des geregelten Wasserstandssystems beschrieben.
Regelkreis
Zur Veranschaulichung des grundsätzlichen Funktionsprinzips dient der schematische Aufbau eines geschlossenen Regelkreises. Die Regelung verfolgt das Ziel, den Wasserstand eines Primärtanks auf eine vom Benutzer vorgegebene Sollhöhe 𝒉ₛₒₗₗ einzustellen und auch bei externen Störungen konstant zu halten.
ABBILDUNG REGELKREIS
- Der Benutzer gibt über ein Potentiometer die gewünschte Sollhöhe 𝒉ₛₒₗₗ vor (Führungsgröße).
- Die Differenz zur gemessenen Ist-Höhe 𝒉ₘₑₛₛ (Messgröße) ergibt den Regelfehler Δ𝒉, welcher vom Mikrocontroller (Arduino) ausgewertet wird.
- Ein PI-Regler berechnet auf dieser Basis ein Ausgangssignal, mit dem zwei Pumpen angesteuert werden für den geregelten Zu- und Abfluss.
- Die Ansteuerung erfolgt über PWM-Signale, die über H-Brücken an die Pumpen weitergegeben werden (Stellgröße 1).
- Daraus ergibt sich ein resultierender Volumenstrom 𝑽ₛₜₑₗₗ (Stellgröße 2), welcher den Wasserstand im Tank verändert.
- Eine gezielt einstellbare Störung 𝑽ₛₜₒₑᵣ, die über ein zweites Potentiometer den Abfluss ermöglicht.
Der Wasserstand wird kontinuierlich gemessen und mit dem Sollwert verglichen. Ziel ist es, die Regelgröße 𝒉_ᵢₛₜ trotz Störeinflüssen stabil bei 𝒉ₛₒₗₗ zu halten.
Konzeptskizze
Zur strukturierten Auswahl und Bewertung möglicher Systemkomponenten wurde ein morphologischer Kasten verwendet (siehe Anhang Masterarbeit). Dabei wurden verschiedene Optionen je Systemfunktion gegenübergestellt und anhand von Kriterien wie Kompatibilität, Kosten, Verfügbarkeit und Benutzerfreundlichkeit bewertet.
Ausgewählte Kriterien waren unter anderem:
- Kompatibilität (Anbindung über Arduino und MATLAB),
- Verfügbarkeit,
- Kosten,
- sowie Anwenderfreundlichkeit (z. B. für Besucher des MINT-Erlebnistag).
Die folgende Abbildung zeigt die daraus resultierende Konzeptskizze.
ABBILDUNG Konzeptskizze
- Zwei Glaszylinder aus Borosilikatglas für Primärtank und Sekundärtank , verbunden über Silikonschläuche,
- Pumpe 1: geregelter Zufluss (blau)
- Pumpe 2: geregelter Abfluss (rot)
- Pumpe 3: manuelle Störung (orange)
- Drucksensor zur Wasserstandsmessung,
- Zwei Drehpotentiometer zur Eingabe von Sollwert und Störung (grün/rot),
- LCD-Anzeige zur Darstellung von Sollwert, Istwert und Störung,
- Arduino-Controller mit H-Brücken zur Ansteuerung der Pumpen,
- Montage auf einem Aluminiumrahmen mit Plexiglas-Gehäuse.
Der Wasserzufluss erfolgt von oben, der Abfluss über den Tankboden. Die Struktur erlaubt eine gute Sichtbarkeit und leichte Zugänglichkeit aller Komponenten, was insbesondere im Hochschulkontext von Vorteil ist.
Aufbauend auf dem Entwurf wurde das System für eine strukturierte Umsetzung in die Komponenten Rahmenkonstruktion, Wassertanksystem, Benutzereingabe_Hoehe, Benutzereingabe_Stoerung, Pumpe_Regelung, Pumpe_Stoerung, Regelung, Sensor und I2C_LCD_20x4 unterteilt.
Simulation
Die Simulation des Wasserstandssystems wurde in MATLAB/Simulink durchgeführt und diente als Grundlage für die Auslegung des Reglers, das Systemverständnis und die Bewertung des dynamischen Verhaltens bei Sollwertänderungen und Störungen.
Anti-Windup
Da die PWM im System auf 255 begrenzt ist und die Regelung einen I-Anteil beinhaltet, wurde eine Anti-Windup-Maßnahme implementiert, um den Integratorausgang in der Simulation auf den zulässigen Bereich von −255 bis +255 zu beschränken. Diese Maßnahme verhindert, dass sich der I-Anteil unkontrolliert aufintegriert.
Zum besseren Verständnis der Windup Problematik wurde eine 120 s lange Simulation ohne und mit Anti-Windup-Maßnahme durchgeführt.
Abbildung ?? vergleicht den kumulierten Regelfehler beider Simulationen und zeigt, dass mit Anti-Windup der Fehler um den Faktor fünf reduziert werden konnte.
ABBILDUNG Simulation - Auswirkung von Anti-Windup auf den Regelfehler
Auswahl geeigneter Reglerparameter
Für die finale Reglerauslegung wurden mehrere Kombinationen von Kₚ und Kᵢ mit aktiviertem Anti-Windup getestet.
ABBILDUNG Simulation - Reglerauslegung
Der Vergleich der Simulationen zeigt folgendes Ergebnis:
- Kₚ = 100, Kᵢ = 100: langsame Regelung, starkes Überschwingen, unzureichende Störkompensation
- Kₚ = 10000, Kᵢ = 10000: schnelle Regelung, aber sehr starkes Nachschwingen
- Kₚ = 10000, Kᵢ = 10000: schnelle Regelung, aber Nachschwingen
- Kₚ = 10000, Kᵢ = 5000: bestes Führungs- und Störverhalten
Trotz eines leicht höheren absoluten Regelfehlers, zeigt die Kombination Kₚ = 10000, Kᵢ = 5000 ein geringeres Schwingen und bessere Stabilität. Da reale Einflüssen (Pumpen- und Sensordynamik) weitere Dynamik hinzufügen, wurden die Parameter Kₚ = 10000, Kᵢ = 5000 für die Echtzeitumsetzung gewählt.
Zusammenfassung
Die durchgeführten Simulationen zeigten deutlich:
- Der Anti-Windup-Mechanismus ist essenziell zur Erfüllung der Systemanforderungen.
- Die finale Auswahl von Kₚ = 10000 und Kᵢ = 5000 erfüllt die Anforderungen an Geschwindigkeit, Genauigkeit und Störunterdrückung.
- Die Modellierung ermöglichte eine fundierte Entscheidung, bevor die Implementierung auf Hardware erfolgte.
Systemumsetzung
Das System wurde in einzelne Komponenten unterteilt, um die Umsetzung sowohl hardware- als auch softwareseitig strukturiert durchzuführen. In diesem Kapitel werden die wichtigsten Softwarefunktionen für jede Komponente vorgestellt.
Wassertanksystem
Das Wassertanksystem besteht aus einem Primär- und einem Sekundärtank.
- Der Wasserstand im Primärtank wird kontinuierlich überwacht und geregelt.
- Durch eingesetzte Distanzstücke am Boden wird verhindert, dass sich die Abflussschläuche festsaugen.
- Die maximale Füllmenge der Glaszylinder beträgt 1,6 l, was einem Wasserstand in einem der Tanks von maximal ca. 0,35 m entspricht.
Benutzereingabe_Hoehe
Diese Komponente erlaubt dem Benutzer die Vorgabe einer Sollhöhe des Wasserstands über ein Potentiometer.
- Die Werte werden über A1 des Arduinos in Simulink eingelesen.
- Ein 100 nF Kondensator stabilisiert die analogen Werte.
- Eine Mittelwertfilterung über fünf Messwerte wird mit dem MATLAB-Function-Block Benutzereingabe_Hoehe_Mittelwert_Berechnung umgesetzt.
- Die gefilterten Digitalwerte werden in einem 1-D Lookup Table in Meter umgerechnet.
Benutzereingabe_Stoerung
Über ein zweites Potentiometer kann der Benutzer eine Störung in Prozent vorgeben.
- Auch hier erfolgt die Einlesung über einen Arduino-Analogkanal in Simulink.
- Der Aufbau ist identisch zur Benutzereingabe_Hoehe, inklusive 100 nF Kondensator und Mittelwertfilterung über fünf Werte.
- Die Umrechnung von Digitalwert auf Störgröße in Prozent erfolgt in einem 1-D Lookup Table.
- Die Ausgabe wird durch einen Round-Block auf ganze Prozent gerundet.
Pumpe_Regelung
- Das Regelsignal Regelung_PWM wird zunächst über einen Round-Block gerundet und anschließend durch einen Abs-Block geleitet, um eine positive, ganzzahlige PWM zu erzeugen.
- Da die Pumpen erst ab einem PWM-Wert von 71 anlaufen, wird dieser Wert über den Lookup Table Regelung_PWM-Offset als Offset hinterlegt: 0 % ≙ 0 PWM / 1 % ≙ 71 PWM / 100 % ≙ 255 PWM
- Das Offset-Signal wird über zwei Switch-Blöcke weitergeleitet:
PR_PWM_>_0 steuert die Zuflusspumpe bei positiver PWM, PR_PWM_<=_0 steuert die Abflusspumpe bei negativer PWM.
- Das Vergleichssignal PWM_Vergleich entscheidet über die Umschaltung:
Wenn PWM > 0: PWM_Vergleich = 0 Wenn PWM ≤ 0: PWM_Vergleich = 1 Steuerung erfolgt über PAR_PR_Vergleich_Switch = 0
- Zur Entscheidungsfindung wird das Signal Regelung_PWM_round vor dem Abs-Block abgezweigt und dem Vergleichsoperator PR_Vergleichsoperator zugeführt.
Bei positiver PWM: Ansteuerung von Regelung_PWM_Zufluss (Pins 3 und 4) Bei negativer PWM: Ansteuerung von Regelung_PWM_Abfluss (Pins 6 und 7)
Da der Arduino PWM-Block nur ganzzahlige Werte verarbeiten kann, werden alle PWM-Signale in 16-Bit-Ganzzahlen umgewandelt.
Pumpe_Stoerung
Die Ansteuerung der Membranpumpe für die Störung, erfolgt in der Komponente Pumpe_Stoerung.
- In Simulink wird das Signal BES_Stoerung_Prozent über einen 1-D Lookup Table (Stoerung_Prozent-PWM_Offset) einem PWM-Wert zugeordnet. Es gilt:
0 % ≙ 0 PWM 1 % ≙ 71 PWM 100 % ≙ 255 PWM
- Der Offset von 71 sorgt dafür, dass die Pumpe bereits bei geringen Störprozentwerten anläuft.
- Das berechnete Signal Stoerung_PWM wird in eine 16-Bit-Ganzzahl umgewandelt.
- Anschließend erfolgt die Ausgabe über PS_Pumpe_Stoerung_PWM und PS_Pumpe_Stoerung_Drehrichtung an die PWM-Pins 8 und 9 des Arduino.
Regelung
Die Komponente Regelung bildet das Herzstück des Systems. Sie verarbeitet den Regelfehler und gibt ein PWM-Signal zur Ansteuerung der Zulaufpumpe aus.
- In Simulink wird kontinuierlich die Differenz d_h zwischen h_soll und h_mess berechnet.
- Der Fehler wird in einen P-Anteil und einen I-Anteil aufgeteilt.
- Die Verstärkungen erfolgen über die Parameter PAR_RG_KP (P-Anteil) und PAR_RG_KI (I-Anteil).
- Der I-Anteil wird über einen Integrator mit Anti-Windup-Grenzen (−255 bis 255) summiert.
- Beide Anteile werden anschließend im Sum-Block addiert.
- Das Ergebnis wird im Saturation-Block von −255 bis 255 begrenzt, um die Stellgröße Reglung_PWM zu erzeugen.
- Dieses Signal wird direkt an die Komponente Pumpe_Regelung übergeben.
ABBILDUNG Softwareumsetzung der Komponente Regelung
Systemtest und Ergebnisse
Systemtest
Regelung
Störung
Ergebnisse
Fazit und Ausblick
Abschließend werden die zentralen Erkenntnisse dieser Arbeit zusammengefasst, ihre Bedeutung für die praxisorientierte Hochschullehre reflektiert und mögliche Erweiterungen im Rahmen eines Ausblicks vorgestellt.
Zusammenfassung der Ergebnisse
Im Rahmen dieser Arbeit wurde ein geregeltes Wasserstandssystem entworfen, aufgebaut und erfolgreich getestet. Dabei wurden unter anderem
- Sensor und Potentiometer kalibriert und stabilisiert,
- Messwerte analysiert und gefiltert,
- sowie eine Benutzerkonsole zur manuellen Einflussnahme und Visualisierung entwickelt.
Die Systemtests zeigten, dass das Regelverhalten insgesamt stabil ist: Die Sollhöhe wird mit einer Genauigkeit von ±5 mm erreicht, Störungen bis zu 90 % können erfolgreich kompensiert werden. Das Regelverhalten des eingesetzten PI-Reglers entsprach weitgehend den Erwartungen aus der Simulation, wobei Effekte wie Totzeiten, Verzögerungen und schwankende Pumpenleistungen zu leichten Abweichungen führten.
Ein Schwachpunkt liegt in der ungleichmäßigen Förderleistung der Pumpen, wodurch bei einer 100 %-Störung ein dauerhafter Wasserstandsabfall auftreten kann. Langzeittests deckten zusätzlich eine Leckage bei der Wasserstandsmessung auf – der gemessene Wasserstand sank über Zeit, obwohl der reale Stand konstant blieb.
Praktische Relevanz und Anwendung
Das entwickelte System eignet sich hervorragend als anschauliches Demonstrationsobjekt in der Hochschullehre. Es bietet:
- eine interaktive Vermittlung von Regelungstechnik (z. B. PI-Regelung, Überschwingen, Störkompensation),
- eine intuitive Benutzerführung durch Display und Konsole,
- sowie einen modularen, offenen Aufbau mit gut einsehbaren Komponenten wie Pumpen, Sensorik und Steuerung.
Die robuste Konstruktion und das transparente Gehäuse fördern Sicherheit, einfache Wartung und einen direkten Einblick in die Wirkzusammenhänge eines geregelten technischen Systems.
Verbesserungspotential und Ausblick
Trotz des insgesamt erfolgreichen Projektverlaufs bestehen folgende Optimierungsmöglichkeiten:
- Regler-Interface erweitern: Eine Benutzerfunktion zur Änderung der Reglerparameter (z. B. P- und I-Anteil) oder zur temporären Deaktivierung des Reglers erhöht die Flexibilität im Lehrbetrieb.
- Totzeiten realistisch abbilden: Eine Berücksichtigung von Verzögerungen und Totzeiten in der Simulation verbessert die Genauigkeit der Modellierung und Parametrierung.
- Elektrik überarbeiten: Die Not-Aus-Schaltung sollte überarbeitet werden, um die Pumpen nicht über die 5 V-Versorgung des Arduino zu betreiben.
- Messkette abdichten: Undichtigkeiten in der Messleitung müssen behoben werden, um langfristig zuverlässige Messergebnisse zu gewährleisten.
- Zuflussführung optimieren: Die Wasserzufuhr sollte direkt zum Tankboden geleitet und mit einem Rückschlagventil ausgestattet werden, um Totzeiten und Messwertverfälschungen durch Wellenbewegungen zu minimieren.
Das System bietet eine solide Grundlage für zukünftige Demonstrationen und kann dank seines modularen Aufbaus und der Nutzung von 3D-Druck mit geringem Aufwand erweitert oder angepasst werden.
Anhang
Masterarbeit
SVN
Poster
→ zurück zum Profil: Denim Mike Hilz