Komplette Heizungs- und Raumtemparatursteuerung (noch mit Sensor Problemen)

Informationen zur neuen Foren-Software hier
Bei Login Problemen bitte ein neues Kennwort anfordern (nur alle 24 Stunden). Neuen Aktivierungscode anfordern oder Registrierung mit Aktivierungscode abschließen
Ansonsten Email an webmaster[äet]forum-raspberrypi.de
  • Hallo Forum,

    nachdem ich eine Weile nur gelesen habe und mich mit Infos und Hilfe versorgt habe, stelle ich jetzt mal mein Projekt vor.

    Ausgangssituation:

    • Einfamilienhaus mit Fußbodenheizung in jedem Raum (15 Kreise mit Stellmotoren)
    • Raumtemperaturfühler die nur an/aus können weil zu wenig Adern verfügbar
    • Heizungssteuerung die nichts kann außer Pumpen an- und ausschalten
    • Pelletsofen der nach Zeit gesteuert wird weil er nur seine eigene Wassertemperatur kennt und sonst nichts
    • Solaranlage die auch nur sich selbst steuert
    • 700 L Pufferspeicher und 300 L Boiler

    Da mich das schon immer genervt hat hatte ich die Überlegung meine Heizung mit einem RasPi zu steuern, schon vor zwei Jahren etwa. So also mal einen Pi und etwas Zubehör besorgt und losgebastelt. Ursprünglich wollte ich eigentlich nur die Fußbodenheizung steuern, aber wie das beim Basteln nun mal ist stehe ich mittlerweile kurz davor alles andere rauszuwerfen und nur noch über den Pi zu steuern.

    Nachdem ich mir also beigebracht habe wie das ganze Heizsystem eigentlich funktioniert habe ich mir Gedanken gemacht wie ich das am besten steuern kann. Die verwendete Hardware sieht momentan so aus:

    • RasPi 2 Model B
    • 16 Relais Board
    • 4 Relais Board
    • 20x DS18B20 Sensoren

    An den Relais Boards ist jetzt folgendes angeschalten bzw. vorgesehen:

    • 15x Stellmotor Fußbodenheizung an 12 Relais (sind schon dran)
    • 1x Pumpe für Vorlauf Fußbodenheizung
    • 1x elektrischer Vorlaufregler an 2 Relais (mischt die Wassertemperatur für Vorlauf)
    • 1x Pumpe für Solaranlage
    • 1x Umschaltventil Solaranlage (schaltet zwischen Puffer und Boiler um)
    • 1x Umwälzpumpe (heizt Boiler mit Pufferwasser bei Bedarf)
    • 1x Pelletsofen (schaltet Ofen an/aus per Kontakt)

    Programmiert und "trocken" bzw. fiktiv getestet habe ich das alles bereits letzten Winter. Funktioniert alles wunderbar. Dazu habe ich mir noch ein Webinterface gebastelt um den aktuellen Status aller Komponenten zu sehen bzw. mal kurzfristig Kleinigkeiten über den Browser ändern zu können.

    Die Steuerung läuft nun über 5 verschiedene Programme, die in unterschiedlichen Intervallen ausgeführt werden. Hier mal eine kurze Übersicht der Funktionen.

    Programm "Raumsteuerung":

    • Alle Räume haben drei verschiedene Soll-Temperaturen, geregelt für jeden Raum einzeln per Zeitangaben
    • Alle 30 Minuten läuft das Programm und schaltet die Stellmotoren je nach Temparatur an oder aus
    • Schaltet die Vorlaufpumpe an wenn ein Raum geöffnet wird


    Programm "Solaranlage":

    • Schaltet Solarpumpe an wenn Kollektoren wärmer sind als Wasser im Boiler
    • Schaltet auf Boiler um wenn Puffer Grenzwert erreicht hat
    • "Notfallaktivierung" wenn alle Temperaturen maximalen Wert erreicht haben, die Kollektoren aber immernoch zu heiß sind
    • Läuft alle 10 Minuten durch


    Programm "Pelletsofen":

    • Schaltet den Pelletsofen an wenn Puffertemperatur zu niedrig ist und Solaranlage inaktiv
    • Schaltet ab sobald die Solaranlage aktiviert ist
    • Läuft stündlich (Ofen sollte mindestens eine Stunde laufen)


    Programm "Pumpensteuerung"

    • Schaltet die Umwälzpumpe an sobald die Temperatur im Boiler niedriger ist als im Puffer
    • Pumpe bleibt aus wenn Solaranlage aktiv ist


    Programm "Vorlauftemperatur"

    • Misst alle 3 Minuten die aktuelle Vorlauftemperatur
    • Regelt auf oder zu, abhängig von der Außentemperatur und der programmierten Heizkurve


    Soweit so gut, Programme alle geschrieben und getestet.


    Das Problem an der ganzen Sache sind momentan die Sensoren, mit 20 Stück wird das anscheinend wirklich schwierig. Mehr als 10 gleichzeitig habe ich noch nicht zum Laufen gebracht. Getestet habe ich es mit verschiedenen Widerständen, mit zusätzlichen 5V vom Pi usw., alles was man eben an Tipps hier im Forum finden kann.


    Was ich nicht (oder kaum) ändern kann ist die Verkabelung. Aktuell geht vom Pi (da ist der Widerstand) ein 0,6 zu einer Verteilerdose, von dort geht ein 0,6 zu 4 Sensoren in Reihe, alle anderen hängen von dort aus jeweils an eigenen 1,5er Kabeln. Aufs Dach geht ein LAN-Kabel.


    Falls irgendjemand eine Idee hat wie ich das Problem lösen kann wäre ich sehr dankbar. Aktuell kann ich die Räume nur per Webinterface an- und ausschalten weil ohne Sensoren natürlich gar nichts geht. Auch die Pumpen usw. kann ich so nicht steuern.

  • Moin rholly,


    Hut ab vor dieser Leistung.


    Ich versuch mal dein Problem einzukreisen.

    Kurz geschrieben, du bekommst die Reihenschaltung nicht hin!


    Ich stochere mal ein wenig im Dunklem...


    Soviel ich weiß ist jeder Baustein eindeutig durch seiner Kennung erkennbar. Darf man die dann nicht auch parallel schalten??

    Aber hier gibt es soviel Leute die diese Dinger einsetzen....


    Bitte melden


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein "Like"

  • DG8BR

    Danke! Also die Reihenschaltung mit den 4 Sensoren war schon monatelang mit dran, das funktioniert einwandfrei. Das Problem tritt bisher immer ab einer Belegung von 7-10 Sensoren auf, unabhängig davon wie die dran hängen. Wird mit unterschiedlichen Widerständen mal besser und mal schlechter.


    Timm Thaler

    Also, da ich nun (mit Unterbrechungen) seit zwei Jahren an dem Projekt arbeite werde ich es sicher nicht mehr einstellen. Was ich zum Thema Ausfallsicherheit sagen kann ist, dass ich jetzt ca. 8-10 Monate im Dauerbetrieb war. Da habe ich mit ein paar Sensoren gearbeitet und alle Pumpen usw. fiktiv schalten lassen. Dazu habe ich nur die definierten Soll-Temperaturen in meiner Config ab und an mal geändert um ihn dazu zu zwingen etwas zu regeln. Das hat bisher ohne Probleme funktioniert.


    Mein Pi startet jede Nacht neu, was ab und an mal passiert ist, dass sich die LAN-Schnittstelle tagsüber verabschiedet. Dann kann ich zwar über RDP und Webinterface nicht mehr zugreifen, die Funktion der Steuerung wird allerdings nicht beeinträchtigt.


    Was die Relaiskarten anbelangt hatte ich bisher überhaupt keine Probleme. Das sind beides 12V Karten mit eigener Stromversorgung. Momentan liegen an 19 von 20 Ports 220V an und lassen sich einwandfrei schalten. Nur ein Port braucht die 220V nicht weil das nur der Kontakt für den Pelletsofen ist.


    EDIT:

    Falls es jemanden interessiert, so sieht das momentan aus:

    Das Kabel das noch rumhängt ist für die Sensoren und den Pelletsofen.



  • Das Problem an der ganzen Sache sind momentan die Sensoren, mit 20 Stück wird das anscheinend wirklich schwierig. Mehr als 10 gleichzeitig habe ich noch nicht zum Laufen gebracht. Getestet habe ich es mit verschiedenen Widerständen, mit zusätzlichen 5V vom Pi usw., alles was man eben an Tipps hier im Forum finden kann.

    Falls irgendjemand eine Idee hat wie ich das Problem lösen kann wäre ich sehr dankbar. Aktuell kann ich die Räume nur per Webinterface an- und ausschalten weil ohne Sensoren natürlich gar nichts geht. Auch die Pumpen usw. kann ich so nicht steuern.

    ich werde nun nicht alles Lesen um zu erfahren mit welchen Sensoren du welche Probleme hast!


    Danke! Also die Reihenschaltung mit den 4 Sensoren war schon monatelang mit dran, das funktioniert einwandfrei. Das Problem tritt bisher immer ab einer Belegung von 7-10 Sensoren auf, unabhängig davon wie die dran hängen. Wird mit unterschiedlichen Widerständen mal besser und mal schlechter.

    also ab 10 DS18B20 muss man die Pi Config anpassen

    Als Widerstand für parasitäre Speisung soll auch ein 820 Ohm als kleinster geeignet sein


    Natürlich muss man CRC Prüfung machen und ggffs. mehrfach auslesen im 1s Abstand damit der interne Kondensator sich wieder aufladen kann.


    Notfalls ginge ja auch den Messteil auf einen Atmel auszulagern oder mehrere und die Daten seriell zum PI übertragen, zur Reichweitenerhöhung lässt sich da wunderbar mit V24 Pegelwandlern MAX3232 arbeiten.


    Bei mir sind es ja nur sieben DS18B20 an ca. 72m gemischter Stern-Bus-Topologie parasitär am AVR -> 5V -> 1,5k pullup

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Danke für deine Antwort. Das Lesen bleibt denen überlassen die das Projekt interessiert, das hat mit dem Problem an sich auch wenig zu tun ;)

    Ich habe ausschließlich DS18B20 im Einsatz, nur ein paar davon sind diese wasserfesten weil die im Boiler, Puffer und in den Solarkollektoren stecken. Ich habe auch jeden einzeln getestet und dokumentiert, Hardwarefehler der Sensoren ist ausgeschlossen.


    Die Pi Config habe ich bereits angepasst und ich lese jeden Sensor bereits 2x in dem Abstand, das passt auch soweit. Ich hoffe immer noch eine Lösung zu finden ohne auf weitere Hardware zurückgreifen zu müssen. Will vermeiden dass ich die ganze Programmierung wieder ändern muss. Mit 7 Sensoren habe ich auch in jeglicher Konstellation keine Probleme, mit bis zu 9 hat es immer funktioniert.


    Aber trotzdem danke für den Tipp, werde ich mal im Hinterkopf behalten falls ich gar nicht weiterkommen sollte. Mit einem 820 Ohm Widerstand habe ich es noch nicht versucht, das kleinste war bisher etwa 2k glaube ich.

  • Bei mir sind es ja nur sieben DS18B20 an ca. 72m gemischter Stern-Bus-Topologie parasitär am AVR -> 5V -> 1,5k pullup

    Wow... was für Litze/Kabel hast du denn da genommen? 72m, das ist schon lang! :stumm:

    • Coder. Meistens Python ^^, gerne JavaScript :), gezwungenermaßen C# :|. +3 weitere, vernachlässigbar :S
    • Helligkeitssteuerung für das offizielle 7" Touch LCD: rpi-backlight
    • Erledigte Beiträge bitte als erledigt markieren. Beiträge, die dir gefallen mit einem Like bewerten! :thumbup:

  • Das Problem wird einfach sein, dass die Leitungskapazität mit jedem zusätzlichen Sensor größer wird und irgendwann die Signale so weit verrundet, dass der Pi oder die Sensoren die Signalpegel nicht mehr sauber detektieren können.


    Testen kannst Du das, indem Du eine stabile Konfiguration an Sensoren aufbaust und dann einfach mal Kondensatoren Größenordnung 330pF bis 1nF parallel schaltest.


    Das Problem läßt sich verringern durch: kürzere Kabel, Kabel geringerer Kapazität, Betrieb der Sensoren mit 5V an einem Mikrocontroller mit 5V (weil dann höhere Toleranzschwelle bei Pegelerkennung), Aufteilung der Sensoren auf mehrere Portpins, dann aber an einem Mikrocontroller mit Software-One-Wire, der Raspi kann das nicht.


    One-Wire ist halt dafür besonders anfällig, weil das Timing wenig Spielraum läßt und man nicht einfach die Taktrate runtersetzen kann wie bei I2C.

  • Was die Relaiskarten anbelangt hatte ich bisher überhaupt keine Probleme.

    Die Frage ist nicht, ob Du damit Probleme hast, sondern ob es sicher und erlaubt ist. Du kannst Deine Pumpen auch mit Klingeldraht anschließen, damit hast Du auch erstmal keine Probleme, aber es ist weder sicher noch erlaubt.


    Die VDE und EN fordert für diesen Aufbau eindeutig

    Schutzklasse II / Schutz durch doppelte oder verstärkte Isolierung

    https://de.wikipedia.org/wiki/…erst.C3.A4rkte_Isolierung


    Und das heisst nunmal 8 mm Kriechstrecke zwischen Netzseite und Spielseite, und die können diese Relais nicht einhalten, wie im oben verlinkten Beitrag gezeigt.


    Zusätzlich ziehst Du das Potential des Raspi noch über das LAN-Kabel in Dein Netzwerk und über die Sensorkabel in andere Räume. Und nein, das LAN-Kabel bietet keine ausreichende Schutzerdung, es ist nur eine Funktionserde und auch die ist nicht sicher, es gibt genug LAN-Kabel ohne Schirm.

  • Wow... was für Litze/Kabel hast du denn da genommen? 72m, das ist schon lang! :stumm:

    das ist die Summe aller Leitungslängen in alle Zimmer, keine Angst meine Wohnung ist nicht 72m lang :)


    Aber die Strecken summieren sich halt, 2m runter 10m Flur 3x 5m Wohnzimmer ums Eck eine Seite, dito andere Seite, dann zum Balkon und ins Schlafzimmer und noch ein Abzweig ins Gästezimmer + die Vertikalen, ich nutzte immer ein freies Adernpaaar der Telefonleitungen.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • ..... Mit einem 820 Ohm Widerstand habe ich es noch nicht versucht, das kleinste war bisher etwa 2k glaube ich.

    kein Wunder das du am PI Probleme hast, viel zu hochohmig, erst Recht an 3,3V und einigen Metern. Selbst am AVR mit 5V musste ich von 2,2k runter auf 1,5k.


    Versuche es erst mal mit 1k das dürfte deutlich helfen, 820 Ohm als letzten Ausweg.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Testen kannst Du das, indem Du eine stabile Konfiguration an Sensoren aufbaust und dann einfach mal Kondensatoren Größenordnung 330pF bis 1nF parallel schaltest.


    Das Problem läßt sich verringern durch: kürzere Kabel, Kabel geringerer Kapazität, Betrieb der Sensoren mit 5V an einem Mikrocontroller mit 5V (weil dann höhere Toleranzschwelle bei Pegelerkennung), Aufteilung der Sensoren auf mehrere Portpins, dann aber an einem Mikrocontroller mit Software-One-Wire, der Raspi kann das nicht.


    One-Wire ist halt dafür besonders anfällig, weil das Timing wenig Spielraum läßt und man nicht einfach die Taktrate runtersetzen kann wie bei I2C.

    Das ist eine gute Idee, auf die Art könnte ich es mal versuchen. Was ich nicht ändern kann ist die Leitungslänge und Kapazität, ist alles fest verbaut. Eine eigene 5V Versorgung habe ich bisher noch gar nicht getestet, nur die vom Pi. Aber daran hatte ich auch bisher gar nicht gedacht.


    Die Frage ist nicht, ob Du damit Probleme hast, sondern ob es sicher und erlaubt ist. Du kannst Deine Pumpen auch mit Klingeldraht anschließen, damit hast Du auch erstmal keine Probleme, aber es ist weder sicher noch erlaubt.


    Und das heisst nunmal 8 mm Kriechstrecke zwischen Netzseite und Spielseite, und die können diese Relais nicht einhalten, wie im oben verlinkten Beitrag gezeigt.


    Zusätzlich ziehst Du das Potential des Raspi noch über das LAN-Kabel in Dein Netzwerk und über die Sensorkabel in andere Räume. Und nein, das LAN-Kabel bietet keine ausreichende Schutzerdung, es ist nur eine Funktionserde und auch die ist nicht sicher, es gibt genug LAN-Kabel ohne Schirm.

    Da hast du sicher recht, und man kann das sicher besser lösen, aber um ehrlich zu sein interessiert mich dieses Thema momentan nicht. Wenn das Board sagt es kann 220V verarbeiten dann sollte es das auch können. Ich habe das jetzt fast ein Jahr lang problemlos getestet (mit Abnehmern für die 220V), also hat es meinen Test bestanden ;)


    Sorry, aber da habe ich auch zu wenig Ahnung um mitzureden, allerdings habe ich alles so sorgfältig verkabelt wie es mir möglich war.


    Und über das LAN-Kabel kommt doch nichts ins Netzwerk?! Oder meinst du das, das aufs Dach geht? Das hängt nicht am Netzwerk, ist einfach nur ein eigenes LAN-Kabel.

    kein Wunder das du am PI Probleme hast, viel zu hochohmig, erst Recht an 3,3V und einigen Metern. Selbst am AVR mit 5V musste ich von 2,2k runter auf 1,5k.


    Versuche es erst mal mit 1k das dürfte deutlich helfen, 820 Ohm als letzten Ausweg.

    Wie versorgst Du die Sensoren mit Strom? Über den 3V3 oder 5V des RasPi oder mit einer extra 5V Spannungsquelle? Parasitär fällt bei der großen Anzahl aus.

    Also Ohm runterdrehen ist schon mal klar, das muss ich unbedingt versuchen. Ich werde mal auf 1k gehen und sehen was passiert. Zuletzt hatte ich die Versorgung über die 3,3V vom Pi, zwischenzeitlich habe ich aber auch mit 5V vom Pi getestet und den 3,3V nur für den Widerstand benutzt. Hat allerdings keinerlei Veränderung gebracht.

  • Da hast du sicher recht, und man kann das sicher besser lösen, aber um ehrlich zu sein interessiert mich dieses Thema momentan nicht. Wenn das Board sagt es kann 220V verarbeiten dann sollte es das auch können. Ich habe das jetzt fast ein Jahr lang problemlos getestet (mit Abnehmern für die 220V), also hat es meinen Test bestanden ;)


    Sorry, aber da habe ich auch zu wenig Ahnung um mitzureden, allerdings habe ich alles so sorgfältig verkabelt wie es mir möglich war.

    Die Frage ist, ob deine Hausrat-/Gebäudeversicherung im Schadensfall deine Sichtweise übernimmt. Aus Erfahrung: eher nicht.

  • An jedem Sensor einen Kondensator (100nF) von Vcc gegen GND kann vielleicht etwas helfen. Mir ist aufgefallen, dass die Anlage Störunanfälliger wird, wenn man den Sensoren ein eigenes Netzteil verpasst. Also nicht jeder Sensor eins, sondern die Stromversorgung vom Raspberry Pi von der Sensoversorgung trennt.

  • An jedem Sensor einen Kondensator (100nF) von Vcc gegen GND kann vielleicht etwas helfen. Mir ist aufgefallen, dass die Anlage Störunanfälliger wird, wenn man den Sensoren ein eigenes Netzteil verpasst. Also nicht jeder Sensor eins, sondern die Stromversorgung vom Raspberry Pi von der Sensoversorgung trennt.

    Danke für den Tipp, auf sowas wäre ich jetzt nicht gekommen. Was ich also auf jeden Fall als nächstes probiere ist eine autarke Stromversorgung für die Sensoren. Wenn das nicht hilft werde ich mir die Kondensatoren mal ansehen und das mal testen. Ist halt ab jetzt ein riesen Aufwand weil ich immer durch das komplette Haus rennen muss wenn ich was ändern will :(

  • An jedem Sensor einen Kondensator (100nF) von Vcc gegen GND kann vielleicht etwas helfen. Mir ist aufgefallen, dass die Anlage Störunanfälliger wird, wenn man den Sensoren ein eigenes Netzteil verpasst. Also nicht jeder Sensor eins, sondern die Stromversorgung vom Raspberry Pi von der Sensoversorgung trennt.

    reicht es nicht eine kleine Entstördrossel oder ein kleines RC Filter von VCC PI zu DS zu legen?

    ähnlich der typischen Beschaltung eines IR TSOP Sensors zu VCC an anderer Stelle 100 Ohm (statt 330 Ohm) auf 4,7µF


    http://silicontechnolabs.in/im…ation-circuit-350x350.JPG

    https://forelectronics.files.w…com/2014/05/tsop-ckt1.jpg

    https://i.stack.imgur.com/Lls10.png

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Naja, ich sach mal: Wenn das Funktionieren von Sensoren, die bei anderen problemlos mit an der Pi-Versorgung hängen, von einem zusätzlichen Netzteil abhängt, dann ist grob was faul.


    Entweder ist das Netzteil eh zu schwach, oder die Verkabelung ist Mist. Und da es ab hier nur noch nach Zufallsprinzip und Glaskugel geht, bin ich raus. Ist eh nur Stochern im Nebel.

  • Nicht umsonst ist im Kernel die Anzahl der Sensoren standardmäßig auf 10 begrenzt. der 1wire-Bus am RasPi und auch der Raspi selbs sind Senibelchen. Es ist grundsätzlich nicht mit einem ausgereiften 1wire-Master vergleichbar. Insofern ist jede Störung die auftreten kann, eine zuviel. Das gilt aus meiner Erfahrung heraus für alle Busse, die zur Verfügung gestellt werden. Ich fahre mit den genannten Maßnahmen große Anlagen über den 1wire-Bus sowohl mit dem DS18B20 als auch mit Aktoren. Vorher hatte ich die gleichen Probleme wie der TE.

  • So ich melde mich auch mal wieder zu Wort nachdem ich die letzten Tage etwas im Stress war.


    Vorab schon mal vielen Dank an alle die dazu beitragen mein Problem in den Griff zu bekommen. Ich werde nächste Woche anfangen die Sensoren in Betrieb zu nehmen. Dabei werde ich auf eure Tipps zurückgreifen und sehen wie weit ich damit komme. Dass es eigentlich nicht an der Stromversorgung liegen sollte ist mir schon klar, aber hier eine eigene aufzubauen ist ja wirklich das einfachste was ich machen kann, von daher werde ich das auf jeden Fall tun.


    Ich berichte dann wieder sobald ich an die Grenze gestoßen bin, was mit Sicherheit passieren wird. Ich bin jedenfalls schon gespannt ob ich Verbesserung erzielen kann oder nicht. Was jedenfalls fest steht ist, dass es irgendwie auf irgendeine Art funktionieren muss, sonst wird der Winter wirklich anstrengend :(