Der Blubber: An der Klippe …

Irgendwer hätte dem beruhigenden Blubbern noch stundenlang zuhören können. Aber leider war das Messintervall für den Füllstand schon wieder vorüber und der Blubber verstummte unvermittelt. So schloss er den Eisspeicher-Deckel, und zog zufrieden Bilanz über die Feuerprobe des Blubbers (… die ja – genau genommen – eine ‚Eisprobe‘ gewesen war).

Blubber-1-Wasser

(1) Nur Wasser, kein Eis (mehr) im Eisspeicher

Der kälteste Pannonische Jänner seit 30 Jahren hatte für genügend Eis im Eisspeicher und damit für optimale Blubber-Testbedingungen gesorgt. Trotz dieser harschen Umgebungsbedingungen hatte der Blubber verlässlich seinen Dienst getan und den Füllstand kontinuierlich aufgezeichnet.

Blubber-Fuellstand

Obwohl dieser Blubber-Füllstand natürlich unmittelbar mit der Eisbildung zusammen hing, zeigte er trotzdem einen Verlauf, der auf den ersten Blick vielleicht etwas unlogisch erscheinen konnte. Besonders die starken Schwankungen in der Auftauphase (3) und der ’negative‘ Füllstand gegen Ende der Eisperiode (4)…

Eine direkt Umrechnung des Füllstandes in Eisvolumen war nur unter bestimmten Bedingungen möglich. Dazu musste man sich erst einmal vergegenwärtigen, was sich so im Laufe eines Winters im Eisspeicher abspielte:

Blubber-Phasen-der-Eisbildung

Schematische Darstellung der Eisphasen: (1) nur Wasser (2) kontinuierlicher Eiszuwachs um die Wärmetauscherrohre und an der Oberfläche (3) (temporärer) Eisrückgang und Wiederanstieg (4) Endphase der Eisschmelze: der Eisdeckel schmilzt zuletzt.

In der Phase der kontinuierlichen Eisbildung (2) entsteht Eis um die Wärmetauscherrohre und an der Wasseroberfläche. Da das Wasser durch das wachsende und an der Trägerkonstruktion festgefrorene Eis an die Oberfläche verdrängt wird, ist das gesamte Eisvolumen unter Wasser. – Der Füllstand kann direkt in Eisvolumen umgerechnet werden.

Blubber-2-Wasser-Ueber-Eis

(2) In der Phase der kontinuierlichen Eisbildung befindet sich das gesamte Eisvolumen unter Wasser

Sobald die erste Tauwetterphase einsetzt (3), schmilzt Eis zuerst an den Wärmetauscher-Rohren. Der Wasserstand sinkt und das nach wie vor an der Trägerkonstruktion festgefrorene Eisgebilde erhebt sich wie eine Klippe über das Wasser. Da ein Großteil der Oberfläche gefroren ist, sinkt der Wasserspiegel in den eisfreien Zonen überproportional stark.

In dieser Phase wird das direkt aus dem Füllstand ermittelte Eisvolumen unterschätzt. Dafür sind kleinste Änderungen im Eisvolumen durch starke Schwankungen des Füllstandes in relativ kleinen eisfreien Zonen sehr genau messbar.

Gefrier- und Tauphasen wechseln sich quasi wie Flut und Ebbe zwischen den Klippen ab.

Blubber-3-Klippe

(3) In Tauwetterphasen sinkt der Wasserspiegel in den eisfreien Zonen überproportional schnell und Eisklippen erheben sich über das Wasser

Gegen Ende der Eisperiode (4) sinkt der Wasserspiegel sogar kurzfristig unter den ursprünglichen Stand. Während das Eis um die Wärmetauscherrohre bereits vollständig geschmolzen ist, schmilzt der ‚Eisdeckel‘ mangels direkter Wärmezufuhr (fehlender Kontakt zu Wärmetauscherschläuchen und  zum Wasser) zuletzt.

Blubber-4-Eisscholle

(4) Am Ende der Eisperiode hängt der ‚Eisdeckel‘ in der Luft und schmilzt zuletzt.

Fortsetzung: Orkrakel und Peak Ice

Erde, Luft, Wasser und Eis – wozu das alles?

Jahrelang kämpften die Siedler mit der einen großen Herausforderung des Eisspeicher-Journalismus. Wie stellt man am besten dar, wie das Zusammenspiel von Kollektor und Eisspeicher funktioniert? Wie beantwortet man solche Fragen:

Was bringt der Kollektor eigentlich?

oder

Wozu braucht man den Kollektor überhaupt, wenn die Arbeitszahl während einer Eisspeicher-Challenge ohne Kollektor eh nicht so stark absinkt?

und vor allem

Wie groß ist eigentlich der Beitrag der Erde?

Kann hier die Datenkrake helfen, besser darzustellen, was im Lauf einer Heizsaison passiert?

Aus dem Eisvolumen und der aktuellen Tanktemperatur wird der Energievorrat im Tank berechnet. Die Energie im Tank ändert sich vor allem dadurch …

  1. dass aus dem Tank laufend Energie durch den Wärmetauscher entnommen (Wärmepumpenbetrieb) oder zugeführt (Kollektor) wird.
  2. und dass über die Wand und den Boden des Tanks Wärme mit der Umgebung ausgetauscht wird.

Der Beitrag der Erde kann aus Eisvolumen, Tanktemperatur und der gemessenen Wärmetauscher-Energie berechnet werden. Ergo:

Vorratsänderung (Eis, Wasser) = Energie Tankwärmetauscher + Energie Erde

In stundenlangen Sitzungen von Forschungs- und Ingenieursabteilungen wurden dabei folgende Definitionen für die Vorzeichen dieser Beiträge festgelegt:

Energiequellen, -austausch, -vorrat - Vorzeichenfestlegungen

Wenn der Kollektor aktiv ist, sind drei Wärmetauscher in Serie geschaltet: Der Kollektor, der Wärmetauscher im Tank und der Verdampfer der Wärmepumpe. Die Wärmepumpe entnimmt ihre Entzugsenergie entweder nur aus dem Eisspeicher (wenn der Kollektor weggeschaltet ist) oder aus der kombinierten Quelle gebildet aus Kollektor und Tank.

In den folgenden Diagrammen für die ‚Eisspeicher-Challenge-Saison‘ 2014-2015 werden Entzugsenergie, Kollektorernte, Energiefluss über den Tank-Wärmetauscher, Beitrag der Erde und die Änderung des Eis-/Wasser-Energievorrats gegenübergestellt.

Saison 2014-2015: Monatsbilanzen: Energiequellen, -austausch, -vorrat

Von September bis Jänner steigt die benötigte Entzugsenergie – aber auch der Kollektorbeitrag! Je länger die Wärmepumpe gleichzeitig mit dem Kollektor läuft und je kälter der Tank im Vergleich zur Luft ist, umso mehr Energie kann geerntet werden. In einer typischen Saison deckt der Kollektor in den Eismonaten Dez / Jan / Feb ca. 75% der benötigten Entzugsenergie ab – aber nur in Zusammenspiel mit dem Eisspeicher!

Am Anfang der Saison 2014/15 – solange sich noch kein Eis gebildet hat – folgen die Tanktemperatur und die Soleeintrittstemperatur ungefähr der Außentemperatur. Ende November ist die Außentemperatur aber schnell gesunken – damit kann über den Kollektor aus der vergleichsweise kalten Luft wenig in den noch warmen Tank geerntet werden. Daher wird der Eis-Wasser-Vorrat angezapft und die Erde beginnt zu liefern.

2014-09-01 - 2015-05-15: Temperaturen und Eisbildung

2014-09-01 - 2015-05-15: Tagesbilanzen: Energiequellen, -austausch, -vorrat Am 10.1.2015 konnte dank des Wintersturms Felix extrem viel Kollektorenergie geerntet werden.

Erst nach Abschalten des Kollektors mit Anfang Februar (‚Eisspeicher-Challenge‚), ändert sich der Vorrat beim Vereisen deutlich.

Da der Kollektorbeitrag im Februar gleich Null ist, entspricht der Energieaustausch über den Tank-Wärmetauscher genau der Entzugsenergie. Die Erde liefert dann ca. ein Drittel der Entzugsenergie.

Mitte März startet der Auftauvorgang: Der Kollektor kann aufgrund der konstant auf 0°C bleibenden Tanktemperatur viel ernten und der Tankvorrat wird schlagartig wieder aufgepumpt. Der Energieaustausch mit der Erde ist sehr klein, während der Wärmefluss über den Tankwärmetauscher fast gleich der Vorratsänderung ist.

Anfang Mai startet der Sommerbetrieb: der Kollektor ist aus, um den Tank solange wie möglich auf 8°C zu halten – was zu einem kleinen Wärmefluss der schon warmen Erde in den Tank führt.

Die Datenkrake – ein Formwandler

Die Siedler sind immer wieder fasziniert von den seltsamen Lebensformen, die sich rund um die Siedlerhütte so tummeln. Auch altbekannte Spezies sind immer wieder für eine Überraschung gut!

Wie wir alle wissen, sind Kraken ja wahre Formwandler:

(…was an ihrem fehlenden Rückgrat liegt – aber soweit wollen wir diese Metapher nicht ausreizen…)

Jedenfalls zeigt auch die hauseigene Krake eine erstaunliche Wandlungsfähigkeit – ein Glück angesichts solcher Herausforderungen:

Wenn Irgendwer mit diversen anderen Lebensformen kämpft, dann vergisst er Zeit, Raum und vor allem dem Wissenschaftsoffizier zu melden, dass sich die Sensorlandschaft der Siedler über Nacht grundlegend verändert. Das Elkement steht dann vor der Herausforderung, der Krake wieder neu beizubringen, wie sie z.B. jetzt erkennen soll, ob die Wärmepumpe gerade läuft oder nicht. Soll man die Anforderung der Wärmepumpe heranziehen? Oder die Anforderung der Solepumpe? Oder doch eine Temperaturdifferenz und den Durchfluss im Solekreis?

Generell erfordert die scheinbar so volksschulmäßig simple Mittelwertbildung einiges an FingerspitzenTentakelgefühl: Abgesehen von Raum- und Außentemperatur sind die meisten Mittelwerte nur sinnvoll in Messintervallen, in denen bestimmte Bedingungen erfüllt sind. In die mittlere Vorlauftemperatur des Heizkreises sollten natürlich nur Werte einfließen, die gemessen wurden während die Heizkreispumpe läuft – andererseits müssen aber die Werte während der sommerlichen Kühlphasen ausgenommen werden. Vor allem muss die Krake lernen, welche Sensorwerte evtl. als Fehler zu werten sind!

Um das Elkement zu verwirrend, fügt Irgendwer aber nicht nur dauernd neue Sensoren hinzu, sondern ändert fieserweise auch die Rollen etablierter Sensoren. So wird schnell einmal eine neue Wandheizung eingebaut und was der (Regelungs-)Welt bisher als Radiatorheizkreis bekannt war, wird nun zu einem neuen Wandheizkreis.

Aber auch das Elkement selbst ist an der ständigen Krakenmutation nicht unschuldig: Während sich Irgendwer lange zufrieden gab mit zwei unterschiedlichen ‚Logging-Quellen‘ – der UVR1611 / UVR16x2 – und einigen manuell gemessenen Werten, hat das Elkement einen Zähler-Zoo herangezüchtet und schreckt nicht davor zurück, die Krake ihre Tentakel direkt in das Innere der Wärmepumpe vordringen zu lassen. All das erzeugt neue Logfiles mit Daten, die zu anderen Zeitpunkten in anderen Zeitintervallen gemessen werden und die von der Krake mit den UVR-Daten verknüpft werden müssen.

Datenkrake: Tentakel in der Wärmepumpe

Insbesondere die früher manuell abgelesenen Daten waren der Krake ganz besonders schwer beizubringen: Irgendwer war zwar ein verwegener Messdatenableser, weigerte sich aber beharrlich, jeden Tag exakt um 00:00:00 Energiewerte aufzunehmen. Da die dumme Wärmepumpe entweder an oder aus ist, macht eine Interpolation der Werte wenig Sinn und das Elkement musste jene erwähnten Mittelwerte für irgendwelche seltsamen Zeitintervalle berechnen.

Aber nicht nur irgendwelche Experimente fordern die Krake heraus: So mancher Hersteller von Steuerungen kommt ja hin und wieder auf die Idee, ’schnell einmal über die Feiertage‘ die Struktur der Loggingdaten mit einem Firmwareupdate durcheinanderzuwirbeln! Die Tentakel der Krake müssen dann bis zum Äußersten gedehnt werden, um die Daten wieder richtig einzusammeln.

Wie regelmäßige Leser dieses ‚Wissenschaftsblogs‘ erahnen werden, muss natürlich jeder dieser Laborversuche ausführlich dokumentiert und nachvollziehbar qualitätsgesichert werden. Gerade bei Tierversuchen gibt es ja sehr strenge Auflagen!

Nach langem Tüfteln – und dem Konsum vieler klischeehafter Filme über künstliche Intelligenz – hat das Elkement jetzt der Datenkrake ein paar weitere Metaebenen verpasst: Die DNA der Krake – also die Beschreibung der Logdateien und Sensoren, wird in einer separaten Vor-Krake abgelegt. Schonungslos wird hier jeder Messfauxpas von Irgendwem dokumentiert: So enthält die Vor-Krake eine Tabelle, in der man Zeitbereiche findet mit Kommentaren wie Irgendwie bastelt und hat versehentlich die Sicherung ausgeschaltet.

Aus der Vor-Krake entsteht dann ‚per Knopfdruck‘ die Große Krake, die automatisch Logdateien in der richtigen Reihenfolge frisst. Nach der Entschlüsselung der Kraken-DNA lässt sich diese auch klonen und frisst auch die CSV-Dateien anderer Siedler.

Nur wenn man diese Vorgeschichte kennt, kann man die kindliche Freude des Elkementes nachvollziehen, wenn die sehr schlichte Benutzeroberfläche dann das Durchklicken der wichtigen Kennwerte für LEO_2-Anlagen erlaubt – für Tage, Monate, Jahre oder Heizsaisonen.

Datenkrake: Excel-Auswertung

Endlich! Der Blubber.

Der metrische Sensor zur visuellen Erfassung des Füllstandes im Eisspeicher von LEO_2 war eine Innovation der ersten Stunde gewesen. – Einfach, robust, verlässlich und unschlagbar günstig!

blubber-metrischer-fuellstandsmesser

Der Klassiker unter den Füllstandsmessern …

Er hatte nur einen entscheidenden Nachteil: Das technische Personal – also Irgendwer – musste zur Erfassung des Füllstandes direkt vor Ort sein – also am Einstieg zum Eisspeicher. Und das natürlich genau zu jenen Zeiten, zu denen sich Eis im Eisspeicher bildete.

Über die nun doch schon einige Jahre dauernde Beobachtungsphase hatte sich inzwischen herausgestellt, dass die Phasen mit Eisbildung ziemlich gut mit widrigen äußeren Wetterbedingungen im Zusammenhang standen. Das wiederum bedeutete, dass Irgendwer regelmäßig seinen Hintern aus der warmen Stube in die unwirtliche Kälte des pannonischen Winters hinausbewegen musste, um diesen entscheidenden Messpunkt einzusammeln.

Und so, wie immer Mangel und Not die besten Innovationen hervorbringen, war es auch diesmal. Es war allerdings ein langer und steiniger Weg gewesen, bis Irgendwessen Forschungen im Bereich der Füllstandsmessung die gewünschten Ergebnisse gezeitigt hatten.

blubber-vorgaenger

Die Entwicklung der Füllstandsmessung hatte einige Prototypen hervorgebracht, bevor mit dem Blubber der Schritt von der diskreten Niveau-Überwachung zur kontinuierlichen Messung des Wasserstands im Eisspeicher gelungen war.

Wollte Irgendwer doch die Änderung des Wasserspiegels mit einer Auflösung von 1 mm messen, was einer Änderung des Eisvolumens von ca. 0,15 m3 entsprach. Und das in einem Eisspeicher, in dem man darauf achten musste, dass die Füllstandsmessung nicht einfror oder durch Eis verfälscht wurde. Außerdem wollte er diesen Sensor natürlich an seine Universalregelung anschließen, um den kontinuierlichen Verlauf des Füllstandes zu erfassen und bei Bedarf auch (regeltechnisch) darauf reagieren zu können.

Und so war er nach langem Tüfteln schließlich auf den ‚Blubber‘ gekommen, wie er ihn liebevoll nannte. Mit einer Belüftungspumpe, wie sie auch gerne für Teiche oder Aquarien verwendet wird, blies er Luft über ein Messrohr in den Eisspeicher ein. Wie der Physiker weiß, steigt der dafür notwendige Druck linear mit der Höhe des Wasserspiegels.

blubber-messrohr-3

Der ‚Blubber‘ in Aktion …

Für die Messung, und Aufzeichnung dieses Drucksignals sowie für die Umsetzung von ‚Druck‘ in ‚Wasserstand‘ und ‚Eisvolumen‘, fand er alle notwendigen Funktionen in seinem neuen Spielzeug, der UVR16x2, sodass er schließlich Wasserstand und Eisvolumen brandaktuell im Onlineschema darstellen konnte.

blubber-onlineschema

Der relative Wasserstand zum Soll-Füllstand (h.rel) und das Eisvolumen (V.Eis) waren dank ‚Blubber‘ nun aktuell im Online-Schema ablesbar …

Wenn es draußen stürmt und schneit, bin ich zum Messen stets bereit!‚ dachte sich Irgendwer, der damit – nachdem das El(k)ement die Wärmepumpe gehackt hatte –  nun auch den letzten Messpunkt in die automatische Datenerfassung integriert hatte.

Und ganz nebenbei glaubte irgendwer, mit dem ‚Blubber‘ auch das Problem der potentiellen Sensor-Vereisung gelöst zu haben. Die Nagelprobe stand mit der beginnenden ‚Eisperiode‘ unmittelbar bevor…

____________________________________________

Fortsetzung – der Bericht nach dem Ende der Eisperiode: Der Blubber: An der Klippe

Herbstliche Gewohnheiten (2)

Nachdem eine ungewöhnlich warme erste Septemberhälfte die Siedler mit sommerlichen Temperaturen verwöhnt hatte, begann nun unaufhaltsam der Herbst in Pannonien Einzug zu halten. Bald würde LEO_2 wieder aus seinem Sommerschlaf erwachen, um für die wohlige Temperierung der Siedlerhütte zu sorgen.

2015-2016-herbst

Es wurde herbstlich in z-village …

Alles war vorbereitet:

Routinemäßig hatte Irgendwer eine kleine Sole-Probe gezogen und mit dem Refraktometer den Frostschutz geprüft, der erwartungsgemäß unverändert bei einem Wert von ca. -25°C lag.

2015-2016-refraktometermessung-frostschutz

Der Frostschutz wurde mittels Refraktometer geprüft: OK.

Sicherheitshalber hatte er in diesem Zuge auch gleich ein paar Liter Sole nachgefüllt, denn mit dem Sinken der Temperatur im Solekreis würde auch der Soledruck im Winter wieder ein wenig zurückgehen.

Auch hatte er trotz der warmen September-Temperaturen den Kühlmodus wieder beendet. Aufgrund der kühlen Nächte war es auch nicht mehr notwendig, mit der passiven Kühlung nachzuhelfen. Viel wichtiger war es nun, den Eisspeicher im September auf Maximaltemperatur aufzuladen. – Denn im Herbst standen die ‚fetten‘ Monate mit den höchsten Arbeitszahlen des ganzen Jahres bevor, auf die sich Irgendwer schon insgeheim freute …

Zu Irgendwessen Herbst-Ritualen zählte auch der Rückblick auf das vergangene LEO_2-Jahr, der sich wie folgt darstellte.

Bis auf den Jänner mit zwei Kälteperioden war der Winter 2015/2016 ungewöhnlich mild verlaufen. Der Frühling war aber nur sehr stotternd in die Gänge gekommen.

2015-2016-temperaturen-und-eisbildung-leo_2

Erst im Jänner hatte sich mit einem Maximum von knapp 7m3 nennenswert Eis  im Eisspeicher gebildet, das aber Mitte Februar schon wieder vollständig geschmolzen war.

Das war auch der Grund, warum die Siedlerhütte nur einen vergleichsweise niedrigen Jahres-Gesamtwärmebedarf  von 16.725 kWh (inkl. Warmwasser) gehabt hatte. Bei einer Jahres-Arbeitszahl von knapp 4,6.

2015-2016-leistungsdaten-leo_2

Leistungsdaten 2015/2016 auf die Monate herunter gebrochen: Die höchsten Monats-Arbeitszahlen hatte es naturgemäß in den Herbstmonaten September bis November und dann wieder im Frühjahr (April und Mai) gegeben. Dann, wenn die Wärmequelle relativ warm und die mittlere Vorlauftemperatur der Wärmepumpe relativ niedrig sind …

Obwohl über die gesamte Heizperiode nur die halbe Kollektorfläche genutzt worden war, konnten trotzdem beachtliche 10.484 kWh über den Kollektor geerntet werden – und das vorwiegend in der kalten Jahreshälfte.

2015-2016-kollektorernte-und-heizwaermebedarf-leo_2

Der milde Wetterverlauf hatte sich auch positiv auf die Kollektorernte ausgewirkt …


Weitere Informationen: Details zu den Messdaten der LEO_2 Pilotanlage sind hier zu finden …

Wärmepumpen-Forensik – Teil 2: Mitloggen der Heizenergiewerte

Nachdem sich der neue CAN-Bus-Sniffer warmgeschnüffelt hatte mit nicht sehr spannenden Testwerten, wurde es Zeit für den Einsatz im Feld.

Der Raspberry Pi erhielt zunächst einmal einen würdigen Platz, um sich Überblick über den Heizraum zu verschaffen …

Raspberry Pi hat Alles im Blick

Eine typische provisorische Teststellung. Die einzige Stelle, an der am Beginn der Tests das WLAN-Signal halbwegs OK war. Ein ausgekreuztes Ethernet-Kabel gibt’s außerdem auch noch!

Das CAN-Bus-Kabel wurde entsprechend der Bedienungsanleitung an die Wärmepumpe angeklemmt:

Bedienungsanleitung Stiebel-Eltron WPF 7 basic, Abschnitt Kleinspannung

Abschnitt 12.2.3 – Kleinspannung, Bus-Leitung. Die optionale zusätzliche Stromversorgung („+“) wurde nicht verwendet.

Wie beim Testen mit UVR1611 wurde der ebenfalls kurze CAN-Bus nicht speziell terminiert:

Bedienungsanleitung Stiebel-Eltron WPF 7 basic, CAN-Bus angeschlossen

Stiebel-Eltron WPF 7 basic mit offenem Gehäuse – High (rot), Low (blau) und Ground (gelb) sind angeschlossen.

Damit konnten die elkementaren Tests beginnen …

Der beste Arbeitsplatz

(Für eine mögliche Einreichung bei Wettbewerben wie ‚Great place to work…‘)

… und die CAN-Schnittstelle wurde aktiviert, entsprechend der Anleitung von messpunkt.org mit einer Bitrate von 20kbit/s:

sudo ip link set can0 type can bitrate 20000
sudo ifconfig can0 up

Ohne aktive Kommunikation sind auf dem Bus mit Wireshark dann nur alle paar Minuten zwei Pakete zu sehen – die Wärmepumpe will also gefragt werden.

Besten Dank wieder an juerg5524.ch für die Bereitstellung von CAN-Tools und der Elster-Tabellen, die die diversen interessanten Parameter / ‚Indizes‘ enthalten!

Wir verschaffen uns zuerst einen Überblick darüber, welche CAN-IDs die Wärmepumpe überhaupt verwendet. Eine CAN-ID repräsentiert ein Set von Eigenschaften wie z.B. Ausgänge und kann auch Informationen über die Knoten-ID am CAN-Bus enthalten (Zu CAN-Grundlagen siehe z.B. dieses Dokument.)

Wird der CAN-Bus angefragt mit einer Sender-ID von 680 (siehe ) …

./can_scan can0 680

… erhält man folgende IDs …

elster-kromschroeder can-bus address scanner and test utility
copyright (c) 2014 Jürg Müller, CH-5524

scan on CAN-id: 680
list of valid can id's:

  000 (8000 = 325-07)
  180 (8000 = 325-07)
  301 (8000 = 325-07)
  480 (8000 = 325-07)
  601 (8000 = 325-07)

Fragt man gezielt nach jeder dieser IDs …

./can_scan can0 680 180

… sieht man die Liste der Elster-Indizes mit selbst erklärenden Namen der einzelnen Parameter. Die Siedler finden die interessanten (Logging-würdigen) Parameter alle ‚unter‘ der CAN-ID 180 – hier ein Auszug aus dem Output:

elster-kromschroeder can-bus address scanner and test utility
copyright (c) 2014 Jürg Müller, CH-5524

0001:  0000  (FEHLERMELDUNG  0)
0003:  019a  (SPEICHERSOLLTEMP  41.0)
0005:  00f0  (RAUMSOLLTEMP_I  24.0)
0006:  00c8  (RAUMSOLLTEMP_II  20.0)
0007:  00c8  (RAUMSOLLTEMP_III  20.0)
0008:  00a0  (RAUMSOLLTEMP_NACHT  16.0)
0009:  3a0e  (UHRZEIT  14:58)
000a:  1208  (DATUM  18.08.)
000c:  00e9  (AUSSENTEMP  23.3) 
000d:  ffe6  (SAMMLERISTTEMP  -2.6)
000e:  fe70  (SPEICHERISTTEMP  -40.0)
0010:  0050  (GERAETEKONFIGURATION  80)
0013:  01e0  (EINSTELL_SPEICHERSOLLTEMP  48.0)
0016:  0140  (RUECKLAUFISTTEMP  32.0) 
...
01d4:  00e2  (QUELLE_IST  22.6) 
...
092a:  030d  (WAERMEERTRAG_WW_TAG_WH  781)
092b:  0000  (WAERMEERTRAG_WW_TAG_KWH  0)
092c:  0155  (WAERMEERTRAG_WW_SUM_KWH  341)
092d:  001a  (WAERMEERTRAG_WW_SUM_MWH  26)
...
092e:  02db  (WAERMEERTRAG_HEIZ_TAG_WH  731)
092f:  0006  (WAERMEERTRAG_HEIZ_TAG_KWH  6)
0930:  0073  (WAERMEERTRAG_HEIZ_SUM_KWH  115)
0931:  0027  (WAERMEERTRAG_HEIZ_SUM_MWH  39)

Um z.B. den Stand der Raumheizungsenergie in MWh abzufragen, sendet man …

./can_scan can0 680 180.0931

… und der Output enthält gleich die Summe der MWh- und kWh- Angaben (Indices 0930, 0931):

elster-kromschroeder can-bus address scanner and test utility
copyright (c) 2014 Jürg Müller, CH-5524

value: 0027  (WAERMEERTRAG_HEIZ_SUM_MWH  39.115)

Beim Mitschnüffeln mit Wireshark sieht man die beiden Abfagen (Sender-ID 680) und Rückgabe der beiden Werte:

Mitsniffen am CAN-Bus: Wärmepumpe, Abfrage Heizenergie

Netzwerk-Pakete am CAN-Bus: Abfrage der Elster-Indices 0930 (kWh Heizenergie) und 0931 (MWh Heizenergie) mit can_scan. Die Bedeutung der einzelnen Bits wird im Englischen elkementaren Artikel zu diesem Thema beschrieben.

Um das Monitoring dieser Werte zu automatisieren, wird can_scan alle paar Minuten für die interessanten Parameter ausgeführt und der Zahlenwert aus dem Output in eine CSV-Datei geschrieben. Eine andere Option wäre, nur die Abfrage mit can_scan zu starten und den Output dann mit can_logger einzusammeln.

Die CSV-Datei wird dann per FTP an den Server geschickt, der als Datenkrake sämtliche Logfiles aus unterschiedlichen Quellen (UVR1611 / 16×2, PV-Wechselrichter, Smart Meter) zusammenfasst.

Das komplette Skript – wie auch noch etwas mehr Details zur CAN-Forschung – findet man wie immer auf dem elkementaren Blog.

Natürlich muss der neue Logger auch das Professionalitäts-Level des UVR16x2 einhalten, was die Montage betrifft: Deshalb sind im Routinebetrieb nun beide friedlich auf ihrem Holzbrettchen vereint zu finden (und nach einer Restrukturierung der Netzwerk-Architektur gibt es im Heizraum auch verlässliches LAN und WLAN):

Raspberry Pi mit PiCAN-Board von SK Pang, neben UVR16x2

Raspberry Pi mit PiCAN-Board von SK Pang neben UVR16x2 auf ökologischem Brettchen.

Wie der aufmerksame Leser sieht, wurde auch das CAN-Board getauscht – eine serielle Schnittstelle eröffnet Perspektiven für zukünftige Forschungsprojekte. Danke an SK Pang für ein eigentlich gar nicht mehr verfügbares Board!!

Wärmepumpen-Forensik – Teil 1: Mithorchen am Test-CAN-Bus

In grauer Vorzeit war die Aufnahme von Messdaten eine Herausforderung, die an physische und psychische Grenzen ging:

White-Out

White-Out im Winter 2012/13. Bodentemperaturen mussten trotzdem Irgendwer messen!

Wurzelsepp misst

Warten auf das Temperaturgleichgewicht…

Mittlerweile werden fast alle Messdaten automatisch aufgenommen:

Online-Schema CMI/UVR1611/UVR16x2

Online-Schema CMI/UVR1611/UVR16x2 mit den für die Steuerung nötigen Temperatur- und Durchflusssensoren und einigen weiteren Sensoren für ‚Forschungszwecke‘ (Bodentemperatur, Strahlung)

Aber ein wesentlich Sensor hatte sich der Automatisierungswut der Siedler bis jetzt widersetzt: Die offizielle Arbeitszahl in der Messdaten-Dokumentation wird berechnet aus der Wärmeenergie, die Irgendwer tagaus, tagein am Display der Wärmepumpe abliest.

Die Siedler-Wärmepumpe ist zwar ‚absichtlich dumm gewählt‚ – aber vielleicht gibt es ja doch smarte Ansätze? Im Handbuch der Stiebel-Eltron WPF 7 basic werden sie fündig: Im Abschnitt Kleinspannung, BUS-Leitung werden die Anschlüsse CAN-Bus für Fernbedienung angeführt – vielleicht könnte man ja hier die Ergebnisse der bisherigen CAN-Bus-Forschung nutzen? Und vielleicht sogar den derzeit nicht produktiven Raspberry Pi verwenden?

Wie praktisch immer, wenn man glaubt ein Pionier zu sein, findet man im Internet bereits Anleitungen und Tools. Besten Dank an die Stiebel-Eltron-Raspberry-Pi-CAN-Bus-Hacker von messpunkt.org und juerg5524.ch!

CAN-Erweiterungsboard für Raspberry Pi

Erste Herausforderung: Unser Pi ist das ältere ‚Modell B‘. Im Gegensatz zum Nachfolgermodell B+ hatte dieser Pi nur 26 GPIO-Pins für Steuerungszwecke anstatt 40. Die PIN-Belegung hat sich zwar nicht geändert, aber neuere CAN-Boards für 40 Pins passen nicht auf den alten Pi. Der versierte Bastler wird aber auf ebay fündig und freut sich über dieses kleine Board passend für 26 Pins.

Damit ist die CAN-Schnüffel-Hardware einsatzbereit:

Raspberry Pi mit CAN-Board

Raspberry Pi mit aufgestecktem CAN-Board und verdrahtetem CAN-Kabel (grau). Blaues Kabel: Ethernet, schwarzes Kabel: Stromversorgung.

Um nicht gleich die Energieversorgung der Siedlerhütte lahm zu legen und Software zu testen, schnüffeln wir zuerst in einer…

Testumgebung: UVR1611 mit Logger BL-NET

Der Pi-Schnüffler wird daher an einen Test-Bus angeschlossen der aus den folgenden altbekannten Geräten besteht:

  • UVR1611-Steuerung mit einem angeschlossenen Temperatursensor
  • Datenlogger BL-NET, per ausgekreuztem Ethernet-Kabel mit einem Test-PC verbunden, auf dem Winsol läuft. Daten werden jede Minute geloggt. (Überblick zu Logging mit UVR1611 und BL-NET).

Eigentlich müsste jeder CAN-Bus an beiden Enden terminiert werden. Da dieser Test-CAN-Bus wie auch der Wärmepumpen-CAN-Bus nur sehr kurze Kabel verwenden und sie keine negativen Erfahrungen gemacht hatten mit kurzen falsch terminierten Bussen, verzichten die Siedler auf eine korrekte Terminierung.

Test Can-Bus: UVR1611 und BL-NET

Test Can-Bus: UVR1611 (Mitte) mit einem Pt1000-Temperatursensor (Metallhülse, schwarzes Kabel) und Datenlogger BL-NET (oben, weiß). Das CAN-Kabel (grau) verbindet 1) UVR1611, 2) BL-NET (blauer Stecker) und Raspberry Pi (nicht im Bild). Am LAN-Kabel (gelb) ist ein PC mit Winsol angeschlossen.

Software und Konfiguration

Zuerst wird der Kernel des Raspberry Pi auf eine Version upgedated, die die CAN-Schnittstelle unterstützt. Für Details siehe z.B. diesen Blog-Artikel (Abschnitt Software Installation).

In der Raspberry-Pi-Konfiguration muss der für CAN benötigte SPI-Bus aktiviert werden. Dies wird im Detail beschrieben im Blog des CAN-Board-Herstellers SK Pang.

Bitrate einstellen

Der UVR-CAN-Bus verwendet eine Bitrate von 50kbit/s – im Gegensatz zum Wärmepumpen-Bus, der 20kbit/s benötigt. Mit folgendem Befehl wird die Bitrate eingestellt und die CAN-Schnittstelle ‚aktiviert‘:

sudo ip link set can0 type can bitrate 50000
sudo ifconfig can0 up

Bei falscher Bitrate sieht man beim Mitschnüffeln keine Pakete weil das CAN-Interface ’stummgeschaltet‘ wurde (Fehler BUS OFF [*]).

Wenn man alles richtig macht, sind jetzt alle zwischen BL-NET und UVR1611 ausgetauschten Pakete auch für den Raspberry Pi lesbar. Installiert man Wireshark, kann die CAN-Schnittstelle ausgewählt werden … und die Pakete werden korrekt dem CAN-Protokoll zugeordnet:

CAN-Bus-Netzwerkverkehr mitsniffen mit Wireshark

Nachdem Steuerung und Logger diesen Test überstanden haben, wagen sich die Siedler an die Kommunikation mit der Wärmepumpe heran. Fortsetzung folgt … hier in Teil 2.

[*] Etwas mehr Details im elkementaren Artikel zu diesem Thema.

_______________________________________________

Weitere Details zur CAN-Kommunikation der UVR1611