|
181
|
International / Deutsch / Re: Heizungssteuerung - anfänger braucht hilfe
|
on: August 11, 2011, 02:09:13 am
|
Hallo Mattes, also bei allem in einer Heizung >95° hätte ich schon ein ungutes Gefühl, das soll doch gar nicht vorkommen. Dafür gibt es doch z.B. beim Kachelofen mechanische Ventile, die dann den Ofen kühlen. Und auch bei Solaranlagen werden doch dann Pumpen oder Heizkörper zugeschaltet um dieses zu vermeiden. Ehrlich gesagt bei 125° in der Solaranlage würde ich in Deckung gehen 
|
|
|
|
|
182
|
International / Deutsch / Re: Heizungssteuerung - anfänger braucht hilfe
|
on: August 10, 2011, 02:35:17 pm
|
Hallo Mattes, da gibt es schon was: http://arduino.cc/forum/index.php/topic,66004.msg484389.html#msg484389Ich habe eine Steuerung seit ein paar Monaten am laufen, allerdings ohne Mischer. Ich steuere Gasheizung, Kachelofen, der auch mit dem Heizungskreislauf verbunden ist und Solaranlage mit dem Arduino. Also frag............ Habe allerdings überall 18B20 verbaut, warum willst du im Kessel oder in der Solaranlage andere Temperaturfühler nehmen. Nur 18B20 ist total praktisch, man benötigt nur zwei Adern und kann beliebig viele Sensoren anschließen. Ich steuere mit dem Arduino 3 Pumpen und ein Magnetventil, welches den Solarkreislauf komplett schließt. Gruß Bernward
|
|
|
|
|
183
|
International / Deutsch / Re: Random Funktion
|
on: August 10, 2011, 01:25:27 pm
|
ok dann vielleicht so: void loop(void) { Pumpenwechselzeit = random(3); jetzt = millis(); if(jetzt - vorher > 3600000 * Pumpenwechselzeit){ Zufallszahl = random(12); switch(Zufallszahl){ case 0: digitalWrite(Pumpe_1, HIGH); digitalWrite(Pumpe_2, LOW); digitalWrite(Pumpe_3, LOW); digitalWrite(Pumpe_4, LOW); break; case 1: digitalWrite(Pumpe_1, HIGH); digitalWrite(Pumpe_2, HIGH); digitalWrite(Pumpe_3, LOW); digitalWrite(Pumpe_4, LOW); break; case 2: digitalWrite(Pumpe_1, HIGH); digitalWrite(Pumpe_3, HIGH); digitalWrite(Pumpe_2, LOW); digitalWrite(Pumpe_4, LOW); break; . . . . . . } vorher=millis(); } }
|
|
|
|
|
184
|
International / Deutsch / Re: Random Funktion
|
on: August 10, 2011, 01:17:47 pm
|
wie wäre es denn so: hab ich nicht getestet aber sollte gehen wenn ich richtig gerechnet habe sind 10800000 sec gleich 3 Stunden, die Schleife wird also nur alle drei Stunden durchlaufen. Dann wird eine Zufallszahl zwischen 0 und 12 generiert und ja nach Zahl die entsprechende Anzahl Pumpen geschaltet. jetzt = millis(); if(jetzt - vorher > 10800000){ Zufallszahl = random(12); switch(Zufallszahl){ case 0: digitalWrite(Pumpe_1, HIGH); digitalWrite(Pumpe_2, LOW); digitalWrite(Pumpe_3, LOW); digitalWrite(Pumpe_4, LOW); break; case 1: digitalWrite(Pumpe_1, HIGH); digitalWrite(Pumpe_2, HIGH); digitalWrite(Pumpe_3, LOW); digitalWrite(Pumpe_4, LOW); break; case 2: digitalWrite(Pumpe_1, HIGH); digitalWrite(Pumpe_3, HIGH); digitalWrite(Pumpe_2, LOW); digitalWrite(Pumpe_4, LOW); break; . . . . . . } vorher=millis(); } }
|
|
|
|
|
185
|
International / Deutsch / Re: Random Funktion
|
on: August 10, 2011, 11:06:27 am
|
|
so ganz hab ich auch noch nicht verstanden was du genau willst. Pumpenzeit gibt ja immer eine riesig große Zahl, ( 1000*60*60), allerdings nur, wenn du die auch im Programm berechnest. Also ist die auch immer größer als Pumpenwechselzeit, denn die kann ja maximal 3 werden.
|
|
|
|
|
186
|
International / Deutsch / Re: Random Funktion
|
on: August 10, 2011, 10:46:59 am
|
|
ich hab mich noch nie mit random u.s.w. beschäftigt, aber da du "Zufallszahl" als Integer deklariert hast und "Pumpenzeit" als long können da nur ganze Zahlen raus kommen, keine Kommazahlen.
|
|
|
|
|
187
|
International / Deutsch / Re: Random Funktion
|
on: August 10, 2011, 02:46:25 am
|
|
Hallo Gerlitschka, du machst es dir beim programmieren manchmal unnötig schwer.
bei den ganzen if Abfragen "if (Zufallszahl > 2 && Zufallszahl <= 3)" bedeutet das doch einfach nur if Zufallszahl=3 das geht doch eleganter mit switch
switch(Zufallszahl){ case 0: ....... case 1: ....... u.s.w.
|
|
|
|
|
188
|
International / Deutsch / Re: Alarm / Zeitschaltuhr
|
on: August 05, 2011, 12:03:19 pm
|
|
Hallo, also einige Abfragen verstehe ich jetzt aber nicht die sind wohl über. Was soll z.B. if 1410 < 480 das ist wohl immer der Fall. Ebenso ist 1410 immer >= 480 oder meinst du nicht?
Warum nicht: if (Minutenuhrzeit >= 480 && Minutenuhrzeit < 1410) {digitalWrite(Schaltpin, LOW);} else {digitalWrite(Schaltpin, HIGH);} }
Gruß Bernward
|
|
|
|
|
189
|
International / Deutsch / Re: Problem mit Taster
|
on: July 17, 2011, 12:52:59 pm
|
|
Hallo, ich habs jetzt nur übeflogen:
als erstes zählst du buttonPushCounter++ hoch, das heißt aber dein switch wird zweimal durchlaufen case 1 und case 2. Was ist denn beim dritten mal, wenn buttonPushCounter größer als 2 ist.
Weiter bleibt lastButtonStat immer 0, wird ja nirgends gesetzt.
|
|
|
|
|
190
|
International / Deutsch / Re: wie Variable in if-abfrage ändern?
|
on: July 12, 2011, 12:00:15 am
|
Hallo Daniel, versuch es mal mit dieser void loop: void loop() { analogFade(); unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { // save the last time you blinked the LED previousMillis = currentMillis;
// if the LED is off turn it on and vice-versa: if(interval==100){ digitalWrite(ledPin1, LOW); interval=800; } else{ digitalWrite(ledPin1, HIGH); interval=100; } }
}
Gruß Bernward
|
|
|
|
|
191
|
International / Deutsch / Re: wie Variable in if-abfrage ändern?
|
on: July 11, 2011, 11:42:41 pm
|
|
Hallo Daniel, ich habs nur kurz überflogen, füge mal in der Void setup " Serial.begin(9600);" ein und in der void loop hinter der if abfrage "Serial.println(interval);" dann wirst du am Monitor verfolgen können, das sich interval doch immer von 100 nach 800 und zurück ändert. Das funktioniert auf jeden Fall, der Fehler liegt wohl an anderer Stelle. Gruß Bernward
|
|
|
|
|
192
|
International / Deutsch / Re: Ansteuerung eines 3-Wege-Mischers für eine Fußbodenheizung
|
on: July 09, 2011, 01:34:45 pm
|
|
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
|
|
|
|
|
193
|
International / Deutsch / Re: Ansteuerung eines 3-Wege-Mischers für eine Fußbodenheizung
|
on: July 09, 2011, 07:26:55 am
|
|
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
|
|
|
|
|
195
|
International / Deutsch / Re: Ansteuerung eines 3-Wege-Mischers für eine Fußbodenheizung
|
on: July 09, 2011, 03:53:45 am
|
|
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
|
|
|
|
|