mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Stetige Regelung -> 3-Punkt Regelventil


Autor: wewa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Folgende Problemstellung.
Es handelt sich um eine Heizungsregelung. Mit einem 3-Wege-Mischventil 
soll auf eine konstante Rücklauftemperatur geregelt werden.
Ich habe selbst einen digitalen Regler (mit PIC-Mikrocontroller) gebaut. 
Dieser hat Analogeingänge zum Temperaturmessen, Digitalausgänge zum 
Schalten von Relais und auch Analogausgänge. Er funktioniert auch super.

Mein Problem ist jedoch dass ich kein stetigen (0-10V Signal) 
Ventilantrieb zur Verfügung. Stattdessen habe ich einen 3-Punkt-Antrieb, 
also ein Ventil dem man entweder "sagt" AUF oder ZU und durch die Dauer 
des Befehls beeinflusst wie weit das Ventil geöffnet oder geschlossen 
ist.

Mein Regler regelt stetig. Ich errechne mir also ein 0-10V Signal. Doch 
wie ermittle ich nun daraus die Impulse für ein 3-Punktventil?

Ich würde mich über Ideen, Gedankenstützen oder Lösungsvorschläge von 
euch sehr freuen.

mfg wewa

Autor: eh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein zusaezlicher Sensor am Regelventil sagt mir die Vorlauftemperatur. 
Dann braucht man zwei kaskadierte Regelkreise, oder ein etwas 
komplizierter der beides aufs mal macht.
Die Regel ist : Je mehr Sensorinformationen ueber das System vorhanden 
sind, desto besser. Fehlende Sensoren kann man mit einer Simulation 
ersetzen, das nennt sich dann Beobachter.
Ich wuerd erst mal eine konstante Vorlauftemperatur probieren, dann 
diese mit einem langsamen Integrator dem Ruecklauf anpassen.

Autor: anonymous (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte Zuhause auch mal eine solche Ventile (Baujahr 80 oder so). Die 
Stellmotoren an den Ventilen waren aber schnarchlam,  Minuten von 
ganz-auf nach ganz-zu. Die Anteuerung kannte nur 3 Zustände. "Zu warm", 
"passt schon", und "zu kalt" und hat dementsprechend mit fester 
Geschwindigkeit an den ventilen gekurbelt.
3-Punk-Regler nennt sich sowas - funktioniert.
Die haben allerdings die _Vorlauf_Temperatur geregelt, bei Rücklauf wird 
das Prinzip wegen der großen Verzögerung voraussichtlich instabil sein.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich würde hier garnicht viel berechnen;
überschreite die Ist-Temperatur die Soll-Temperatur dann einen Impuls 
mit
einer variablen Länge in Richtung 'schließen'.
Je weiter die Soll-Temperatur von der Ist-Temperatur abweicht, desto 
länger
wird der Impuls. Zwischen den Impulsen immer eine von der Trägheit des
Regelkreises abhängige Zeit warten.
Bei Abweichung von weniger als 1K erfolgt keine Impulsausgabe.
Ich gehe jetzt einmal davon aus, das Du die Rücklauftemperatur nicht
über eine Änderung der Vorlauftemperatur regeln willst(ist nicht 
üblich),
sondern die Rücklauftemperatur über einen Mischer im Rücklauf des 
Heizkessels(Rücklauftemperaturanhebung).
Ich würde mit folgenden Zeiten Anfangen: Impulslänge 1 - 10 sec,
Pausenlänge 10 - 20 sec.
Eine Umrechnung Deines Stetig-Signals wird schwirig, da Du keine
Rückmeldung der Mischerstellung hast.

Viele Grüße

Jürgen

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe solch eine Ansteuerung mit einer PWM realisiert. Periodenzeit 
3min. Dann nur ein P-Regler. Deadbeat wenn es schneller sein soll.

Mfg Michael

Autor: wewa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für eure Hilfe

Der Vorschlag von Michael scheint mir am einfachsten und am besten 
geeignet. Nur ein P-Regler und dann über PWM das Ventil ansteuern. So 
ein 3-Punkt-Regler hat ja sowieso I-Verhalten und dadurch sollte kein 
Regelfehler auftreten. Müsste also so funktionieren.

Mir ist aber auch eine andere - etwas kompliziertere - Möglichkeit 
eingefallen. Ich weiß ja wie lange das Ventil von ganz zu bis ganz auf 
braucht. Also kann ich mir über die Laufzeit die aktuelle Position 
ermitteln.
Angenommen diese Laufzeit beträgt 60s. Zunächst - nach dem Start des 
Reglers - muss ich das Ventil ganz zu fahren - also ein 60s langes ZU 
Signal - damit ich die Position des Ventils weiß. Beträgt die Stellgröße 
nun 50%, einfach ein 30s langes AUF Signal. Sinkt die Stellgröße dann 
auf 25%, dann muss ein 15s langes ZU Signal kommen. Usw.
Regelung über PI-Regler.

Was haltet ihr davon?

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo wewa,

deine Idee, über die Laufzeit die Mischerstellung zu erfassen wird nicht
über länger Zeit funktionieren, da die Abweichungen zwischen 
theoretischer
und praktischer Stellung mit der Zeit immer Größer werden.
Da musst du zwischendurch immer wieder nachkalibrieren (auf Nullstellung 
fahren). Dies würde allerdings für die Leichtgängigkeit des Mischers
vorteilhaft sein; also ist deine Idee doch gar nicht so schlecht.
Erschwerend kommt allerdings noch hinzu, dass die Kennline des Mischers
und der gesamten Anlage nicht bekannt ist, und sich durch Einstellungen
an den Heizkörperventilen oder durch zuschalten von Pumpen(Boilerladung) 
auch noch ändert.
Ich würde deshalb die Metode mit dem Herantasten durch Schließ- oder
Öffnen- Impulse empfehlen. Wird auch heute noch von den Regelungen die
ich kenne so gemacht.(Sieht zumindest von Aussen so aus; mag sein, dass
da intern komplizierte Berechnungen mit Fuzzy Logik oder sonst was
stattfinden, aber im Endefekt ist es nichts anderes als: auf wenn zu 
kalt
und zu wenn zu warm, mit einer längern Laufzeit wenn die Abweichung vom
Sollwert größer ist (PWM)).
Das Problem mit dem "Festrosten" von Pumpen und Mischern löst man mit
einem täglichen Zwangslauf.

Gruß Jürgen

Autor: wewa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke ich werde die einfache Methode verwenden, die auch von Jürgen 
bevorzugt wird.

Doch kann mir jemand sagen wie ich die Taktung auslegen soll?
Ich glaube das Ventil hat eine Laufzeit von 90s.
Soll ich das Ventil im Fall einer Stellgröße von 100% mit Dauer EIN 
betreiben (dann wäre das Ventil nach 90s ganz offen). Oder ist das zu 
schnell? Nicht dass ich einen instabilen Regelkreis bekomme.
Könnt ihr mir Erfahrungswerte für geeignete Laufzeiten nennen?

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo wewa,

fang mal mit einer Pausenzeit von 5 sec zwischen jedem Impuls an.
Bei einer schlechten thermischen Anbindung des Temperaturfühlers kann
auch eine längere Pause erforderlich sein.
Bei einer Abweichung <= 1 K würde ich keinen Impuls ausgeben.
Bei einer Abweichung von 2 K eine Impulslänge von 1 sec,
bei einer Abweichung von 20 K eine Impulslänge von 10 sec.
Impulse kürzer als 1 sec und länger als 20 sec würde ich nicht ausgeben.
Wenn die Temperatur überschwingt, dann die Pausenzeit verlängern.

Einfach einen Testlauf machen und die Werte noch abstimmen.

Gruß

Jürgen

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.