Ansteuerung eines 3-Wege-Mischers für eine Fußbodenheizung

Hallo Leute,

ich möchte meine Heizungsanlage mit meinem Arduino steuern und suche nach einem Beispiel, wie ich den Mischer-Motor meines 3-Wege-Ventils der Fußbodenheizung ansteuern kann. Ich kann nichts finden, auch nicht im englischen Forum.

Beschreibung:
Mischer fährt 270°, hat keine Endabschaltung und hat einen Vorlauffühler im Kreislauf hinter dem Mischer, Links bzw. Rechtslauf mit 230V, gesteuert über 2 Relais. Außentemperaturabhängigkeit erstmal egal.
Ich gebe die Vorlauftemperatur des Fühlers vor (z.B. 45°C) und der Mischer soll dann ein wenig öffnen/schließen, dann etwas abwarten und messen (ob sich die Temperatur geändert hat) und dann weiter nach oben oder unten korrigieren.

Fast jede Heizungsregelung kann einen Mischer ansteuern-- nur ich bin zu blöd!

Könnte mir bitte mal einer aufs Pferd helfen?

Es grüßt ein Dummie

Berry07

Jaja, keine Angst, ich kenne mich aus mit Strom usw. - bin Installateur.

Hast Du das Model des Mischer-Motors?

Wenn ich richtig verstanden habe hat der 2 Eingange einen fürs schließen und einen zweiten fürs öffnen?

Grüße Uwe

Hallo Uwe,

Mischer ist ein Nehs MP15-2 ohne Pumpenabschaltung. (2 Minuten Laufzeit für eine Richtung)

Datenblatt http://www.nehs.de/media/content/pdf/heizung/MP15%20a.pdf Bild 2a

Gruß

Andreas

Hallo Berry07

Wenn Du Spannung (230V Wechselspannung) an bl und br (bzw an Klemmen 1 und 2 für den MP15 ELS) legst, dreht er in Uhrzeigerrichtung.
Wenn Du Spannung (230V Wechselspannung) an bl und schw (bzw an Klemmen 1 und 3 für den MP15 ELS) legst, dreht er in Gegen-Uhrzeigerrichtung.
Die nichtgenannten Farben bzw Klemmen bleiben frei.

Ich nehme an der MP15 hat keine Klemmen sondern einen Kabel mit den Farben braun, blau und schwarz.
Den Drehwinkel kannst Du über die Einschaltzeit regeln. Wenn Du einen Sensor auf der Nabe befestigst der ca im Arbeitspunkt schließt, kannst Du so das System im laufenden Betrieb nachjustieren. So weißt Du hie und da in welcher Position der Motor ist und so kannst Du auch bei gegebener Vorlauf und Raumtemperatur ca den notwendigen Öffnungswinkel errechnen und das Ventil (fast) richtig öffnen um nicht alles in kleinen Schritten machen zu müssen und Dich an den Endwert heranzutasten zu müssen.
Als Sensor ist ein Magnet an einem kleinen Hebel und ein Reedkontakt geeignet.

Grüße Uwe

Hallo Berry07,

hatte mal was in der Richtung angefangen - kam aber nie zum Einsatz....

/* Erster Versuch Mischersteuerung  20101025 mb[ALT-Q]komputer.de   */
#include <OneWire.h>
#include <DallasTemperature.h>
// DS1820 an PIN 2
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);

/********************************************************************************/
// Solltemperatur
int tempsoll = 21;
// Hysterese
int hyst = 2;
// Faktor Zeit fuer Mischermotor mein Motor braucht 100s fuer den ganzen Bereich
// hier in millisekunden
int timeon =  1000;
// wartezeit für naechste Messung
int timewait = 2000;
// evtl noch Werte fuer Temp max und min  - dann Stoerung
/********************************************************************************/

void setup() {                
  pinMode(12, OUTPUT); //Mischer auf
  pinMode(13, OUTPUT); //Mischer zu
  // start serial port
  Serial.begin(9600);
  Serial.println("MischerSteuerung test");
  sensors.begin();
  
}

void loop() {
  sensors.requestTemperatures();
  int tempist = sensors.getTempCByIndex(0);
  Serial.print("Ist Temp: ");
  Serial.println(tempist);
  if (tempist > (tempsoll + hyst)) {
  // Mischer zu - Temperatur runter  - LED gruen
  digitalWrite(13, HIGH);
  delay((tempist - tempsoll) * timeon);
  digitalWrite(13, LOW);
  }
  if (tempist < (tempsoll - hyst)) {
  // Mischer auf - Temperatur erhoehen  - LED rot
  digitalWrite(12, HIGH);
  delay((tempsoll - tempist) * timeon);
  digitalWrite(12, LOW);
  }  
  // warten...
  delay(timewait);  
 }

...evtl. hilft dir das ja ein bisschen aufs Pferd :wink:

Viele Grüsse, Michi

Hallo Berry,
wenn ich richtig verstehe, willst du eine Temperatur (Vorlauffühler) messen, ist diese kleiner als eine Solltemperatur soll der Mischer meinetwegen 1 sec in Richtung auf fahren. Dann wieder nach einer vorgegebenen Zeit messen u.s.w. Ist die Temperatur des Vorlauffühlers größer als die Solltemperatur wieder 1 sec zurück?
Richtig??
sollte doch über zwei Relais und zwei Arduino Ausgänge machbar sein.
Gruß
Bernward

sehe gerade, Michi hats wohl so ähnlich gerade schon geschrieben
würde ich allerdings nicht mit delay machen, delay hält das Programm an, das ist sicher nicht gewünscht

Vielen Dank für Eure schnellen Antworten => echt Klasse dieses Forum!!
Und ich Depp quäle mich durch das englische Forum, anstatt gleich hier zu fragen...

"Warum in die Ferne schweifen? Sieh, das Gute liegt so nah!"

@ Komputer.de

Das war genau der Anstoß, den ich brauchte: je größer die Differenz zwischen tempsoll und tempist, desto länger wartet man, bis wieder gemessen wird! Ich denke, erst einmal 10sek sowieso warten bis der Fühler reagiert und dann je 1° Differenz eine Sekunde dazu. Es dauert dann das Nachjustieren per Mischermotor zwar etwas länger, aber im Betrieb wird es sich meist nur um ein paar Grad drehen.

Beim Neustart werde ich den Mischer erst z.B. 60sek zufahren lassen, damit er sich von der niedrigeren Temperatur an die höhere herantastet.

Als Kür soll noch ein Fühler im Fußbodenbelag die Referenz für die Solltemperatur geben, nach dem Motto: "Ich möchte 25° Oberflächentemperatur haben, wieviel Grad muss dann die Solltemperatur sein".

Also eine Annäherungsschleife muss noch dazu.

Ich werde hier berichten.

Vielen Dank, ich reite wieder :wink:

Berry07

Paß mit den Regelzeiten auf, daß Du nicht einen Schwingkreis zusammenbastelst. Die Zeit die vergeht von einer Ansteuerung des Mischermotors zu einer Stabilisation der Tempraturänderung auf dem Fußboden kann einige Minuten sein.
Grüße Uwe

Hallo Berry,
ich hab die ja meine Steuerung als Beispiel geschickt, eine Mischerregelung ist allerdings nicht dabei.
Jetzt noch eine Frage, du hast ja gesagt Außentemperatur ERST mal egal, das soll also auch kommen.
Daher meine Frage, wie sieht eigentlich eine solche Kurve aus, bei welcher Außentemperatur muss der Vorlauf für die Fußbodenheizung wie hoch sein. Hat jemand sowas?
Gruß
Bernward

Ich glaube diese Kurve ist spezifisch für jedes Haus und für jeden Raum und ist am einfachsten experimentel zu bestimmen.
Grüße Uwe

Hallo Bernward,

es gibt Heizkennlinien oder auch Heizkreiskurven genannt, nach denen in Abhängigkeit von der Außentemperatur die Vorlauftemperatur für den Heizkreis festgelegt wird. (siehe:Heizkurve – Wikipedia) Jede witterungsgeführte Heizungsregelung macht das. Also grob: je kälter draußen, desto höher der Vorlauf, aber wie hoch Deine Vorlauftemperatur für Dein Haus, Deine Gegend, Dein Wohlbefinden, Deine Sonneneinstrahlung und Dein Heizverhalten ist, kann eine Heizungsregelung nach DIN nur schlecht automatisch errechnen. Du kannst zwar die "Steilheit" der Kurve ändern und auch eine "Parallelverschiebung" eingeben, aber der Heizkessel bleibt doch doof und kann ja nicht wissen, ob Du nun immer den Heizkörper abdrehst, wenn Du das Fenster aufmachst oder nicht usw.

Ich bin Installateur und Planungsingenieur und habe in meinem Haus teils andere Kriterien zu Grunde gelegt.
Ein Beispiel: Unser Kleiner kommt nicht so richtig in die Puschen und krabbelt immer noch auf dem Fußboden herum, deshalb habe ich in der großen Eßküche, in der sich der Kleine auch meist aufhält, eine Fußbodenheizung unter einem 22mm starken Dielenboden. Das Haus ist aber 240 Jahre alt und die Balkendecken können keinen Estrich tragen, also habe ich eine Trockenbauvariante gewählt: Polystyrol-Isolierung mit eingefrästen Rillen für das Heizrohr, in die Wärmeleitbleche eingelegt werden, um die Wärme nach oben zu leiten. Darauf liegen dünne Bleche, die die Wärme flächig verteilen, darauf 15mm OSB-Platten, Folie und darauf Vollholzdielen. Das Haus hat einen guten Dämmstandard, ich habe es 4 Jahre lang selbst um- und ausgebaut.
Jeder Heizfuzzi würde jetzt sagen: Alles quatsch, die Wärme kommt oben nicht an und überhaupt sind fast 4cm Holz ja wie eine Isolierung, das Holz verzieht sich doch und blabla.
Ich halte aber nur eine Grundwärme von 25°C Oberflächentemperatur, den Rest, wenn nötig, bringen noch 2 Heizkörper, der Herd in der Küche und die Sonne, die einfällt. Also keine heißen Füße und kein träges Regelverhalten. Ich möchte diesem Komfort nie mehr missen!!

Und da bin auch an dem Punkt, an dem mir DIN-Regelungen nicht mehr weiterhelfen können: Ich fahre wegen der geringen Temperatur keine Absenkungen. Die Außentemperatur wirkt sich nur etwas auf die Vorlauftemperatur aus, ist aber für mich keine Regelgröße. Regelgröße ist die Temperatur der Dielen an einem bestimmten Punkt, den ich nach 2 Heizperioden mit einem Laser-Thermometer herausgesucht habe. Bis jetzt messe ich immer wieder die Diele und stelle dann die Vorlauftemperatur auf 29 oder 32° oder auch 35°manuell ein. Da ich jetzt genau weiß, wie sich der Vorlauf verhält und wie alles Andere drumherum beeinflusst wird oder auch nicht, möchte ich mit dem Arduino MEINE spezielle Regelung für den Mischer programmieren.

Oje, das war aber lang und hatte nicht so viel mit Arduinos zu tuen, ich hoffe, der Moderator drückt ein Auge zu...

Gruß Andreas

Hallo Andreas, dann hole ich jetzt auch mal aus.
Ich habe 1990 gebaut, alles selbst gemacht, auch die Heizung als Bausatz.
Bereits 1990 habe ich im ganzen Haus außer den Schlafzimmern Fupbodenheizung verlegt, auch in Styropor unter dem Esstrich.
Habe in der ganzen Wohnetage Escheparkett, auch wenn viele gesagt haben Holzboden mit Fußbodenheizung geht nicht, geht seit 20 Jahren absolut gut. Habe dann noch einen Kachelofen, der ans Brauchwasser und Heizungswasser angeschlossen ist (600l Heizungswasser mit Wärmetauscher für Brauchwasser). Der Kachelofen läuft den ungefähr von Oktober bis April, dann brauch ich 0 m² Gas, im Sommer Solar und Gas. Das ist meine Heizung, und für die hab ich mir die Steuerung, die ich dir geschickt habe, gebaut.
Auch meine Vorlauftemperatur wird über Mischer und Außentemperatur gesteuert.
So das ist meine Anlage.
gruß
Bernward

Hallo, hier wurde ja schon eine Menge Richtiges gesagt. Ganz kurz möchte ich noch erläutern wie man das im Bereich der industriellen Automatisierung löst. Die Ansteuerung des motorischen Antriebes nennt sich 3-Punkt Ansteuerung (Auf/Zu/Halt). Diese Antriebe gibt es meist optional mit einem Rückführpoti, logisch die Steuerung kann natürlich millimetergenau den Antrieb steuern, wenn ein Stellungssignal zurück gegeben wird. Interessanter ist die Ansteuerung ohne Poti (für Heizkreise oder Kesselsteuerungen natürlich ausreichend).

Die Antriebe sind so konzipiert, dass sie es verkraften wenn Dauerspannung auf den Auf oder Zu Eingang gegeben wird.

Einfache Heizkreisregler ermitteln einfach die Regelabweichung, und geben je nach Abweichung einen 1-8 Sekunden Impuls in die richtige Richtung auf den Antrieb, das hat zur Folge das meist recht schnell eine passende Regelstellung gefunden wird, und der Heizkreis sich einpegelt. (selbst mit einer Simatic S7, Hima, Allen Bradley Steuerung macht man das heute so), wenn es eine übergeordnetes SCADA oder Visualisierungssystem gibt, steht man aber vor dem Problem, dass man natürlich nicht visualisieren kann, wo das Ventil gerade steht (ist ja auch fast egal wenn der Sollwert perfekt ausgeregelt wird :wink: ), die zweite Variante: es wird zuerst ein 0-100% Signal als Regelausgang (Stellgrösse ) gebildet, die nachfolgende gibt dann impulse auf den antrieb zählt jedes mal mit, als Merker wo de rAntrieb steht (also 10% ist ein 12 sekunden impuls bei 120 Sek. Laufzeit) , nach so einem Impuls wird geschaut was nun gebraucht wird, und die Änderung in Form eines neuen Impulses rausgegeben. <5% bedeutet Dauer zu, >95% bedeutet Dauer Auf, oder einen Impuls doppelte Laufzeit. Das heisst an den Endstellungen wird jeweils synchronisiert. Der vorgeschaltete Regler ist meist ein PI oder besser ein PID Regler. Dass heisst mit dieser Regölerstruktur wird eine Regelabweichung selbsttätig ausgeregelt. ein leichtes Abdriften spielt auch her keine grosse Rolle.

Just my 2 Cent, Gruss inside-man

Hallo bin neu hier habe aber mal eine frage
wie kann ich die heizkurve im arduino nachbilden mit aussentemperatur und vorlauftemperatur mischersteuerung geht schon einigermasen
will meine alte sps durch was neues ersetzen

Also eine ganz einfache lineare Heizkurve kann man mit vier Eckpunkten nachbilden, also x1,x2,y1,y2

x ist die Aussentemperatur y der errechnete Wert der Vorlauftemperatur.

x1 also dann z.b. -15 Grad
x2 +15 Grad
y1 =30 Grad
y2 = 80 Grad

dann gilt
SW = y1 + (AT - X1)/(X2-X1) * (y2-y1)

Das ist jetzt erst mal eine sehr einfache Heizkurve, man nimmt natuerlich am besten die geglaetttete AT , ( y.b. wegen Mittagssonne), Dann eine Nachtabsenkung (dann kann man das auch logarithmisch aufbauen, weil sich ein Gebaeude und die Verbraucher nicht linear verhalten), dann kann man eine Raumponpensation einbauen wenn man einen Referenzraum hat, und man kann mit einer Auskuehlkonstante die Zeit errechnen, die zum aufheizen notwendig ist, ebenso, die Zeit die der Heizkreis frueher abgeschaltet werden kann, ohne dass Komforteinbussen zu befuerchten sind.

Zurueck zum Thema mit dieser einfachen linearen Gleichung hat man aber schon mal eine witterungsgefuherte Vorlaufregelung...

da sollte die PID Libary wie für geschaffen sein. Falls gewünscht kann ich da ein kleines Tutorial für anfertigen, zumindest für die Basics.
Hab zwar bis jetzt nur einen Thermofühler als Istwert mit einem Sollwert verglichen und anschließend per PMW einen Lüfter eingestellt der den Thermofühler auf Sollwert hält.
Sollte aber für kleines Tutorial \ Einstieg reichen.

Gruß

@Yeahuno
gegen ein tutorial hätte ich nichts einzuwenden wenn du zeit hättes
@inside-man
wenn x die aussentemp ist was ist dann AT oder habe ich da was falsch verstanden?
Gruß

Hi

ich fang hier mal an
http://arduino.cc/forum/index.php/topic,69564.0.html

Gruß

@Yeahuno
du hast da ein super tutorial verfasst. Habe angefangen es abzuarbeiten nach dem lesen mal sehen wie weit ich komme.
Gruß