Frage zur Regelung von Wasserdampftemperatur

OP #1713598
Hallo,

Ziel
Ich will konstante einstellbare Dampf-Temperatur in einer kleinen Box 
haben.

Aufbau
Wasserkocher erzeugt Wasserdampf, dieser geht durch einen Schlauch zu 
der Box. In der Box in ein digitaler Temperatursensor verbaut.
Der Wasserkocher kann AUS/EIN geschaltet werden (per elektronischem 
Relais).

Software (C++ Code) mit Display & Knopf (für Eingabe) Temperatursensor 
ect läuft schon alles.

Meine Frage zu dem Regler

Kann man, wenn man nur zwischen EIN/AUS wählen kann einen normalen 
Software PID Regler verwenden?

Welcher Regler ist am sinnvollsten PI, PD, PID?

Anmerkung
Dass Wasserdampf normalerweise 100°C hat weiß ich. Da ich auch nicht den 
Druck steuern kann ist höchstwahrscheinlich die Temperatur nur sehr 
begrenzt einstellbar (schlimmstenfalls soll es bloß die Temperatur 
halten).
Das ganze ist ein Dampfkasten um Holz mit Wasserdampf weich zu bekommen 
dass man es anschließend gut biegen kann.

Ich Hoffe das man meinen Aufbau samt Frage versteht...
Danke!
OP
1
//init
2
boolean oben = false;  
3
  
4
//Polling loop
5
   if ((temperatur <= (solltemperatur+1)) && !oben) heat();
6
   else oben = true;
7
      
8
   if ((temperatur >= (solltemperatur-1)) && oben) noheat();
9
   else oben = false;
10

11
//heat()   schaltet Heizung EIN
12
//noheat() schaltet Heizung AUS

so müsste es funktionieren oder? Hab ganz schön geknobelt...
Gast
Hallo Rolf,


so müsste es funktionieren. Wozu benötigst du die bool-variable oben? 
Der Code könnte auch kürzer sein:


if (momentaneTemperatur >= sollTemperatur) {

  heizungAus();
}
else {

  heizungAn();
}

Alternativ:

if (momentaneTemperatur > maxTemperatur) heizungAus();
if (momentaneTemperatur < minTemperatur) heizungAn();


Dein Regler wird genauer je öfter du die if-Abfrage bzw. je aktueller 
der momentane gemessene Temperaturwert ist. Zudem ist zu überlegen wo 
dein Sensor liegt, in der Mitte oder am Rand? Da in der Mitte die 
Temperatur schneller ansteigt als am Rand.

Liegt dein Sensor in der Mitte benötigst du einen Puffer/Buffer. Das 
heißt eine gewisse Zeitspanne darf geheizt werden obwohl der Sensor eine 
Höhere Temperatur mitteilt.

Bsp:

int buffer = XX; // als Beispiel entspricht XX ~ YY °C

if (momentaneTemperatur-buffer > maxTemperatur) heizungAus();
if (momentaneTemperatur+buffer < minTemperatur) heizungAn();

Beste Grüße
Frank
Persönliche Seite
Gesättigter Wasserdampf hat bei Atmosphärendruck immer die gleiche 
Temperatur und das sehr genau. Darauf kann man nicht regeln.

Mit einem Temperatursensor kann man bestenfalls feststellen, ob 
überhaupt Dampf vorhanden ist.

Wenn ich das richtig verstanden habe, soll ja auch eher der Volumenstrom 
des Dampfs geregelt werden. Das ist einfach über einen Leistungssteller 
vor dem Dampferzeuger möglich. Die Dampfmenge ist im eingeschwungenen 
Zustand direkt proportional zu der Heizleistung. Ein einfacher 
Phasenanschnittdimmer genügt dafür.

Grüße,

Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.