MODE 2 — THERMOSTAT
Medium · 1h · Fast kostenlos
Ziel & Anwendung
Ein echter Temperatur-Fühler steuert den Heizer! Anhauchen, mit der Hand wärmen oder kühl anfassen — der Dreh-Regler stellt die Zieltemperatur ein, ein PI-Regler hält den Heizer automatisch nach. Wird es zu warm, schaltet der Heizer ab und eine Lüftungsklappe öffnet sich zum Auskühlen.
- PI-Regelkreis mit Integral-Anteil und Anti-Windup an einem echten Temperatur-Fühler erleben
- Realistisches Heizer-Verhalten nachbauen: heizen bei Kälte, auskühlen lassen bei Wärme
- Lüftungsklappen-Servo als mechanische Kühl-Anzeige einsetzen
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Ist-Temperatur-Zeiger |
| S2 | 180°-Servo | Lüftungsklappe — öffnet nur beim Auskühlen |
| S3 | 180°-Servo | Soll-Temperatur-Markierung |
| S4 | 360°-Servo | Lüfterrad-Show, dreht beim Auskühlen |
| S5 | 360°-Servo | Lüfterrad gegenläufig |
| S6 | 180°-Servo | Fähnchen — zeigt Heizen oder Kühlen an |
| STEPPER | Schrittmotor | Soll-/Ist-Differenzskala |
| DC | DC-Motor | Heizelement |
Materialliste
- Kartonbox als Thermostat-Gehäuse (ca. 15×10 cm)
- Kartonklappe mit Klebeband-Scharnier als Lüftungsöffnung
- Papier-Skala für Temperatur-Anzeige hinter dem S1-Zeiger
- Heißkleber
- Strohhalm als Lüftungsklappen-Gelenk
Step-by-Step Tutorial
Thermostat-Gehäuse und Zeiger aufbauen
Baue eine Kartonbox als Thermostat-Panel. Befestige S1 (180°-Servo) horizontal — Plastik-Servo-Horn aufschrauben, kurzen Zeiger-Arm (8 cm) flächig aufkleben. Bei 8 cm Arm kein Gegengewicht nötig — bleibt im Drehmoment-Bereich. Zeichne eine Temperatur-Skala auf Papier hinter dem Zeiger.
Check: S1-Zeiger bewegt sich von 10°C bis 40°C über der Papier-Skala
Tipp: Papier-Skala hinter dem Servo-Arm: 10°C links (1000 ms) bis 40°C rechts (2000 ms)
Lüftungsklappe mit S2 bauen
Schneide eine Lüftungsöffnung (5×3 cm) in die Box-Seite. Baue eine Kartonklappe mit Klebeband-Scharnier. S2 (180°-Servo) bleibt geschlossen solange der Heizer läuft und öffnet sich nur, wenn die Temperatur über das Ziel steigt — je wärmer, desto weiter.
Check: S2 öffnet die Klappe nur, wenn es zu warm ist — beim Heizen bleibt sie zu
Tipp: Gegenteiliges Verhalten zu einem Heizkörper-Thermostat: die Klappe hilft beim Auskühlen, nicht beim Heizen
PI-Regler-Logik verstehen und einstellen
Dreh-Regler stellt die Zieltemperatur zwischen 10 und 40°C ein. Ist es kälter als das Ziel, heizt der Heizer proportional zum Fehler nach. Ist es wärmer, schaltet der Heizer ab und die Lüftungsklappe öffnet sich stattdessen.
Check: Der Heizer nähert sich automatisch der passenden Leistung, ohne dauerhaft zu überschwingen
Tipp: Der Integral-Anteil summiert den Fehler über die Zeit auf und wird nach oben und unten begrenzt (Anti-Windup) — so schaukelt er sich nicht unkontrolliert auf
Soll-Markierung mit S3
Befestige S3 (180°-Servo) neben S1 auf derselben Temperatur-Skala. S3 bleibt fest auf dem eingestellten Soll-Wert stehen. Wenn S1 und S3 übereinander stehen: Zieltemperatur erreicht!
Check: S3 zeigt immer exakt die eingestellte Zieltemperatur an
Tipp: S3 ist ein statischer Zeiger — bewegt sich nur, wenn am Dreh-Regler gedreht wird
Bonus-Anzeigen: Lüfterrad und Heiz/Kühl-Fähnchen
Klebe auf S4 und S5 je eine kleine Kartonscheibe als Lüfterrad — sie drehen im Blink-Takt, sobald aktiv gekühlt wird. Auf S6 ein Fähnchen, das je nach Zustand auf Heizen oder Kühlen zeigt. Der Schrittmotor bewegt einen Zeiger über eine Skala, die die Differenz zwischen Ist- und Solltemperatur anzeigt.
Check: Lüfterrad-Servos und Fähnchen laufen frei, Stepper-Zeiger bewegt sich über die volle Skala
Leichtgängigkeitstest und echten Temperatur-Fühler testen
S2-Klappe manuell auf/zu bewegen — frei? S1 und S3 manuell drehen — keine Blockierung? Erst dann Strom einschalten. Jetzt den Temperatur-Fühler am Steuerpult kurz anhauchen oder mit der Hand wärmen: S1 wandert nach oben, der Heizer reagiert. Fühler kurz abkühlen lassen: Heizer schaltet ab, die Klappe öffnet zum Auskühlen.
Check: Temperatur-Zeiger (S1) nähert sich dem Soll-Zeiger (S3) gleichmäßig, ohne stark zu überschwingen
Tipp: Klappe S2 klemmt: Scharnier mit Graphit schmieren oder Gummiband als Rückstellkraft hinzufügen
Troubleshooting
- S1-Zeiger erreicht S3 nie ganz (Stationärfehler) — Etwas länger warten — der Integral-Anteil baut sich über ein paar Sekunden auf und gleicht den Restfehler aus
- S1 überschwingt weit über S3 hinaus — Temperatur-Fühler nicht dauerhaft sehr stark erwärmen — bei großen Sprüngen braucht der Regler kurz zum Einschwingen
- Lüftungsklappe (S2) öffnet aber schließt nicht mehr — Klappe klemmt — Scharnier mit Graphit schmieren oder Gummiband als Rückstellkraft hinzufügen
Modifikationen & Sicherheit
- Pro-Tipp: Differenzial-Anteil (D) hinzufügen um Überschwingen zu reduzieren — Upgrade zu PID
- Pro-Tipp: Steuerknüppel-Taste als schnelles Reset für die Zieltemperatur belegen
- Sicherheit: DC-Motor läuft warm bei Dauerlast — keine Dauerlast ohne Pause, Kühlzeit einplanen
Wichtige Code-Teile
// PI-Regler für Temperatur (echter Sensor-Wert)
float targetT = constrain(targetT + EncoderPos * 0.1f, 10.0f, 40.0f);
EncoderPos = 0;
float err1 = targetT - temperature;
integT = constrain(integT + err1 * dt, -50.0f, 50.0f); // Anti-Windup
float pwr = constrain(err1 * 15.0f + integT * 2.0f, -100.0f, 100.0f);
// Heizen (pwr > 0): DC-Motor an, Klappe zu
// Kühlen (pwr < 0): DC-Motor aus, Klappe öffnet proportional
if (pwr > 0) { setMotorspeed(pwr); servocontroller.setServoPulse(2, 1000); }
else {
setMotorspeed(0);
servocontroller.setServoPulse(2, map(constrain((int)abs(pwr), 0, 100), 0, 100, 1000, 2000));
}
// Servo-Anzeigen
servocontroller.setServoPulse(1, mapTemperature); // Ist-Temp (echter Sensor)
servocontroller.setServoPulse(3, map(constrain((int)(targetT * 10), 100, 400), 100, 400, 1000, 2000)); // Soll
// S6: Heizen/Kühlen-Fähnchen
servocontroller.setServoPulse(6, pwr > 0 ? 2000 : (pwr < 0 ? 1000 : 1500));Ähnliche Projekte
- MODE 5 — RPM HOLD — Ein Antriebsmotor jagt einer Zieldrehzahl hinterher, die der Steuerknüppel vorgibt — und du selbst lieferst mit dem Dreh-Regler das Tacho-Signal von Hand. Zwei Schwungrad-Servos drehen mit, als würden sie die Trägheit des Antriebs spüren, und eine Klappe schnappt auf, sobald Ist- und Soll-Drehzahl exakt zusammenpassen.
- MODE 9 — LEVEL PID — Halte einen Behälter-Füllstand automatisch auf konstantem Niveau! Ein Nähe-Sensor misst den aktuellen Pegel, ein Regler steuert Einlass- und Auslassventil, der DC-Motor simuliert die Pumpe. Ein Zeiger zeigt den aktuellen Pegel — exakt wie in einer echten Automatisierungsanlage.
- MODE 1 — BALL BALANCE — Halte einen Ball auf einer flachen Plattform in der Mitte — in zwei Achsen gleichzeitig! Der Kipp-Sensor misst die Plattform-Neigung, zwei Servos kippen automatisch dagegen. Der Dreh-Knopf stellt die Regelstärke live ein, ein dritter Zeiger zeigt den Gesamtfehler. Der Rüttel-Motor warnt bei zu starker Neigung.