MODE 9 — LEVEL PID

Medium · 1h · Fast kostenlos

Ziel & Anwendung

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.

  • Einen Füllstand automatisch auf einem eingestellten Zielwert halten
  • Einlass- und Auslassventil als getrennte, gegenläufige Servo-Aktoren koordinieren
  • Stabile Regelung ohne dauerhaften Restfehler erreichen

Anschluss & Funktion

Motoren am Board

AnschlussMotorAufgabe
S1180°-ServoEinlassventil, öffnet zum Auffüllen
S2180°-ServoAuslassventil, öffnet zum Ablassen
S3180°-ServoPegel-Zeiger
DCDC-MotorSimulierte Pumpe, läuft beim Auffüllen

Materialliste

  • Transparente Plastikflasche oder Kartonbehälter als 'Tank'
  • Kartonklappe als Ventil-Attrappe (Einlass oben, Auslass unten)
  • Strohhalme als Klappen-Gelenke
  • Papier-Skala für Füllstand
  • Heißkleber

Step-by-Step Tutorial

  1. Tank-Attrappe und Ventil-Klappen bauen

    Baue eine Kartonbox als Tank-Attrappe. Oben eine Einlass-Klappe, unten eine Auslass-Klappe, jeweils an einem 180°-Servo. Schraube die Plastik-Servo-Hörner auf und klebe kurze Klappen aus Karton flächig darauf. Ein Klebeband-Scharnier hält die Klappen beweglich, ein Gummiband dient als Rückstellfeder.

    Check: Beide Ventil-Klappen öffnen und schließen sich frei per Servo-Bewegung

    Tipp: Einlass-Ventil oben am Tank, Auslass-Ventil unten — symbolisiert Zu- und Abfluss

  2. Nähe-Sensor als Pegel-Sensor einrichten

    Befestige den Nähe-Sensor seitlich am Tank, auf halber Höhe. Ein beweglicher Karton-Schwimmer an einem Faden ahmt den Füllstand nach — je höher der Schwimmer steigt, desto näher kommt er dem Sensor. Der Pegel-Zeiger zeigt diesen Wert direkt als Ausschlag.

    Check: Der Sensor reagiert deutlich auf einen sich nähernden oder entfernenden Schwimmer

    Tipp: Nah am Sensor bedeutet hoher Pegel, weit entfernt bedeutet niedriger Pegel

  3. Regler für den Füllstand verstehen

    Der Dreh-Knopf stellt den Ziel-Pegel ein. Ist der gemessene Pegel niedriger als das Ziel, öffnet das Einlassventil und die Pumpe läuft an. Ist er höher, öffnet stattdessen das Auslassventil. So pendelt sich der Füllstand von selbst auf den eingestellten Zielwert ein.

    Check: Bei niedrigem Pegel öffnet das Einlassventil und das Auslassventil schließt, bei hohem Pegel umgekehrt

    Tipp: Der Regler reagiert nicht nur auf den aktuellen Fehler, sondern merkt sich auch, wie lange der Fehler schon anhält

  4. Leichtgängigkeitstest beider Ventile

    Beide Servos von Hand in beide Positionen drehen — öffnen und schließen die Klappen sauber? Die Gummiband-Rückstellkraft testen: Klappe von Hand öffnen und loslassen — schließt sie komplett? Erst wenn beide Klappen zuverlässig arbeiten, Strom einschalten.

    Check: Beide Klappen öffnen vollständig und schließen zuverlässig durch das Gummiband

    Tipp: Schließt eine Klappe nicht vollständig, die Gummiband-Spannung erhöhen oder die Klappe leichter machen

  5. Regler-Verhalten und Ziel-Pegel testen

    Am Dreh-Knopf den Ziel-Pegel ändern. Schwimmer manuell auf eine niedrige Position bringen: das Einlassventil öffnet und die Pumpe läuft. Schwimmer auf eine hohe Position bringen: das Auslassventil öffnet stattdessen. Der Pegel-Zeiger zeigt jederzeit den aktuellen Stand — Ziel ist, dass der Schwimmer sich von selbst auf den Soll-Pegel einpendelt.

    Check: Der Schwimmer wird automatisch auf dem Ziel-Pegel gehalten

    Tipp: Der Regler reagiert auch bei einem langsam aufbauenden Fehler zuverlässig, nur braucht das etwas Geduld

Troubleshooting

  • Der Pegel erreicht den Zielwert nie ganz — Der Regler braucht Zeit, kleine Dauerabweichungen aufzuintegrieren — etwas Geduld, oder die Reglerstärke leicht erhöhen
  • Der Pegel schwingt zwischen zwei Werten hin und her — Die Reglerstärke reduzieren — eine zu aggressive Regelung überschießt ständig über den Zielwert hinaus
  • Der Nähe-Sensor liefert keine sinnvollen Pegel-Werte — Schwimmer einmal in die unterste und oberste Position halten und die Sensor-Anzeige dabei beobachten, um die Kalibrierung zu prüfen

Modifikationen & Sicherheit

  • Pro-Tipp: Echtes Wasser mit einer echten kleinen Pumpe und Ventilen für eine funktionale Demonstration einsetzen
  • Pro-Tipp: Alarmton bei extrem niedrigem oder hohem Pegel für eine Überlauf- oder Leerstand-Warnung ergänzen
  • Sicherheit: Bei Einsatz mit echtem Wasser die Elektronik komplett vom Wasser trennen — ein wasserdichtes Gehäuse ist zwingend

Wichtige Code-Teile

// Pegel aus IR-Sensor
float currentLevel = map(IRSensor, 500, 3000, 0, 100);
currentLevel = constrain(currentLevel, 0.0f, 100.0f);

// Ziel-Pegel per Encoder
float targetLevel = constrain((float)EncoderValue, 0.0f, 100.0f);

// PI-Regler
float dt = (millis() - lastTime) / 1000.0f;
lastTime = millis();
float errLevel = targetLevel - currentLevel;
integLevel += errLevel * dt;
integLevel = constrain(integLevel, -500.0f, 500.0f);

float valveOut = errLevel * 8.0f + integLevel * 1.0f;
valveOut = constrain(valveOut, -300.0f, 300.0f);

// S1: Einlassventil, S2: Ablassventil (invertiert)
servocontroller.setServoPulse(1, constrain(1500 + (int)valveOut, 1000, 2000));
servocontroller.setServoPulse(2, constrain(1500 - (int)valveOut, 1000, 2000));

// DC: Pumpe läuft wenn Einlass offen (errLevel > 0)
setMotorspeed(errLevel > 5.0f ? 60 : 0);

// S3: Pegel-Anzeige
servocontroller.setServoPulse(3, map((int)currentLevel, 0, 100, 1000, 2000));

Ähnliche Projekte

  • MODE 2 — THERMOSTAT — 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.
  • 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 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.