Mischregler Multi-MCU

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Zur Navigation springen Zur Suche springen

Armin Rohnen, 14.10.2023

Der Mischregler ist derzeit für eine Heißwassertemperatur beim Boilerdruck von 1300 mbar abgestimmt. Der Boilerdruck kann aber im Bereich 1000 mbar bis 1500 mbar durch den Anwender eingestellt werden.

Der Mischregler bedarf dadurch für den gesamten Druckbereich eine Abstimmung. Eventuell muss mit druckabhängigen Kennwerten oder Kennlinien gearbeitet werden.

Noureddine Ait Ouhamou, 13.10.2023

Zuerst wird überprüft, ob die Tee oder Kaffee bezogen wird.

  if app.flag_Y09 == 0

Anschließend wird der PID-Regler erst reagieren, wenn die Isttemperatur am Mischerwassersensor größer als 80 °C beträgt.

   if str2num(app.Mischwassertemperatur.Text) > 80

Danach wird wie beim Mischregler die Abweichung berechnet. Bei dieser Abweichung wird der Messwert vom Sollwert abgezogen, da bei einer zu hohen Temperatur das Dosierventil aufgedreht wird, um mehr kaltes Wasser zum heißen Wasser zu mischen. Mit Hilfe der richtigen Verstärkungsfaktoren berechnet der Regler durch die Temperaturdifferenz die gerundete Schrittanzahl, um die der Schrittmotor verstellt werden muss. Danach wird die Schrittzahl mit der jetzigen Schrittmotorposition verrechnet. Zuletzt merkt sich der Regler die alte Abweichung und berechnet den neuen Integralwert.

Die Berechnung des Integralwerts erfolgt wie beim Boilerdruckregler über das Rechteckverfahren. Ebenso wird durch AntiWindup verhindert, dass der Integralwert nicht unkontrolliert zu groß bzw. zu klein wird. Der IAnteil wird eingefroren, wenn die Mischerpostion kleiner als 50 und größer als 200 beträgt. Beim Einstellen des Reglers ist die Mischerpostion des Dosierventils meistens zwischen 40 und 180 variiert. Nach dem die richtige Position bestimmt wurde, werden die Stellgrenzen überprüft, ob die neue Dosierventilposition eingestellt werden darf. Dabei wird bei einer Position kleiner als 0 das Ventil komplett geschlossen, da dies die mechanische Grenze ist. Durch die vorherigen Versuche ist die obere Grenze bei 250 Schritten festgelegt worden. Damit der PID-Regler auch wie gewünscht funktioniert, werden die Verstärkungsfaktoren der jeweiligen Anteile ermittelt. Für Kp wird der Schwingversuch von Ziegler Nicholson durchgeführt. Dabei wird der Proportionalfaktor solange erhöht, bis das System anfängt zu schwingen [110]. Somit ergibt sich ein Kpkrit von 0,5. Mit der Tabelle aus [110] wird Kp = 0,3 errechnet. Nach weiteren Tests hat sich ergeben, dass für Kp = 0,4 der Regler am besten arbeitet. Die Periodendauer ist bei dem Versuch nicht ablesbar gewesen, wodurch für Ki und Kd der experimentelle Ansatz gewählt wurde. Dadurch ergeben sich die Werte Ki = 0.005 und Kd = 0.01.

Die gewünschte Solltemperatur wird meistens nicht richtig erreicht. Die Abweichung im eingeregelten Zustand beträgt zwischen 0,5 °C bis 1 °C. Diese Problematik entsteht durch das Runden der Schrittzahl zum Einstellen der Temperatur. Im Moment wird der errechnete Wert auf die nächst kleinere ganze Zahl mit dem Rundungsbefehl floor() in MATLAB® abgerundet. Mit der Methode ceil() wird der Wert auf die nächst höhere ganze Zahl aufgerundet. Dadurch entsteht der gegenteilige Effekt, dass die Temperatur um die gleiche Differenz zu klein ist. Zudem wurde getestet wie sich der Mischregler bei anderen Boilerdrücken bzw. Kesseltemperaturen verhält. Dabei ist festgestellt worden, dass die vorherigen eingestellten Grenzen nicht erreicht werden. Bei einem Druck von 1000 mbar gab es eine Abweichung von 1 °C zur Solltemperatur von 92 °C. Bei einem Kesseldruck von 1500 mbar beginnt das System an zu schwingen. Zu einem liegt es dran, dass der Durchflussregler sich nicht optimal einstellt, da der Messwert des Durchflusses sich nicht schnell genug aktualisiert hat und zum anderen kühlt der Boiler schneller ab bei einer höheren Temperatur. Dazu müssten die Vorfaktoren für den Mischregler angepasst werden.

Madita vom Stein, 20.07.2023 - Abschlussbemerkung

Mischreglerauslegung.png


Die quantitativen Ziele für die Einschwingdauer, Überschwinger und stationäre Genauigkeit sind festzulegen. Zum Erreichen dieser Ziele sollen kP-, kI- und kD-Faktoren, beziehungsweise sinnvolle Kombinationen eben dieser, optimiert werden.
Ein von uns vorgeschlagener Lösungsansatz ist, den Temperaturverlauf über der Zeit mittels der Ziegler und Nichols Methode auszuwerten, und so mögliche Kombinationen der Reglerparameter zu bestimmen. Der Temperaturverlauf ergibt sich aufgrund von Eingangssprüngen, also Sprüngen der Halbschrittanzahl des Schrittmotors. Der grundlegende Gedanke dieses Ansatzes ist in nebenstehender Abbildung visualisiert.

Madita vom Stein, 19.06.2023

Ziel des Mischreglers ist die Dosierung des Kaltwassers, um die Soll-Temperatur innerhalb einer möglichst kurzen Einschwingdauer, mit möglichst geringen Überschwingern, möglichst stationär genau zu erreichen.
Hierfür werden Versuche mit variierenden kP-, kI- und gegebenenfalls kD-Faktoren durchgeführt, und jeweils die Temperatur über der Zeit visualisiert.
Aktuell ist der Mischregler als PID-Regler programmiert, wobei der D-Anteil momentan gleich null ist, also ein PI-Regler vorliegt. Bei Bedarf kann ein differenzierender Anteil zusätzlich berücksichtigt, und damit auf einen PID-Regler gewechselt werden.
Ein P-Anteil reagiert ohne Verzögerung auf den Regelfehler; hinterlässt aber bleibende Abweichungen.
Der integrative Anteil eines PID-Reglers sorgt für stationäre Genauigkeit; verzögert die Regelung jedoch.
Durch den D-Anteil wird die Wahl eines größeren kP-Faktors ermöglicht, da das System weniger schnell zum Schwingen beginnt.

Armin Rohnen, 19.06.2023

Der Regler für die Mischtemperatur in der Betriebssoftware wurde dem elektronischen Dosierventil angepasst, muss aber noch getestet werden.

Armin Rohnen, 16.02.2023

Der für die STM32-Elektronik realisierte Regler für die Mischwassertemperatur ist für die Multi-MCU-Elektronik zu realisieren.