stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Tag 160

Tag 160 von 365 · Fortgeschritten · Monat 6: Atmosphäre und Regelung

Projekt: PI-Heizregler

Ein PI-Regler hält das Labor auf Solltemperatur: Wandheizung per Pulsweite, Sollwert vom Drehknopf, Anti-Windup, Verlauf auf zwei Anzeigen und ein sicherer Zustand bei Sensorausfall.

Projekt 35 Min. Woche 23

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ätPrefabName
Gas-Sensor im RaumStructureGasSensor„Raum“
WandheizungStructureWallHeater„Heizung“
DrehknopfStructureLogicDial„Soll“ (Sollwert in °C)
LED-AnzeigeStructureConsoleLED5„Leistung“ (Stellgröße in %)
LED-AnzeigeStructureConsoleLED5„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 CELSIUSOFFSET macht Kelvin daraus. Fehlt der Knopf, ist soll NaN – dann gilt SOLL_STD (20 °C).
  • Fehlt der Sensor, ist t NaN. Dann: Heizung aus, „Leistung“ zeigt −1, „Abweichung“ 0, und i wird nicht angefasst. Sonst ist der Regler nach der Reparatur vergiftet.

Teilziele

  1. Kalter Raum: Heizung an, „Leistung“ 100, „Abweichung“ in K
  2. Nahe am Soll schiebt der I-Anteil nach und hält die Leistung, wenn das Soll erreicht ist
  3. PWM: Bei u = 0,5 ist die Heizung in der ersten Hälfte des Fensters an, in der zweiten aus
  4. Anti-Windup: Nach langer Kälte geht die Heizung aus, sobald der Raum über dem Soll ist
  5. Sollwert vom Drehknopf, ohne Knopf 20 °C
  6. Sensor weg: Heizung aus, „Leistung“ −1, i bleibt stehen
Tipp

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.

Achtung

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

  1. Teilziel 1: Kalter Raum, volle Leistung
  2. Teilziel 2: I-Anteil schiebt nach und hält
  3. Teilziel 3: PWM im Fenster von 10 Takten
  4. Teilziel 4: Anti-Windup nach langer Kälte
  5. Teilziel 5: Sollwert vom Drehknopf
  6. 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

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall