Das lernst du heute
- Raum mit PI-Regler halten
- Anti-Windup
- Verlauf anzeigen
Die Woche hat P, PI, D, das Einstellen und Kaskaden in kleinen Stücken gezeigt. Jetzt baust du einen Regler, der wirklich einen Raum hält: das Labor mit einer Wandheizung, einem Drehknopf für den Sollwert und zwei Anzeigen für den Verlauf.
Die Anlage
| Gerät | Prefab | Name |
|---|---|---|
| Gas-Sensor im Raum | StructureGasSensor | „Raum“ |
| Wandheizung | StructureWallHeater | „Heizung“ |
| Drehknopf | StructureLogicDial | „Soll“ (Sollwert in °C) |
| LED-Anzeige | StructureConsoleLED5 | „Leistung“ (Stellgröße in %) |
| LED-Anzeige | StructureConsoleLED5 | „Abweichung“ (in K) |
Die Wandheizung gibt 1000 J pro Takt ab und läuft nur über 6,3 kPa. Sie kennt nur On – kein Setting, keine halbe Leistung.
PI-Regler mit Pulsweite
Der PI-Regler rechnet eine Stellgröße u zwischen 0 und 1. Weil die Heizung nur an oder aus kann, machst du daraus eine Pulsweitenmodulation (PWM): In einem Fenster von 10 Takten ist die Heizung so viele Takte an, wie u vorgibt. u = 0,3 heißt 3 Takte an, 7 aus.
add takt takt 1
mod takt takt FENSTER # 0 bis 9, dann von vorn
mul tmp u FENSTER
slt an takt tmp # an, solange takt < u * 10
Ein Raum ist träge genug, dass er das Ein und Aus in einem Fenster von 5 Sekunden nicht merkt. Er spürt nur die mittlere Leistung.
Der Regler selbst ist der von Tag 156, nur in Kelvin und mit u von 0 bis 1:
sub e soll t
mul tmp e KI
add i i tmp
clamp i i 0 1 # Anti-Windup: nie mehr als volle Leistung
mul u e KP
add u u i
clamp u u 0 1
Sollwert und Ausfälle
- Der Drehknopf liefert °C.
add soll soll CELSIUSOFFSETmacht Kelvin daraus. Fehlt der Knopf, istsollNaN – dann gilt SOLL_STD (20 °C). - Fehlt der Sensor, ist
tNaN. Dann: Heizung aus, „Leistung“ zeigt −1, „Abweichung“ 0, undiwird nicht angefasst. Sonst ist der Regler nach der Reparatur vergiftet.
Teilziele
- Kalter Raum: Heizung an, „Leistung“ 100, „Abweichung“ in K
- Nahe am Soll schiebt der I-Anteil nach und hält die Leistung, wenn das Soll erreicht ist
- PWM: Bei u = 0,5 ist die Heizung in der ersten Hälfte des Fensters an, in der zweiten aus
- Anti-Windup: Nach langer Kälte geht die Heizung aus, sobald der Raum über dem Soll ist
- Sollwert vom Drehknopf, ohne Knopf 20 °C
- Sensor weg: Heizung aus, „Leistung“ −1,
ibleibt stehen
Die Register i (r3) und takt (r5) sind im Startcode festgelegt. Die Tests setzen sie für die PWM-Prüfung direkt – behalte die Zuordnung bei.
Ohne clamp i i 0 1 sammelt der I-Anteil in einer kalten Nacht Werte weit über 1 an. Am Morgen heizt die Heizung dann noch lange voll weiter, obwohl der Raum längst warm ist.
Projektaufgabe
Aufgabe
Baue den PI-Heizregler nach den Abschnitten oben. Defines, alias und das Lesen des Sensors sind schon da. Es fehlen Sollwert, NaN-Prüfung, Regler mit Anti-Windup, PWM, die beiden Anzeigen und der Störungszweig.
Teilziele
- Teilziel 1: Kalter Raum, volle Leistung
- Teilziel 2: I-Anteil schiebt nach und hält
- Teilziel 3: PWM im Fenster von 10 Takten
- Teilziel 4: Anti-Windup nach langer Kälte
- Teilziel 5: Sollwert vom Drehknopf
- Teilziel 6: Sensor weg, sicherer Zustand
Hinweise
Hinweis 1
Sollwert: lbn soll KNOPF HASH("Soll") Setting Average, add soll soll CELSIUSOFFSET, dann snan tmp soll und select soll tmp SOLL_STD soll.
Hinweis 2
Gleich nach dem Lesen des Sensors bnan t stoerung. Im Zweig stoerung: Heizung aus und Anzeigen setzen – i nicht anfassen.
Hinweis 3
Regler: erst i aufsummieren und mit clamp i i 0 1 begrenzen, dann u = KP · e + i, ebenfalls auf 0 bis 1.
Hinweis 4
PWM: add takt takt 1, mod takt takt FENSTER, mul tmp u FENSTER, slt an takt tmp.
Quiz
2 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Alle Teilziele des Projekts bestanden
- Quiz mit mindestens 60 % bestanden
Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.
Fehler in dieser Lektion melden
Zum Melden bitte anmelden. Anmelden