www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Frage zur Regelung von Wasserdampftemperatur


Autor: Anton Aus tirol (bingo_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: blub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Frank(d*m#m.) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
blub hat Recht

Zweipunktregler(Zwei-Zustände) ist das Stichwort, nix mit PI, PID... 
dein Relais wird also nicht zur Ruhe kommen :-)

Autor: Anton Aus tirol (bingo_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
//init
boolean oben = false;  
  
//Polling loop
   if ((temperatur <= (solltemperatur+1)) && !oben) heat();
   else oben = true;
      
   if ((temperatur >= (solltemperatur-1)) && oben) noheat();
   else oben = false;

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

so müsste es funktionieren oder? Hab ganz schön geknobelt...

Autor: Frank(d*m#m.) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.