Hallo alle zusammen.
ich suche nach einer Möglichtkeit meine Junkers-Therme mit meiner
Hausautomatisierung zu verbinden um Betreibsdaten mitzuloggen.
Hat vielleicht jemand etwas ähnliches am laufen?
Auf der Seite http://jucan.reissberg.com/index.htm wurde mal eine
anbindung über den CAN-Bus der Regelung angefangen, leider ist der Autor
mittlerweile verstorben.
Im Forum hier gab es auch mal einen Thread wo jemand ähnliches vor
hatte:
Beitrag "Ceracontrol/Heatronic Protokoll"
Vielleicht kann mir jemand weiterhelfen.
Danke und Gruß,
Thorsten Weiss
Hallo allerseits,
bei unserer Heizungsanlage möchte ich nicht nur die Daten auf dem CAN
Bus loggen, sondern auch einige Optimierungen der Steuerung einbringen.
In unserem EFH wurde eine Junkers ZBS 22/120 MRA21 mit
witterungsgeführter Regelung installiert.
Prinzipiell darf an der Regelung des Heizkessels nicht eingegriffen
werden, aber meiner Auffassung nach ist noch Optimierungspotenzial
vorhanden. Dieses Potenzial liegt in der Steuerung der Heizungsanlage,
denn die Parametrierung der Regelung kann weitreichend über die
Servicefunktionen der Heatronic vorgenommen werden.
Damit dieses Potential genutzt werden kann, reicht es nicht aus, die CAN
Nachrichten zu protokollieren und decodieren, sondern es müssen auch CAN
Nachrichten auf den Bus versandt werden. Mit den Nachrichtenversandt
können entsprechende Busteilnehmer gesteuert werden.
Zur Realisierung könnte ich mir einen Mikrocontroller mit Userinterface
vorstellen, welcher auch als Datenlogger fungiert. Der Datenlogger
könnte mittels CF-Card aufzeichnen, damit nicht kontinuierlich ein PC
für die Datenerfassung eingeschaltet sein muss. Eine Anbindung ans
Internet zur Parametrierung des Mikrocontrollers möchte ich aus
Sicherheitsgründen nicht forcieren, jedoch wären Benachrichtigungen
bestimmter Ereignisse mittels SMTP-Client (Email) denkbar.
Damit hier eine Grundeinschätzung der Thematik getroffen werden kann,
benötigt man einen Mitschnitt der Kommunikation auf den CAN Bus. Zuvor
gilt es jedoch zu klären, ob eine Adaption (BUS-Modul an der Heatronic)
benötigz wird. Aus den bisherigen Recherchen und den somit
zusammengetragen Informationen, konnte keine CAN Schnittstelle an der
Heatronic ermittelt werden. Vielmehr verweisst der Hersteller für die
CAN-Bus Kommunikation auf die Busmodule BM1 und BM2.
Haben Sie diesbezüglich schon andere Erkenntnisse gesammelt?
Gruss
Besi
Hallo nocheinmal,
habe mir die Mühe gemacht, ein Busmodul für die Heatronic zu entwickeln,
dieses an die Anlage adaptiert und mittels einen CAN-Analyser die
Nachrichten auf den CAN-BUS über einige Tage aufgezeichnet. Mittels der
Aufzeichnungen konnten einzelne Sequenzen analysiert werden und Dank des
CAN- Analysers wieder auf den BUS geschickt werden. Das Ergebnis ist,
das die Heatronic und somit die Heizungssteuerung sowie der Kessel
exakt, die gleichen Prozesse durchlaufen haben.
Somit kann nun die Dekodierung der Nachrichten erfolgen.
Gruss
Besi
Hallo ihr beiden,
ich habe heute meine Cerastar mit einem BM1 und TA270 aufgerüstet, bin
begeistert was man dem Teil entlocken kann. Es wäre ja schade wenn die
Daten ungenutzt bleiben, ich würde die gerne mit meinem Hausbus-PC
verbinden um die Daten auszuwerten und Anzeigen zu lassen. Wie weit sind
eure Fortschritte?. Als CAN-Bus Interface habe ich mir das CAN200
ausgeguckt. Ich habe bis jetzt mit einem CAN-Bus keine Erfahrung und
leider auch kein CAN-Bus Analyser zur Verfügung. Mir würde es reichen
lesend auf dem CAN-Bus zuzugreifen um die Temperaturen bzw. Zustand der
Therme (Brenner an, Pumpe an u.s.w.) mitzuloggen. Wäre schön wenn Ihr
mir weiterhelfen könntet.
Viele Grüße
Sven
Hello
I'm, also trying to find some more info about building some kind of
datalogger for my Junkers heating system, but the best source page on
the net: (http://jucan.reissberg.com/index.htm), does not have more
info. Did someone continued development of this software? Where can it
be found? Which CAN/USB dongle is suitable, available on the market?
Thanks in advance.
Kiki
Hallo Besi, das hört sich ja gut an.
Sorry das ich mich jetzt erst wieder Melde...
Ich hatte auch mal einen CAN-Monitor angeschlossen, nur leider konnte
ich mit den Empfangenen Daten nicht soviel anfangen...
Konntest Du schon Werte den Can ID's zuordnen?
Ich hatte auch junkers mal angefragt bezüglich des Protokolls, aber wie
nicht anders zu erwarten gibt es keinerlei infos...
Gruß,
Thorsten
Hallo,
ich habe mir die Teile für einen PC Can-Bus Interface besorgt brauche
bloß ein wenig Zeit um das ganze zusammen zu löten. Hast du die
mitgeloggten Daten noch und könntest du sie mir zur Verfügung stellen,
damit ich schon mal sehen kann was und in welchen Format dort gesendet
wird?.
Viele Grüße
Sven
Anbein mal ein mitschnitt von mir im CSV-FOrmat.
Ich habe auch schon einige Kommentare eingetragen, aber keine Ahnung ob
davon irgend etwas stimmt...
Baudrate ist 10kbit
Wenn Du was herausbekommen hast melde dich mal.
Gruß,
Thorsten.
Wie ist das überhaupt so allgemein beim CAN-Bus...
Ich vermute mal ein reines umwandeln der HEX-Werte in Dezimal bringt
mich nicht unbedingt weiter, oder?
Hat jemand so einen bud reverseeingeniered (oder so..) und kann mir ein
paar tips geben?
Bin was das angeht nicht so die leuchte....
Gruß,
Thorsten.
Die Daten alleine bringen nicht so viel.
Man brauch ein paar weitere Infos zu dem Zeitpunkt, an dem die Daten auf
dem CAN-Bus mitgeloggt wurden. Wenn man dann z. B. die Aussentemperatur,
Vor- und Rücklauftemperatur usw. kennt, schaut man sich zu genau diesem
Zeitpunkt den CAN-Trace an. Dann lassen sich die CAN-IDs auch evtl.
zuordnen und man kann mit den Daten etwas anfangen.
Das klingt logisch...
Leider hat der CAN-Monitor den ich benutzt habe (TiN CAN von Ixxat mit
Cananalyzer light) nicht die Möglichkeit die Daten mit einem
Echtzeitstempel zu versehen, zumindestens habe ich nix gefunden. So
konnt ich leider nicht die Daten die Ich aufgeschrieben habe mit den
geloggten CAN-messages in einklng bringen...
Ich werde das interface mir nochmal ausleihen und einen Neuen Versuch
wagen...
Hat jemand evtl eine andere Software-Alternative ?
Möglichts als free oder Shareware natürlich.
Gruß,
Thorsten.
moin moin,
ich habe hier auch eine junkers im keller und ein can-interface im
rechner.
wie weit ist das ganze den nun gediehen?
würde mich gern beteiligen.
Vielleicht könnte jemand, der ein Ceracontrol TA 270 sein Eigen nennt,
mal bestimmte Aktionen mitloggen. Das dürfte das Reverse Engineering
beschleunigen.
Hallo
hab auch ne Junkers im Keller. Komme ich ohne Busmodul an die Heizung???
Wie?? Hätte ich einen Schaltplan, köönte ich gerne ein Platinenlayout
machen. Hab da einige Erfahrung.
Grüße
Martin
Hallo zusammen,
hat den schon jemand das Protokoll entschlüsselt?
Ich bin ebenfalls seit ein paar Tagen dran mir die CAN Kommunikation
zwischen meiner Cerasmart und einem TA270 etwas näher anzuschauen.
Leider kann ich im Moment nicht so viel Zeit investieren wie ich gerne
möchte.
Anbei trotz allem die Erkenntnisse die ich bisher gewonnen habe:
CAN ID
0x0200 / max. Vorlauftemperatur / Halbgradschritte (120 dez. -> 60°C)
0x0201 aktuelle Vorlauftemperatur Halbgradschritte (120 dez. ->
60°C)
0x0204 / max. Vorlauftemperatur / Halbgradschritte (120 dez. -> 60°C
0x0205 / max. Vorlauftemperatur / Halbgradschritte (120 dez. -> 60°C)
0x0256 Uhrzeit 4 dezimal Werte: Tagesnummer (1=Mo...7=So) ; Stunde ;
Minute ; "4" - (was die 4 am Schluss bedeutet weiss ich noch nicht)
Soweit mein aktueller Stand....
Gruss Dietmar
Das sieht doch schonmal ganz gut aus,
mein problem istt das ich im moment einfach keine Zeit finde um da
weiter zu machen.
Leider habe ich auch kein eigenes CAN-Interface - sodass ich mir immer
eins leihen muss, das leider auch nicht immer spontan verfügbar ist.
Im August habe ich drei wochen urlaub, vielleicht geht dann ja was...
@ mschleicher:
imho ist der CAN-Bus ohne das Busmodul nicht verfügbar, ohne wird es
nicht gehen...
@Dietmar:
Ich muss mal sehen wo meine Protokolle abgeblieben sind, hatte kürzlich
einen PC-Defekt.
@all:
Schön das ich nicht mehr alleine bin, jetzt dürften wir das hinbekommen.
Sooo schwer kann das ja nicht sein... ;-))
Gruß,
Thorsten
Sooo, habe meine CAN-Logs wiedergefunden.
Leider habe ich meine Zettel nicht mehr was ich wann an der Regelung
eingestellt habe....
Ich werde mir jetzt erstmal irgendwo ein CAN-Interface besorgen...
Ein CAN-Log habe ich mal angehängt.
Gruß,
Thorsten.
So, werde mich das Wochenende auch mal ransetzen.
Regelung bleibt, wie sie ist.
Ich will nur im 1.Stock ein Display haben mit ein paar Infos und einen
Taster, um die Zirkulationspumpe kurz einzuschalten, wenn man duschen
will.
CAN ID
0x0200 / max. Vorlauftemperatur / Halbgradschritte (120 dez. ->60°C)
0x0201 aktuelle Vorlauftemperatur Halbgradschritte (120 dez. ->60°C)
0x0204 / max. Vorlauftemperatur / Halbgradschritte (120 dez. ->60°C
0x0205 / max. Vorlauftemperatur / Halbgradschritte (120 dez. ->60°C)
0x0256 Uhrzeit 4 dezimal Werte: Tagesnummer (1=Mo...7=So) ; Stunde ;
Minute ; "4" - (was die 4 am Schluss bedeutet weiss ich noch nicht)
wobei sich 0x200 und 0x201 auf den Heizkreis beziehen, 0x204,0x205 auf
den WW-Kreis (Specherladung) beziehen. 0x205 ist die aktuelle
Speichertemperatur.
zus. kommen noch folgende IDs vor:
0F9h DL 0
207h DL 2
208h DL 1
209h DL 1
20Ah DL 1
20Bh DL 1
20Ch DL 1
20Dh DL 1
250h DL 1
252h DL 1
253h DL 1
254h DL 1
255h DL 1
258h DL 1
25Ah DL 2
404h DL 2
405h DL 2
0x252 ist der aktuelle Heizungsvorlauf-Sollwert, gebildest im TA270 aus
diversen Parametern, selbes Schema wie oben (0,5°-Schritte)
0x255 ist der aktuell gültige Warmwassersollwert.
Jetzt fehlt mir nur doch die Aussentemperatur, werde ich auch gleich
noch finden. Der Rest interessiert mich im Moment nicht, bei Gelegenheit
werde ich das hier vervollständigen.
schwupp, noch ein paar Infos:
Aussentemperatur liegt auf 0x207, Wert in 1/100°.
Also Anzeigewert 20°, CAN 0x07E2=2018=20,18° (wobei die Nachkommastellen
eher philosophischen Charakter haben :-)
0x209 ist Status Brenner:
00: Flamme aus
01: Flamme ein
Vielleicht hat noch jemand Lust, das fortzuführen, ich habe erst mal
alles, was ich brauche.
Hallo zusammen,
da ich auch eine Junkers samt TA 270 habe und diese gerne per
PC-Steuerung optimieren/kontrollieren möchte, habe ich mit Freude
gelesen dass auch andere an diesem Thema dran sind.
Derzeit überwache ich die Temperaturen per 1-Wire-Bus am PC. Schön wäre
wenn ich die Auswertung der Messwerte nutzen könnte, um die Heizung
selbst optimierter zu steuern. Dazu brauche ich zunächste erstmal ein
CAN-Bus-Interface ... ich dachte an dieses hier:
http://www.ehitex.de/p_info.php?xPD=113_117&products_id=264
Wäre das ausreichend?
Kann man überhaupt dann aktiv über den Bus gewisse Aktionen triggern
oder wäre es nur das Analysieren/Auslesen möglich?
Gruß Sascha
Sorry, was du da gefunden hast ist kein "CAN-USB-Adapter". Das ist ein
kleines Eva-Kit für den Controller in dem Stick.
Suche einfach nach "CAN Interface". Dann findest du genug Produkte mit
denen man mit dem PC/Laptop auf den CAN-Bus zugreifen kann. Hast freie
Wahl in der Form. USB-Box, PCI-Karten, RS232 Interface oder PCMCIA
Karte, sogar CAN-Ethernet Gateways gibt es. Ein einfacher
"CAN-USB-Stick" ist mir im Moment nicht bekannt. Am besten du schaust
dich mal dort um wo sich die Leute rumtreiben die im Auto mitlauschen
(Stichwort CAN-Hack).
Du kannst natürlich auch, den Artikel aus deinem Link nehmen. Musst dir
dann nur noch passende PC-Programm schreiben oder einen Treiber damit
die verfügbaren Programme damit umgehen können.
@Christian:
Die Tiny-CAN Teile sind eine Möglichkeit. Wenn es erst einmal um das
Lauschen geht, kann man sich im ersten Schritt auch ein kleines Program
für seinen Kontroller (mit dem man dann auch die Heizung steuern möchte)
schreiben, welches dann einfach die Bytes von CAN auf RS232 weitergibt.
Man muss halt eine relativ hohe Übertragungsrate auf der Seriellen
wählen. Wie groß die sein muss musst du selber ausprobieren.
PS: ich baue an keiner Heizungssteuerung. Ich habe nur auf anderen
Gebiet mit CAN zu tun und wollte eigentlich nur den Fehler von Sascha
richtig stellen bevor es zuspät ist.
Einen eigenen Kontroller zu Programmieren ist mir auch schon in den Sinn
gekommen, da es auch gleich eine gute Übung ist um die Funktion zu
lernen, die man später sowieso in einem Kontroller braucht.
Einen MCP2515 hab ich mir dafür schon besorgt, allerdings hatte ich noch
keine Zeit zum Programmieren.
Christian
Jetzt muss ich mich auch mal wieder melden.
ich komm im moment leider überhaupt nicht weiter meine Steuerung
anzuzapfen...
Ich bekomme demnächst allerdings eine neue Therme, ich weiss aber noch
nicht welche regelung dabei ist...
Wahrscheinlich eine von den neuen Junkers Reglern FW100 - FW500.
Angeblich werden die nun über einen 2-Draht-Bus angeschlossen.
ich befürchte das das kein CAN-Bus mehr ist?
Kann das jemand bestätigen??
Ich hoffe ich kann meine TA250 behalten....
Gruß,
Thorsten.
Hallo !
Ich hoffe, dass hier noch jemand mitliest.
Ich habe mich dazu entschlossen ebenfalls dem Datenstrom zwischen meiner
Junkers Therme, dem TA270 und dem HSM und dem HMM zu lauschen.
Nach umfangreicher Internetrecherche werde ich wohl dieses Teil hier
(http://elmicro.com/de/canusb.html) kaufen.
Die Software für 39,- € sollte auch nicht zu teuer sein.
Hinterher möchte ich mit Excel auswerten.
Jetzt meine Frage, da ich absoluter Frischling in puncto AN-Bus bin.
Gibt es Dinge zu beachten ?
Gibt es Erfahrungen ?
Kann mich sonst irgendwie jemand "an die Hand" nehmen ?
Danke !
Gruß,
Bernd
Hallo Bernd,
wenn ich das richtig sehe hast Du unterschiedliche Erdpotentiale ?
Oder hängen da alle CAN Baugruppen an einer Steckdose ?
Das bedeutet Du benötigst ein Modul mit galvanischer Trennung!
Sonst kann das böse Überraschungen geben.
Das canusb Modul und das Tiny-CAN I haben keine galvanische Trennung!
Es schadet auch nicht wenn das Modul den "listen only Mode" kann,
damit kannst Du unbemerkt einfach mal mit horchen :-)
Wenn Du ein Modul von mir kaufen willst musst Du das Tiny-CAN II-XL
oder größer nehmen.
Von den "canusb" kann ich dir wegen der fehlenden galvanischen
Trennung nur abraten.
Gruß
Klaus
Hallo, ich habe ein ZWR 18-6 KE 21 Kombitherme kann aber keinen Bus
Anschluß finden... Da wo der Stecker sein sollte ist nicht...???
Habe mir eine TA 270 inkl. HSM und HMM (gebraucht) gekauft...
Wenn es nicht möglich ist diese an meine Thermeanzuschliessen würde ich
die Bauteile wieder verkaufen...
LG Franz
Hallo, ich habe ein ZWR 18-6 KE 21 Kombitherme kann aber keinen Bus
Anschluß finden... Da wo der Stecker sein sollte ist nicht...???
Habe mir eine TA 270 inkl. HSM und HMM (gebraucht) gekauft...
Wenn es nicht möglich ist diese an meine Thermeanzuschliessen würde ich
die Bauteile wieder verkaufen...
LG Franz
Guten Morgen,
habe mittlerweile einige Dinge aus dem CAN eingelesen und speichere
diese nun in einer mySQL DB.
Hat jemand eine Idee, wie die Innentemperatur über den CAN übertragen
wird?
Mfg
Björn
Soweit ich mich erinnere gar nicht, wird nur vor Ort angezeigt.
Wird reglerintern mit allen anderen Parametern (Aussentemperatur,
Heizkurve etc) zu einer Sollvorlauftemperatur verwurstet.
Ich habe ihn jedenfalls nicht gefunden, und letzten Endes interessiert
das die Therme ja auch gar nicht.
Hallo,
obwohl der thread schon alt ist, probier ich es trotzdem..
Kann mir jemand sagen, welche CAN-Einstellungen ich benötige um die
Daten zu loggen?
Hat jemand in der Zwischenzeit weitere Ids identifiziert?
MfG und Danke im Voraus,
Roland
supr schrieb:> Kann mir jemand sagen, welche CAN-Einstellungen ich benötige um die> Daten zu loggen?Thorsten Weiss schrieb:> Baudrate ist 10kbit>> Wenn Du was herausbekommen hast melde dich mal.>> Gruß,
Vielen Dank für die Hilfe. Mein Raspberry Pi hängt jetzt an der Therme
und empfängt die Can-Messages. Dank der Hilfe hier konnte ich die
meisten Messages entschlüsseln. Ein paar sind mir leider noch unbekannt.
Hat jemand noch weitere Ids entschlüsselt?
Die folgenden fehlen mir noch:
20171111 16:11:21.609 31486:31515 INFO ### unknown ### id=0000020D [24]
20171111 16:11:23.851 31486:31515 INFO ### unknown ### id=00000258 [1]
20171111 16:11:25.843 31486:31515 INFO ### unknown ### id=00000417 [1,
1]
20171111 16:11:27.848 31486:31515 INFO ### unknown ### id=00000251
[255]
20171111 16:11:28.867 31486:31515 INFO ### unknown ### id=00000253 [0]
20171111 16:11:30.841 31486:31515 INFO ### unknown ### id=00000254 [1]
20171111 16:11:32.868 31486:31515 INFO ### unknown ### id=000000F9 [0]
20171111 16:11:33.848 31486:31515 INFO ### unknown ### id=00000250 [0]
20171111 16:11:42.308 31486:31515 INFO ### unknown ### id=00000208 [1]
Grüße und Danke,
Roland
Hi,
ich bin auch dankbar über diesen Thread und wäre an weiteren Details
interessiert. Ich schreibe gleich mal Junkers an in der Hoffnung, dass
ich/wir von dort evtl. direkt Infos bekommen.
Auf der anderen Seite interessiert mich auch, welche Register
beschrieben werden können, um Elemente zu steuern. Hat da jemand
Erfahrung?
P.S.: RPi3 mit MCP2515 (3,3v Mod) mit can-utils und Python Skript
(import fhem)
Nicholas John K. schrieb:> Ich schreibe gleich mal Junkers an in der Hoffnung, dass> ich/wir von dort evtl. direkt Infos bekommen.
Viel Erfolg :-)
Da wirst du exakt nichts bekommen.
H.Joachim S. schrieb:> Viel Erfolg :-)> Da wirst du exakt nichts bekommen.
Da hast du vollkommen recht :-)
Weiß einer von euch, welche Werte aus der Therme und welche aus der
Steuereinheit kommen? Leider habe ich nur einen Bus-Adapter, ansonsten
könnte man einen Sniffer/Proxy zwischen den beiden Einheiten einsetzen
und dann die Steuerung beeinflussen.
Nicholas John K. schrieb:> Weiß einer von euch, welche Werte aus der Therme und welche aus der> Steuereinheit kommen? Leider habe ich nur einen Bus-Adapter, ansonsten> könnte man einen Sniffer/Proxy zwischen den beiden Einheiten einsetzen> und dann die Steuerung beeinflussen.
Ich habe etwas gefummelt. Mir scheint, dass die TA270 "nur" Sollwerte
(Heizung/WW) an die Therme sendet. Nachdem ich die TA-Einheit entfernt
habe und nur meinen Pi am Bus hatte, habe ich lediglich die Codes
252/253 mal per CAN beeinflusst/gesendet und die Therme hat entsprechend
reagiert. Ansonsten würde nach einiger Zeit die Fehlermeldung A8
(Kommunikation unterbrochen) kommen.
Wenn ich jetzt noch die Außentemperatur mit benutze und eine Art
Heizkurve berücksichtige, kann ich doch eine eigene Steuerung
programmieren (quasi das Rad neu erfinden ;-). Oder was meint ihr? Die
Fußbodenheizungsventile werden (leider) direkt durch die Wandthermostate
gesteuert.
Moin Zusammen,
mittlerweile bin ich weiter mit meinem Projekt.
Ich habe jetzt einen RPi laufen, an dem zwei CAN-Module angeflanscht
sind. Das eine Modul hängt ist mit der Heizung und das andere Modul mit
der TA270 verbunden. Ich empfange also die CAN-Bus Meldungen im RPi und
sende sie dann an den jeweils anderen Bus weiter. In dem Zustand ist
dann alles wie gehabt. Ich setzte allerdings noch einen „Panikschalter“
ein (verbindet den Bus dann wieder physisch), damit meine Frau ggf.
alles wieder auf normal stellen kann, wenn ich mal nicht greifbar bin
:-)
Jetzt können die Werte beliebig verändert werden. Erfolgreich konnte ich
der Heizung bereits manuell Vorgaben für die Vorlauf- und
Warmwassertemperatur machen. Viel mehr macht die TA270 auch nicht.
Auf dem Bus ist auch die Außentemperatur und den Wert für die
Zimmertemperatur bekomme ich von extern. Ich denke damit lässt sich
relativ leicht eine Logik für eine Steuerung realisieren. Weiterhin
binde ich dann noch einen Kalender ein und kann dann auch Feiertage
berücksichtigen (was die TA270 nicht kann).
Interessant ist auch, dass ich die Heizung jetzt unter Berücksichtigung
der Wetterverhältnisse steuern kann. Ist viel Sonnenschein vorhergesagt,
fahre ich die Heizung morgens früher runter, denn unser Haus nimmt die
Wärme gut auf. Ist es draußen hingegen kühl und windig, muss ich etwas
gegensteuern.
Bleibt also noch etwas Arbeit für die Software :-)
HBW auch eine Junkers Heizung mit einem BM1 Modul und im Wohnzimmer den
TA250
Würde gerne meine Heizung auch Smart steuern. Daher die Frage wenn man
das hier so liest dann haben es ja einige geschafft.
Was brauche ich?
Wie funktioniert das ?
Würde mich echt freuen wenn das hier weiter lebt und wir alle die
Heizubg über FHEM oder IOBroker steuern können.
Hallo an alle,
Ich verfolge dieses Thema mit großem Interesse. Ich spreche
Niederländisch (aus Belgien), daher wird diese Übersetzung nicht perfekt
sein.
Ich selbst habe eine Junkers-Wärmepumpe (Split-Air-Water) mit der
Inneneinheit ASE 120. Dazu habe ich einen Raspberry Pi mit PiCAN2-Modul
angeschlossen, um das CAN-Protokoll zu lesen und zu interpretieren.
Der CAN-Bus ist also angeschlossen:
* Innenthermostat
* Bedienfeld am Innengerät. Dieser enthält den Prozessor und die
Firmware, die die Wärmepumpe steuern.
* 2 Leiterplatten (PCB) in der Inneneinheit, die eine Schnittstelle
bieten (Ablesen der Temperaturen, Signale von und zur Außeneinheit)
* Raspberry-Pi mit PiCAN2-HAT.
Bis heute kann ich aus den CAN-Nachrichten nicht viel Bedeutung
gewinnen. Entgegen den Erwartungen gibt es viele verschiedene CAN-IDs,
die Nachrichten auf dem CAN-Bus veröffentlichen.
Anbei ein Screenshot des "Cansniffer", der auf dem CAN-Bus 20 Sekunden
gelesen hatte. Die Liste der IDs wird länger, wenn der Cansniffer länger
liest.
Hat jemand mehr Einblick in das CAN-Protokoll, als Junkers es anwendet?
Was bedeuten die vielen verschiedenen CAN-IDs? Wie sind die
CAN-Nachrichten aufgebaut?
Vielen Dank im Voraus
Guten Tag!
Dieses Thema existiert nun seit 2007 und immer wieder gibt es neue
Beiträge. Mich würde zum einen interessieren, wie weit ihr mit der
Entwicklung einer Junkers-Spezifischen Software gekommen seid...
... zum Anderen welche Interfaces Ihr verwendet. Z.B. dieses
https://www.antratek.de/usb-can-v7-00-analyzer
ist zumindest mal preiswert, im Gegensatz zu all den anderen.
Galvanische Trennung war mal ein Thema, das wird dieses Ding wohl nicht
bieten. Erfahrungen mit/ohne diese Art von Sicherheit? Hat jemand sein
BM1 oder den TR/TA geschrottet?
Ich möchte nicht in die Steuerung eingreifen, sondern lediglich etwas
Analyse betreiben, Anzahl der Brennerstarts, die jeweiligen Laufzeiten,
Ruhezeiten entsprechen Taktsperre/Schaltdifferenz, vorgegebene und
tatsächliche sowie über den Zeit gemittelte durchschnittliche
Vorlauftemperaturen etc.
Bin für alle Erfahrungen dankbar...
Der Trabant aus dem Norden Deutschlands
Moin Trabant,
mit dem ISO1050 kannst du eine galvanische Trennung herstellen. Das ist
ein CAN Tranceiver, den du dann z.B. mit dem MCP2515 benutzen kannst.
Ich habe mich ohne galvanische Trennung an den Bus gehängt und seit dem
keine Ausfälle, bzw. Zerstörungen gesehen. Ich nutze immer noch zwei
Breakout Boards.
Auch ich betreibe meinen Lauschapparat
(https://elmicro.com/de/canusb.html) bereits seit acht Jahren ohne
galvanische Trennung und meine Heizung schnurrt wie ein Kätzchen. ;-)
...was mich allerdings interessieren würde, ob jemand mittlerweile eine
funktionsfähige Software für Linux-Systeme (speziell Synology-NAS) sein
Eigen nennt...
Gut, dann werde ich mir bzgl. der galvanischen Trennung mal keine
Gedanken machen.
Wie wertet Ihr die empfangenen Pakete denn aus? Ich könnte sie z.B. mit
einem Skript (wie Perl) verarbeiten und dann mittels eines CSV-Formates
in Excel importieren... mein Ziel wäre eine Grafik mit verschiedenen
Kurven... Heizung ein/aus (Pumpe), Brenner ein/aus, Vorlauftemperaturen
etc.
Sendet die Therme denn nur bei Statusänderungen z.B. ein BRENNER EIN
oder werden die Werte in festgelegten Zeiträumen übermittelt?
Eine Tabelle mit den IDs und deren Bedeutung/Umrechnung wäre schön,
findet sich aber im Grunde auch schon etwas weiter oben im Thread.
Wenn Ihr da schon was Eigenes entwickelt habt müsste ich nicht ganz von
Vorne anfangen - was die Plattform und verwendete Software betrifft bin
ich da flexibel... Windows oder etwas Unix-artiges.
Oft wird z.B. der Rasperry erwähnt, damit habe ich bislang noch keine
Erfahrungen.
Danke schonmal für alle Inputs.
Raspberry hat ja (fast nur) Linux drauf. Hol dir einen - macht Laune.
Das Anklemmen der Breakout Boards geht recht einfach. Es muss nur eine
kleine Änderung bzgl. der Spannung vorgenommen werden. Die eigentliche
Herausforderung ist das Aufsetzen der Schnittstelle. Da wäre ich
behilflich. Im Netz gibt es dazu auch reichlich Anleitungen.
Die Werte werden i.d.R. nur bei Änderung übermittelt. Remote Requests
bringen leider keine Antworten.
Auch ich nutze nur eigene Skripte (Python), die u.a. eine Brüche zu FHEM
herstellen. Durch die Verwendung von zwei CAN Modulen hänge ich mich
zwischen die TA und der Heizung und kann so (gesteuert über einen
Kalender u.ä.) Einfluss nehmen (Schnellaufheizen [Warmwasser-Soll],
manuelle Vorlauftemperatur).
Eine fertige Software kenne ich nicht. Falls du dich mit Einsen und
Nullen gut auskennst schlage ich vor, selbst Hand anzulegen. Perl geht
da sicher auch.
Nicholas John K. schrieb:> Die Werte werden i.d.R. nur bei Änderung übermittelt.
Aus der Erinnerung heraus: glaube ich nicht, die plappern die ganze
Zeit. Könnte aber noch mal nachschauen.
Nicholas John K. schrieb:> Das Anklemmen der Breakout Boards geht recht einfach. Es muss nur eine> kleine Änderung bzgl. der Spannung vorgenommen werden. Die eigentliche> Herausforderung ist das Aufsetzen der Schnittstelle. Da wäre ich> behilflich.
Welchen Can Boards hast Du denn in Einsatz? Und wie sind sie am
Raspberry angeschlossen... ich vermute mal nicht über USB...
So, ich habe mir einen Raspberry 3B+ und ein PiCan2 Board samt einem für
beides passenden Gehäuse zugelegt... siehe
http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html
Hat alles auf Anhieb funktioniert, ich importiere die Werte jetzt
mittels eines Skriptes in den Volkszähler
(https://www.volkszaehler.org/).
Ich habe noch zwei zusätzliche Werte gefunden:
202H 1 Byte max. Warmwassertemperatur in Halbgradschritten
203H 1 Byte aktuelle Warmwassertemperatur in Halbgradschritten
Die weiter oben genannten 204 und 205 sind wohl für den Speicherbetrieb.
Meine ZWR-18-6 bereitet das WW im Durchlaufprinzip, in diesem Fall
werden dann dann die IDs 202 und 203 benutzt.
Folgende Werte meines Reglers konnte ich noch ermitteln, unter
Vorbehalt. Ich habe einen TR220 Raumtemperaturregler, ob sich dessen
Ausgaben mit den TA Modellen decken, weiss ich nicht...
250H 1 Byte Sollwert von TR: Heizbetrieb 00=Aus 01=Ein
251H 1 Byte Sollwert von TR: Heizleistung gleitend (00-FF)
252H 1 Byte Sollwert von TA/TR: Heizungssollwert(VLT) in
Halbgradschritten
253H 1 Byte Sollwert von TA/TR: Speichersollwert in Halbgradschritten
--> der Vollständigkeit halber mit aufgeführt
254H 1 Byte Sollwert von TR: WW-Sofort 00=Aus 01=Ein
255H 1 Byte Sollwert von TR: WW-Sollwert in Halbgradschritten
--> bei einer ZWx Therme mit WW-Bereitung im Durchlaufprinzip, im
Normalfall identisch mit 202H
256H Uhrzeit 4 HEX Werte
1 Byte = Tag 1 Montag / 7 Sonntag
2 Byte = Stunde
3 Byte = Minute
4 Byte = ????
Die 208, von der Heizung kommend, ist in früheren Beiträgen 24, bei mir
18. Mag das die max. Heizleistung des Gerätes sein, ich habe eine ZWR
18-6?
Trabant schrieb:> Die 208, von der Heizung kommend, ist in früheren Beiträgen 24, bei mir> 18. Mag das die max. Heizleistung des Gerätes sein, ich habe eine ZWR> 18-6?
Entschuldigt, ich meinte die 20D. Nicht die 208.
Nochmal eine Frage... habt Ihr Euren Can-Bus an beiden Enden terminiert?
Oder ist im BM1 und TR/TA schon eine entsprechende (120Ohm?)
Terminierung enthalten? Ich vermute bei den niedrigen
Übertragungsgeschwindigkeit und der kurzen Leitung ist das so und so
nicht kritisch... Das von mir verwendete PiCan2 hat einen entsprechenden
Widerstand auf der Platine, der jedoch standardmässig nicht aktiv ist.
Hallo,
ich verfolge dieses Thema auch schon seit einigen Jahren, habe aber nie
die Zeit gehabt meine Therme ZBS 22/120 auf CAN_Bus umzubauen.
Hätte diesbezüglich auch mal einige Fragen, vielleicht habt Ihr sie ja
schon gelöst.
Der Canspeed ist 10Kbit angegeben, somit Lowspeed. Lowspeed hat aber
andere Übertragungsparameter als Highspeed. Habt Ihr noch
Widerstände(CANH&CANL) nach Ub5V gesetzt oder hattet Ihr keine Probleme
damit?
Habt Ihr vielleicht auch umgebaut und überlegt wo durch wird die
Freigabe von BM1 bzw. TA250 zu TA211E(Analogteil)der Elektronik
mitgeteilt wird. z.B ein Pin oder so. Weil Schaltpläne oder Info's
bekommt man nicht.
Würde mich freuen über eine Info.
danke
Peter schrieb:> Widerstände(CANH&CANL) nach Ub5V gesetzt oder hattet Ihr keine Probleme> damit?
Keine Probleme. Ich habe den MCP2551 drin.
> Habt Ihr vielleicht auch umgebaut und überlegt wo durch wird die> Freigabe von BM1 bzw. TA250 zu TA211E(Analogteil)der Elektronik> mitgeteilt wird.
Es reicht, das BM1 anzustecken.
Hi,
danke.
Erstaunt mich doch, ist wohl schon Jahre her das ich mit Lowspeed (100)
gearbeitet habe, aber ohne zusätzlichen Adapter hatten wir Probleme.
Aber Automotive ist halt etwas anders. Der letzte Treiber ist bei mir
MCP2562 (Watterott)allerdings für FD soll besser sein ~~.Übrigens eine
Terminierung über Rg<60 Ohm (2x120) wird kritisch.
Zu meinen Anliegen zurück.
Bin etwas verwirrt, wenn ich Eure einzelnen ID's und deren Zuordnung
lese.Ich kann doch nicht den Status, hier Info, anfordern und
gleichzeitig diese ID auf dem Bus als Heizungsinfo(<--TA...) haben.Der
gültige Status muss doch immer von der Heizung kommen (IDx) und einige
Daten vom TA..für die Heizung, bzw. evtl. mit gleichen Inhalts. Und ich
sehe nur 1,2 oder 3 Bye lange Telegramme und ein mal vom WERT. Sehr
ungewöhnlich, ist das so richtig?
Weil Statusanfragen können auch im CAN-Bus(normal) größer als 8 Byte
werden(next 21, 22....). Werde wohl erst mal eine Trockenübung mit dem
TA.. durchführen müssen, wenn das geht.
Entwirrt mich mal, muss ich umdenken.
danke
Ich verstehe dein Problem nicht - das ist doch wirklich CAN auf
einfachster Stufe.
Da wird nichts angefordert, jeder twittert so vor sich hin.
Im Normalbetrieb ist der TA270 Chef der Sache, der sagt was zu tun ist,
die Therme liefert nur Daten (Temperaturen, Brennerstaus u.ä.) und führt
aus (Warmwasser bitte auf xx Grad, Heizungsvorlauf bitte auf yy Grad),
abhängig von eingestelltem Zeitprogramm, aktuellen Temperaturen,
Heizkurve, Aussentemperatur, manuellen Eingriffen.
Doppelte IDs sind mir nicht aufgefallen, die machen auch nie Sinn.
Hallo,
sorry,...ich verstehe Dich wirklich,
H.Joachim S. schrieb:> Ich verstehe dein Problem nicht - das ist doch wirklich CAN auf> einfachster Stufe.
aber.. ich habe evtl. vor auf ein sicherheitsrelevantes Gerät über
CanBus zu zugreifen ob Aktiv oder Passiv.-->Gefährlich, teuer und ich
friere evtl.. Wie weit die Systemsicherheit vor 13 Jahren war, weiß ich
nicht.
Ich habe nicht einmal eine Beschreibung der Hauptplatine gefunden noch
der Pinbelegungen der Stecker( bis auf Can_Bus),noch der Software. Aber
es ist ein Bus_System von Bosch. Bosch ist der Erfinder des CAN-Buses
und ich bin mir sicher das der übereinstimmt mit der Norm. Die
Beschreibung vom MCP2515 wird Dir bekannt sein, dann weist Du auch was
alles unternommen wird das der Busverkehr geregelt ist.
H.Joachim S. schrieb:> Da wird nichts angefordert, jeder twittert so vor sich hin.
Frage, wie wird dann ein Fehler in der Kommunikation
festgestellt?-->evtl. durch Timeout der "zyklischen" Information. Das
kann im ms bis s Bereich stattfinden und das sind Daten die die
Hauptplatine immer benötigt!....Wenn ich am Drehschalter Info einschalte
bekomme ich alle 3s laut Beschreibung andere Daten.--> ID(Botschaft
"Info")wird gesendet an Hauptplatine, angefordert und zugestellt durch
die Hauptplatine, aber im Hintergrund läuft das Heizungsprogramm weiter.
Gezielt bekommst Du deine Daten und nicht aus einem Sammelbecken mit
evtl. uralten Daten.
H.Joachim S. schrieb:> Im Normalbetrieb ist der TA270 Chef der Sache, der sagt was zu tun ist,> die Therme liefert nur Daten (Temperaturen, Brennerstaus u.ä.) und führt> aus
Sorry, sehe ich anders, der Chef ist, wer die höhere Priorität und die
Entscheidungsgewalt hat. Das ist ganz sicher die Hauptplatine, das ist
ja keine dumme PID. Auch weil TA211E und eine Uhr, Ta 270 ersetzen kann.
Ta270 ist ein Ein- und Ausgabe gerät. Bezogen auf CAN-Bus gibt es kein
Chef(Lin-Bus) nur die Priorität in der ID. Ansonsten sehe ich hier ein
CAN-Bus System zur Bedienung und Info.
Ich persönlich würde gerne auf dieses System zugreifen ohne
schnickschnack also TA250. Weil ich brauche keinen Raumfühler, noch
verstelle ich meine Heizung ständig, weil die Raumtemperatur nicht
stimmt, dafür ist die neuere Heizkörpersteuerung im Raum zuständig.Aber
eine Optimierung mit der Heizkörpersteuerung würde was bringen und dafür
möchte ich gerne auch mal tiefer ins geschehen schauen. Wie zum Beispiel
meine Frage ob eine Botschaft vom Einstellgerät kommt und evtl. nur
Rohdaten behaltet oder vom Steuergerät mit überarbeiten Daten kommt
sollte doch bekannt sein. Vielleicht erreicht man ja auch einen
Mitarbeiter der Firma Bosch Junker um an ganz andere Daten zukommen, wie
Service- oder Entwicklerbotschaften.
Du siehst das viel zu kompliziert :-)
Sicherheitsrelevante Sachen laufen natürlich im inneren der Therme
autonom ab (Gasdruck, Flammenüberwachung, Überdruckschutz,
Überhitzungsschutz, Frostschutz), damit hat der Regler und auch die
Kommunikation nichts zu tun.
Aber ansonsten bestimmt ausschliesslich der TA270, was der Wärmeblock
machen soll. Und wenn da die Anforderung kommt: Vorlauftemperatur 80°
macht der das und fängt nicht an zu überlegen: draussen hat es 25°, das
macht keinen Sinn, bekommst keine 80° Grad von mir.
Und natürlich werden die eingehenden Daten auch mit Grenzen versehen.
Einmal absolute (vielleicht 95°? - weiss ich nicht) und dann noch vom
Nutzer programmierte. Da weiss ich allerdings nicht aus dem Kopf, ob die
schon im TA270 als Grenzwert behandelt werden oder erst in der Therme,
ist aber auch egal.
Und ja, es gibt mit Sicherheit auch ein Stück Programm, was im Fall des
Kommunikationsausfalls zu tun ist. Und das wird nicht sein: heize was
geht bis eine Sicherung anschlägt.
Auch mit deinem 3s-Info-Intervall liegst du falsch. Die werden nicht
angefordert wenn sie angezeigt werden sollen, sondern liegen ständig auf
dem Bus und damit im Speicher des TA270. Ob die dann tatsächlich
angezeigt werden ist ne ganz andere Geschichte. Wenn der Benutzer auf
Info schaltet wird eben alle 3s eine andere Information im Display
angezeigt.
Meine Anzeige zeigt z.B. u.a. immer die Warmwassertemperatur an, egal ob
jemand am TA270 auf Info geschaltet hat.
Und wenn man jetzt mal bei der Heizung bleibt, kann und macht die Therme
nichts anderes, als eine gewünschte Vorlauftemperatur bereitzustellen
und nach Möglichkeit selbständig zu halten.
Wie intelligent nun die Vorlauftemperatur an den tatsächlichen
momentanen Wärmebedarf angepasst wir ist Sache des Reglers.
Bei uns funktioniert das Prinzip des Raumreglers im Wohnzimmer(also hier
der TA270) hervorragend. Das ist der grösste Raum im Haus und umfasst
fast das ganze Erdgeschoss. DIe Heizkörperthermostate in diesem Raum
stehen auf Maximum, Führungsgrösse für die Vorlauftemperatur ist also
die Temperatur im Wohnzimmer. Alle anderen Zimmer werden mit den
Heizkörperthermostaten geregelt.
Ich habe keine Ahnung was du da noch mit geheimen Botschaften erreichen
willst, das ist alles wirklich so simpel.
Mit den Infos hier im thread kannst du dir deinen eigenen
Regler/Bediener bauen.
oh...sorry
Mag sein, das ich es anders sehe oder vielleicht nur aus einer anderen
Richtung, aber es ist sicher nicht mein Anliegen etwas hier zu
erstreiten...
Es währe Unsinnig...ok.
Ich suche Wissen, dass für mich logisch erscheint und das ich verstehe.
Aber äußere mich auch über andere Meinungen mit einem Fragezeichen, wenn
es nicht so ist oder ich es für sehr fraglich halte.
Danke für Deine Info und Meinung
Ich würde trotzdem gerne verstehen, was du eigentlich suchst und
erreichen willst.
Das ist und bleibt nur ne Kiste mit ner Flamme drin, die warmes Wasser
macht und nebenbei auf sich selbst aufpasst.
Die Pumpenleistung/Drehzahl kann man soweit ich weiss nicht steuern,
geht nur an oder aus. Fällt also weg als Ziel.
Die Brennerleistung/Gasdurchsatz ist variabel - willst du da ran?
Vielleicht geht das mit "geheimen Botschaften". Macht aber auch keinen
Sinn, da du dann die Rücklauftemperatur (und damit den aktuellen
Wärmebedarf) aus der Regelung nimmst.
Kurz: was willst du mehr von einem Wärmeerzeuger, der dir im Idealfall
mehr oder weniger stationär genau die Wärmemenge (bei konstantem
Durchfluss der Pumpe ist das die Vorlauftemperatur) liefert, die gerade
benötigt wird und dabei auf wilde Regelschwingungen verzichtet.
Welches Wissen suchst du?
Hi,
nun Wissen, erarbeitet man sich und dann kann man rum spinnen,
was mach ich damit?
Als ich mein Haus sanierte bzw. auch die Heizung, habe sie ganz
herausgerissen, berechnet und neu installiert, wusste ich sehr schnell
warum diese Junkers_Heizung nur halb so viel kostete, wie andere.
Regelungstechnisch sehr einfach, das ist sie auch, aber sie
funktioniert. Bis auf diese sch...EA Fehler.
Sicher ist es ein Ziel Fehler zu erkennen bevor sie zum Problem werden
(Betriebsdaten ohne Ende) und natürlich auch die Infos (" alles ok") und
evtl. bessere einfachere Bedienung zum Beispiel über irgend einen Tablet
oder besser Fernsehn. Mehrere Stufungen der Nacht- Tagsabsenkungen oder
der Warmwassersteuerung, das ist fürchterlich was angeboten wird. Ich
bin kein Software_Spezi, aber eine selbstlernende Heizung währe doch ok.
:-)
Was bei mir zeitlich und technisch mit der alten Junkers möglich ist
steht noch in den Sternen. Ich habe schon 2013 die TA211E versucht zu
analysieren Eagle_Schaltplan( habe ihn nicht mehr gefunden). Grund war
-->Ein NTC als Temperaturfühler das geht genauer und zwar mit
Feuchtigkeit und kann man das ändern?-> eher nicht.
Entwicklerbotschaften sind oft zusammengefügte wichtige Information in
einem Schub
Ich will sicher die Therme nicht vergewaltigen in irgend einer Form oder
eingreifen in die Hardware evtl. aber anders führen.
Deshalb suche ich momentan Wissen über diese Kiste mit der Flamme.
Übrigens habe ich mir heute die BM1 Karte angesehen, die besitzt
scheinbar eine CPU mit 6MHz und I2C Speicher. Vermute, auf der
Hauptplatine existiert einen zweiter Bus?? Der sowohl mit der TA211
(k.CPU)als auch mit der TA250 kommunizieren kann?
Werde mal versuchen in den nächsten Tagen besser Wochen nur die TA250
zum reden zu bringen.
Keiner zwingt dich, einen Junkers-Regler zu verwenden. Ich habe die auch
schon via Peak-CAN und paar Zeilen VB vom PC aus gesteuert. Das einzige,
was du dafür definitiiv brauchst ist das BM1 und og. Infos über die
verwendeten CAN-Botschaften. Dann läuft die Kiste. Keine Uhr, keinen
TA250, keinen TA211, keinen TA270, nix.
Kannst du völlig frei fremd regeln im Rahmen der physikalischen Grenzen
und evtl. in der Therme gesetzten Grenzwerten.
Welche E/A-Fehler meinst du? Habe noch keine bemerkt. Meine läuft seit
15 Jahren fast störungsfrei, einmal hats das BM1 grundlos zerlegt.
Beitrag "Junkers TA270 CAN-Fehler 1"
Wenn du der sagst: "mach Warmwasser 70° jetzt" macht die das.
Wenn gerade kein Warmwasser benötigt wird (hat Vorrang), liefert sie
ziemlich genau das was du an Heizungsvorlauf haben willst. Das kannst du
tun und zum letzten Mal: mehr kann die Kiste nicht. Es fällt mir auch
nichts ein, was sie noch können sollte, wenn ich mir was wünschen könnte
und was mir bösartigerweise vorenthalten wird und da nur mit
Insiderwissen rankäme.
Und jetzt bin ich auch fertig hier, wir reden anscheinend aneinander
vorbei.
>Meine Anzeige zeigt z.B. u.a. immer die Warmwassertemperatur an, egal ob>jemand am TA270 auf Info geschaltet hat.
Ich bin ja auch relativ neu dabei und habe etwas mitgelesen. Ein paar
Erfahrungen von mir: Die Ist-VLT sowie Brenner-An und Heizung/Pumpe-An
werden von meiner ZWR 18-6 genau alle 6 Sekunden übermittelt. Die
maximale VLT sowie die WW-Ist-Temperatur alle 30 Sekunden.
VLT Soll vom Regler kommt im Heizbetrieb alle 5 Sekunden, im
"Schlafmodus", also wenn die Heizleistung abgeschaltet ist, nur noch
alle 30 Sekunden.
Interessant ist, dass manchmal die Brenner und Pumpe an/aus Meldungen
(Can-ID 209 und 20A von der Heizung) sporadisch ausbleiben, während die
anderen genannten Werte weiter von der Therme gesendet werden.
Dies - und da es ja nur sporadisch auftritt kann ich nur orakeln -
meiner Beobachtung nach dann, wenn ebendieser Schalter am Regler NICHT
auf Info steht.
Schaue ich dann am TR ob der denn die entsprechende Info anzeigen kann
und drehe dazu den Schalter auf Info, dann sendet (wohl der Regler) eine
Nachricht mit ID 0F9 Wert 00 auf den Bus, direkt und reproduzierbar von
der Anforderung 250 (Heizung/Pumpe an/aus).
Genau ab dann kommen von der Heizung wieder die fehlenden 209/20A. So
als ob genau die Meldungen, welche wirklich nur rein zu Infozwecken für
den Benutzer übermittelt werden, durch den Info-Schalter aktiviert
werden.
Hi,
@ Trabant, wenn ich mir das erlauben darf: super arbeit!
@ H.Joachim S.
sehe ich gar nicht so verbissen und unterschiedlich, nur momentan habe
ich auch noch andere Baustellen.
"Deshalb suche ich momentan Wissen über diese Kiste mit der Flamme."
mehr nicht und ich danke Dir sehr für die Info, deiner Meinung und
deiner Arbeit hier.
alles ok?
Ich meine "EA" Junkers_fehler: Flamme nicht erkannt. Tritt der ~3 mal
auf, steht die Heizung. Beinhaltet viele Fehler in Grau_Zone, Gas,
Ionenstrom, Elektroden und so weiter, wird immer teuer. Halt... in der
Kiste nix für Besitzer der Heizung.Ich habe den immer, aber Heizung
läuft.
Frage: existiert eine ID in der gespeicherte Fehler mit geteilt werden?
Hallo zusammen,
nachdem ich hinreichend und intensiv aus den Beiträgen hier zum Thema
“CAN Bus“ und “Junkers“ profitiert habe, möchte auch ich meinen Beitrag
leisten. Zunächst habe ich meine Junkers ZBS 3-16 von TA211 auf BM1 mit
TA250 umgerüstet, was generell einen Zugewinn in der Bedienung darstellt
(keine Ahnung, warum ich damit 15 Jahre gewartet habe!?). Im Anschluss
habe ich mich in dem für mich völlig unbekannten Thema “CAN Bus“
angenähert
-> Zielsetzung: Junkers goes WLAN
Bei der Umsetzung habe ich mich des ESP-32 und dem CAN-Bus-Shield für
den Arduino entschieden. Vorteile des ESP-32 gegenüber dem Arduino sind:
- schnellerer Prozessor
- mehr Speicher
- WiFi & BT on board
- geringer Preis
- mehr oder weniger identisch Programmierung
Grundlegend ist zu beachten, dass der ESP-32 mit 3,3 Volt an den GPIOs
arbeitet und der CAN-Bus mit 5,0 Volt. Daher habe ich den
Treiberbaustein (TJA1050) von der generellen Spannungsversorgung (Vcc =
3,3V) getrennt und separat mit 5,0V versorgt. Wenn der ESP-32 mit 5V
(via USB-Port) betrieben wird, können beide Spannungen am ESB-Board
abgegriffen werden.
Die Daten am CAN Bus können relativ schnell über eines der
Demo-Programme zum MCU-Shield im Seriel-Monitor sichtbar gemacht werden.
Die Verkabelung von MCU-Shield und ESP-32 findet ihr in der beigefügten
Datei. Die Pin-Belegung am ESP-Dev-Baord variieren von Hersteller zu
Hersteller.
Im nächsten Schritt habe ich dann die WiFi-Übertragung mittels
MQTT-Broker gemacht. Der Broker läuft auf einem Raspberry Pi4, der als
Zentrale meiner Gebäudeautomation läuft. Über diese Plattform bekomme
ich die Daten der Heizung in beliebige Formate und Darstellungsformen
gebracht.
Aktuell nutze ich NodeRed zur Visualisierung, um die Betriebszustände
von Brenner, Pumpen und Temperaturen zu sehen und um einen
24-Stunden-Report zu generieren. Mittelfristig werde ich über den IO
Broker gehen, da ich weitere Komponenten (z.B. HomeMatic) in
Visualisierung einbeziehen möchte.
FAZIT: CAN-Bus kann gelesen werde, Daten werden per WiFi übertragen und
Dashboards arbeiten stabil
Nächste Schritte:
- Programm für ESP optimieren (ich bin kein Programmierer)
- Platine fräsen
- Gehäuse bauen – resp. drucken
- IO Broker einbinden
Viele Grüße - Kay
Ich frage mich nur warum du nicht einfach einen 3.3V CAN Tranceiver
benutzt und extra noch einen MCP2515, wo doch der ESP32 ein internes
CAN-Interface hat.
Das liegt daran, dass ich ursprünglich mit einem Arduino gestartet bin
und das MCU-Shield schon hatte. Aber Du hast natürlich Recht damit, dass
der Aufbau noch vereinfacht werden könnte.
Gruß, Kay
Hallo Kay,
Super Arbeit!!
...
Seit langen mal wieder etwas Zeit hier für.
Hast Du in diesem Zusammenhang die Belegung des ST1 bzw. ST9 TA Modul
analysieren können, wird mich interessieren. Weil Ta211E und BM1
benutzen den gleichen Stecker somit wahrscheinlich auch eine
Schnittstelle. Rxd/Txd
Zum letzten Eintrag: Wemos hat eine ESP Platine D1 R32 auf Uno Basis und
Watterott hat die aufsteckbare CAN-Bus Platine (15Euro, ICSP ändern und
auf 3,3V einstellen mit 5V, fertig in passenden Arduino_Gehäuse.Die SW,
die funktioniert, bekommst Du inzwischen überall bzw. hast Du ja. Schau
Dir das mal an.
Eine Frage: Funktioniert der CAN-Bus beim ESP32 überhaupt?
Gruß Peter
Hallo,
zur Info:
Hauptplatinen Stecker ST9 TA Modul bzw. BM1.ST1 oder TA211E.ST1
auf den Pkt. gebracht
Junkers bzw. Bosch gibt keine Steckerbelegung preis.
Schade das sich Bosch so verschließt.
Gruß Peter
Hallo zusammen,
ich habe eine ZSBR 7-25 mit TA270 und einem gemischten Kreis (HMM) und
möchte die CAN-Botschaften mitlesen, zur Info und weils mich einfach
interessiert :)
Hat jemand von euch einen gemischten Kreis? Gibts dazu schon CAN-Ids?
VL soll und ist im gemischten Kreis, Umwälzpumpe gemischter Kreis?
sg, bleibts gesund
Martin
Hallo,
..habe ich nicht...aber,
schau mal weiter zurück in der Zeit. Sofern Du diese Daten über das
Bedienteil sendest (Vorgabe), werden sicher auch Daten(Ist_Werte) zurück
gemeldet. Ich meine aber gelesen zu haben, dass in diesem Fall 2
Bedienteile TA270 vorhanden sind~~.
..um das Scannen wirst Du nicht herumkommen.
Gruß Peter
Danke, werde ich machen CAN-Modul ist schon bestellt.
Gefundene IDs werde ich hier für die Allgemeinheit posten.
Ich muss nochmal was fragen, hat nicht wirklich was mit dem CAN-Bus zu
tun, ich frag trotzdem an der Stelle mal :)
Seit kurzem habe ich das Problem, der Drehknopf
„Heizen“ macht nichts mehr, sprich die VL-Soll Temperatur ändert sich
nicht?
Bei Außentemp=4°C ergibt sich rein aus der Heizkurve eine Soll-VL Temp
von 33.5°C.
Und das ist auch genau was der (die, das) TA270 weitergibt.
Im Menü unter Info ist beim gemischten HK die VL Solltemp genau diese
33.5°C.
Ich habe die Raumtemperaturaufschaltung deaktiviert, also sollte wenn
ich den Drehknopf auf wärmer stelle (ganz rechts), dann sollte laut
Bedinungsanleitung die VL Soll Temp um 25K erhöt werden. Das tuts aber
nicht. Der Drehknopf hat da keinen Durchgriff?
Wenn ich allerdings den Drehknopf auf aus stelle, dann kommt soll-VL
Temp = 10°C raus. Das passt ja so.
Hab ich irgend eine Einstellung übersehen oder warum wird die Soll-VL
Temp nicht erhöht?
PS: Die Einstellung der HK: Fusspunkt=20°Cm Endpunkt=-15°C
HK_Fusspunkt=10
M_Fusspunkt=20
HK_Endpunkt=10
M_Endpunkt=50
Hallo Martin,
nun so richtig kann ich Dir nicht folgen.
Deine Heizkurve liegt bei 20/10 und -15/10 [°C]? Deine M-Punkte stimmen
schon eher.
Ich bin gerade dabei den "Regler Einschubmodul" TA 211E zu untersuchen
sehe Dir bitte mal die PDF an. Das Modul wird noch "analog" mit Poti
eingestellt. Hier wird noch erklärt was Du machst. Bild 15 stellt die
Erklärung zur Heizkurve und die einzelnen Parameter.
Du solltest auch die Einstellung am Ofen kontrollieren. Du solltest E
oder 5 haben bei älteren Häusern.
Gruß
Peter
HAllo Peter,
laut Bedinungsanleitung vom TA270, sollte die Heizkurve auf 10 gestellt
werden, wenn der Kreis nicht vorhanden/verwendet wird.
Ich verwende nur den gemischten Heizkreislauf.
ICh glaub der Drehregler hat einen Fehler, weil wenn ich auf "aus"
drehe, geht manchmal auch die Heizung nicht aus.
Werd ich nachmessen.
Zum Thema CAN. Ich habe mir dieses Modul gekauft :
http://spotpear.com/index/study/detail/id/137.html
Leider sehe ich nichts am BUS :(
Ich habe mich an den HMM gehängt (PIN2 = High, Pin4=GND, PIN6=Low),
Bitrate auf 10k, leider keine einzige Botschaft.
Ich hab mich an die Anleitung im Link gehalten, der Test (senden von
Can0 auf Can1 funktioniert), häng ich mich aber an die Heizung, sehe ich
leider nichts :(
Aus der Ferne schwer, ich weiß, aber irgendeine Idee was ich da falsch
gemacht haben könnte?
Zur Info,
ich hab alles nochmal installiert und diesen Teil weg gelassen, keine
Ahnung was die Zeile bewirken soll :
sudo ifconfig can0 txqueuelen 65536
Jetzt klappts :)
Nachrichten werden alle empfangen, jetzt gehts ans decodieren der
Mischer-Nachrichten.
Vielen Dank
Martin
Hallo Martin,
Frohes neues
sorry, bin momentan auf anderem Gebiet voll eingespannt. Gib jetzt Sinn.
10°C ist halt keine sinnvolle Einstellung, für Frostschutz zu hoch.
Mir steht halt auch nur eine TA250 zur Verfügung, die ich auch noch
nicht eingebaut habe, aus verschieden Gründen.
Habe wohl auch seit Jahren hier Pi 3 rumliegen. Ist aber nicht mein
Ding.
Verstehe auch nicht, das Ihr es Euch so schwer macht.
Hatte beruflich mit Can zutun und da reichen bei 10k 8Mhz vollkommen aus
um zu lesen. Erst wenn Du im Zeitrahmen [<50 ms] arbeitest und schreibst
solltest Du dich vom Ardunio Uno verabschieden.[dann Due, ST32 und
Teensy] Jahrelang den Arduino Uno mit 500k als Restbus im Fahrzeugbau
benutzt, wo bei MCP2515 notwendig ist. ESP32 macht natürlich wieder
Sinn. Aber evtl. ohne Can-bus aber über I2C Bus. Ist inzwischen mein
Ziel, fehlt mir aber noch viel Info.
Schau mal bitte auf Störungen auf dem Bus. Kay hat scheinbar einige
Can-Busfehler auf dem Bild, 0 Stellen. Der Can-bus braucht übrigens
immer GND.
Hatte bei den wenigen Messungen an meinen Ofen wahnsinnige Störungen
festgestellt beim schalten der Ventile und was sonst noch geschaltet
wird.
Bleibt gesund
Peter
Hallo Peter und restliche Community,
wünsche ebenfalls eine gutes neues Jahr!
Die Einstellung der Heizkurven ist für mich trotzdem noch komsich, in
der Bedienungsanleitung steht, wird ein Kreis nicht benötigt, sollen
10°C eingestellt werden.
Ich habe jetzt beide Heizkurven gleich eingestellt und jetzt
funktionierts:)
Einlesen aller Nachricht klappt jetzt sehr gut und stabil.
Ich verwende den Pi Zero, weil ich damit auch andere Dinge damit im
Heizhaus mache und da passt das einfach gut zusammen (Temperaturen
einlesen, etc..).
Aber Hauptgrund war der iobroker, als Slave liefert mir der die Daten
direkt in meine Hausautomatisierungs-Welt :)
Die Daten können dann mit dem CAN-BUS Adapter in den iobroker integriert
werden, parsen der Daten geht auch sehr einfach und komfortabel.
(Ging natürlich auch mit ESP und z.B. MQTT, aber in meiner Konfiguration
find ich es einfach praktischer).
Folgende IDs habe ich "entschlüsselt" :
440 ist VL Mischkreis
404 Pumpe Mischer
405 soll VL Mischkreis
407 Sparbetrieb aktiv
441 ist interessant, hat irgendwas mit dem Mischer selbst zu tun, aber
ich hab noch nicht herausgefunden was genau. Stellgröße?
schöne Grüße
Martin
Hallo zusammen,
ich bin gerade dabei meine existierende Therme von 1-2-4 analog und
raumtemperaturgesteuert auf CAN-Bus mit eigener Steuerung auf Basis des
BM1 umzubauen. Leider habe ich daher nicht den Luxus, einem
funktionierendem System zuzuhören zu können und muss direkt korrekt mit
der Therme sprechen.
Die Therme ist als Durchlauferhitzer mit Heizkreislauf ausgelegt (ZWN)
und funktioniert daher ähnlich wie bei Trabant.
Ich kann die Therme auf der Basis der hier veröffentlichten
Informationen steuern. Leider bleibt die Umwälzpumpe selbst bei
deaktiviertem Heizbetrieb ([0x250, 0]) weit in Betrieb. Weiß jemand wie
ich die Umwälzpumpe für die Nachtabsenkung zur Ruhe legen kann?
Bezüglich der CAN-ID, so kann ich Trabands Vermutung bestätigen, dass
0x20d vermutlich die nominelle maximale Heizleistung der Therme ist.
Ich vermute, dass CAN-ID 0x258 anzeigt, ob es sich um einen
Raumthermostat oder eine witterungsgeführte Steuerung handelt. Send ich
[0x258, 1], so sendet die Therme die Außentemperatur (0x207), wirft dann
aber auch den Fehler, dass kein Temperaturfühler anschlossen ist. Mit
[0x258, 0] wird diese Fehlermeldung unterdrückt.
Hallo Leute,
vielleicht hilft euch das weiter:
ID256=Uhrzeit 4 HEX Werte (1 Byte = Tag 1Montag / 7 Sonntag, 2 Byte =
Stunde, 3 Byte = Minute, 4 Byte = ????)
ID200=max.Vorlauftemperatur in Halbgradschritten Dez.120 = 60°C
ID201=aktuelle Vorlauftemperatur in Halbgradschritten Dez.120 = 60°C
ID204=max.Warmwassertemperatur in Halbgradschritten Dez.120 = 60°C
ID205=aktuelle Speichertemperatur Warmwasser in Halbgradschritten
ID206=Störungsmeldungen Hex Wert siehe ( Bedienungsanleitung )
00=Heizung OK
ID207=Außentemperatur in °C Hexadezimal Wert / 100 = 1/100 stel
ID209=Flamme EIN / AUS Wert 00 = Flamme AUS, Wert 01 = Flamme EIN
ID20A=Heizungspumpe EIN / AUS
ID20B=Speicherladung EIN / AUS
ID20C=Sommer / Winterbetrieb Wert=00 Sommer Wert 01=Winter
ID252=Sollwert von TA270 Heizungssollwert in Halbgradschritten
ID255=Sollwert von TA270 Warmwassersollwert in Halbgradschritten
ID404=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID405=Mischermodul ( Fußbodenheizung ) zweites Byte ist immer 1 (Adresse
HMM/HSM), erstes Byte Temperatur in Halbgradschritten
ID415=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID416=Mischermodul ( Fußbodenheizung ) zweites Byte ist immer 1 (Adresse
HMM/HSM), erstes Byte Temperatur in Halbgradschritten
ID417=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID418=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID440=Mischermodul ( Fußbodenheizung ) erstes Byte ist immer 1 (Adresse
HSM), zweites Byte Mischertemperatur Istwert in Halbgradschritten ?
ID441=Mischermodul ( Fußbodenheizung ) erstes Byte ist immer 1 (Adresse
HMM), zweites Byte Reglerausgangssignal in Prozent ?
ID4F9=Mischermodul ( Fußbodenheizung ) Bedeutung ?????
ID25A=erstes Byte ist immer 1 (Adresse HMM/HSM), zweites Byte Temperatur
in Halbgradschritten
ID220=zweites Byte ist immer 1 (Adresse HMM/HSM), erstes Byte Temperatur
in Halbgradschritten
Hallo,
@Matthias: ich bin mir sicher, dass die nicht abgeschaltet werden kann.
Genau so wie die Tatsache, dass Du keine moderne Pumpe einbauen kannst.
Der große Stromverbraucher und Krachmacher!!
Gruß
Peter
Hallo nochmals,
den letzten Absatz verstehe ich nicht?
Du hast BM1 eingesteckt und kein Außenfühler, kein Bedienteil nur eine
externe Beschaltung über den Can-Bus und schickst alle wichtigen Daten
an die Therme?
Ich sehe allgemein "eine witterungsgeführte Steuerung" als Ta211E bzw.
TA250 und TA270 beziehen sich natürlich auch auf diese Führung. Du
benutzt diese aber nicht?
Die Selektion der einzelnen Schaltungen TA211 bzw. BM1 wird meiner
Meinung über verschiedene Spannungsversorgungen im Stecker ST1
realisiert und bleibt auf der Hauptplatine bzw. der Servicefunktion.
TA211 kommuniziert über eine 8/1 kanalige Spannungs/Frequenz
Schnittstelle und BM1 über I2C in ein gemeinsames RAM des BM1. Da ist
nichts gemeinsames.
Zur Info: In diesem Ram müsste eigentlich ein Daten_Abbild der Therme
liegen.
Ich sehe hier 0x258 in einer anderen Funktion gebunden. Vielleicht
Selektion der Temperaturwerte. [0...1-x].
Peter
Hallo Peter,
vielen Dank für deine Infos, das ist ja auch sehr spannend mit dem RAM.
Du hast das richtig verstanden, ich wollte die Therme komplett steuern,
ohne ein Bedienteil. Die interne Pumpe in der Therme hatte sich aber mit
der alten Regelung sehr wohl abgeschaltet.
Ich habe inzwischen für 20Euro einen TA270 erstanden und dazwischen
einen RaspberryPi mit zweikanaligem CAN Ports dazwischen geklemmt [1].
Da es sich dabei um einen witterungsgeführten Regler handelt, sendet er
wie postuliert die [0x258, 0x1], was denn aufgrund des nicht
angeschlossen Außenfühlers den Fehler CC hervorruft. Ich modifiziere
daher die Nachricht zu [0x258, 0x0], wodurch der Fehler an der Therme
verschwindet. Die aktuelle Temperatur berichte ich dem TA270 per 0x207
und einer Abfrage der Temperatur im Internet. Das funktioniert prächtig.
Der Regler schaltet auch die Pumpe aus, z.B. wenn die Heizung auf "Aus"
steht. In diesem Fall wird [0x253, 0x1] gesendet. Ist die Heizung in
Betrieb, so sendet der Regler [0x253, 0x0]. Der Befehl war zuvor hier
als Speichertemperatur dekodiert worden, was an meiner Durchlauf-Therme
natürlich nicht sinnvoll war und ich daher natürlich nicht versucht
hatte. Das Kommando 0x253 ist also eher ein "Interne Pumpe deaktivieren"
Kommando.
[1] https://www.waveshare.com/2-ch-can-hat.htm
Hallo,
für 20 Euro....ahhh.
Natürlich, wenn ich die Heizung ausschalte wird auch die Pumpe
ausgeschaltet.
Telegrammtechnisch sieht es aber so aus, das so ein "an" "aus" Telegramm
entsteht (evtl. ein flattern v. induktiven Lasten). Du bist
wahrscheinlich noch innerhalb des Timeouts, das es so funktioniert.
Ich halte es für sehr gefährlich die Pumpe auszuschalten. Ich habe es
noch nicht kontrolliert, aber ich meine gelesen zu haben das die Pumpe
auch beim Warmwasserdurchlauferhitzer also höchste Leistung zur Kühlung
läuft.
Ich hatte ähnliche Gedanken wie Du und wollte auch nur BM1 benutzen,
aber TA211 weit benutzen, als Ausfallschaltung und glaubte das beide
eine gemeinsame Schnittstelle haben was aber nicht der Fall ist.
So glaubte ich auch das TX RX die gemeinsame Schnittelle ist. Die ist
sogar vorhanden, aber nur zwischen CPU und Treiber. Die eigentliche
Schnittstelle ist aber I2C für BM1. Ich glaube H.Joachim S. hat
diesbezüglich mal separat was geschrieben. Er hatte ein RAM defekt,
vielleicht weis er noch die Geschwindigkeit der Schnittstelle. Aber über
WLAN währe das der direktere Weg. Aber halt viel messen, "am offenen
Herz" und viel Zeit notwendig.
Es wird hier immer von Regler gesprochen. Ich habe weder in der
Beschreibung noch in der Funktion den Regler gesehen. Der TA...und BM1
ist nur ein Bedienteil bzw. eine Schnittstelle zum Regler
(Außenfühler--Hauptplatine).
Die Can-Bus Karte find ich nicht schlecht, kannte ich nicht. Leider
etwas überholt. MCP2517/18 beinhaltet 2.0 und FD, Fifo und 32 Filter.
Aber hierfür vollkommend ausreichend.
! Hast Du schon mal überlegt einen Außenfühler zu simulieren, der für
deine Funktion sinnig ist. Ein Widerstand!
Gruß
Peter
Peter schrieb:> Es wird hier immer von Regler gesprochen. Ich habe weder in der> Beschreibung noch in der Funktion den Regler gesehen. Der TA...und BM1> ist nur ein Bedienteil bzw. eine Schnittstelle zum Regler> (Außenfühler--Hauptplatine).
Doch, der TA270 ist ein Regler. Der ermittelt aus Aussentemperatur,
Heizkurve und Raumtemperatur die erforderliche Vorlauf(Soll)temperatur.
Die Heizungsthermostate in dem Raum in dem sich der Regler befindet sind
komplett geöffnet.
Das funktioniert sehr gut, solange der Kamin als zusätzliche Heizquelle
nicht in Betrieb ist. Brennt der Kamin, geht durch steigende
Raumtemperatur die Vorlauftemperatur runter, was dann im Rest des Hauses
zu mangelnder Wärme führt. Dann stell ich die Raumtemperatur auf 23° und
alles passt wieder.
Hallo,
nun ich will mich gerne belehren lassen, aber Du beschreibst hier nur
den Regelprozess nicht den Beweis, dass der TA211, TA250 oder TA270
Regler sind und das der nur "eine.." Stellgröße an die Therme weiter
gibt.
H.Joachim S. schrieb:> Doch, der TA270 ist ein Regler. Der ermittelt aus Aussentemperatur,> Heizkurve und Raumtemperatur die erforderliche Vorlauf(Soll)temperatur.> Die Heizungsthermostate in dem Raum in dem sich der Regler befindet sind> komplett geöffnet.
Die verschiedenen Temperaturen sind alles Führungsgrößen und der
"Regler" folgt der Leittemperatur(Solltemperatur) im Raum des
Bediensungsteil des TA 270 falls vorhanden. Eine Ermittlung der
Temperatur gehört nicht allgemein zum Regelprozess. Du gibst nur die
Führungsgrößen und Sollgrößen weiter--> Eingangsgrößen.
Eine Heizkurve kannst Du auch mit dem TA211E vorgeben, genau so als ob
Du den TA270 benutzt und auch die Raumtemperatur!!
Halt, nicht so bequem wie beim TA270. Aber suche dort mal nach einem
Regler, ok es könnte auch nur ein OP sein. Aber der TA 211 besitzt
keinen Regler in diesem Sinne. Er übergibt genau so seine Daten an die
Hauptplatine wie ein TA270. Nur über eine andere Schnittstelle und
einige Impulse. Weiterhin hat das Bedienteil TA250 und TA270 nur noch
die Möglichkeit Einstell_Daten zurückzugeben (anzeigen INFO).
H.Joachim S. schrieb:> Das funktioniert sehr gut, solange der Kamin als zusätzliche Heizquelle> nicht in Betrieb ist. Brennt der Kamin, geht durch steigende> Raumtemperatur die Vorlauftemperatur runter, was dann im Rest des Hauses> zu mangelnder Wärme führt. Dann stell ich die Raumtemperatur auf 23° und> alles passt wieder.
Deine Beschreibung sagt, dass deine Therme (Regler) funktioniert und die
Störgröße Kamine nicht erkennen kann. Deine Manipulation der Soll
Raumtemperatur kann nur höher als normal sein, darf ich das so
verstehen, ansonsten kann es nicht hinhauen.
Vielleicht kannst Du bei Kaminbetrieb den Raumfühler ausschalten oder
von wo anders zuführen (CAN-Bus).
Nochmals zurück zur Annahme:
Wenn der TA270 oder TA250 ein Regler ist wo ist das Regler_Telegramm
Stellgröße keiner hat es bis jetzt aufgezeichnet. Es sollte schnell und
regelmäßig kommen und sicher mehrere Byte haben.
Wenn BM1 der Regler ist wieso funktioniert die Therme auch ohne TA250
oder TA270 nur mit Arduino..RaspberryPi bzw. nur mit TA211E.
Nein, das überzeugt mich nicht, der eigentliche Regler ist hier auf der
Hauptplatine.
Aber nur meine Meinung und der endgültige Beweis währe dann der
Telegrammverkehr Hauptplatine <--I2C--> BM1. Aber 50% davon ist der
Beweis das der TA211 "kein" Regler ist und die Therme funktioniert.
wie auch immer bleibt gesund!!
Peter
Ich glaube, wir haben grundlegend unterschiedliche Auffassungen vom
Regler.
Der Knackpunkt, der deine Argumentation ins Nirwana befördert: die
aktuelle Raumtemperatur als eigentliches und einziges Regelziel wird
überhaupt nicht zur Therme geschickt. Das wäre ja wohl
Grundvoraussetzung für eine irgendwo anders sitzende Heizungsregelung.
Aber nein - es wird nur eine aktuell erforderliche Vorlauftemperatur als
Sollwert an die Therme geschickt. Natürlich befindet sich da auch wieder
ein Regler, der aber nichts anderes macht, als zu versuchen die extern
angeforderte Temperatur zu liefern.
Peter schrieb:> Es sollte schnell und> regelmäßig kommen und sicher mehrere Byte haben.
Gibts irgendeinen nachvollziehbaren Grund, warum das so sein sollte?
Peter schrieb:> Wenn BM1 der Regler ist wieso funktioniert die Therme auch ohne TA250> oder TA270 nur mit Arduino..RaspberryPi bzw. nur mit TA211E.
Kein Mensch hat je behauptet, das BM1 sei ein Regler.
Die Therme möchte von irgend jemandem auf irgendeinem Weg einen
plausiblen Sollwert, und dieser jemand sollte ein Regler sein, damit
das Ziel einer Heizung (irgendwas sinnvoll beheizen) erreicht werden
kann.
Ich könnte es dir vormachen: die CAN-Botschaft vom TA270 "Sollwert
Vorlauf = xyz" rausfischen und durch "Sollwert Vorlauf = 60°" ersetzen,
weiter nichts ändern. Sommer oder Winter, Heizkurven, Raumtemperatur -
alles egal: die Therme liefert 60° warmes Wasser (so es denn
physikalisch möglich ist und keine Sicherheitsbedenken entgegen stehen).
Hi,
keine Sorge es gibt Hilfe, Scherz. :-)
H.Joachim S. schrieb:> Ich glaube, wir haben grundlegend unterschiedliche Auffassungen vom> Regler.
Ja...https://de.wikipedia.org/wiki/Regler dem folge ich.
H.Joachim S. schrieb:> Der Knackpunkt, der deine Argumentation ins Nirwana befördert: die> aktuelle Raumtemperatur als eigentliches und einziges Regelziel wird> überhaupt nicht zur Therme geschickt.
Wer hat denn das gesagt?, du hast doch das beste Beispiel gebracht, dass
die Raumtemperatur aufgeschaltet werden kann.
Hmmm... meine Heizung ist nur dafür da mich warm zu halten bzw. die
nötige Raumtemperatur zu erbringen.
Zitat: TA270 Betriebsanleitung:
"Mit Raumtemperaturaufschaltung wird den
Drehknöpfen „Heizen“ (k) und „Spartemperatur“
(m) ein Raumtemperaturwert als Sollwert zugeordnet."
oder
H.Joachim S. schrieb:> Brennt der Kamin, geht durch steigende> Raumtemperatur die Vorlauftemperatur runter, was dann im Rest des Hauses> zu mangelnder Wärme führt. Dann stell ich die Raumtemperatur auf 23° und> alles passt wieder.
Was ist eine Witterungsgeführte Heizungsanlage! oder Regler!!
Witterungsgeführte: Heizkurve, Kennlinie oder früher Kennfeld genannt
wenn es so war. Junkers hat eine Heizlinie aber keine Kurve. Sie wird
von Hand festgelegt aus dem Fußpunkt min. und der max. Vorlauftemperatur
max. zur Außentemperatur. Parallelverschoben durch den, nennen wir ihn,
Hauskoeffizienten oder dem "Raumbedarf". Aus dieser Tabelle oder diesem
Graf wird ein evtl. zutreffender Wert zur Außentemperatur der aktuellen
Vorlauftemperatur entnommen und an den Regler "gesendet". Ich lasse mal
den Ort, von wo das geschieht, unerwähnt. Dieser oder diese Regler mit
Stellglieder und Temperaturfühler stellen die Vorlauftemperatur ein.
H.Joachim S. schrieb:> Kein Mensch hat je behauptet, das BM1 sei ein Regler.> Die Therme möchte von irgend jemandem auf irgendeinem Weg einen> plausiblen Sollwert, und dieser jemand sollte ein Regler sein, damit> das Ziel einer Heizung (irgendwas sinnvoll beheizen) erreicht werden> kann.
Unter TA270 kannst Du beides zusammen kaufen! ..Nein, ich habe den BM1
damit auch ausgeschlossen. Der BM1 ist eine 3fach Schnittstelle und mit
Außenfühlereingang.
Nein,... der Sollwert ist doch die Vorlauftemperatur aus der Heizkurve.
f(Außentemperatur)+ des Hauskoeffizienten...
H.Joachim S. schrieb:> Ich könnte es dir vormachen: die CAN-Botschaft vom TA270 "Sollwert> Vorlauf = xyz" rausfischen und durch "Sollwert Vorlauf = 60°" ersetzen,> weiter nichts ändern. Sommer oder Winter, Heizkurven, Raumtemperatur -> alles egal: die Therme liefert 60° warmes Wasser (so es denn> physikalisch möglich ist und keine Sicherheitsbedenken entgegen stehen).
Nun, auch wenn es jetzt nicht hierhingehört, wie machst Du das einen
Wert herausfischen und einen anderen senden. Hast Du wirklich eine
CAN-Bus Relay-Station aufgebaut?
Nochmals Du schickst dem Regler den Sollwert 60°C über Can und sollte er
nicht schon 60°C haben wird er tätig in der Therme.
Frage: Was passiert, wen er nicht wiederholt wird. Wird er wieder
überschrieben?!
Peter
Ich merk schon, du willst nicht. Vielleicht kannst du auch nicht.
Desqwegen mag ich auch nicht mehr versuchen dir das beizubringen.
Kläre für dich nochmal ganz neutral 3 einfache Überlegungen:
-wie schafft es die Therme in meinem Leitraum die gewünschte Temperatur
einzustellen und zu halten, ohne weder die gewünschte Temperatur noch
die aktuelle Temperatur zu kennen?
-warum geht die Vorlauftemperatur in den Keller wenn ich den Kamin
anzünde?
-warum geht die Vorlauftemperatur hoch, wenn ich lüfte? (nein, ich drehe
die Heizung nicht runter dafür, auch wenn das Energiesparfüchse
empfehlen)
Die Antwort auf diese 3 Fragen wird dich dahin führen: der TA270 ist der
eigentliche Regler des Systems. Angeforderte Vorlauftemperatur als
Ergebnis aller bekannten und relevanten Daten.
Peter schrieb:> Nun, auch wenn es jetzt nicht hierhingehört, wie machst Du das einen> Wert herausfischen und einen anderen senden. Hast Du wirklich eine> CAN-Bus Relay-Station aufgebaut?
Nicht dafür, aber sowas benutze ich oft. Kann man im Auto und auch sonst
öfters gebrauchen.
Peter schrieb:> Frage: Was passiert, wen er nicht wiederholt wird. Wird er wieder> überschrieben?!
Natürlich gibts dann irgendwann einen Eingriff seitens der Therme a la
timeout. Das ist aber nicht Teil der Temperaturregelung sondern
übergeordnete Sicherheit wie vieles andere auch, was im störungsfreien
Normalbetrieb aber niemals zur Auslösung kommt.
Und jetzt habe ich fertig hier.
Schade!!
Schade der erste Satz ist Beleidigend!
Der Zweite ist im höchsten Maße arrogant! Kenne ich ja schon!!
Daran solltest Du arbeiten. Vielleicht klappt es es ja irgendwann mal.
---------------------------------------------------------------------
H.Joachim S. schrieb:> -wie schafft es die Therme in meinem Leitraum die gewünschte Temperatur> einzustellen und zu halten, ohne weder die gewünschte Temperatur noch> die aktuelle Temperatur zu kennen?
Ich gehe mal davon aus, das Du den Beitrag von gestern gelesen hast oder
zu mindestens überflogen. Da steht der Hinweis Betriebsanleitung TA270
Seite 37
3.7.11 Raumtemperaturaufschaltung
wählen (RA-Mode aus +/- oder
MRA-Mode aus +/-)
Mit anderen Worten Du stelltest die Temperatur mit Heizen (k) ein. Der
Raumfühler ist im TA270 und hast Du die Parallelverschiebung verstanden
wirst Du auch den Satz der Bedienanleitung verstehen, der lautet:
Mit Raumtemperaturaufschaltung wird den
Drehknöpfen „Heizen“ (k) und „Spartemperatur“
(m) ein Raumtemperaturwert "als Sollwert" zugeordnet. Die
Parallelverschiebung in Plus wenn es wärmer wird und minus wenn es
kälter werden soll [Sollwert!!!]. Da zu brauchst Du kein Regler, sondern
es ist "die" neue VLT für den Regler. Die neue VLT wird über CAN-Bus
und BM1 "an" den Regler der Terme geschickt .
Schalte den Temp-Sensor doch aus und prüfe die VLT!!!
H.Joachim S. schrieb:> -warum geht die Vorlauftemperatur in den Keller wenn ich den Kamin> anzünde?
Weil die Vorlauftemperatur durch den Raumfühler reduziert wird. (Minus)
und dieser Wert wird wiederum über CAN an die Therme geschickt.
H.Joachim S. schrieb:> -warum geht die Vorlauftemperatur hoch, wenn ich lüfte? (nein, ich drehe> die Heizung nicht runter dafür, auch wenn das Energiesparfüchse> empfehlen)
Weil die Vorlauftemperatur durch den Raumfühler addiert wird. (PLus) und
dieser Wert wird wiederum über CAN an die Therme geschickt.
Da ist ein NTC in einer Brücke zu +5V, ein ADC der das liest und den
Wert addiert oder subtrahiert von der ermittelten Vorlauftemperatur der
Heizlinie.(einfach)
Frage Dich doch mal warum werden Daten auf den CAN-Bus gelegt???
!! Damit alle Spinner wie wir sie abgreifen können? Kennst Du Bosch???
!! Damit die Therme unnötige Daten bekommt, die sie gar nicht braucht
und Bosch schon immer sowas bauen wollten und sich bezahlen lässt.
!! Oder weil die Therme sie braucht.
H.Joachim S. schrieb:> Nicht dafür, aber sowas benutze ich oft. Kann man im Auto und auch sonst> öfters gebrauchen.
Nun, ein CAN-Bus Telegramm bekommen grundsätzliche alle Teilnehmer!!
Eine Relay-Station ist möglich, aber eher nicht mit Arduino und Co.
Sorry..aber Du schickst nun mal zwei Telegramme der gleichen ID mit
unterschiedlichem Inhalt. aber egal, das letzte wird evtl. aktiv oder er
verwirft beide.
Querdenker finde ich gut, aber der Respekt sollte schon im Geist
verankert sein.
Danke
Peter
Peter schrieb:> Weil die Vorlauftemperatur durch den Raumfühler reduziert wird. (Minus)> und dieser Wert wird wiederum über CAN an die Therme geschickt.Peter schrieb:> Weil die Vorlauftemperatur durch den Raumfühler addiert wird. (PLus) und> dieser Wert wird wiederum über CAN an die Therme geschickt.
Nicht so einfach addiert/subtrahiert, aber im Prinzip ja. Und genau das
ist die Regelfunktion.
Und wie man sich korrekt in einen CAN-Bus einklinkt und dort nach
Belieben werkeln kann kannst du mir schon zutrauen. Und das ist absolut
entspannt mit einem ATMega + 2x MCP2515 zu machen, Langeweile pur. So
was habe ich vor 10 oder 15 Jahren mal hier vorgestellt.
Inzwischen nehme ich dafür natürlich Controller mit 2 CAN-Einheiten.
Aber um die Sache hier zu beenden: ich gebe dir in allen Punkten zu 100%
recht.
Oh je, da ist man einmal kurz weg, und schon schlagt ihr euch die Köpfe
ein.
Hier einige Fakten, aus eigener direkter Beobachtung und basierend auf
öffentlicher Dokumentation:
* Die Therme hat natürlich intern auch eine Regelung, so dass die über
CAN vorgegebene Vorlauftemperatur im Mittel gehalten wird. Ein typisches
Regelverhalten, wie ich es auch beobachte, findet sich in [1]. Die
Therme intern will hier aber wirklich keiner direkt beeinflussen, soweit
ich das sehe ist das auch über CAN nicht möglich. Es geht vielmehr darum
die Vorlauftemperatur etc. zu setzen, auf welche die Terme dann ihre
Heizleistung regelt.
* Natürlich schaltet ein „Pumpe aus“-Befehk, die Pumpe nicht direkt und
unumstößlich aus. Vielmehr ist es ein „Kein Zirkulationspumpenbedarf“
Meldung. Sollte die Therme aus irgendwelchen Gründen die Pumpe
benötigen, so läuft diese natürlich weiter. Es bringt natürlich nichts,
den Heizkreis weiter zu zirkulieren, falls die Heizanforderung
ausgeschalten ist, und damit nicht auf die Vorlauftemperatur geregelt
wird. In diesem Fall kann die Zirkulation mit dem Befehl 0x253
deaktiviert werden. Ein reines Deaktivieren der Heizanforderung
deaktiviert nicht die Zirkulationspumpe. Ich nehme an, das eine
getrennte Steuerung auch für den Frostschutz benötigt wird.
* Der TA270 berechnet die Vorlauftemperatur der Heizung auf Basis der
Außenwerte und optional eines Innenraumfühlers. Die Außentemperatur
bekommt er dazu durch den BM1 per CAN Telegramm gemeldet. Am Ende kommt
aus dem TA270 eine Vorlauftemperatur – und gut ist. (Okay etwas mehr wie
Warmwasser, Mischer und optional Speicher, aber ihr versteht schon.)
* Natürlich könnte man auch einfach einen Widerstand für den Außenfühler
simulieren, aber meine Lösung ermöglicht auch das Mitschneiden der
Heizungsparameter in eine InfluxDB Datenbank mit Visualisierung in
Grafana. Da kann man dann auch einfach noch die Außentemperatur
mitsenden und gut ist. Die Fehlermeldung, dass kein Außenfühler
angeschlossen ist, lässt sich dann wie benannt unterdrücken.
[1]
https://wiki.volkszaehler.org/_detail/hardware/channels/heating_control/can-vz.png?id=hardware%3Achannels%3Aheating_control%3Agastherme_junkers_can_bus
Hi,
ich sehe es wohl auch nicht so, aber
er hätte wohl mal wieder für mehrere Monate geschmollt.
Nun, die Sprache der Technik ist halt nicht jedermanns Sache.
Verlangt ja auch keiner.
Tolle Arbeit..
Aber das ""auch" eine Regelung" habe ich durchaus mit Interesse gelesen.
Wir reden hier über die Therme und dessen Regelung und ob die Regelung
durch das TA270 geschieht oder nicht. Eine Regelung bezogen auf die
Therme existiert in der TA270 nicht. Ein Spannungsregler 24V auf 5V
ok.....
Die Zuweisung der Vorlauftemperaturvorgabe an die Therme ist die
Sollvorgabe des Reglers der Therme und die Vorlauftemperaturwert ist der
Wert der Rückkopplung des Reglers.
Was bitte soll sonst noch geregelt werden.
Medium : Wasser
Soll: VLT Vorgabe
ist: VLT_Sensor
Regelung-> Wassertemperatur
Stellglied Brenner (P)....
Ist das aus meinen Sätzen so schwer zu verstehen?
Die TA 270 ist bleibt ein Bedien_Eingabe_teil für den Kunden.
Peter
Hallo zusammen!
Zunächst möchte ich mich bei allen Beteiligten für die Vorarbeit
bedanken!
Ich habe inspiriert durch diesen Thread meine ZSR 24-6 mit BM1 und TA270
aufgerüstet. In diesem Schritt natürlich dann auch gleich den
Außentemperaturfühler mit nachgerüstet. Die Vorbesitzer haben bei allem
gespart... Ich muss zugeben dieses Upgrade hätte ich schon viel früher
machen sollen. Jetzt hoffe ich natürlich auch zusätzlich zu der
"Spielerei" eine entsprechende Ersparnis zu erzielen...
Angezapft habe ich die Therme mit einem ESP32 und einem MCP2515 +
TJA1050 Can-Bus Modul ("NiRen"), welches ich auf 16MHz "geupgraded"
habe. Leider schlug die Kommunikation mit dem eingebauten Can-Bus und
einem SN65HVD230 fehl - es kam nichts an.
Übrigens ist es nicht notwendig bei dieser Kombination aus MCP2515 und
TJA1050 5v von 3v3 zu trennen. Der Transceiver auf diesem Modul arbeitet
mit der Spannung des Bus während der MCP immer mit dem Signalpegel von
VCC arbeitet. So setze ich das in meinem Auto mit einem Arduino Due
schon jahrelang ein und es zerfetzt nicht den IO. Seltsamerweise
arbeitet der CAN von meiner Therme allerdings mit 3v3. Kabellänge ist ca
1.5 Meter - habe CAT6 Verlegekabel benutzt.
Ich kann bestätigen, dass 20D die Leistungsstufe, so nenne ich sie mal,
angibt. Bei mir ist dieser Wert nämlich konstant 24.
Das Programm habe ich dann mit etwas MQTT, NTP und WiFi aufgepeppt. Ich
melde mich die Tage nochmal zurück mit dem Github Repository wo alles
drin liegt. Muss vorher noch etwas aufräumen und optimieren...
Hallo,
willkommen!
berichtige mich, aber wie kommst Du an die Daten, wenn es nicht
funktioniert?
Dave schrieb:> Übrigens ist es nicht notwendig bei dieser Kombination aus MCP2515 und> TJA1050 5v von 3v3 zu trennen. Der Transceiver auf diesem Modul arbeitet> mit der Spannung des Bus während der MCP immer mit dem Signalpegel von> VCC arbeitet. So setze ich das in meinem Auto mit einem Arduino Due> schon jahrelang ein und es zerfetzt nicht den IO. Seltsamerweise> arbeitet der CAN von meiner Therme allerdings mit 3v3. Kabellänge ist ca> 1.5 Meter - habe CAT6 Verlegekabel benutzt.
NiRen hat doch nur VCC und der TJA1050 ist nicht für 3,3 V zugelassen.
DUE & ESP32 ist 3,3 V; MCP2515 verträgt beides und CAN-Bus würde ich
nicht unter 5V betreiben. Die Möglichkeit ist eher für unterschiedliche
CPU's gedacht. Bei 10k ist CAT6 super, allerdings sollten "beide" Kabel
(+ GND) umeinander verdrillt sein. Aber bei 10 k ist hier nichts zu
befürchten. Hier gibt es auch Vorschriften wie Umdrehung pro Länge (im
Automotivbereich). BM1 funktioniert sogar mit nur CAN-High mein BM1 hat
auch den TJA1050 und 5V.
Vielleicht stimmen aber auch deine Zeiten nicht mehr von 8 auf 16MHZ
ohne Abgleich. Warum bei 10k? geht der ESP schlafen.
Peter
Danke, Peter!
> berichtige mich, aber wie kommst Du an die Daten, wenn es nicht> funktioniert?
Es funktioniert leider nicht mit dem SN65HVD230. Das wäre viel eleganter
gewesen aber ich meine irgendwo gelesen zu haben, dass aufgrund
irgendwelcher seltsamer Zusammenhänge der ESP eh nicht niedriger als 10k
takten kann. Das ist aber reine Spekulation.
Tatsächlich funktioniert das alles super über SPI mit dem ESP32, MCP2515
und TJA1050. Damit hab ich mir auch schon selbst Platinen gelötet.
Witzigerweise verbaut auch BMW genau dieses Gespann in manchen Geräten -
beispielsweise im iDrive Knopf in der Mittelkonsole.
Ich hätte vielleicht noch vor schicken sollen, dass ich Informatiker bin
und reiner Hobbyist, wenn es um Elektronik geht. Ich kriege ein paar
Sachen selbst hin und Datenblätter verstehe ich auch ausreichend um
nicht zu viel Geld durch hochgejagte Komponenten zu verbraten :)
Daher habe ich natürlich auch zum Netzwerkkabel gegriffen, weil man das
so herumliegen hat und da auch die Spannung sehr gut in den
Spezifikationen liegt.
> NiRen hat doch nur VCC und der TJA1050 ist nicht für 3,3 V zugelassen.> DUE & ESP32 ist 3,3 V; MCP2515 verträgt beides und CAN-Bus würde ich> nicht unter 5V betreiben.
Genau... VCC vom TJA sollte zwischen 4,75 und 5,25 liegen. Gibt man ihm
3,3 arbeitet er trotzdem zuverlässig. Irre oder?
Aktuell und in meinen sonstigen Designs fahre ich dieses Gespann wie ...
papierraschel ... nach Vorschrift - siehe Anhang :)
> BM1 funktioniert sogar mit nur CAN-High mein BM1 hat> auch den TJA1050 und 5V.
Also wie beim CAN im Auto. Interessant. Muss aber dafür das gleiche
Potenzial haben oder?
Was ich mit meinem begrenzten Arsenal nicht herausfinden kann ist warum
der Bus nur 3-4v liefert aber da alles sauber funktioniert bin ich
erstmal arglos. Vielleicht hat auch der TA einen weg und zieht die
Leitung runter... oder mein Multimeter misst Mist. Mehr als das habe ich
ohnehin nicht zum Diagnostizieren.
Naja...werde jetzt erstmal weiter den Code organisieren und auch mal
testen ob das vielleicht ohne TA270 überhaupt läuft. Bei den aktuellen
Außentemperaturen kann man ja ruhig mal die Heizung kurz lahm legen ;)
Hallo Dave,
Dave schrieb:> Es funktioniert leider nicht mit dem SN65HVD230. Das wäre viel eleganter> gewesen aber ich meine irgendwo gelesen zu haben, dass aufgrund> irgendwelcher seltsamer Zusammenhänge der ESP eh nicht niedriger als 10k> takten kann.
Der ESP hat damit überhaupt nichts zu tun. Der MCP2515 ist dein
Kontroller und nicht der ESP. Das sind zwei verschiedene Schuhe. Deine
Einstellung des MCP (lib)und dessen Quarz (Datenblatt) gegeben darüber
Auskunft ob es hinhaut.
Dein CAN-Bus Platine war NiRen Du musst weg von deiner 3V3 Einstellung
die ist falsch. 5V für den CAN-Bus Treiber, 5V oder auch 3V3 für CPU &
MCP, schau Dir das CAN-Bus Signal mal an WIKI. Und Du hast teilweise
eine Masseverschiebung besonders im Fahrzeug, aber auch wenn ein
Ventil,... in der Therme schaltet.
Verstehe das mit dargestellten Schaltung nicht, ist das deine eigene
Schaltung? Es fehlt der Abschlusswiderstand, der wird wohl nicht immer
benötigt, wenn Du 2 hast (je nach Aufbau, manchmal ist es besser einen
3. zu berücksichtigen).
Dave schrieb:> Witzigerweise verbaut auch BMW genau dieses Gespann in manchen Geräten -> beispielsweise im iDrive Knopf in der Mittelkonsole.
Ich glaub der SN65HVD230 ist mir während meiner früheren Arbeit nur
einmal untergekommen. Meine Erfahrung mit BMW ist das ganze Gegenteil.
Ein MCP nie, viel zu viel Aufwand. Der CPU_Port& CanTreiber & ESD
beschaltung fertig. Das ein CAN-Bus im Automotiv. Ein TJA1050 vielleicht
bis 2005, ist uralt und so auch deine Heizungselektronik. Davon musst Du
ausgehen.
Ich habe immer Netzwerkkabel benutzt, weil ich auch immer Watterott
Platinen benutze. Einfach, aber solide und einstellbar.
Nun das, mit dem einen CAN-Bus Kabel möchte ich so nicht stehen lassen
das klappt hier bei mir unter bestimmten Voraussetzung (lesen), aber
nicht unbedingt im Fahrzeug.
Dave schrieb:> Genau... VCC vom TJA sollte zwischen 4,75 und 5,25 liegen. Gibt man ihm> 3,3 arbeitet er trotzdem zuverlässig. Irre oder?> Aktuell und in meinen sonstigen Designs fahre ich dieses Gespann wie ...> papierraschel ... nach Vorschrift - siehe Anhang :)
Nun, zu bedenken ist! Es klappt doch nicht oder?
Mit einen Multimeter exakt VSS messen??
https://wolles-elektronikkiste.de/dso-138-ein-einsteiger-oszilloskop
Eine zusätzliche Diagnose hast Du noch, deine TA der sagt Dir ob Du ein
CAN-Bus Fehler hast. Ein Fehler der Pegel ändert ganz sicher.
Peter
Da liegt ein Missverständnis vor. Ich habe Kommunikation mit dem MCP+TJA
trotz "nur" 3,3v. Keine Busfehler.
Ich hätte es aber gerne mit dem SN65HVD230 Transceiver und dem internen
Controller des ESPs gelöst. Stört mich aber nicht also werde ich eine
Platine dafür entwerfen, damit das nachher sauber aussieht.
Neue Erkenntnisse:
0x0F9 wird nach 0x255 spätestens alle 30 Sekunden ohne Daten gesendet.
Das ist eine Nachricht die vom "Bedienteil", so nenne ich es mal, kommt.
Ich vermute hier das Ende der Schrittkette.
Außerdem sendet der Controller in der Heizung die Daten in einem Rutsch
raus während das Bedienteil anscheinend so etwas wie eine Schrittkette
durchläuft.
Ich bin gerade dabei das Programm so weit auszubauen, dass
beispielsweise Home Assistant als Leitsystem die Vorgaben macht anhand
dann die Temperaturen vom MC auf den Bus gebracht werden. Kaputt machen
kann man ja nix, da die Steuerung der Heizung offensichtlich immer die
Oberhand hat und man nur Wünsche an diese äußern kann...
Hallo,
dann ist ja gut.
ICH habe mir das Datenblatt mal kurz angesehen, ich nehme an das sind
unterschiedlichen Pegel.
Wenn es interessiert.[TA250]
Ein Scan ohne Heizung und begrenzt auf 13.. leider.
ID; ext; RTR; len; Data1...8; z-Time
Letzte Spalte sind Zykluszeiten.
hoffe die Datei wird angezeigt.
Peter
Wunderbar - Danke Peter!
Also das war jetzt ein Versuchsaufbau wo der TA alleinig am Bus hing?
Das würde ja bedeuten, dass deutlich mehr Parameter zur Heizung
geschickt werden als angenommen... Das ging nicht so ganz klar aus den
verteilten Informationen hier aus dem Thread hervor.
Um etwas Ordnung in das Konvolut zu bringen habe ich die folgende
Tabelle erstellt, an der sich jeder frei beteiligen kann:
https://docs.google.com/spreadsheets/d/1JzmhEbFY_GSk0Dl_e5pb2zmsy9EPlQU7bUpb9bXKxCM/edit?usp=sharing
Hinweis:
- Controller: Damit ist der Controller im Heizgerät gemeint
- RC: TA/TR "Remote Control" nenne ich es.
Hallo,
genau, der Schreibtischtest!
Allerdings ohne Abschluss des I2C und ich würde das "noch nicht" so
behaupten können.
Weil ich nehme an, wie schon mal geschrieben, dass der I2C Speicher
Übergabepunkt ist. Das BM1 und das TA250 ihre eigene Sache machen und
die aktuellen Daten im Speicher stehen und das die Heizung sich die
Daten holt wann immer sie die benötigt. Das heißt aber auch das Daten
aus dem Speicher auf dem CAN-Bus sich befinden die normaler weise von
der "Heizung" sind.
Die unterschiedlichen ID's sagen hier evtl. über den Ursprung aus.
Niedrige ID's haben auf dem CAN-Bus die höhere Priorität. [Annahme, auch
hier?]
Passt alles mit dem, das Du auch dargelegt hast (super). Mir fehlt aber
irgend etwas noch, was?? TA initialisiert sich beim Start und ich
bekomme hiervon nichts mit. Ich konnte auch nichts spontanes
feststellen. Ablaufsteuerung? Vielleicht, fehlen aber auch noch
Informationen von der Heizung direkt an BM1 über I2C. Ich kenne dieses
"Hin und Her schaukeln" der Daten auch nicht. Sondern Anfrage <--->
Antworten ->Ruhe.
Peter
Interessant...
Ich gehe hier wirklich davon aus, dass diese Steuerung nach dem SPS
Prinzip arbeitet und dort werden Informationen einfach ohne Frage
rausgeschickt aber dafür zyklisch. Das heißt wenn mal etwas verloren
geht, ist es nicht wild, da ja ein paar Augenblicke später wieder der
Wert erneut gesendet wird.
Von meinem BMW weiß ich, dass es auf dem Karosserie-CAN eine
Frage-Antwort Kommunikation gibt aber die meisten Daten einfach auf den
Bus gelegt werden.
Die TA wird wohl einfach beim Einschalten die Werte der Heizung
entgegennehmen und damit arbeiten und wenn keine Werte kommen, einen
Fehler auslösen? Ist das richtig?
So wie ich das verstanden habe ist das BM1/2 nur ein Interface, was vom
I2C auf CAN und zurück übersetzt.
Okay also ich habe mich jetzt gewundert wie die Heizung denn es
mitbekommt, dass sie nun die Pumpe ausschalten soll und im Sparbetrieb
sich befinden soll. Das ist ja etwas, was definitiv vom TA/TR kommen
muss.
Dabei ist mir eine Diskrepanz aufgefallen. Laut Berichten sollte die
0x253 für die WW Soll-Temperatur stehen. Ich meine aber herausgefunden
zu haben, dass es bei meiner ZSR24-6 im reinen Heizbetrieb das Byte für
den Sparbetrieb ist.
Hi,
Dave schrieb:> Ich gehe hier wirklich davon aus, dass diese Steuerung nach dem SPS> Prinzip arbeitet und dort werden Informationen einfach ohne Frage> rausgeschickt aber dafür zyklisch. Das heißt wenn mal etwas verloren> geht, ist es nicht wild, da ja ein paar Augenblicke später wieder der> Wert erneut gesendet wird.
Ja/ nein so lange sie im Speicher sind. Vielleicht ist die Zykluszeit
größer in der Heizung.
Dave schrieb:> Von meinem BMW weiß ich, dass es auf dem Karosserie-CAN eine> Frage-Antwort Kommunikation gibt aber die meisten Daten einfach auf den> Bus gelegt werden.
Kann ich nicht bestätigen die Fehlerreaktion ist unterschiedlich und es
existieren nur weniger bedeutende Telegramme.(Fehler hoch zählen)
Timeout ist von wenigen ms bis zweistellige Sekunde. Die nächste
Generation der Hardware wird sicher "nicht mehr" analysiert werden
können. Soviel...!!
Die Heizung wird erstmal die Hardware erkennen müssen. TA211 |
TA250--301;
Dann die Karte BM1 oder auch und den TA freigeben oder auch nicht, CAN
Fehler. Irgendetwas muss passieren wie ein Ack.
Dave schrieb:> So wie ich das verstanden habe ist das BM1/2 nur ein Interface, was vom> I2C auf CAN und zurück übersetzt.
Noch schlimmer: Heizung I2C<---> BM1 {TX/RX<--->TJA1050}
CAN<--->TA250..301
Dave schrieb:> Dabei ist mir eine Diskrepanz aufgefallen. Laut Berichten sollte die> 0x253 für die WW Soll-Temperatur stehen. Ich meine aber herausgefunden> zu haben, dass es bei meiner ZSR24-6 im reinen Heizbetrieb das Byte für> den Sparbetrieb ist.
Dazu kann ich Dir momentan gar nichts sagen. Dazu müsste man alles
nochmals überprüfen und in Frage stellen ob hier was falsch gedeutet
wurde. In diesem Zusammenhang habe ich mich auch gefragt wie die Uhr den
Schaltpunkt mitteilt. Es kann nur die "4" sein, die sich ändert.
Was ich heute auch bei mir festgestellt habe das unterschiedliche
CAN-Bus Platinen unterschiedliche Reaktion bis zum Can Fehler
verursachen, selbst ohne Abschluss. Hatte den TA250 bei ebay gekauft und
hatte immer den Verdacht das der LOw Pin empfindlicher war.
Im Betrieb ist es halt besser, man hat mehr Möglichkeiten. Vielleicht im
Sommer.:-(
Peter
Hi,
habe die Adresse 0x256 ein wenig untersucht:
256 4 4 16 29 4
256 4 4 16 29 6
256 4 4 16 29 13
256 4 4 16 29 18
256 4 4 16 29 40
256 4 4 16 29 49
256 4 4 16 30 0
256 4 4 16 30 4
Durch umschalten von Urlaub auf Info (z.B.:) wird ein fortlaufender Wert
angezeigt(im Telegramm). Ruht die Aktion wird der Wert wieder mit 0x04
angezeigt. Gehe davon aus, das dann Sekunden angezeigt werden.
Allerdings bleibt der Sinn mir verborgen.
Während des Mitschnitts der Daten von etwa 5 Stunden wurden keine
Sollvorlauftemperaturen, trotz Heizkurve, vom TA gesendet. Das bestätigt
wohl noch nicht meine Annahme dass das TA weniger intelligent ist als
ich glaubte, aber es ähnelt der Funktion des TA211E. Vorgaben
bereitstellen Eingabemodul.
Peter
Peter schrieb:> 256 4 4 16 29 4> 256 4 4 16 29 6> 256 4 4 16 29 13> 256 4 4 16 29 18> 256 4 4 16 29 40> 256 4 4 16 29 49> 256 4 4 16 30 0> 256 4 4 16 30 4
Womöglich werden dann die Sekunden(?) mitgeschickt, damit sich der Wert
fortlaufend ändert um so den Controller "wach" zu halten. Bei sich nicht
ändernden Werten nehme ich an wird die Heizung nämlich keine neuen
Parameter umsetzen. Könnte ein Workaround sein um für die
Programmierfunktionen aktuelle Werte anzeigen zu können oder es ist
einfach ein dummer Bug in der Firmware der TAs :)
Ich probiere es mal am Lebendobjekt einfach aus dauerhaft die
vermeintlichen Sekunden mitzuschicken. Mal schauen was passiert.
Peter schrieb:> Während des Mitschnitts der Daten von etwa 5 Stunden wurden keine> Sollvorlauftemperaturen, trotz Heizkurve, vom TA gesendet. Das bestätigt> wohl noch nicht meine Annahme dass das TA weniger intelligent ist als> ich glaubte, aber es ähnelt der Funktion des TA211E. Vorgaben> bereitstellen Eingabemodul.
So sehe ich das auch. Deswegen nenne ich diese Geräte schlichtweg
"Fernsteuerung" denn eigentlich tun sie nichts anders als einem den Weg
in den Keller sparen, wenn es etwas einzustellen oder zu kontrollieren
gibt.
Update:
Ich habe heute mal meine Steuerung getestet und -überraschung- es klappt
natürlich nicht.
- Sende ich die Vorlauftemperatur, so juckt das die Therme überhaupt
nicht. Sie regelt autark ihre Standardkurve
- Lasse ich den ESP verstummen, kommt "A8" - CAN Kommunikation
unterbrochen
Naja dann muss die TA ja doch irgendwas senden, damit die Therme das tut
was man will.
Mit abgeklemmter TA schickt die Therme die folgenden IDs:
1
200
2
201
3
204
4
206
5
207
6
208
7
209
8
20C
9
20D
10
20A
Mit TA:
1
F9
2
250
3
252
4
253
5
254
6
255
7
25A
8
258
9
404
10
405
Ich denke man kann ganz sicher sagen, dass alle Telegramme über 0x250
vom Regler kommen und alles darunter vom Heizungscontroller.
Ich habe ohne TA die folgenden Frames gesendet:
1
F9
2
252
3
253 > 0/1
4
258
Muss jetzt die Tage mal schauen was meine Heizung an Nachrichten
braucht, damit sie das frisst was ich ihr diktiere...
Hallo!
Es ist wirklich hochinteressant bei euch mitzulesen, ich würde dennoch
gerne das Thema noch einmal auf die Hardware lenken.
Wie in meinem der älteren Posts geschrieben, verwende ich einen "Lawicel
CANBUS Interfaceadapter für USB-Anschluss" und logge mit einer Software
(CANHacker 2.0) am PC.
Das Problem ist, dass de PC andauernd laufen muss und die Software nicht
automatisch die Logs speichert.
Deswegen bin ich seit geraumer Zeit daran das Modul an meiner Synology
NAS zu laufen zu bringen, wozu ich aber offensichtlich nicht die Skills
besitze.
Mein Ziel ist es die Logdaten in eine SQL-Datenbank zu schreiben, woraus
ich sie dann weiterverarbeiten kann.
Jetzt lese ich über RaspberryPI und Arduino....
Wie genau muss ich mir das vorstellen?
Laufen die autark, ohne weiteren PC?
Was muss ich dafür kaufen?
Kann mich da vielleicht jemand an die Hand nehmen?
Was ist, wenn meine Junkers-Therme das Zeitliche segnet?
Wie arbeiten die Busprotokolle moderner Thermen?
Kann man das dann anpassen?
Sorry, dass ich hier Eure Diskussion etwas abschweifen lasse. ;-)
Gruß,
Bernd
@Bernd:
Wenn man mit einem ESP32 arbeitet, kann man die Daten über
entsprechendes CAN-Modul lesen und dann über frei verfügbare
Bibliotheken in eine SQL Datenbank (z.B. auf Synology) schreiben. Dafür
braucht es dann natürlich keinen extra PC.
Ich schreibe beispielsweise über MQTT auf Home Assistant auf einem
Raspberry Pi 4.
Der Aufbau sieht so aus:
Therme <-CAN-> MCP2515+TJA1050 Modul <-SPI-> ESP32 <-WIFI-> <-MQTT->
Home Assistant OS auf Raspi 4
Bei dir könnte das so aussehen:
Therme <-CAN-> MCP2515+TJA1050 Modul <-SPI-> ESP32 <-WIFI-> <-SQL-> SQL
Datenbank auf Synology
Wie fit bist du denn in Sachen C/C++-Programmierung?
Zukunftssicher ist das übrigens keinesfalls. Neue Thermen werden sicher
komplexere und obskurere Protokolle sprechen. Die gute Nachricht ist,
dass eine Therme bei guter Wartung auch entsprechend lange hält.
Zu meinem "Problem":
Ich habe übrigens noch nicht probiert mal das Modul auf 5v laufen zu
lassen. Vielleicht klappts ja dann mit dem Setzen von Werten....
Erfolg!
Folgendes:
Der Heizung ist es vollkommen egal ob Nutzdaten über den Bus geschickt
werden. Solange es eine gültige ID ist ohne Daten, wird nicht der Fehler
A8 gesendet.
Mein Fehler lag darin nicht vorher die CAN Nachricht in der Länge zu
definieren. Dadurch wurde ein leeres Paket verschickt. Das sorgte dafür,
dass die Heizung nichts tat aber auch keinen Fehler warf.
Nun läuft alles.
Nachtabsenkung klappt wie folgt:
- 0x252 auf beispielsweise 10° stellen
- 0x253 auf 1 stellen
Nach kurzer Zeit stoppt dann auch die Pumpe.
Source Code folgt!
@Dave
Leider habe ich von C/C++ Programmierung keine Ahnung.
Ich habe mich mal vor 40 Jahren mit der Thematik auseinandergesetzt,
aber nie wirklich weiter verfolgt.
Mir würde es ja schon reichen, wenn ich irgendwo eine fertige Anwendung
für Linux finden würde, die man auf ARM-Linux kompilieren könnte und die
einen einfachen Textlog erzeugt.
Zum Import aus dem Textlog in meine SQLDatenbank könnte ich ja dann eine
PHP-Script schreiben.
Im Moment mache ich es ja genauso, nur dass mein Sniffer nicht
automatisch die Logs in eine Textdatei schreibt, sondern diese manuell
gespeichert werden müssen. Außerdem (ich hatte es erwähnt) läuft er
unter Windows, was es unabdingbar macht, dass der PC andauernd läuft.
;-(
Die Synology läuft eh immer, also wäre es die beste Lösung.
Was du jedoch hiermit meinst:
Therme <-CAN-> MCP2515+TJA1050 Modul <-SPI-> ESP32 <-WIFI-> <-SQL-> SQL
Datenbank auf Synology
sagt mir nichts. :-(
Gruß,
Bernd
by the way: du solltest den Sensor für die Vorlauftemperatur auf die
Rücklaufseite klemmen, das Ding taktet ja wie ein Hundeschwanz. Und dann
die Temperaturen entsprechend runtersetzen. Ggf. muss man dann die Pumpe
auch etwas höher einstellen, damit die Therme auch mal etwas arbeiten
kann.
Oft empfehlen die "Profis" die Pumpe runterzudrehen was nicht immer
richtig ist. Die Schwankungen deiner Vorlauftemperatur sprechen nämlich
genau vom Gegenteil.
Der große Vorteil bei der Messung im Rücklauf ist eben auch dass man
einen direkte Rückmeldung des Bedarfs hat.
Hallo,
Dave schrieb:> Folgendes:> Der Heizung ist es vollkommen egal ob Nutzdaten über den Bus geschickt> werden. Solange es eine gültige ID ist ohne Daten, wird nicht der Fehler> A8 gesendet
Fehler habe ich genug, aber A8 habe noch nicht gesehen. Ist das ein
eigenes Telegramm?
Leider habe nicht den Erfolg bei mir gesehen.
Ich habe immer ein vollständiges Telegramm gesendet aber keine Reaktion.
Aber egal super Ergebnis tolle Oberfläche. Werde erstmal alles neu
überprüfen.
Simulation klappt schon.
Peter
Thomas O. schrieb:> by the way: du solltest den Sensor für die Vorlauftemperatur auf> die> Rücklaufseite klemmen, das Ding taktet ja wie ein Hundeschwanz. Und dann> die Temperaturen entsprechend runtersetzen. Ggf. muss man dann die Pumpe> auch etwas höher einstellen, damit die Therme auch mal etwas arbeiten> kann.>> Oft empfehlen die "Profis" die Pumpe runterzudrehen was nicht immer> richtig ist. Die Schwankungen deiner Vorlauftemperatur sprechen nämlich> genau vom Gegenteil.>> Der große Vorteil bei der Messung im Rücklauf ist eben auch dass man> einen direkte Rückmeldung des Bedarfs hat.
Danke für den Tipp! Das stört mich schon die ganze Zeit aber konnte es
mir nie so wirklich erklären. ich hatte bereits zig Heizungsbauer zur
Wartung im Haus und jeder stellt was anderes ein. So wie sie jetzt läuft
kann das nicht im Sinne des Erfinders sein...
So wie ich es sehe Taktet die Heizung gerade so, dass im Mittelwert die
eingestellte Vorlauftemperatur resultiert. Dabei geht der Brenner alle 3
Minuten an. Kann ja auch nicht gut für den Zünder sein...
Peter schrieb:> Fehler habe ich genug, aber A8 habe noch nicht gesehen. Ist das ein> eigenes Telegramm?> Leider habe nicht den Erfolg bei mir gesehen.
Ich spreche von dem Fehler-Byte das auf 0x206 kommt. Es beinhaltet "A8",
wenn die Kommunikation nicht statt findet, taucht aber nicht auf, wenn
leere Nachrichten geschickt werden ;)
Die Temperatur im Vorlauf steigt zu schnell und dann schaltet der
Brenner wieder ab. Eine Möglichkeit wäre wie schon gesagt die Pumpe
schneller laufen zu lassen, dann muss aber auch die Abnahme der
Fußbodenheizung passen wenn da alle Ventile zu sind, bringt das
höherschalten der Pumpe nichts. Und im Rücklauf steigt die Temperatur
viel langsamer da die Fußbodenheizung da ja Energie rauszieht. Hier
kannst du die Temp schon außengeführt auf 21-23 °C einstellen und dein
Brenner fährt lange Takte.
Thomas O. schrieb:> Die Temperatur im Vorlauf steigt zu schnell und dann schaltet der> Brenner wieder ab. Eine Möglichkeit wäre wie schon gesagt die Pumpe> schneller laufen zu lassen, dann muss aber auch die Abnahme der> Fußbodenheizung passen wenn da alle Ventile zu sind, bringt das> höherschalten der Pumpe nichts. Und im Rücklauf steigt die Temperatur> viel langsamer da die Fußbodenheizung da ja Energie rauszieht. Hier> kannst du die Temp schon außengeführt auf 21-23 °C einstellen und dein> Brenner fährt lange Takte.
Ich habe mir gerade mal das Servicehandbuch durchgelesen. Die Takte und
Pumpenkennfelder werden vom externen Regler angepasst. Mit externem
Regler ist hier noch nicht mal die TA gemeint sondern das BM1/2.
Im Handbuch steht dazu folgendes:
> 2.7 Autom. Taktsperre> Beim Anschluss eines witterungsgeführten Reglers> wird die Taktsperre automatisch angepasst. Mit der> Servicefunktion 2.7 kann die automatische Anpassung> der Taktsperre ausgeschaltet werden. Dies kann bei> ungünstig dimensionierten Heizungsanlagen notwendig> sein.> Bei ausgeschalteter Anpassung der Taktsperre ist die> Taktsperre über die Servicefunktion 2.4 Taktsperre> einzustellen.> B Wurde die automatische Anpassung der Taktsperre> ausgeschaltet, dies auf dem dem Gerät beigelegten> Inbetriebnahmeprotokoll eintragen.> 2.4 Taktsperre> Die Funktion ist nur bei ausgeschalteter Servicefunktion> 2.7 Autom. Taktsperre aktiv.> Im Lieferzustand ist die Taktsperre auf 3 Minuten eingestellt.> Der kürzestmögliche Schaltabstand beträgt 1 Minute> (empfohlen bei Einrohr- und Luftheizungen).> Bei 0 ist die Taktsperre ausgeschaltet.> > Bei Anschluss eines witterungsgeführten> > Heizungsreglers ist keine Einstellung am> > Gerät notwendig.> > Die Taktsperre wird vom Regler optimiert.> Taktsperre auf dem dem Gerät beigelegten Inbetriebnahmeprotokoll> eintragen.
Zur Pumpe steht folgendes:
> 2.2 Pumpenschaltart> > i Beim Anschluss eines witterungsgeführten> > Reglers wird automatisch die Pumpenschaltart> > 3 eingestellt.> Mögliche Einstellungen sind:> • Schaltart 1 (in Deutschland nicht zulässig)> für Heizungsanlagen ohne Regelung.> Der Temperaturregler für Heizungsvorlauf schaltet> die Pumpe.> • Schaltart 2 (Werkseinstellung) für Heizungsanlagen> mit Raumtemperaturregler.> Der Temperaturregler für Heizungsvorlauf schaltet> nur das Gas, die Pumpe läuft weiter. Der externe> Raumtemperaturregler schaltet Gas und Heizungspumpe.> Die Pumpe läuft 3 Minuten nach.> • Schaltart 3 für Heizungsanlagen mit witterungsgeführtem> Heizungsregler. Der Regler schaltet die [...]
Etwaige Nachrichten bezüglich Pumpensteuerung oder Taktsperre werden
nämlich nicht verschickt. Das muss im Busmodul ablaufen.
Schaue ich mir die Takte von vorgestern (TA270) und heute (Meine
Steuerung) an, sehe ich da auch keinen Unterschied.
Hallo,
@Dave
könntest Du mal die dargelegten Adressen("update") mit Daten füllen
durch den Mitschnitt. Will deine Daten als Referenz nehmen. Danke.
..
Wenn ich nur die Rücklauftemperatur messe, pflege ich mir die ganzen
Bedarfsanforderungen der Räume (Thermostat-->Störungen Tem_abfall)) in
die Regelung ein und habe weder eine Bedarfsregelung noch eine
witterungsgeführte Regelung und ich verändere die Effizienz der Heizung.
Weiterhin nimmst die Trägheit der Heizung mit ins Boot, das sind sicher
bis zu 15 min. Meiner Meinung nur die Taktung ändern, hat auch nach
teile.
Peter
witterungsgeführt bleibt es ja trotzdem das läuft über die Außentemp.
man stellt anstatt z.b. 32°C Vorlauftemp auf 22°C ein und misst die
Rücklauftemperatur, die Heizkurve kann auch flacher einstellen. Über den
Abgleich kann man die Räume wie gewünscht einstellen. Den Hinkefuß mit
den Raumthermostaten braucht man nur wenn die hydraulischen Verhältnisse
so mies sind das einzelne Räume nicht bedient werden, wenn andere Räume
nicht beim erreichen abgestellt werden.
Angenommen ich habe eine Rücklauftemp von 16° dann ist das ein Maß
dafür, dass ein hoher Bedarf besteht, wenn die Rücklauftemp 21-22°C ist,
weiß ich das der Bedarf gegen 0 geht. Bei der Vorlauftemperatur weiß ich
nicht was benötigt wird, das muss ich rein von der Außentemp. ableiten,
die aber viel schneller Fallen kann als es sich im Gebäude auswirkt.
Hallo,
ich will hier nicht wieder etwas nebensächliches aufmachen.
Wir haben hier alle eine Heizungen die mindestens 10 Jahre alt und nicht
die High_End ist.
Sehe das mal so, wie eine elektrische Schaltung mit Spannung und ~Strom_
Stabilisierung mit Widerstandsnetzwerke (Heizkörper) bei Belastung von
Außen, das Du regeln willst.
Der hier erwähnte hydraulische Abgleich einer Heizung würde nur eine
Rolle spielen in Bezug mit einer Hocheffizienzpumpe. In unseren
Heizungen nicht verbaut, noch einbaubar. Ich habe hierfür automatische
Strangregulierungsventile pro Strang ein Satz.
Wenn du durch Vorteile siehst oder hast ok. Eine Witterungsgeführte
Regelung sieht halt anders aus
!!
Peter
Peter schrieb:> könntest Du mal die dargelegten Adressen("update") mit Daten füllen> durch den Mitschnitt. Will deine Daten als Referenz nehmen. Danke.
Ich hatte in dieses Excel was ich auf Google Docs erstellt habe auf
einem Blatt meine Kommunikation eingefügt. Mittlerweile rennt meine
Heizung zuverlässig über die eigene Steuerung aber ich kann da gerne
nochmal die TA anklemmen und etwas mehr schnüffeln.
@Thomas:
Das ist ja alles richtig aber ich sehe hier vorallem Probleme durch
Verluste wegen nicht isolierter Leitungen, fehlender Isolierung
generell, da Bruchsteinmauerwerk von 1800-irgendwas. Ich muss an das
Thema erstmal mit einem Haufen Isoliermaterial und meinem Installateur
des Vertrauens ran rücken. Egal was ich einzustellen Versuche, es
resultiert im gleichen Ergebnis. Die Rücklauftemperatur ist sogar nahezu
stabil bei 34° und schwankt nur minimal.
@Bernd:
Bernd Rehlinger schrieb:> Leider habe ich von C/C++ Programmierung keine Ahnung.> Ich habe mich mal vor 40 Jahren mit der Thematik auseinandergesetzt,> aber nie wirklich weiter verfolgt.>> Mir würde es ja schon reichen, wenn ich irgendwo eine fertige Anwendung> für Linux finden würde, die man auf ARM-Linux kompilieren könnte und die> einen einfachen Textlog erzeugt.
Ich denke ich kann dir dabei helfen. Wenn du nur die Daten aufzeichnen
möchtest und in eine DB haben willst, kriegen wir da sicher etwas hin.
---
Soooo jetzt aber zum Eingemachten:
Die Steuerung kann jetzt im Grunde alles was das Original auch kann -
eben nur durch MQTT gesteuert. Sie erkennt auch anhand der Telegramme
auf dem Bus ob sich bereits eine Steuerung dort befindet und regelt
selbstständig ob sie eingreift oder nicht.
Eine Boostfunktion haut für x Sekunden das maximale an VLT raus und die
Schnellaufheizung macht das was das Original auch macht: Sie heizt, wenn
aktiv, mit aller Gewalt auf die Ziel-Raumtemperatur aber bremst auch
etwas ab, wenn der Wert sich nähert.
Die VLT Kennlinie ist selbst definierbar und richtet sich nicht nach den
hartkodierten Werten wie "Tiefpunkt" bei -15° sondern nach dem Prinzip
bei welcher Außentemperatur das maximale an Heizleistung abgerufen
werden soll und bei welcher Temperatur sie sich praktisch ausschaltet.
Ich finde das etwas intuitiver.
Source liegt hier öffentlich:
https://github.com/Neuroquila-n8fall/JunkersControl
Hallo,
@Dave
Bin erschlagen von deiner Software, verstehe momentan davon nichts.:-(
Meine Hochachtung!!!!
ziehe mich in die Ecke zurück..... Ok
Benutze leider die übergeordnete Software nicht. Vielleicht...
ACAN2517FD kenne ich auch und Pierre ist auch super.
Was ich fragen wollte, wenn durch das TA eine Vorlauftemperatur
vorgegeben wird und Du steuers eine andere nach. Wird die neue im TA
übernommen?
Oder wird, kann die eingestellt Zeit durch die Software gesetzt werden.
Das Ziel was ich mir gegeben habe ist nicht nur die Visualisierung der
Heizung sondern, die Optimierung (hat wohl jeder), die auch Thomas fast
im Sinn hat, allerdings über den Ventilstand der Heizkörperventile in
jedem Raum und zur Temperatur. Sozusagen ein Hauskennfeld zur
Temperatur.
Fällt mir so ein,.. eine hohe Taktung ist aber auch eine hohe sichere
Nachführung der Temperatur.
Peter
Peter schrieb:> Bin erschlagen von deiner Software, verstehe momentan davon nichts.:-(>> Meine Hochachtung!!!!>> ziehe mich in die Ecke zurück..... Ok>> Benutze leider die übergeordnete Software nicht. Vielleicht...>> ACAN2517FD kenne ich auch und Pierre ist auch super.
Danke! Muss dazu aber sagen die Steuerung in meinem Auto ist da noch
viel deftiger :)
Für die Geschichte braucht man eigentlich nur Visual Studio Code und
Platform.io Add-In. Der Rest passiert schon fast automatisch ;)
Peter schrieb:> Was ich fragen wollte, wenn durch das TA eine Vorlauftemperatur> vorgegeben wird und Du steuers eine andere nach. Wird die neue im TA> übernommen?> Oder wird, kann die eingestellt Zeit durch die Software gesetzt werden.
Das habe ich nicht ausprobiert. Meine Steuerung erkennt die TA anhand
der Telegramme und schaltet sich auf reinen Lauschbetrieb. Fehlen für 30
Sekunden die Nachrichten der TA, schaltet sich meine Steuerung wieder
aktiv.
Naja die Zeit ist völlig irrelevant fürchte ich... aber die letzte
Ziffer, die meist "4" ist muss eine besondere Bedeutung haben. Ich
vermute schon fast da liegt die Taktsperre drin.
Peter schrieb:> Das Ziel was ich mir gegeben habe ist nicht nur die Visualisierung der> Heizung sondern, die Optimierung (hat wohl jeder), die auch Thomas fast> im Sinn hat, allerdings über den Ventilstand der Heizkörperventile in> jedem Raum und zur Temperatur. Sozusagen ein Hauskennfeld zur> Temperatur.
Das ist ja auch durchaus machbar. Allerdings muss man sich dann fragen
wo das "Leitsystem" steckt, was dann die ganzen Daten zusammenführt,
auswertet und runter zur Steuerung schickt. Da kann ich wirklich nur
MQTT als "Interface" (es ist ein Broker) empfehlen.
Ich werde im nächsten schritt die restlichen Thermostate durch
entsprechende Homematic IP Geräte austauschen und kann dann auch auf die
Wärmeforderung des gesamten Hauses reagieren. Ein entsprechendes
Adaptionsfeld mit dem man die VL-Temperatur künstlich an- und absenken
kann ist bereits im Code drin. So kann man dann bei besonders hoher
Anforderung noch eine extra Schippe drauf legen und bei besonders wenig
eben reduzieren.
Hallo,
Dave schrieb:> Danke! Muss dazu aber sagen die Steuerung in meinem Auto ist da noch> viel deftiger :)
Kann ich mir durch aus vorstellen, BMW, VW, Porsche, Daimler, RR....
gehörten zu unseren Auftragsgebern um für Sie Fahrzeugelektronik
herzustellen und zu "testen". Und die Testsystem mussten auch zum Teil
das Fahrzeug simulieren und diese mit Arduino und Co. Der Umfang der
ständigen Telegramme ist enorm ( um die Vectoroberfläche sich zu
sparen))
Dave schrieb:> Naja die Zeit ist völlig irrelevant fürchte ich... aber die letzte> Ziffer, die meist "4" ist muss eine besondere Bedeutung haben. Ich> vermute schon fast da liegt die Taktsperre drin.
Kann ich nicht nachvollziehen, weil ich habe keine Heizung angeschlossen
und glaube das auch der I2C dicht gemacht hat. Somit kommt die
Information, die scheinbar alle habe, nur vom TA. Die Taktzeit kannst Du
aber, nur über in die Fachmannsebene einstellen (am Ofen). Irrelevant
würde ich nicht gerade sagen, ...ist halt ein Steuerpunkt.
Dave schrieb:> Allerdings muss man sich dann fragen> wo das "Leitsystem" steckt, was dann die ganzen Daten zusammenführt,> auswertet und runter zur Steuerung schickt.
Da stimme ich Dir auch voll zu. Es sind noch viele Punkte zu klären und
der Plan stand schon relative früh fest etwas daran zu schrauben.
Ich sehe hier den CAN-Bus als ein Fehler an und das hat ja Bosch auch so
gesehen. Von I2C auf WLAN ist der Plan, der noch nicht verworfen wurde
von mir.
Der zweit Punkt ist natürlich die Raumsteuerung ich halte die alte ELV
Lösung für die beste. Leider nur noch wenig Information im Netz. Aldi
hat die Jahren für 12 oder 15Euro komplett, verschenkt. Habe jeden
Heizkörper damit bestückt.
Der dritte Punkt ist natürlich die Datenaufarbeitung, gebe ich Dir wie
gesagt vollkommen recht. Ich hätte es dann auch ins Fernsehen gerne
geschoben. mit selbst Meldung. Mal sehen.
Muss jetzt erstmal meinen Fehler suchen.
Peter
Hi,
nochmals.
Habt Ihr mal die aktuelle Versorgungspannung des TA250/270 für mich.
BM1 Stecker Pin 1 bzw. 4, habe hier 14,40V?
Vielleicht habt Ihr die Möglichkeit hier zu messen.
Danke
Peter
Peter schrieb:> BM1 Stecker Pin 1 bzw. 4, habe hier 14,40V?> Vielleicht habt Ihr die Möglichkeit hier zu messen.> Danke> Peter
Habe 17v aber laut Handbuch sind 14-24V okay.
Danke Dave,
der TA akzeptiert einfach die zweite CAN-Bus Leitung(Anzapfung) nicht
und der Can-Bus schwankt bei Belastung. Einer hat eine Macke.
So klappt es ja, bei Belastung....nicht so
Scheint wohl mal schlechtere Zeiten gesehen zu haben.
Es existieren scheinbar 2 Versionen von der BM1 Karte. Die eine hat im
CAN Bus 2 Widerstände mehr laut Bild.
Peter
Peter schrieb:> Nachtrag:>> ohne Abschlusswiderstand lässt sich das TA steuern, korrektes Signal?>> Peter
Das heißt die TA übernimmt die Werte, wenn man den Widerstand raus lässt
oder was genau hast du getestet?
Hi,
genau, zu mindestens das TA funktioniert so. Die Werte aus den
Telegrammen werden in InFo eingeschrieben. Allerdings habe ich erstmal
die 0x200 bis 0x20F gesendet. Das gibt ja Sinn, kommen ja vom BM1 und
sind IST-Daten.
Das Oszilloskop_Bild in auch Ok. Aber es kann durch aus sein das die
zweite Variante (R5/R6) mit Abschluss arbeitet, bzw. meine defekt sind.
Peter
Ich habe nochmal ein wenig Hirnschmalz reingesteckt und ein paar
Funktionen hinzugefügt:
- Externe Temperatursensoren, welche mit dem OneWire Protokoll
kompatibel sind (bsp.: DS18B20), können in friedlicher Koexistenz mit
dem System ausgelesen werden. Ich habe Sensoren am VL, NL, frei im Raum
hängend und im Rauchrohr sitzen. Wer gerne Daten sammelt, der versteht
mich ;)
- Anpassung der Vorlauftemperatur basierend auf der Rücklauftemperatur
(externer Sensor, Dallas): Fährt die VLT runter, wenn die NLT zu hoch
ist. Ich nenne das einfach mal "Dynamische Adaption" und sollte für
Fußbodenheizungen besonders interessant sein, da es quasi wartet bis die
NLT Temperatur unter einen gewissen Wert wandert um somit praktisch die
Restwärme aus dem NL zu ziehen. Klappte bei mir sogar ganz gut bevor ich
den hydraulischen Abgleich durchgeführt hatte. Jetzt eher so
minderprächtig.
Ein Feature was ganz besonders Interessant ist, wenn man eh überall
Smarte Thermostate hat:
- Anpassung der VLT anhand der Ventilöffnung: Man berichtet einfach das
am weitesten geöffnete Ventil an die Steuerung und diese regelt
entsprechend die VLT anhand von min-max werten. Ich nenne das
Ventilskalierung. Natürlich könnte man hier auch den Mittelwert aus x
Thermostaten rein füttern - völlig frei.
-- Anpassung der VLT unter Berücksichtigung der Außentemperatur. Die
Basistemperatur wird angehoben, wenn zusätzlich die Dynamische Adaption
an ist. In diesem Modus wird anhand der Ventilöffnung geregelt und
zusätzlich zu einem gewisser Anteil der sich aus dem statischen
Adaptionswert errechnet, angehoben.
- Stumpfes setzen der Vorlauftemperatur über MQTT. Wenn man bereits
Berechnungen in einem Smarthome System gesammelt hat, kann man einfach
den gewünschten Wert an die Steuerung senden. Damit wird ach alles
andere natürlich überschrieben.
Zuvor hatte ich mal den kompletten Code auf den Kopf gestellt und da es
sich nicht mehr um einen Prototyp handelt nun alles sauber in einzelne
Codedateien aufgegliedert. Es könnte sein, dass jetzt der ein oder
andere Probleme beim Lesen hat. Sorry - war aber notwendig da es zu
komplex geworden ist :(
https://github.com/Neuroquila-n8fall/JunkersControl
Ein kompaktes PCB mit Can Controller, Receiver und Spannungsversorgung
ist auch in der Mache und kommt am Donnerstag. Wenn ich nicht gerade
Mist gebaut habe, kommt das auch nochmal ins Repository dazu.
der hydraulische Abgleich stellt nur sicher das alle Kreise gleich
durchströmt werden, wenn der Heizi allerdings in manchen Räumen nicht
genug Heizflächen installiert hat (meistens in kleinen Räumen wie
Bädern), dann muss die VLT höher eingestellt werden um diese Warm zu
bekommen. Und genau deswegen gibt es die Pflicht in der EneV für
Raumthermostate, weil man schon davon ausgeht das es die wenigsten
Heizis hinbekommen. Nun schaltet die Räume ab, die ihre Solltemp
erreicht haben, und dann bekommen die anderen Räume mehr Durchfluss die
zuvor unterversorgt waren, das funktioniert aber nur mit einer höheren
VLT.
Wenn es richtig gemacht wird, wird der Heizbedarf jedes Raumes
berechnet, die Heizflächen entsprechend ausgelegt(z.B. mit Heizrohren in
der Wand) und um die hydraulischen Verhältnisse nicht aus dem Ruder
laufen zu lassen müssen dann eben auch mehr Kreise installiert werden.
Beispiel 11 Kreise a 60 Meter und ein Kreis a 120 Meter, nun müssen alle
"guten/kurze" Kreise auf die Druckverluste des "schlechten" Kreisen
gedrosselt werden damit über all gleich viel Durchfließt. Man hat dann
also hydraulisch 12 Kreise a 120 Meter. Und doppelter Druckverluste
erfordert 4fache Pumpenleistung statt 25W wären das dann auch 100W.
Das schreibe ich nicht um dir eine schlechte Auslegung zu unterstellen,
sondern nur damit andere Bauwillige die dass Lesen berücksichtigen und
sich nicht einfach auf den Heizi verlassen, der dann eben mit einer
hohen VLT zwar alles warm bekommt, die erhöhten Verbrauchskosten aber
der Kunde zahlt.
Genau. Nachdem jetzt die Verteilung richtig eingestellt ist, läuft das
ganze super gut mit der Ventilabhängigen Steuerung. Ich hab dem
Installateur gesagt ich steuere selbst und brauche einfach einen
Abgleich anhand der Entfernung und Raum. Er wusste direkt was ich machen
kann und hat noch gesagt dass grundsätzlich die Heizung selbst genau
weiß was an Wärme zugefügt werden muss selbst wenn die Spreizung zu
niedrig scheint. Allerdings meinte er auch der Kessel ist viel zu "groß"
für den Kreislauf ausgelegt. Die Pumpe läuft jetzt auf dem niederen
proportionalen Modus "4". Dadurch hat sich die Taktung leicht
verbessert.
Hi,
ich kämpfe momentan mit dem alten I2C Ram und deren Ansteuerung, neben
bei.
Da lass ich hier die Ausführung vom Thomas.
Was hast Du für ein Haus mit Strängen von 60m. Habe selbst etwa um 200 m
Rohre verbaut, aber 11 ..12 mal 60 m. Wahnsinn.
Sorry, aber woher hast Du denn diese Weisheit. Wie ich schon
geschrieben habe, und erst recht für ein Haus deiner Größe sind
Strangregulierungsventile ja regelrecht eine Pflicht um eine gute
Steuerung hin zu bekommen. Ob es einen Sinn ergibt mit der
Pumpenleistung oder auch nicht.
Aber ich habe auch die Erfahrung gemacht das sich "keiner" der Fachleute
sich mit dieser Technik auseinandersetz hat(wollte). Übrigens bei mir
ist immer das Bad der wärmste Ort, absichtlich, Taupunkt!
@ Dave
Vielleicht Bilder zeichnen, hört sich schlimm an, aber man versteht es
am schnellsten.
Peter
Von meiner Kreislänge habe ich nichts geschrieben. War nur ein Beispiel
das man mit einem schlechten Kreis alles kaputt machen kann. Ich selber
habe 12 Kreise pro Stockwerk die Kreislänge müsste ich nachschauen,
liegt aber definitiv unter 90 Meter Kreis und sehr konstant sehr
konstant +- 5 Meter.
Ich muss ehrlich sagen das hat nichts mit Weisheiten zu tun sondern mit
schrittweisem Steuern und Beobachtung. Es ist wie mit allem: Frag 100
Leute, bekomme 100 unterschiedliche Antworten... Am Ende habe ich
versucht irgendwie etwas sinnvolles mit den Infos anzustellen.
Da ich keine wirkliche Besserung erzielen konnte habe ich mich an einen
Heizungsbauer gewendet. Derjenige, der 2004 das gesamte System von der
Planung bis zur Inbetriebnahme in der Hand hatte, existiert leider nicht
mehr. Und selbst wenn ist fraglich ob dieser überhaupt noch wüsste, was
vor 17 Jahren war. Zuvor war scheinbar eine Ölheizung installiert -
vermutlich in den 80ern eingebaut. Davor scheint mir hier mit mehreren
Kohle- oder sogar vielleicht Koksöfen geheizt worden zu sein. Das
erklärt auch den winzigen kleinen Kellerraum. Der ist verkapselt also
gehe ich davon aus, dass es vorher ein Kohlelager und danach der Raum
für die Öltanks war. Ansonsten steht die Hütte direkt auf dem Felsen.
Ich gehe mal grundsätzlich davon aus, dass ein Heizungsbauer weiß wie
ein Heizkreis funktioniert. Die Heizung funktioniert ja auch
zweifelsohne. Ich dagegen kann nur anhand von Beobachtungen der
Temperaturen in den Räumen und vom Vorlauf sagen wo es ein Problem gibt
sprich wo eventuell zu viel Energie reingesteckt wird, die eh niemals
ankommt oder gar umgekehrt.
Auf dem Weg zur besseren und intelligenteren Steuerung sind verschiedene
Regelmodelle entstanden die nun weiterhin im "Paket" enthalten sind. Ob
diese Sinnvoll oder nicht sind kann ich nicht beantworten.
Ich fahre jetzt mit der Steuerung nach dem am weitest geöffneten Ventil
am besten. Das ist auch ungefähr das, was Bosch mit den smarten
Thermostaten in Verbindung mit diesen sogenannten smarten
Brennwertkesseln verkauft. Vielleicht etwas raffinierter mit einem
Durchschnitt der "Top 3 Ventile" oder sogar unter Berücksichtigung der
Entfernung zum Kessel (siehe Marketing-gebrabbel im Anhang). Ich würde
gerne das System mal genauer unter die Lupe nehmen aber kenne niemanden,
der es besitzt...
Fakt ist alle Räume werden warm und wenn gerade kein oder kaum Bedarf
besteht, wird die Vorlauftemperatur etwas abgesenkt und damit die
Taktung weiter gestreckt und weniger Energie verplempert. Dabei sinkt
die gemittelte Vorlauftemperatur nie unter 40°, was bei der
durchschnittlichen Öffnung von 10% ausreicht um die Räume auch bei den
zurückliegenden Minusgraden auf der Zieltemperatur zu halten. Für mich
bedeutet das, dass die Steuerung auf das System passt. Sicherlich wird
das so nicht auf jede Umgebung passen. Vielleicht war das ganze
Unterfangen ja auch komplett sinnlos und ich habe eine fette Nachzahlung
im nächsten Zyklus...? Ich konnte jedenfalls die durchschnittliche
Vorlauftemperatur um ungefähr 10° senken ohne weniger Komfort. Auf dem
Papier sollte das eine Ersparnis bringen... Dummerweise sitzt der
Gaszähler in diesem Kellerraum und ehrlich gesagt bin ich zu faul da
täglich runter zu klettern. Selbst wöchentlich ist mir zu viel.
Kann mir an dieser Stelle vielleicht jemand ne gute Lösung zeigen einen
solchen Zähler auszulesen?
Im Übrigen gibt es hier zwei Stränge mit jeweils VL und NL, die parallel
angeschlossen sind (Siehe Skizze im Anhang. Sind die Anzahl der Kreise
gleich Anzahl der Heizkörper mal zwei?) .
EG mit einer Fläche von ca 90m² und OG mit der gleichen. Oben wie unten
sind jeweils 6 Heizkörper mit der exakt gleichen Größe verbaut worden.
Es läuft alles schön brav in U-Form entlang der Außenwände und komme so
auf ungefähr 70m Leitung. Der Kessel sitzt am Fuß des Us im EG. Außer
80er Mauerwerk gibt's hier keine Isolierung. Selbst die Rohrisolierung
der Heizung musste ich nachholen. Die Kupferrohre lagen bis dato einfach
blank in der Luft und teilweise wegen den krummen Wänden auch an der
Wand und/oder aneinander. Rohrhalterung, die dann die Leitungen
voneinander endlich trennen, in einer Mischung aus Kalk- und Sandstein,
Kuhmist, Mörtel, Sandputz und Gipskartonplatten zu befestigen ist
übrigens kein Spaß... Elsässisches Bauernhaus eben ;)
Ich bin jedenfalls sehr gespannt was Peter für Erkenntnisse aus dem BM
gewinnen kann. Wenn das komplett Zurückentwickelt ist erlangt man, laut
dem was das Handbuch sagt, nochmals eine völlig andere Möglichkeit der
Steuerung, da ganz klar gesagt wird, dass manche Funktionen wie die
Taktsperre vom Regler übernommen werden, wenn dieser angeschlossen ist.
Tatsächlich arbeitet die Heizung mit den exakt gleichen Vorgaben, wenn
man den TA abklemmt und einfach nur die Kommunikation aufrecht erhält
also leere Telegramme sendet. Die Taktsperre allerdings bleibt variabel.
In meinem Fall mal 5 Minuten, mal 3, manchmal 1.
Das BM ist leider auch recht teuer, von dem was ich sehe immer
schlechter verfügbar und daher wäre eine Eigenentwicklung ohne CAN, nur
mit I2C, sicherlich deutlich günstiger.
Hi,
ist schon seltsam wie unterschiedlich doch die Häuser sind.
Bei mir werden die Heizkörper in jeder Etage im Paar angesprochen und
nicht insgesamt. Hatte ich aber auch mal dran gedacht, weniger Arbeit.
Bauvorschriften sagen heute aber, das die Mauer nicht geschwächt werden
darf auch bei der Installation nicht. Stränge hatte ich genug.
Hatte damals alles in Eagle gezeichnet und es geht super damit.
Zur Info: hatte den TA nur mit dem CAN_Arduino laufen gelassen und den
Telegrammen des BM1, wie geschrieben. Zeige ab einer gewissen Zeit( n.
bekannt) Fehler F8 Anlage überprüfen. Habe hier zu nichts gefunden.
Scheinbar wird im Hintergrund auch noch der Sinn der Funktion überwacht,
durch den TA.
Teuer, da sagst Du was, hatte mich mal umgeschaut. Unverschämt was die
noch gehandelt werden und nicht mal vollständig.
Hatte mir ja aus China einige Ram's (256 Byte!!!) kommen lassen und
leider aber auch immer meine Zweifel, wenn ich Bauteile bekomme die
kaum beschriftet sind. So diese, nicht mal eben ein Programm suchen und
starten, nee. Lesen schreiben funktioniert wohl aber auch wirklich??
Noch überprüfen und dann, mit dem BM1 weiter.
Peter
Hallo,
habe die BM1 Platine etwas genauer betrachtet, natürlich im
Schreibtischtest.
Die I2C Frequenz liegt bei etwa 30kHz. SCL nicht symmetrisch (Takt
<20%). Der PCF 8570 kann natürlich auch mit höheren Frequenz
angesprochen und gelesen werden.
Hatte erwartet das sich eine zweite Adresse zeigt, ist aber nicht der
Fall. Der CPU onboard meldet sich nicht. Vielleicht der Grund, der zur
Zeit fehlenden Frequenz über Einstimmung. Zyklisch (~10 bis 30s)liegt
ein Signal an.
Beim Start schreibt er einige Daten ins Ram, bis jetzt konnte ich diese
dem TA nicht direkt zu ordnen.
Da sich die Daten nicht durch Vorgabe verändern, gehe ich nun davon aus
das der Speicher nur in eine Richtung gedacht ist. Von der Heizung zum
BM1 alle anderen Einstellungen gehen zyklisch direkt auf dem Bus.
Seltsamerweise habe ich ein CAN-Busfehler(1) erhalten durch den offenen
i2C Bus. Abschlusswiderstände (4k7) müssen auf der Hauptplatine sein.
Leider ist mit dem Arduino ein zeitliches (*genaues) Senden und der
Interrupt Empfang nicht möglich. Wodurch alles etwas verschoben wird. *)
habe festgestellt das die korrekte Sendezeit keine Änderung bewirkt.
Hingegen zyklische kürzere Sendezeiten ändern die Einträge(!TA).
Werde jetzt versuchen auf 30kHz i2C zu kommen um zu sehen was gesendet
wird.
Peter
Erinnert mich irgendwie an das defekte BM1 was ich zuerst erhalten
hatte. CAN Fehler auf TA und Heizung. Ich glaube fast es gibt sehr viele
"faule" BM1 Module auf dem Markt...
Hi,
gebe ich Dir vollkommen Recht. Obwohl das Packet vollständig war bin ich
überzeugt, das es schon mal eingebaut war und bessere Zeiten gesehen
hat. Aber auch das Bosch in den Jahren nachgebessert hat. Ein CAN Bus
ohne Abschluss und ist ganz sicher ein Strahler, trotz nur 6MHz.
30kHz war kein Problem allerdings bei 50%. Mein kleiner Scanner (12Euro)
sagte mir das vom BM1 nur das Ram angesprochen wird. Einige wenige
Adressen werden zyklisch gelesen, mit 0 können sie scheinbar nichts
anfangen....
Peter
So wie es scheint muss man doch noch etwas anders machen damit auch bei
der Nachtabsenkung die Pumpe ausgeht. Wenn man die TA anklemmt und
danach auf den eigenen wechselt, klappt es. Startet man die Heizung mit
dem eigenen, schaltet sie nicht ab. Muss ich mal genauer
protokollieren....
Hallo Dave,
die letzte Woche war sehr ernüchternd.
Zwar habe ich im RAM eine Zelle gefunden, die einen gewissen Schlüssel
besitzen muss, da sie beim Start vom BM1 abgefragt wird und Daten auch
im RAM der eigenen Simulation TA übernimmt, aber nach ~60s von Daten
überschrieben wird (immer) ohne einen Einfluss des TA's. Diese
Einstellung bleibt dann auch unverändert, auch wenn Änderungen im TA
vorhanden sind.
Aus Projekten kenne ich das "ALIVE" Telegramm ein erwartetes einfaches
hochzählen zum Beispiel von 0 bis 0x0E, bzw. ein ständiger Bitwechsel.
Bei mir fehlt auf jeden Fall noch was und der Aufwand wird immer größer
und zeitraubender, die Heizung fehlt halt.
Weiterhin habe ich jetzt die Simulation TA bzw. BM1 bei mir erweitert
und Lese auch immer mit, was da vom andern verbleibenden Gerät (TA oder
BM1) kommt. Hier wird scheinbar bei einigen Telegrammen eine erheblich
verkürzte Zykluszeit gesetzt. Ursache unbekannt, interessant ist nicht
die Zykluszeit sondern warum kommt es dazu.(Kontrolle: Lesespeicher wird
immer wieder zurückgesetzt folglich sendet der BM1 dies auch))
Mehr Fragen als Antworten.
Peter
Hi,
Nachtrag.
Ich hatte hier mal die Frage gestellt woher man denn weis welches
Telegramm denn nicht "nur" den Status darlegt sondern ein Befehl
anstößt. Weis ich noch immer nicht komplett.
Mich wundert es immer wieder selbst, das hier Erfolge zu verbuchen sind.
Das hier die Vorlauftemperatur und einige andere Telegramme (Soll) die
Funktion ausfüllen liegt in der Sache.
Aber I/O Befehle sehe ich hier nicht und Rückwärts funktionieren solche
Befehle doch eigentlich nicht (Indikator). Wenn ich deine
Funktionseinschränkung hier richtig sehe, dann schaltest Du doch die
ganze Heizung aus was nützt Dir stehendes Wasser. Frostschutz usw. das
Du deine Räume überwachst weis deine Heizung nicht.
Ich gehe davon aus, dass alle Adressen > 0x200 von der Ta sind und
Steuerbefehle sind. Alles darunter sind Werte und Zustände der Heizung.
Offenbar muss man auch die Warmwassertemperatur mitgeben, damit es
klappt, wenn auch nur ein einziges Mal. Ansonsten schaltet die Heizung
nicht vollständig aus, da der Default-Wert dann gilt und dieser muss
dann folglich über 10° sein. Bei Temperaturen unter diesem Schwellwert
springt laut Handbuch die Pumpe vollkommen selbständig ein. Außerdem
springt sie alle 24 Stunden von selbst an, wenn die Heizung im
Sparbetrieb sich befindet. Man hat also von der Regelung aus keine
Kontrolle über den Pumpenbetrieb. Man kann es, wie bei den anderen
Sachen, nur "suggerieren".
Zusammengefasst:
Warmwasser, Speicher und Mischkreistemperatur müssen wenigstens ein
einziges Mal gesetzt werden, damit die Heizung vollständig abschaltet.
Dabei ist es wichtig, dass diese Temperaturen dann auf 10° gesetzt
werden. 10° ist so der Schwellwert für Frostschutz und "Aus".
Hallo,
Dave G. schrieb:> Ich gehe davon aus, dass alle Adressen > 0x200 von der Ta sind und> Steuerbefehle sind. Alles darunter sind Werte und Zustände der Heizung.
Hier bin ich etwas verwirrt, weil Du schreibst doch in deiner
Excel_Ausführung das die Werte von 0x200 bis 0x20F von der Heizung
kommen und die darüber ab 0x250 von der Ta sind. Das kann ich auch so
voll bestätigen ohne angeschlossener Heizung.
Werte darunter habe ich nur eine Adresse 0x0F9 gescannt.
Ja je nachdem was ersetzt wurde habe ( TA oder BM1) ich immer eine
zyklischen Sendung vorgenommen. Die wider rum mal im exakten Zeitfenster
agierte oder schneller, mein Ergebnis war das die schnellere Variante
zuverlässiger war bei der Übernahme der Daten. Allerdings wie
beschrieben bei mir nicht ins RAM.
Deine Pumpeneinstellung wird aber schon sehr komplex. Ich verstehe noch
nicht den großen Gewinn durch das abschalten der Pumpe. Zu laut oder aus
Kosten Gründe.
Peter
Hallo Experten,
auch wenn es ein wenig off-topic ist...
Warum schaltet der Brenner immer noch über den Temperaturfühler am
Heizblock, wenn doch eine HSM mit angeschlossenem
Vorlauftemperaturfühler existiert.
Ich bin total am verzweifeln, weil ich diese verdammte Taktung nicht
wegbekomme.
Gruß,
Bernd
Hallo,
bin kein Experte, als Experte versteht man das System, kann ich n.
behaupten.
Deine Taktung würde ich erstmal vergessen. Hier liegt eher ein Notlauf
der Heizung vor. Ab 16:00 Uhr verabschiedet sich deine Heizung und
danach ist der Brenner aus und die Temperatur stagniert kurz statt zu
fallen.
Vergleiche doch mal die Max. Vorgaben mit den gemessenen Werten.
Wird der TA 270 denn mit einen weiteren Heizkreis betrieben. Ich glaube
ich hatte mal gelesen das der TA250 die bessere Steuerung ist für
"einfache Heizungen" ist.
Übrigens nach 17:00 Uhr sieht doch alles korrekt aus! Und die Werte
werden doch eingehalten. Wen du das System öffnest und längere
Taktzeiten hast wirst Du zwangsweise auch größere Temperaturschwankungen
haben.
Meine Familie hatte mal Ende der 80er Jahre eine E_Zentralheizung gebaut
mit etwa 1000 Liter Buffer als Nachtspeicher und 2 Durchlauferhitzer.
Gesteuert mit Commodore 16 bzw. später mit CCBasic von Conrad.
Währe das dann deine ultimative Löschung, einmal am Tag, nee..., zu viel
Verluste.
Peter
das Ding macht 6 Takte in der Stunde rechnet das mal auf den Tag hoch.
Man muss hier die Pumpen hochdrehen, damit die Wärme abgenommen wird,
dann läuft das Ding auch mal ne Stunde durch ohne an/aus/an/aus......
und unbedingt mal die Rücklauftemperatur aufzeichnen, zur Not einfach
mal nen Sensor auf den Rücklauf setzen.
Hallo und danke für die Antworten.
Der Peak um 16:00 Ur ist die Warmwasserbreitung.
...also kein Notlauf.
Ich habe jetzt alle Pumpen auf Vollast gestellt und das Bild sieht etwas
besser aus.
Ich hänge euch nochmal eine Skizze der Hydraulik an.
So wie es aussieht, scheint die hydraulische Weiche falsch angeschlossen
zu sein.
Ich werde das wohl mal umbauen lassen müssen...
Gruß,
Bernd
Hi,
ja, weiterhin sehr interessant was Ihr da anstrebt.
Höhere Temperaturen längere Brennzeiten? {wenn ich da durchschaue)
Würde den Darstellungsbereich eher verkleinern (einzelne Regelbereiche)
als den Kurvenbereich zu erhöhen.
Schau doch da mal rein. https://www.haustechnikdialog.de/ dort sind wohl
eher die Fachleute.
Peter
Was heißt hsm und hmm wenn nur ein Verbraucher an der hydraulischen
Weiche hängt kannst du diese weglassen. Wenn mehrere dranhängen kann es
dir sonst rückwärts in einen anderen Verbraucher drücken.
Was heißt hsm und hmm wenn nur ein Verbraucher an der hydraulischen
Weiche hängt kannst du diese weglassen. Wenn mehrere dranhängen kann es
dir sonst rückwärts in einen anderen Verbraucher drücken.
Mehr Abnahme = längere Brenndauer. Wenn nichts abgenommen wird schaltet
der Brenner gleich wieder ab weil die Temp zu schnell steigt.
Du kannst die Sensoren in den Rücklauf bauen und die Temperatur
niedriger einstellen da sind die Temperaturschwankungen viel langsamer
Hallo,
weis jemand wie der Stecker des BM1 heißt bzw. der Hersteller. Gemeint
ist übrigens die schwarze Kabelverbindung zur Hauptplatine. Bin auch auf
der Suche nach dem Gerät mit dem 4 poligen Anschluss ST7 auf der
Hauptplatine.
Finde keine Kennzeichnung.
Peter
Hallo,
ein kleines Update über Bosch Junkers Service und Wartungsfirmen!!
Es ist wohl jeden inzwischen bekannt, dass der Bosch "Service" gegen
über den Endkunden gleich Null ist. Aber, dass man nicht einmal eine
Bestellnummer mitgeteilt bekommt damit dies über die Wartungsfirma
bestellen kann, war mir bis jetzt neu.
Weiterhin habe ich dann meine Wartungsfirma angesprochen um die Info
zubekommen. Was dann wieder abgelehnt wurde, weil Sie glauben, dass ich
Ihre Arbeiten machen könnte, was ich natürlich vorher mitgeteilt hatte
das es nicht der Fall wäre. Wahnsinn!!
Jetzt suche auch noch eine neue Wartungsfirma.
Fazit: Kauf (k)ein Bosch Teil!?
Habe mich entschieden einen Sub-D Stecker über Kabel anzulöten.
Hoffe alle gesund!
Peter
Hallo Dave,
Nachfrage:
Hast Du eine Möglichkeit gefunden deinen Gaszähler "auszulesen". Es gibt
ja einige Möglichkeiten in zwischen auch für ältere Zähler.
Versuche schon seit Wochen von Westnetz eine Genehmigung zu bekommen den
Schacht zu nutzen. 10 Liter Impuls. Habe mir sagen lassen, das es da
Ärger geben könnte.
Der CAN-Bus und I2C Bus ruht mal wieder.
Gruß Peter
Peter schrieb:> Hallo Dave,>> Nachfrage:> Hast Du eine Möglichkeit gefunden deinen Gaszähler "auszulesen". Es gibt> ja einige Möglichkeiten in zwischen auch für ältere Zähler.>> Versuche schon seit Wochen von Westnetz eine Genehmigung zu bekommen den> Schacht zu nutzen. 10 Liter Impuls. Habe mir sagen lassen, das es da> Ärger geben könnte.>> Der CAN-Bus und I2C Bus ruht mal wieder.>> Gruß Peter
Moin!
Ich überlege via Photosensor und Led die Impulse direkt an der Scheibe
auszulesen. Bin aber momentan noch dran die Steuerung in eine solide
Platine zu verwandeln damit ich das Kabelgestrüpp loswerde, was momentan
da rumgeistert...
Hi,
hört sich gut und einfach an.
Hatte mal von einer ESP Kameramessung gehört
https://github.com/jomjol/AI-on-the-edge-device
Ich wollte es mit einem ADXL213 realisieren, eine kleine Platine von
Daimler Lageerkennung (Diebstahlschutz) bzw. Magnetfelder.
Muss erstmal die Freigabe haben, das ich den Blindstopfen für den
Impulsgeber entfernen darf um es auszuprobieren.
Bin mal wieder hängenblieben an andere Aufgaben, aber bau mir eine
separate Heizung für den Schreibtisch auf, bzw. lege mir so Ersatzteile
auf Lager.
So kann dann der Can-Bus besser zum I2C betrachtet werden. War einfach
zu Zeitraubend.
Peter
Das mit dem ESP CAM-Modul klingt echt vielversprechend aber in meinen
Augen doch etwas "überverkompliziert" dafür, dass man einfach nur
Impulse messen muss.
Werde ich aber sicher mal ausprobieren.... danke für den Tipp!
Ich wollte eigentlich das auch für die Stromzähler umsetzen aber da ich
demnächst neue Zählerplätze bekomme mit EHZ, bleibt wirklich nur Gas und
Wasser offen. Wasser kann man nen eigenen Zähler nachschalten, bei Gas
isses halt nun mal unmöglich...
Ich habe allerdings große Probleme den Gaszähler zu digitalisieren da
ich noch ein paar Problemchen lösen muss:
1) Kriechkeller ohne Steckdosen
2) sehr schlechter WLAN Empfang
3) nicht beheizt und mehr oder weniger offen - also schwankende
Temperaturen und Luftfeuchtigkeit
Hallo,
auch meine Gedanken.
Vom Preis umsetzbar, aber sehr umfangreich. Kameras habe ich wohl, aber
ich muss es auch verstehen.
Die Freigabe, zur Montage des Impulsgebers, habe ich inzwischen vom
Netzbetreiber, aber Sie wollen Fotos haben, ob er korrekt ohne "Schaden"
eingebaut wurde. Der Originalgeber kostet 100 Euro, für ein
Reed_Kontakt. Das ist Wucher und ist unverschämt, mit mir nicht!
Werde mich mal schlau machen über LINEAR IMAGE Sensoren wie IC-LF1401
allerdings einfache, ist eine alternative.
Ja eHZ, vorarbeiten habe auch schon durchgeführt, bzw. die Machbarkeit.
Allerdings habe ich noch einen alten Haupt_Zähler (69). Habe mir für
jede Etage einen eigenen Zähler emMe4.0 gekauft (a.60€), 2 davon konnte
ich in den Zählerkasten einbauen und einen Vorort. Geeicht und wichtig
mit Pin. Funktioniert mit Arduino.
In NRW wurde meines wissend der Einbau eHZ vorerst gestoppt. Habe es
auch über SDM xxxM Zähler getestet funktioniert auch sehr gut.
Dein Installateur baut Dir auch einen zweiten Gas-Zähler ein, bekommst
Du "auch günstig" im Netz.
Da hatte ich Glück, 2Meter Deckenhöhe, Nachbar hatte dies auch nicht.
Aber auch schon 2 mal Wasser, jetzt endlich dicht.
Obwohl die neue Fritzbox nur 10 Meter im Erdgeschoss montiert ist, auch
kaum Empfang. Habe die alte Fritzbox 7390 in den Keller gestellt, nicht
super aber geht. Jeder Meter zählt.
Langfristig wird hier (Keller) wohl wieder auch der CAN-Bus oder Modbus
seinen Dienst tun.
Das hört sich nach sehr viel Arbeit an, kenne ich nur zu Gut. Habe
schonmal mit eine Haushälfte unterkellert.
Da treten grundsätzlich immer Spielerein in den Hintergrund.
Ja das ist alles nicht so einfach... aber ich denke für den Gaszähler
werde ich tatsächlich dann nochmal Strom in den Keller legen und ggf.
gleich Ethernetkabel, was ich dann ja direkt am ESP32 "konsumieren"
kann. Kabel ist sowieso charmanter als Wifi.
Aber...ich werde hier noch bekloppt. Bin gerade dabei eine Platine zu
bauen damit der ganze Kabelsalat mal verschwinden kann.
Der CAN-Bus macht mich aber wahnsinnig.
Disclaimer: Alles was ich über Schaltungen und Elektrik weiß hab ich mir
irgendwie selbst angeeignet durch viel lesen und rumprobieren aber so
wie es aussieht habe ich meinen Endgegner gefunden.
Ich habe das kleine CAN-Modul 1:1 nachgebaut, mit MCP2515 und TJA1050.
Skizze hängt an.
Auf dem Schreibtisch zwischen anderen Modulen (auch selbst gebaut)
funktioniert das wunderbar aber am Lebendobjekt empfange ich nur
Nachrichten, kann aber keine senden.
Aktuell läuft das ganze mit dem Modul auf 3V3 aber der Transceiver
sollte ja schon seine 5V bekommen um die Pegel richtig ausgeben zu
können. So wurde es mal jedenfalls an vielen Stellen gesagt.
Das seltsame ist, dass das fertig gekaufte Modul bis jetzt auf jedem BUS
funktioniert hat - egal ob am Auto oder an der Heizung und das trotz
3V3...
Ich vermute ja schon fast die Heizung erwartet da ganz andere Pegel als
offiziell beschrieben...
Ich bau das jetzt nochmal auf 3v und teste das. Wenn das geht versteh
ich erstens die Welt nicht mehr und bin kein Deut schlauer geworden aber
wenigstens könnte es dann so klappen. Wäre nur sehr hilfreich zu
verstehen warum in diesem Fall das Senden nicht funktioniert.
Hi,
ich denke auch, das die Pegel vom PCA82c250 (BM1) nicht richtig erkannt
werden, oder verfälscht werden.
Meldet der TA den Fehler oder dein Programm.
Kannst Du den Pegel messen?
Oder ziehe mal den Abschluss 120 Ohm auf deiner Platine.
Hast Du eine gemeinsame Masse GND, BM1 ---> Platine (Masseversatz!)
3Leitungen!
Ich hatte ähnliche Probleme, die auch nicht gelöst habe, funktionierte
nur ohne Abschluss. Der Pegel brach total zusammen.
Hallo Dave,
verstehe deine Logik nicht.
Der MCP2515 arbeitet im 3V3 Bereich mit dem Esp und scheinbar auch mit
dem TJA--alles gut.
Die Can-Bus Versorgung ist 5,0 V, da ist "nichts zu ändern"~ und wenn Du
sendest belastest Du auch den Bus und dies scheint doch nicht
einheitlich zu sein. Hier kommt der Sender als auch der Empfänger als
Ursache in Frage.
Alle anderen verstehen dein Senden (wie Du sagst) nur der BM1 nicht.
Can-Bus ohne und mit deiner Schaltung messen, bzw. passiv aktiv mein
Vorschlag.
Da muss was zu sehen sein und warum dann noch weiter heruntergehen in
der Vorfeldkommunikation?
Und wenn ein Neuaufbau !nach! der "Fehlerbeseitigung" bzw. Anpassung auf
der evtl. der "alten Platine".
Ahhhh...danke Peter! Das macht dann alles Sinn.
Naja gut ich probiere das jetzt nochmal mit der Eigenentwicklung ohne
Abschluss.
Irgendeine Kombination muss ja wohl funktionieren.
Hallo,
ich möchte das Projekt von Dave auf Github aufgreifen und umsetzen.
ich habe einen Junkers Brennwertkessel ZB 7-22 A23 mit einem BM1 und
einer TA250
Die Anlage wurde wohl nie richtig eingestellt.
Ich habe 2 Kreisläufe, einen im Keller mir normalen Heizkellern, die
eigentlich nur bei Parties benutzt werden und ich normaler weise gerne
auf Frostschutz schalten würde.
Das EG und OG sind komplett mit Fussbodenheizung ausgestattet,
allerdings nur im OG eine Einzelraumsteuerung.
Das EG wird aktuell nur mit festen Drehreglern bedient, wobei keiner
weis wie die denn einzustellen sind und es wird munter dran
rumgeschraubt.
Meine Idee wäre es jetzt das EG mit mehreren Aquara Temp sensoren
auszustatten und über die Messung der Rücklauftemp die Bodenheizung
abzugleichen. die Raumtemp des EG (eigentlich komplett offen) über die
Vorlauftemp zu steuern.
Was mir fehlt ist, die Anleitung der Verkabelung der Komponenten.
Kann ich zu dem ESP32 diese Modul von Amazon für den Can-Bus nutzen?
https://www.amazon.de/gp/product/B07MY2D7TW/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
Wenn ja, wie genau schliesse ich es an den ESP32 und die Anlage an?
Wäre schön, wenn ihr mich bei meinen Projekt unterstützen könntet.
Vielen Dank im voraus.
Gruß
Hans
Hallo,
ich persönlich halte von dieser Can-Bus Platine nichts, such Dir eine,
die den Can Kontroller mit 3,3V versorgt (oder kann) und den Treiber mit
5V versorgt.
Meine Empfehlung Watterott Can-Bus Version 2, die kannst Du auf ESP32
UNO aufstecken und den SPI vervollständigen. So hast Du keine SPI BUS-
oder Gehäuse- (Mega_Gehäuse) noch Verdrahtungsprobleme.
Du solltest Dich doch etwas genauer mit SPI und CAN-Bus
auseinandersetzen. Auch als Bastler für Arduino und ESP ist SPI ein
muss. Die Verdrahtung sollte Dir dann keine Probleme machen. (10min)
Der Can-Bus sollte immer mit Masse betrieben werden. Der Masseversatz
ist oft die Fehlerquelle. Kein Abschlusswiderstand auf Can_Platine im
direkten Bereich des Bedienteils, der Heizung oder des Kabels.
Die alten Junkersheizungen existieren nach wie vor.....
Peter
Die Verkablung steht im Wiki. Das Modul wird funktionieren. Ich habe das
gleiche im Einsatz. Doch Achtung: Die kommen immer mit 8MHz Kristallen -
wir brauchen aber 16MHz damit es ohne Sourceanpassung läuft. Ansonsten
muss nämlich nebst der Frequenz die Datenrate verdoppelt werden, damit
es wieder stimmt.
https://github.com/Neuroquila-n8fall/JunkersControl/wiki/Cabling
Melde dich einfach, wenn's klemmt ;)
Hallo Experten
So habe es endlich auch geschafft den Aufbau zu realisieren.
Ich habe mich hier mal von oben ab wirklich dem Thema angenähert und mir
beide Komponeten zuerst organisiert.
1. BM1
2. TA250
Danach habe ich die beiden an die CeraSmart angeschlossen und um das CAN
Interface erweitert.
Allerdings verwende ich ein CAN Interface von PEAK als USB Version.
Das lag hier noch herum.
Als System Basis wurde dieses CAN Modul einfach an den Raspi mit
Volkszähler Image angeschlossen.
Die Doku dazu ist ja unter:
https://wiki.volkszaehler.org/hardware/channels/heating_control/gastherme_junkers_can_bus
zu finden.
Leider bekomme ich aber mit dem Beispiel Script, welches dort von
"Trabant" freundlicherwise abgelegt ist, eine Fehlermeldung im Terminal,
welche ich absolut nicht interpretieren kann, außer das ich mir die
dazugehörigen Zeilen dazu im Code anschauen kann.
Leider kenne ich mich mit bash nicht aus.
Daher die Farge hier:
inZeile42:VAL="$( echo -e "ibase=16;obase=A;$(echo-e${LINE}|cut-c14-15)" | bc )"
2
3
inZeile68:elif[[$(echo"$VALUE > 80"|bc)-eq1]]
4
5
inZeile63:VALUE="$( echo "scale=1;${VAL}/2" | bc )"
Vielleicht hat ja jemand von Euch auch ein lauffähiges script für
Volkszähler oder kann mir einen Denkanstoß geben wo ich suchen muss.
Vielen Dank vorab.
Grüße Denny
Das gehört eigentlich in ein Linux Forum hehe...
Dir fehlt der commandline-calculator "bc". Dadurch schlagen alle
folgenden Kommandos auch fehl.
Müsste Debian sein, daher versuche mal
Hallo Dave
Danke für den Tipp das hatte ich zwischenzeitlich schon nachinstalliert.
Leider erhalte ich nicht die Daten die ich dachte.
Obwohl die CAN ID's am Bus sind. Das wäre z.B die ID(207) welche für die
Außentemperatur steht. Auf dem Bus ist diese da und ich kann diese auch
plausibel umrechnen nur leider wird diese im VZ nicht angezeigt.
Ich verwende allerdings auch eine andere CAN Schnittstelle als hier
beschrieben. Aber da ich die Daten am BUS sehe gehe ich nicht davon aus,
dass es an der Hardware liegt außer es gäbe Unterschiede bei den BM1 &
T250 Modulen in Kombination mit der jeweiligen Therme.
Vielleicht kann da jemand weiterhelfen der sich auskennt.
Vg denny
Hallo,
ich habe einen geregelten Kreis (mit HMM), auf der Thermenseite hängt
nur das Warmwasser drauf.
Meine eigene Steuerung läuft seit Monaten ohne Probleme.
Ich hänge mit einem Raspi zwischen TA270 und dem Rest (HMM und Therme),
lese die Can-IDs ein und schicke die geänderten Daten dann an den Rest
weiter.
Das klappt wunderbar, jetzt gehts ans optimieren.
Die Therme, bzw. der HMM bekommt jeweils eine Soll-Temperatur.
0x405: #Soll Mischkreis
0x252: #Soll Heizungs VL
Aktuell ist es so umgesetzt, wünsche ich eine Solltemperatur im
Mischkreis von z.B. 35°C, gebe ich das so aus und als Soll-Temperatur
des Heizkreises gebe ich einfach 5°C mehr aus, also 40°C.
Wie macht ihr das? Die beiden Temperaturen hängen ja zusammen? Da kann
es doch zu Problemen kommen wenn die Vorgaben nicht einregelbar sind?
Ich hab da noch einen Knopf im Hirn.
Hat so ein Setup schon jemand von euch umgesetzt?
sg
Martin
Hallo Martin,
beachtlich hohe Ziele, optimieren geht das noch oder macht das noch
Sinn?
Bei einer 21%igen Gaspreiserhöhung im West Bereich. Zumal die 11%
Kondensationswärme, die jeder bezahlt, selbst die Fußbodenheizer nur zum
Teil nutzen können und vor Allem das tiefe tiefe schwarze Loch der
Gasanlieferung. Das Gas, das nur einmal im Monat auf seine Parameter und
Bestandteile untersucht werden braucht!! Sowie das Gerücht der
erloschenen Gasflamme, das nicht versiegt.
Das sind alles reale negative Punkte die in die andere Richtung gehen,
da liegt deine Optimierung eher im Bereich der eigenen Herausforderung
und trotzdem hat sie hier jeder...blabla.
Wieso Du hast Du einen ganzen Regelkreis ungenutzt, oder erfordert die
Fußbodenheizung diese Maßnahme?
Martin R. schrieb:> Ich hänge mit einem Raspi zwischen TA270 und dem Rest (HMM und Therme),
Sicher meinst Du das "mit am CAN-Bus" hängst. Das der Rest bzw. Ofen,
sowohl Ta270 Daten als auch die Raspi Daten "neu" empfängt ist dir
sicher auch bewusst. Genau so wie die Tatsache das Du ein Außenfühler
hast und ein Regelkreis mit Ausgang Vorlauftemperatur hierfür.
Statische Daten sind eher Eckpunkte, genau so wie Temperaturunterschiede
zwischen Ofen und einem weiteren Regelkreis (Beschreibung).
Vielleicht solltest Du beim Dave SW mal reinschauen und verstehen.
Nach richtig regeln kommt dann optimal auf dein Haus bezogen.
Gruß
Hallo Peter,
den ersten Teil verstehe ich nicht, optimieren bedeutet für mich eher
meinen inneren Trieb hinsichtlich technischer Spielerein (ob sinnvoll
oder nicht sei dahingestellt - jeder braucht Hobbys :)) zu befriedigen.
Peter schrieb:> Wieso Du hast Du einen ganzen Regelkreis ungenutzt, oder erfordert die> Fußbodenheizung diese Maßnahme?
Ja die Fußbodenheizung erfordert das vermutlich, der Volumenstrom ist
für die Therme alleine zu groß, deshalb ist eine hydraulische Weiche +
Zusatzpumpe notwendig. 100% kann ich das aber nicht sagen, da ich das
Haus samt Heizung gebraucht gekauft habe und somit keine
Planungsunterlagen zur Heizungsauslegung habe. So ist die Heizung
zumindest aufgebaut, mit der Hoffnung der Erbauer hat sich dabei was
gedacht :)
So wie ich geschrieben habe, ich hänge dazwischen, sprich, ich lese die
CAN Botschaften (die von der TA270) mit einem Kanal ein und leite diese
Nachrichten an den Rest (über einen zweiten CAN-Kanal) weiter und vice
versa. Der Ofen bekommt also nicht 2 Nachrichten, sondern natürlich nur
eine, alles andere macht ja null Sinn. Also soweit bin ich schon :)
"dazwischen" werden die Nachrichten dahingehend geändert, als dass ich
die Vorlauftemperaturen selbst vorgebe und nicht wie "normal"
der/die/das TA270.
Das funktioniert auch ohne Probleme, die tatsächliche Regelung der
Vorlauftemperatur macht ja die Therme und HMM, da pfusche ich nicht
rein, ich will nur die Sollwerte sinnvoll vorgeben!
Peter schrieb:> Genau so wie die Tatsache das Du ein Außenfühler> hast und ein Regelkreis mit Ausgang Vorlauftemperatur hierfür.
Ich will hier keine Diskussion mit "Regelkreis Außenfühler und
Vorlauftemperatur" starten. Wo ist eigentlich der Regelkreis mit Ausgang
Vorlauftemperatur? Das ist nichts anders als eine Sollwertvorgabe mit
Eingang Außentemperatur und hat mit Regelung nichts zu tun.
Peter schrieb:> Statische Daten sind eher Eckpunkte, genau so wie Temperaturunterschiede> zwischen Ofen und einem weiteren Regelkreis (Beschreibung).
Verstehe ich nicht? Was heißt das?
Ich würde gerne wissen, gibts hier jemanden der einen geregelten
Heizkreis hat (hydr. Weiche und HMM) und ebenfalls die Sollwerte selbst
vorgibt. Und konkret wie? Mit "wie" meine ich nicht die technische
Lösung (die klappt bei mir problemlos), sondern wie löst ihr das
Problem, dass die beiden Sollwerte zusammenhängen - der Zusammenhang
interessiert mich.
sG
Martin
Hallo,
der erste Teil war vielleicht die wichtigste Aussage.
Mit dem Volumenstrom usw. sehe ich genau umgekehrt egal...
Can-Bus okkkk, und wenn er ausfällt?
Martin R. schrieb:> ch will hier keine Diskussion mit "Regelkreis Außenfühler und> Vorlauftemperatur" starten. Wo ist eigentlich der Regelkreis mit Ausgang> Vorlauftemperatur? Das ist nichts anders als eine Sollwertvorgabe mit> Eingang Außentemperatur und hat mit Regelung nichts zu tun.
Hast Du vollkommen Recht, falsch ausgedrückt, meine Worte hier :-( ,
habe im Block gedacht.
Wenn der nicht genutzt wird müssen die Werte per Telegramm versendet
werden.
Aber, wirst sicher die Lösung finden..
Gruß
Hallo Martin,
habe mir die Beschreibung TA270 & HMM mal kurz vorgenommen.
Genauer Bild 3:HMM und 3.7.12 Heizkurve festlegen TA270: Hast Du ein
TF20?
Du hast 2 unterschiedliche Kreise!
Der 2. wird vom 1. gespeist. Mehr Gemeinsamkeiten dürfte es nicht geben.
Scheinbar 0x252 >= 0x405 (MF1)
Zwei Heizkurven.
Martin R. schrieb:> sondern wie löst ihr das> Problem, dass die beiden Sollwerte zusammenhängen - der Zusammenhang> interessiert mich.
Du hast doch auch nur ein Ofen! Die Heizkurve 2 muss immer kleiner als
die Heizkurve 1 sein, also auch der Soll.
Sehe hier kein Problem. Du hast doch auch so gehandelt, nur annähernd
(save) identisch gibt doch nur Sinn.
Hallo,
ich bin jetzt soweit, das ich mir das Projekt von Github ansehe und den
CanBus als erstes abhören möchte.
Ich habe das Projekt als Zip runtergeladen, entpackt, in den
Projektordner verschoben und in Visual studio geöffnet.
Nun habe ich die ArduinoSecret.h_template in Arduino_Secret.h umbenannt
und dort meine Daten eingegeben.
In der Platformio.ini habe ich aus m5ez/ezTime@^0.8.3 -->
ropg/ezTime@^0.8.3 gemacht, das er erstes wohl nicht findet.
upload_protocol = espota
upload_port = 10.0.0.6
habe ich entfernt, da er den ESP32 für den Upload nicht gefunden hat.
In der Main.cpp habe ich bool Override auf false gesetzt, damit ich
erstmal nur abhören kann.
Wenn ich nun build drücke , bekomme ich folgende Fehlermeldungen:
src\mqtt.cpp: In function 'void callback(char*, byte*, unsigned int)':
src\mqtt.cpp:255:9: warning: unused variable 'i' [-Wunused-variable]
int i = s.toInt();
^
src\main.cpp: In function 'void loop()':
src\main.cpp:188:150: warning: format '%i' expects argument of type
'int', but argument 4 has type 'long int' [-Wformat=]
sprintf(printbuf, "DEBUG STEP CHAIN #%i: Date and Time DOW:%i
H:%i M:%i", currentStep, myTZ.dateTime("N").toInt(), myTZ.hour(),
myTZ.minute());
^
src\main.cpp:188:150: warning: format '%i' expects argument of type
'int', but argument 4 has type 'long int' [-Wformat=]
und
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp: In member
function 'uint8_t OneWire::reset()':
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp:167:24: warning:
unused variable 'reg' [-Wunused-variable]
volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg;
^
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp: In member
function 'void OneWire::write_bit(uint8_t)':
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp:201:24: warning:
unused variable 'reg' [-Wunused-variable]
volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg;
^
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp: In member
function 'uint8_t OneWire::read_bit()':
.pio\libdeps\az-delivery-devkit-v4\OneWire\OneWire.cpp:229:24: warning:
unused variable 'reg' [-Wunused-variable]
volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg;
^
und
C:\Users\hanse\.platformio\packages\framework-arduinoespressif32\cores\e
sp32\esp32-hal-spi.c: In function 'spiTransferBytesNL':
C:\Users\hanse\.platformio\packages\framework-arduinoespressif32\cores\e
sp32\esp32-hal-spi.c:922:39: warning: initialization from incompatible
pointer type [-Wincompatible-pointer-types]
uint8_t * last_out8 = &result[c_longs-1];
^
C:\Users\hanse\.platformio\packages\framework-arduinoespressif32\cores\e
sp32\esp32-hal-spi.c:923:40: warning: initialization from incompatible
pointer type [-Wincompatible-pointer-types]
uint8_t * last_data8 = &last_data;
^
und
Linking .pio\build\az-delivery-devkit-v4\firmware.elf
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.mqttPASSWORD+0
x0): multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS
WORD+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.mqttUSERNAME+0
x0): multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER
NAME+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.mqttSERVER+0x0
): multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV
ER+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.SECRET_PASS+0x
0): multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P
ASS+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\heating.cpp.o:(.data.SECRET_SSID+0x
0): multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S
SID+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.mqttPASSWORD+0x0)
: multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS
WORD+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.mqttUSERNAME+0x0)
: multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER
NAME+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.mqttSERVER+0x0):
multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV
ER+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.SECRET_PASS+0x0):
multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P
ASS+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\main.cpp.o:(.data.SECRET_SSID+0x0):
multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S
SID+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.mqttPASSWORD+0x0)
: multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS
WORD+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.mqttUSERNAME+0x0)
: multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER
NAME+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.mqttSERVER+0x0):
multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV
ER+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.SECRET_PASS+0x0):
multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P
ASS+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\mqtt.cpp.o:(.data.SECRET_SSID+0x0):
multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S
SID+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.mqttPASSWORD+0x0):
multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS
WORD+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.mqttUSERNAME+0x0):
multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER
NAME+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.mqttSERVER+0x0):
multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV
ER+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.SECRET_PASS+0x0):
multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P
ASS+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\ota.cpp.o:(.data.SECRET_SSID+0x0):
multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S
SID+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.mqttPASSWORD
+0x0): multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS
WORD+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.mqttUSERNAME
+0x0): multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER
NAME+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.mqttSERVER+0
x0): multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV
ER+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.SECRET_PASS+
0x0): multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P
ASS+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\t_sensors.cpp.o:(.data.SECRET_SSID+
0x0): multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S
SID+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.SECRET_PAS
S+0x0): multiple definition of `SECRET_PASS'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_P
ASS+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.SECRET_SSI
D+0x0): multiple definition of `SECRET_SSID'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.SECRET_S
SID+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.mqttPASSWO
RD+0x0): multiple definition of `mqttPASSWORD'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttPASS
WORD+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.mqttUSERNA
ME+0x0): multiple definition of `mqttUSERNAME'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttUSER
NAME+0x0): first defined here
.pio\build\az-delivery-devkit-v4\src\wifi_config.cpp.o:(.data.mqttSERVER
+0x0): multiple definition of `mqttSERVER'
.pio\build\az-delivery-devkit-v4\src\can_processor.cpp.o:(.data.mqttSERV
ER+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\az-delivery-devkit-v4\firmware.elf] Error 1
========================================================================
= [FAILED] Took 10.19 seconds
========================================================================
=
Der Terminalprozess
"C:\Users\hanse\.platformio\penv\Scripts\platformio.exe 'run'" wurde mit
folgendem Exitcode beendet: 1.
Hier komme ich einfach nicht weiter.
Ich verstehe den Code nur rudimentär, aber vielleicht. kann mir ja hier
einer helfen.
Zudem habe ich von Telnet keinen Plan, und weis nicht wie ich das
einrichten soll.
Danke und Gruß
Hans
Hans-Jürgen Ehls schrieb:> ich bin jetzt soweit, das ich mir das Projekt von Github ansehe und den> CanBus als erstes abhören möchte.
Zum CAN-Bus ablauschen gibt es kleine CAN-USB Module. Eine Seite CAN-Bus
anschließen und andere Seite in den USB-Port stöpseln und dann mit einem
Terminal für serielle Schnittstelle die Daten absaugen.
Wenn ich mich nicht ganz vertue, kann man mit den Teilen auch ein paar
Daten auf den CAN-Bus senden. Und wenn ich mich nicht ganz vertue habe
ich sowas schonmal gemacht mit einen Python Skript, das auf eine andere
UART was ausgibt und das kommt dann auf dem CAN. So ein CAN-USB Teil
kostet nur ein paar Euros.
Hans-Jürgen Ehls schrieb:> warning: unused variable> [...]> warning: initialization from incompatible pointer type
[-Wincompatible-pointer-types]
Diese Warnung könnte man erstmal ignorieren.
Hans-Jürgen Ehls schrieb:> multiple definition of `mqt...'> blabla\can_processor.cpp.o:(.data.mqt... > WORD+0x0): first defined here
Da wurde das Projekt falsch zusammengestellt bzw. die Konfiguration des
Projekts ist schief. Irgendwelche Files sind doppelt drin bzw. gehören
da nicht rein oder ein Compiler-Parameter ist zuviel (Projekt
Konfigurationsfehler).
> Ich verstehe den Code nur rudimentär, aber vielleicht. kann mir ja hier> einer helfen.
Nochmal genau hinkucken, wo was definiert wird und wo was doppelt
definiert ist und dann die richtigen Files rauswerfen bzw. irgendwo in
den Compiler-Einstellungen irgendwelche "-Include ..." rauswerfen bzw.
richtig setzen. Vllt. ist auch ein Ordner im Projekt, der da nicht
hingehört. Jedenfalls ist das mit "multiple definition of ..." ein
Fehler, den man lösen muss.
Peter schrieb:> sorry,...>> aber was hat das mit dem Thema zu tun.>> bitte--->ADMIN /verlegen/neu.
Hallo,
na ja das Thema hier verweist ja auf das Github Projekt. Wenn man das
dann nicht hinbekommt, fand ich schon das es hier hin gehört.
Ggf. könnte man hier, oder auch im Guthub Projekt selber eine
Installionsanweisung / - erklärung hinterlegen, für die nicht ganz so
fitten Programmierer.
Wir können das aber gerne auch in einem separaten Thema behandeln.
Gruß
Hans
Hallo Leute,
ich werde wahnsinig. Ich betreibe einen esp32 mit den Can-Bus Modulen
MCP2515 mit TJA1050. Die Spannungsversorgung für das TJA1050 ist
unterbrochen und auf 5V gelegt. Ich benutze die Libary MCP_can. Ich kann
Pakete senden und empfange diese auch. Jetzt mein Problem. Sobald ich
dir Rate auf 10KBs stelle klappt das Senden und empfangen nicht mehr.
Mit 500KBs geht es wieder. Ich habe diverse Module ausprobiert. Das
gleiche Phänomen habe ich auch wenn ich einen Wemos D1 mini als
Conroller nehme. Ich habe auch andere Libarys ausprobiert.
Sobald ich auf 10KBs kann ich nichts mehr empfangen.
Ich komme nicht mehr weiter. Kann mir einer helfen?
Für Tips und Tricks wäre ich sehr dankbar. Ich nutze den Code von dieser
Website:https://www.mittns.de/thread/558-selbstbau-canbus-verbindung-zwischen-2-oder-mehreren-arduinos/?postID=3411#post3411
Viele Grüße
Michael
Komisch... Ich betreibe den tja1050 und mcp2515 auf 3v auf 10kbit ohne
Probleme mit einem esp32.
Welche library benutzt du und wie viel MHz hat der oszi?
Hallo,
danke für die Antwort.
Ich benutze die MCP-Can Libary.
https://github.com/coryjfowler/MCP_CAN_lib
Welche benutz du?
Auf dem Oszi steht eine undefinierte Bezeichnung. Ich habe aber noch
zwei wo 8 Mhz draufsteht. Mit denen geht es aber auch nicht.
Kannst du mir deinen Code einmal zukommen lassen?
Viele Grüße
Michael
Michael schrieb:> Hallo,> danke für die Antwort.> Ich benutze die MCP-Can Libary.> https://github.com/coryjfowler/MCP_CAN_lib> Welche benutz du?> Auf dem Oszi steht eine undefinierte Bezeichnung. Ich habe aber noch> zwei wo 8 Mhz draufsteht. Mit denen geht es aber auch nicht.> Kannst du mir deinen Code einmal zukommen lassen?>> Viele Grüße>> Michael
@
Michael schrieb:> Hallo,> danke für die Antwort.> Ich benutze die MCP-Can Libary.> https://github.com/coryjfowler/MCP_CAN_lib> Welche benutz du?> Auf dem Oszi steht eine undefinierte Bezeichnung. Ich habe aber noch> zwei wo 8 Mhz draufsteht. Mit denen geht es aber auch nicht.> Kannst du mir deinen Code einmal zukommen lassen?>> Viele Grüße>> MichaelMichael schrieb:> Hallo,> danke für die Antwort.> Ich benutze die MCP-Can Libary.> https://github.com/coryjfowler/MCP_CAN_lib> Welche benutz du?> Auf dem Oszi steht eine undefinierte Bezeichnung. Ich habe aber noch> zwei wo 8 Mhz draufsteht. Mit denen geht es aber auch nicht.> Kannst du mir deinen Code einmal zukommen lassen?
@kosmos: Danke für die Links der Datenblätter. Ich vestehe nur nicht,
dass hier all den Junkers Can Bus mit dem MCP2515 mit 10KBs
mitschneiden. Siehe den Beitrag von Kay. Das Bild war er gepostet ist
doch eindeutig.
>> Viele Grüße>> Michael
Michael schrieb:> Ich vestehe nur nicht,> dass hier all den Junkers Can Bus mit dem MCP2515 mit 10KBs> mitschneiden.
Was bitte sollte dagegen sprechen? Läuft seit 5 Jahren bei mir.
Hallo Crazyhorse,
der Post von Kosmos sagt das dies nicht technisch funktioniert.
Deswegen habe ich mich gewundert das hier alle diese Konstalation
betreiben.
Ich wäre ja froh wenn es bei mir auch klappt.
Ich habe jetzt die ACAN2515 Lib. getestet und die ersten Versuche
scheinen mit 10KBS zu funktionieren.
Welche Libary benutzt du denn?
Viele Grüße
Michael
Morgen,
mir sind die Can_Module nur als 8MHz bekannt!? Kauf als xx MHz?
Die Datei hätte gereicht, sehr unübersichtlich "//..." !?
Welche Fehler treten auf!? Die Code gibt Fehler aus!?
Peter
Bitte sei so nett und formatiere deinen code entsprechend mit den code
tags oder hänge die Datei an (noch besser). Das ist so schwer bis
absolut nicht lesbar.
Mal ganz allgemein:
- Da die Oszis keine Angabe haben würde ich vermuten, dass diese mit
8MHz ausgeliefert wurden. Google spuckt ja auch nix zu aus. Schade.
Dementsprechend, wenn du mit 16MHz anrückst, klappt das nur bis zu einer
gewissen Bitrate aber kommst dann irgendwann nicht mehr tiefer.
- Prüfe auf der Konsolenausgabe ob die Initialisierung überhaupt
funktioniert. Ich wette das tut sie nämlich nicht.
Was zu prüfen ist:
- Initialisiere mit 8MHz und 10Kbit:
Wenn die Initialisierung fehlschlägt, dann hat es sehr wahrscheinlich
was mit dem Oszi zu tun. SPI sieht jedenfalls gut aus. Da das Teil nicht
gelabelt ist und man nicht weiß wie viel er nun hat, würde ich pauschal
einfach diese durch einen Austauschen von dem man den Wert kennt ;)
In dem Codebeispiel von mir verzichte ich gezielt auf Interrupt und gehe
über den Buffer. Um Nachrichten auszulesen liest man jeden Zyklus über
den Buffer, prüft ob es was gibt und verarbeitet dann:
1
CANMessageMessage;
2
if(can.receive(Message))
3
{
4
//Schau, was in "Message" drin ist.
5
}
Wenn das dann klappen sollte kannst du weiter deinen code benutzen...
Aber wie gesagt: Es steht und fällt mit dem verbauten Oszi. Gibt man
Grütze dann beim Initialisieren an, kommt auch Grütze raus ;)
Hallo Dave,
danke für die konstruktive Hilfe.
Ich habe die beiden Files angehängt.
Die initialisierung klappt.
Hier die Augabe auf der Console:
Empfänger:
11:01:24.692 -> Configure ACAN2515
11:01:24.692 -> Bit Rate prescaler: 16
11:01:24.692 -> Propagation Segment: 8
11:01:24.692 -> Phase segment 1: 8
11:01:24.739 -> Phase segment 2: 8
11:01:24.739 -> SJW: 4
11:01:24.739 -> Triple Sampling: yes
11:01:24.739 -> Actual bit rate: 10000 bit/s
11:01:24.739 -> Exact bit rate ? yes
11:01:24.739 -> Sample point: 64%
Sender:
Configure ACAN2515
Bit Rate prescaler: 16
Propagation Segment: 8
Phase segment 1: 8
Phase segment 2: 8
SJW: 4
Triple Sampling: yes
Actual bit rate: 10000 bit/s
Exact bit rate ? yes
Sample point: 64%
Sent: 1
Sent: 2
Sobald ich die Bit Rate auf 125KBs stelle empfange ich etwas.
Ich hatte noch 2 MCP2515 mit TJA1050 Modulen wo auf dem Osci 8MHz steht.
Auch hier das gleicher Ergebnis.
Ich bin ratlos.
Viele Grüße
Michael
Hallo,
vergesse nicht den Pullup_Widerstand. sowohl Cs als erst recht wenn Du
mit INT arbeitest. // [INT] total überflüssig!!
Habe auch den SPI, wie auch beschrieben gehändelt!! ESP32 ACAN2515....
hier CAN-Bus FD beschrieben.
Warum nicht so wie es Pierre beschreibt??
//----------------------------------------------------------------------
------
static const byte MCP2517_SCK = 18 ; // SCK input of MCP2517
static const byte MCP2517_MOSI = 23 ; // SDI input of MCP2517
static const byte MCP2517_MISO = 19 ; // SDO output of MCP2517
static const byte MCP2517_CS = 5 ; // CS input of MCP2517
static const byte MCP2517_INT = 27 ; // INT output of MCP2517
ACAN2517FD can (MCP2517_CS, SPI, MCP2517_INT) ;
Hallo,
versuch es bitte mal mit einer anderen ID (11 Bit) bzw. lade Dir die
neue SW herunter von ACAN2515 falls Du sie nicht innerhalb der letzten 6
Tage heruntergeladen hast.
2.1.0 : fixed extended frame reception
Michael schrieb:> Sobald ich die Bit Rate auf 125KBs stelle empfange ich "etwas".
Frage "etwas", das was Du sendest?? ist der Empfang korrekt.
Vielleicht auch mal einen Schritt zurückgehen und wieder die loopback
mode ausprobieren.(beide Module)
Peter
Aloha,
ich habe auf den Bildern gesehen, dass der Bus auf beiden Seiten
terminiert ist. Entferne mal die Terminierung auf der einen Seite. Laut
Spezi ist es nur vorgesehen am "Ende" zu Terminieren.
Das wird vermutlich das Problem mit der niedrigen Bitrate nicht beheben
aber ein sauberes Fundament ist wichtig ;)
Ich meine mich zu erinnern, dass manche ESP32s stark vereinfacht
ausgedrückt nicht in der Lage sind die Frequenz so niedrig zu drücken,
dass es für 10kbit/s reicht. Ich habe grundsätzlich nur Wroom32 Module
im Einsatz mit Devkit 4 Layout (diese haben eine stabilere
Spannungsversorgung, die nicht gleich bei jedem Spike in die Knie geht).
Mit denen funktioniert es. Habe einen dieser im Auto verbaut für
100kbit/s und einen an der Heizung mit 10kbit/s. Leider sehe ich auf den
Bildern das exakte Modell deiner Chips nicht.
Außerdem betreibe ich die Module ausschließlich ohne Interrupt, da das
sonst MQTT oder andere Peripherie zum "laggen" bringen kann (meine
Beobachtung - "Your milage may vary").
Kleine große Randnotiz: Wenn man nach Möglichkeiten sucht CAN-Bus mit
dem ESP32 zu verwenden, stößt man unweigerlich auch auf einen
Transceiver (SN65HVD230), den man direkt an die CAN-Fähigen Pins des
ESPs anklemmen kann. Finger weg davon, denn damit kommt man auch nicht
auf 10kbit/s und meine Tests mit 100kbit/s am Auto verliefen auch
fruchtlos und dabei sei gesagt, dass der CAN-Bus im Auto außerordentlich
stabil und Fehlertolerant läuft. Auch das Nachbauen des Moduls auf eine
Platine hat nie wirklich funktioniert. Auch wenn die beiden Platinen
miteinander kommunizieren konnten funktionierte das weder an der Heizung
noch am Auto. Dabei waren die Komponenten 1:1 identisch mit dem
gekauften Modul. Es gibt also anscheinend dramatische Unterschiede bei
den Chips die dazu führen, dass etwas nicht sauber funktioniert.
Ich habe auch hierzu mal einen Controller aus dem Auto auseinander
genommen und gecheckt, was der Hersteller da gemacht hat und
festgestellt, dass auch hier der MCP2515 und TJA1050 zum Einsatz kommen.
Ferner gibt es auch noch dramatische Unterschiede zwischen den
Frameworks. Ich benutze nun das "offizielle" ESP32 Framework zum
kompilieren, statt das was extra für das AZ-Delivery Ding bereitgestellt
wurde. Vorher gab es nämlich dabei auch Probleme. Ich habs mir leider
nicht notiert aber ich erinnere mich damit auch das Sendeproblem behoben
zu haben, was mit den älteren Wroom32 aufgetreten war (Das Devkit, wo
die Antenne nicht über das Board herausragt)
Zusammengefasst:
Wroom32[U] + "NiRen" gelabeltes CAN-Modul mit 16MHz Oszi funktioniert in
meinen Umgebungen tadellos mit dem exakten Code der in meinem Repo drin
ist sowie des Beispielcodes von ACAN2515.
Hallo Dave,
ich habe mir gerade genau dein Setup bestellt.
Danke für die Unterstützung.
Ich gebe Rückmeldung sobald die HW da ist.
In der Zwischenzeit teset ich mit der vorhandenen HW weiter.
Viele Grüße
Michael
Hallo,
nun hatte mir gestern ebenfalls die Bilder nochmals angeschaut, aber
hatte eher an den nicht gesetzten Abschluss geglaubt bzw. gehofft.
Ein !Can-Bus! hat zwei Enden und zwei Abschlüsse zu je ~120 Ohm (bzw.
insgesamt !! ~60 Ohm Belastung). Das ist die Vorgabe, habe gerade im
Automotiv_Bereich Geräte gesehen, die hier eingestellt werden konnten
(>2).
Halte Micheals Einstellung, in diesem Fall ohne BM1, aber für richtig
und notwendig.
Mir ist aber aufgefallen das eine Masseverbindung zwischen den
Teilnehmern, wohl vorhanden war, aber nicht angeschlossen wurde (sw
Leitung). Muss nicht, aber kann zum Fehler führen. Weiterhin existiert
so eine gewisse Sicherheit. Ein späterer Masseversatz zum BM1 kann sehr
teuer werden.
Was bitte hat die Can-bus Bitrate mit der SPI Frequenz zu tun? Der
MCP2515 ist ein eigenständiger Controller. Nun in wie weit die SW von
Pierre die HW bei der Installation wirklich kontrolliert, ist mir nicht
bekannt. Aber die hat doch geklappt. "No error" ... oder? beide.
Michael schrieb:> }else{> Serial.print ("Configuration error 0x") ;> Serial.println (errorCode, HEX) ;
Daraus folgt doch, das mit der HW Unsicherheit des Can-Bus Moduls, nur
noch 3 Punkte existieren die zum Fehler führen.
Der Interrupt von der ACAN_SW hat mich nie überzeugt. Ich sehe bei
Michael auch keine Widerstände verbaut!! noch hat er darauf geantwortet.
Das gleich gilt für CS.
Der 5V Voltanschluss ist vielleicht nicht korrekt bzw. Teil
geschrottet....
2 mal wurde gesendet "Sent" oder? Kein Antwort...?
Funktionieren denn beide Modul noch in der loopback Mode, keine Aussage!
nicht kontrolliert!??
Wie schon mal erwähnt habe ich ein andere Can-bus Module verwendet. Das
Can-Modul lief bis auf einen Massefehler, der das Can-Modul geschrottet
hat, mit UNO, STM32, ESP8266 d1 bzw.(R2) und ESP32 (von bis-irgendwas)
problemlos.
Das auf dem Markt die Qualität der Module sehr unterschiedlich, ja sogar
teilweise unmöglich ist, kann ich nur bestätigen, aber.. Michael hat wie
er schrieben hat doch die Can Module schon ausgetauscht. Doch, sehr
unwahrscheinlich .
Qualität:
Nun bevor ich allerdings ein Texas Bauteile anzweifele würde ich eher
auf MCP und ESP tippen, hier werden Daten erhoben die einfach nicht
vorhanden sind oder nicht stimmen. Der MCP2515 hat jahrelang im
Datenblatt Einstellungen aufgeführt, die gar nicht funktionierten.
Habe 20 Jahre im Automotiv gearbeitet und habe nicht einmal mit MCP
Can-Controller zutun gehabt, außer in der Can-Bus Karte der Firma zur
Steuerung des Testsystems. Beurteilung lasse ich hier lieber.
Mein Ratschlag an Michael:
Vereinheitliche deine Installation Sender Empfänger mit 8MHz
kein INT,
CS mit 10 K Widerstand an 3,3V.
5 Volt Anschluss Kontrolle,
Module mit Loopback Mode testen.
Dann auf Normalmode Can Bus richtig anschließen. evtl. messen.
GND1 an GND2.
Peter
Peter, ich weiß dein Wissen in dem Bereich zu teilen wirklich sehr zu
schätzen. Natürlich hast du Recht mit der Terminierung. Ich habe hier
was mit meinem Auto verwechselt, wo ich mich ja einfach nur anflansche
und der Bus ja bereits durch die vorhandene Infrastruktur korrekt
terminiert ist.
Jedoch gibt es Hinweise drauf, dass der ESP32 nicht in der Lage ist den
Can-Controller richtig zu initialisieren, wenn die interne Taktung da
nicht passt. Den genauen technischen Hintergrund weiß ich gerade auch
nicht mehr, hat aber sicher was mit der SPI Schnittstelle zu tun und wie
die internen Oszis geschaltet sind. Ich erinnere mich dass es da sogar
Konflikte gab, wenn Wifi noch mit angesteuert wurde und dass da eine
gewisse Chiprevision nicht mit klar kam.
Meine Tests wie gesagt haben ergeben, dass nicht nur der Controller
manchmal in Schieflage gerät, obwohl die Konfigurationsregister korrekt
angenommen werden, sondern auch das verwendete Framework zum Kompilieren
erheblichen Einfluss auf die Sende- und Empfangsstabilität nimmt. Mit
dem "falschen" Framework musste ich teils eine Seite neu starten, damit
die Kommunikation wieder funktioniert. Wir sind hier natürlich eindeutig
in der Domäne des ESPs und dessen SPI Interface und ich denke hier liegt
auch ultimativ der Hund begraben. Diese "Wemos" ähnlichen Module sind
anscheinend nicht wirklich zuverlässig. Aus einem anderen Fall weiß ich,
dass diese nicht zuverlässig funktionieren. Ich vermute hier wurden alte
Revisionen mit Firmware Bugs verbaut. Das würde dann auch den teils sehr
niedrigen Preis erklären.
Was ich allerdings sicher mittlerweile weiß ist, dass es massive
Unterschiede gibt bei den ESP "Wroom32" Modellen und deren zickigkeit in
Bezug auf Peripherie - und natürlich wie die Module bestückt worden
sind. Das führt dann auch zu unerklärlichen Phänomenen. Deswegen beziehe
ich mich da einfach auf meine Konfigurationen, die reibungslos
funktionieren und benutze diese als "Richtwert".
Ich vermute mal ganz stark, dass beide ESPs im Fall von Michael über USB
mit dem Rechner verbunden wurden. Damit teilen sich beide das gleiche
Potenzial, sofern die am gleichen Hub hängen oder der PC Hersteller faul
war ;)
Hi,
danke, aber wir sind in dieser Problematik da weitgehend
übereinstimmend.
Ich glaube, das die fehlenden HW Timer im ESP viel ausmachen.
Allerdings,.. das Michael in dieser Phase des Aufbaues schon solche
Probleme hat lässt mich vermuten das er das Mitlesen der Daten (Heizung)
vergessen kann. Weil ich hatte Probleme mit zu fahrlässigen Can-Bus
Modulen und Arduino.
Vielleicht auch mal ein Versuch starten, mit einem Arduino
Uno/Mega/Due...u.a.(!!5V) falls die oder einer vorhanden ist. Als
Ersatz, WLan ist noch nicht gefragt oder?
Ansonsten sollte man nach der Stromhalm der Methode gehen. Vielleicht...
Mal eine Frage an Dich, Du arbeitest doch mit den neueren ELV
Ventilsteller. Ermittelst Du die Ventilwerte selbst oder aus anderen
Programmen. Hast Du hier Einblick auf die 868MHz Telegramme, Aufbau usw.
Meine sind schon einige Jahre alt und ich werde sie irgendwann mal
wechseln müssen. Es wird diesbezüglich nichts mehr veröffentlicht noch
glaube ich das die Telegramme identisch sind mit den alten FHT
Telegrammen oder FS20.
Danke
Peter
Hallo Zusammen,
hier ein kurzes Update.
Beide Modulen laufen im Loop-Modus.
Inzwischen habe ich auch die Kommunikation zwischen zwei ESP´s
hinbekommen.
Ich hatte noch ein paar 16MhZ Quarze. Nachdem ich diese auf die Module
gelötet habe und den IRQ deaktivuert habe klappte auch die Kommunikation
zwischen zwei ESP´s bei 10KBs. Was ich aber nicht verstehe, ist der
Loop- Modus. Wenn der Loop-Modus ohne Modifikation funktioniert kan es
nur noch am TJA1050 liegen, den der wird im Loop-Modus nicht benutzt. Da
ich inzwischen fast 10 Module hier liegen habe kann ich einen defekt
ausschliessen.
Eine stabile 5V Verbindung zum TJA1050 besteht.
Was ich auch merkwürdig finde, ist das die Kommunikation nur klappt wenn
ich die Frequenz auf 8Mhz im Code setze. Wenn ich auf 16Mhz stelle
klappt es wieder nicht.
Die beiden ESP´s hängen nicht an einem Hub. Der eine hängt am Desktop PC
und der andere an einem Notebook wo ich mich per RDP verbinde. Das hat
für mich den Vorteil, dass ich bei beiden ESP´s ein logging sehe. Die
offene Masseverbindung stammt aus den Tests.
Ich werde weiter testen und berichten.
Vielen Dank für die Unterstützung.
Hallo,
ich habe weder einen vollständigen Schaltplan von deinem CAN Modul
gefunden noch habe ich ein Wechsel des Quarz je in Betracht gezogen,
weil zu unsicher und wer hat schon die notwendigen Geräte zu Hause. Der
Wechsel des Quarz beinhaltet auch den Wechsel der Kondensatoren, normal.
Es gab mal eine SW, Excelliste oder so, die weiter helfen könnte.
Aber was willst Du damit erreichen 8MHz funktioniert, schreibst Du und
ACAN2515 beinhaltet soweit ich weis diesen Quarz und die Einstellungen
der Register!! Datenblatt(ab S.39.) und 10 Kbit!.. passt. Glaube kaum,
das das die spätere SW stört.
Nimm was funktioniert.
Peter
Peter schrieb:>> Mal eine Frage an Dich, Du arbeitest doch mit den neueren ELV> Ventilsteller. Ermittelst Du die Ventilwerte selbst oder aus anderen> Programmen. Hast Du hier Einblick auf die 868MHz Telegramme, Aufbau usw.> Meine sind schon einige Jahre alt und ich werde sie irgendwann mal> wechseln müssen. Es wird diesbezüglich nichts mehr veröffentlicht noch> glaube ich das die Telegramme identisch sind mit den alten FHT> Telegrammen oder FS20.
Ich habe die hmip-etrv-2 an Raspberrymatic laufen (als Addon in Home
Assistant) und ziehe darüber die Ventilstellung und andere Parameter
über MQTT auf den ESP.
Als OCCU Variante finde ich den Kram richtig gut aber als Cloud-geraffel
überhaupt nicht. Ständig ist der Rotz offline...
@Michael
Retour,
habe ich falsch verstanden. :-(
Nee dat verstehe ich auch nicht mehr... wie geht Das. Die Wert cfg1-3
können doch nicht stimmen!
@ Dave
die alte Variante funktioniert.
Ich beziehe über ein ELV Empfänger alle Ventilwerte fast immer komplett,
von 3 mindestens 1 Sendung. Leider sieht ein Regelverlauf doch etwas
anders aus und die Tage sind gezählt.
Danke Dave
Peter
Hallo,
Michael habe tatsächlich ein NIREN Modul bei mir gefunden.
Habe es an meine BM1 Simulation (10K) angeschlossen mit einem Uno bzw.
MCP_Can Programm betrieben. Kein Problem, funktioniert auch mit Int.
Allerdings mit einer kleinen Änderung in der Lib.
CAN.begin(CAN_10KBPS,MCP_8MHz) bzw. in der mcp_can.h byte begin(byte
speedset, const byte clockset); -->// init can, alt =MCP_16MHz oder
MCP_8Mhz schreiben.
Auch "ohne" Abschluss an beiden Modulen, vielleicht etwas schlechter~.
Nun die Module funktionieren somit auch mit 10k. Werde keine HW_Änderung
vornehmen 3,3V bzw. 5V, aber auf ACAN 2515 wechseln vielleicht morgen.
Nehme an Du hast die VCC_Leistung (3,3V) gekappt auf der Platine!?
Vielleicht liegt es am Programm bzw. auch an einer unnötigen Festlegung.
Peter
Ich habe mit esp und acan2515 mit int null Erfolg im Auto aber an der
bm1 klappt es sowohl mit 8 als auch 16mhz. Mcp_can bereitete mir nur
Probleme aber das hing wohl mit der falschen Plattform zusammen.
Esp32!=Esp32 sag ich nur...
Canbus ist dann wohl doch sehr unterschiedlich obwohl es ja Standards
gibt...
hallo,
der Test vom Interrupt, noch der fehlende Anschlusses war geplant, halt
ein einfaches Prog. Aber durch den Interrupt kannst Du mit Filter
schneller gezielt mit Body_Id auf die Platine im Verbund zugreifen.
Nun mit der ACAN2515_Sw habe ich nie wirklich gearbeitet immer mit
MCP_Can, aber mit ACAN2517 schon und der Interrupt hat mich dabei
überhaupt nicht überzeugt.
Nehme aber an, das Du den ESP int_Unterschied kennst. Das ist wieder so
eine Frickelei, die "~Ankündigung" des Int durch void IRAM_ATTR
RTCISR(); z.B.
Der Standard existiert, er muss nur eingehalten werden, oder würdest Du
mit 6 bis 8KV auf deine Eingänge schießen können. Man sieht kaum
irgendwelchen Schutz und fingert ständig an den Platinen herum ohne
ESDschutz.
Peter
Hallo Peter,
danke für die Tests. Ich werde es ausprobieren.
Leider bin ich zur Zeit etwas frustiert, dass nichts klappt.
Werde mich aber in den nächsten Tagen wieder dransetzten.
Viele Grüße
Michael
Hallo,
leider muss ich den letzten Test verschieben.
Bei mir lässt sich kein ESP32 mehr installieren es fehlen angeblich 2
Datei, die aber vorhanden sind. Scheint bekannt zu sein, ändert sich
aber nichts??
Aber mein Problem hat nichts mit Michaels zu tun.
Da Dave und Crazyhorse langjährige Erfahrung mit dem Aufbau dargelegt
haben bestätigt dies meine Versuche das es funktionieren muss, sowohl
von der Sw
als auch von der HW.
Ich halte allerdings den Treiber TJA1050 für veraltet. Alle Bauteile
sind beständig mit einander, aber das heißt nicht das der
Potenzialunterschied zwischen MCP2515 und TJA sich nicht vereinzelt
bemerkbar macht. Der MCP2562 ist hier besser geeignet, aber ist meine
Meinung.
Genau so würde ich keinen Quarz für diese Aufbau wechseln halte ich auch
für unnötig bei 10K.
Bleibt eine eventuelle Schädigung deiner Module. Es sieht so aus als ob
Du die 5V_Leitung auf der Bottom_seite gelötet hast, warum nicht am IC
direkt ?
Da hast Du mehr Platz.
Peter
So,
erledigt. ESP 32 Neuinstalliert
Wenn ich es richtig eingestellt habe waren es 240Mhz ESP 2core und 10K
Can-Bus.
Funktioniert wie die anderen auch, zu mindestens für den Zeitraum des
Testes.
ok
Zur Info. Die Kabel am Aufbau sind erforderlich weil der Can-Bus über
ICSP (SPI) normal gesteuert wird der ist nicht vorhanden beim ESP.
Inzwischen hat Pierre ACAN2515(17) scheinbar über SW den Pin CS und Int
mit Pullup belegt.
Es sollten somit keine Gründe geben, das Michael nicht bald seine
Heizung mal untersuchen kann.
Frieden!
Peter
Hi,
noch ein kleiner Nachtrag zur SW der ACAN2515
Da die Setting Infos auch beim fehlenden SCLK_Anschlusses des SPI
angezeigt werden ist davon auszugehen, das diese unabhängig von der
Hardware berechnet werden und nicht über die HW ermittelt werden.
Entscheidend ist hier also anscheinend nur der Error Code, leide hier
ohne Text.
Der Interrupt funktioniert auch und die Impulsbreite ist ~ok sie bewegt
sich zwischen 40 und 70µS.(?)
@Michael
Ein Ratschlag von mir.
Alles einfach mal auseinander Ruppen und ein anderes Programme
aufspielen z.B.
WiFiScan oder so.. und danach erneut mit Ruhe und Sorgfalt
aufbauen...ESP !SPI!
Auch hier... ein Gedanke mit Abscheu an den Verbrecher Putin!
Peter
Hallo Zusammen,
es klappt bei mir.
Ich habe mir einen Can-Bus Analyzer von Seed bestellt und diesen an die
Heizung geklemmt und Daten mitgeschnitten.
Dann habe ich diese Daten mit dem Seed Analyzer als Test an den ESP32
mit MCP2515 gesendet. Und was soll ich sagen, es klappt.
Danach habe ich den ESP 32 an die Heizung geklemmt und es geht auch.
Ich kann leider nicht sagen warum es die ganze Zeit nicht geklappt hat.
Ich kann nur vermuten das bei meinen Tests ein Rien Modul defekt ist,
oder das die Kombination von zwei Modulen als Sender und Empfänger nicht
geht.
Ich werde weiter berichten.
Danke an alle die mich Unterstützt haben.
Viele Grüße
Michael
Hallo zusammen,
klinke mich auch mal hier ein, nachdem gestern die Junkers das erste Mal
per MQTT einen "mach aus"-Befehl akzeptiert hat (und evtl. die Uhr
gestellt?!?).
Vorab mal ein fettes Dankeschön an alle, die hier (und an anderer
Stelle) mit daran gearbeitet haben, dass es auch für Hobbyisten wie mich
möglich ist, Zugriff auf die Therme zu bekommen - speziell auch an Dave
G., dessen Beiträge hier (und Doku zu seiner Firmware) mich sehr
ermutigt haben, nochmal in der "Grabbelkiste" zu suchen, was denn nicht
schon alles an verwertbaren Bauteilen da ist...
Junkers-Setup hier:
- ZBS 7-22 MR A 23 (Jahrgang ca. 2003)
- BM2 (!*) (eingebaut statt TA 211 E)
- TA250
Can2Automation
- (No-Name-) ESP32 mit der Firmware von Dave G.
- "NiRen" mit 8.000-er Quartz (via 3.3V-Anschluss vom ESP-Board
versorgt)
Heim-Automatisierung
- FHEM
- Thermostate (Homematic HM-CC-RT-DN und Z-Wave (Spirit Z)) liefern
(gewichtbare) Infos zum aktuellen Öffnungsgrad aus praktisch allen
Räumen.
- Diverse Temperaturen werden bereits auf anderem Weg an FHEM gesendet,
insbes. außen, am Kesselausgang, WW- und Heizung je Vor- und Rücklauf,
alle Wohnräume, etc.
TA250 und BM2* sind erst die Tage (aus der Bucht) eingetroffen, und
gestern abend war dann Gelegenheit, beides mal an die Therme
anzuschließen. Ein passender Stecker für das BM2 lag auch noch rum - und
siehe da, die Therme meckert nicht darüber, dass es keinen Teilnehmer
mit BM1 am Bus gibt, sondern ist mit dem daran angeschlossenen
Außenfühler und dem TA250 bereits rundherum glücklich. Das BM2 gab es -
im Unterschied zu BM1 - in der Bucht zu einem akzeptablen Preis.
"Leider" habe ich erst gekauft und dann in die Doku geschaut, und da
steht, man würde unbedingt ein BM1 benötigen. Optisch kann man
jedenfalls auf den im Web zu findenden Bildern beide aber (bis auf den
Stecker) nicht unterscheiden, v.a. (offene) Lötpunkte für einen
Abschluss-Widerstand habe ich auch nicht gefunden.
Sieht irgendwie so aus, als wäre "alles dasselbe" und würde dann eben
seine Funktionalität schlicht danach annehmen, welchen Widerstandswert
es an AF vorfindet?
Werde das jedenfalls jetzt erst mal ohne den ESP ein paar Tage so vor
sich hintuckern lassen, nicht, dass eines der Junkers-Teile einen Hau
hat oder doch ein BM1 oder ein R à 120 Ohm vermißt wird...
Fragen bis dahin:
- Aus
https://github.com/Neuroquila-n8fall/JunkersControl#automatic-controller-detection
ergibt sich, dass der TA250 "eigentlich" gar nicht zwingend benötigt
wird, sondern eventuell eher "stört" bzw. sinvollerweise nur für den
Notfall bereit gehalten werden müßte. Soweit korrekt?
Davon dürfte nämlich im wesentlichen abhängen, wo das alles seinen Platz
findet. Wenn man den TA250 eigentlich nicht braucht, würde ich den (bzw.
die Konsole davon) nämlich einfach neben der Therme installieren und
überlegen, ob es ggf. sinnvoll ist, noch einen NTC in den "Leitraum" zu
führen...
- Sonst würde ich eben Kabel verlegen, das Teil direkt dort verbauen,
den ESP in eine größere Hohlraumdose hinter den TA250 setzen und aus der
24V-Leitung via DC-DC-Konverter mit versorgen. Unabhängig vom Ort des
Verbaus: Hat das mit der Versorgung schon mal jemand gemacht, oder sind
da Probleme zu erwarten?
- An sich wäre ich gerne "mutig" und direkt "alles" über den ESP in
Richtung Heatronic schicken. In
https://github.com/Neuroquila-n8fall/JunkersControl#external-temperature-sensors
ist zu finden, dass externe Sensoren genutzt werden. Ist das zwingend?
Oder könnte man das (vorläufig) auch über den "parameters"-Topic lösen?
Jedenfalls manche Werte lassen sich doch über diesen Weg einspeisen,
oder?
Gibt es sonst was, was "zwingend" erforderlich ist, damit das läuft?
Bis hierhin erst mal,
Jörg R.
Hallo,
Du kannst über die Servicefunktion, lass mich nicht Lügen ~1.9 das Gerät
grob ermitteln welches angeschlossen, besser erkannt wird. [3]
BM2
Hier ist scheinbar die FD ausschlaggebend, bis ab. Ansonsten habe ich
"oder" gelesen. Wird identisch zu BM1 sein.
Glaube das bei vielen, einschließlich meiner Person, nach dem
anschließen Probleme auftauchten. Evtl. wird der Eingang genauer
vermessen und Bosch unterbindet dann die Kommunikation mit Fremdgeräten.
Die Preise sind teilweise unverschämt, die sind nicht einmal komplett.
TAxxx.
Nun wie ich schon öfters angemerkt habe das TA250...TAxxx ist in der
einfachsten Form ein Bedien- und Informationsteil und weiterführend
benutzt man den CAN-Bus.
Kann mich an keine Telegramme verrinnen die eine besondere Absprache
zwischen BM1 und TA250 beinhalteten. Allerdings waren meine Versuche.
Schreibtisch-versuche ohne Heizung. Der weiterführende Bus ist über RAM,
I2C....Somit es vom Programm abhängig ob alle Daten im RAM hinterlegt
wurden.
Probiere es vor dem Winter aus und Du ja sollst sowieso Gas sparen. :-)
Du kannst den ESP mit der 24v Leitung von der Therme betreiben. Achte
aber drauf, dass der Spannungsregler von der Therme nicht gleichzeitig
TAxxx und ESP in der Bootphase versorgen kann. ESPs (32er) sind leider
sehr hungrig beim Start...
Ansonsten sind die Temperaturfühler, die ich mit eingebaut hatte, nur
dazu da um auf dem Dashboard von HA oder FHEM oder wie auch immer noch
zusätzlich Temperaturen anzuzeigen, die sonst nicht zur Verfügung stehen
würden bzw. nicht in der Granularität. Einfach Ignorieren, falls nicht
benötigt. Allerdings braucht "meine" Steuerung eine Idee was als Vorlauf
eingestellt werden soll und das kommt dann von deinem "Leitsystem" also
FHEM, oder HA oder was auch immer :)
Übrigens hat meine Hauptplatine den Geist aufgegeben. Die sendet nur
noch Müll über den Bus. Oftmals 50 Mal hintereinander die
Vorlauftemperatur. Sie fährt auch nicht mehr runter, weckt sich
selbstständig auf und haut die VLT in den Begrenzer. Ich muss jetzt
erstmal ein neues Board besorgen und jemanden finden, der mir das
verbaut und ggf. anlernt...
Wenn ich überhaupt diesen Winter angesichts der Gaspreise die Heizung
einschalten werde....
Vorab mal Danke für eure Rückmeldungen!
(Irgendwie muss ich mich erst an diese Foren-SW gewöhnen, die macht
gefühlt komische Sachen).
Peter* schrieb:> Probiere es vor dem Winter aus und Du ja sollst sowieso Gas sparen. :-)
Das war der Plan, wobei das Einsparpotential vermutlich nicht mehr soooo
groß ist, wir sind durch andere Maßnahmen schon recht "ok" (und die
letzten 20% und so...).
Dave G. schrieb:> Du kannst den ESP mit der 24v Leitung von der Therme betreiben. Achte> aber drauf, dass der Spannungsregler von der Therme nicht gleichzeitig> TAxxx und ESP in der Bootphase versorgen kann. ESPs (32er) sind leider> sehr hungrig beim Start...
DANEK! Sowas hatte ich schon vermutet...
> Ansonsten sind die Temperaturfühler, die ich mit eingebaut hatte, nur> dazu da um auf dem Dashboard von HA oder FHEM oder wie auch immer noch> zusätzlich Temperaturen anzuzeigen, die sonst nicht zur Verfügung stehen> würden bzw. nicht in der Granularität. Einfach Ignorieren, falls nicht> benötigt.
Wie gesagt: Die Temperaturen an sich sind da, aber dann deaktiviere ich
den 1-wire-Teil erst mal.
> Allerdings braucht "meine" Steuerung eine Idee was als Vorlauf> eingestellt werden soll und das kommt dann von deinem "Leitsystem" also> FHEM, oder HA oder was auch immer :)
Dass das der "kitzelige" Punkt ist, ist soweit klar. Wenn ich es richtig
verstanden habe, hast du auch mehr oder weniger ausschließlich normale
Heizkörper mit elektronischen Thermostaten, die die Ventilstellung
preisgeben, und bei dir ist das "meistgeöffnete" Ventil (neben der
Wunschtemperatur) die eigentliche Stellgröße.
Ich plane im ersten Schritt mal, mit einer Art "gewichteten
Durchschnittsgröße" zu arbeiten, eventuell noch mit der (zu
interpretierenden) Tendenz als Hilfsgröße. In FHEM gibt es dazu "schon
ewig" ein Hilfstool, das dann auch z.B. immer die "letzten 4" ignorieren
kann usw..
> Übrigens hat meine Hauptplatine den Geist aufgegeben. Die sendet nur> noch Müll über den Bus.
Das klingt nicht lustig, hoffe, du bekommst Ersatz und mußt nicht
frieren, falls uns nicht sowieso das Gas abgedreht wird.... (Sorry for
OT).
Jörg R. schrieb:> Werde das jedenfalls jetzt erst mal ohne den ESP ein paar Tage so vor> sich hintuckern lassen, nicht, dass eines der Junkers-Teile einen Hau> hat oder doch ein BM1 oder ein R à 120 Ohm vermißt wird..
So, mal ein aktueller Zwischenstand:
- TA250 und BM2 verstehen sich prächtig, ist jetzt einige Wochen ohne
den ESP ohne "Mucken" gelaufen.
- Die Wiederinbetriebnahme des ESP32-NiRen-Gespannes war dagegen
zunächst recht ernüchternd - ich hatte "ordnungsgemäß" auf 3.3V
umgestellt, was dazu geführt hatte, dass schlicht keine Daten vom Bus
mehr kamen und wohl auch nichts mehr geschrieben wurde... Erst überlegt,
was man alles tun könnte, aber da der ESP ggf. eh' hinüber gewesen wäre,
ging's halt einfach zurück auf 5V und es kamen wieder Daten rein.
Mittelfristig will ich den ESP sowieso gegen ein Modell mit externer
Antenne tauschen (miese WLAN-Verbindung im Keller), stellt sich die
Frage, ob dann ein Spannungsteiler vor MISO Sinnvoll wäre? (Bisher war
die Versorgung noch via Laptop-USB, jetzt hängt ein Steckernetzteil vor
dem ESP und es geht immer noch).
Jetzt Wird erst mal eine Weile mitgelauscht, was da so über den Bus
geht.In dem Zuge werde ich wohl mal versuchen zu verstehen, wie wohl die
Datenpunkte aus den subscriptions zu den übermittelten Daten vom Bus
passen könnten und hau mal eine Weile per MQTT die gemessene Temperatur
aus meinem "Leitraum" auf den Bus (?). Der TA250 darf einstweilen im
Keller bleiben, ich habe aber Zweifel, ob sich der für diese
Temperatur-Info interessiert (falls sie denn überhaupt auf dem Bus
ankommt und nicht nur dem ESP helfen würde; ein TW2 lag hier zwar noch
rum, aber das taugt nicht wirklich als Temperaturfühler für den
TA250)...
Vielleicht noch interessant: auf dem NiRen ist ein R120 verbaut, der per
J1 zugeschaltet werden kann. Aktiviert man den, geht der TA250 auf
Busfehler 2, aktiviert man ihn ohne angeschlossenes TA250, zeigt die
Therme irgendwann einen Busfehler an (bei letzterem Punkt bin ich aber
noch nicht sicher, ob das eine zutreffende Interpretation ist, oder ob
dem ESP Daten/Vorgaben fehlen und der deswegen einfach zu inaktiv ist).
Nachdem die ersten paar tausend Zeilen durch minicom gerauscht waren,
habe ich beschlossen, ein Kabel von der Therme ins Wohnzimmer zu ziehen.
Tendenziell wird wohl erst mal ein Parallelbetrieb stattfinden müssen,
schon alleine deswegen, weil der ESP32 mit JunkersControl bislang
ausschließlich den Heizungssteuerungsteil abdeckt, und der Plan
eigentlich auch gewesen war, die Warmwasserbevorratung zu optimieren
(und z.B. mit PV-Überschussstrom elektrisch zuzuheizen, um Brennerstarts
zu sparen).
Die erste Aktion für die Firmware war daher, die Bauchwassertemperatur
per MQTT zu versenden. Soweit so gut, aber mir kommen nun gewisse
Zweifel, ob ich zur "intended autience"
(https://github.com/Neuroquila-n8fall/JunkersControl#intended-audience)
gehöre... Dass m.E. standardisierte und "essenzielle" Dinge nachzurüsten
sind, entspricht nicht ganz meinen Erwartungen.
Wie dem auch sei, dabei ist mir jedenfalls aufgefallen, dass das
spreadsheet bzgl. 0x253 für meine Hardware nicht ganz paßt:
Dave schrieb:> Um etwas Ordnung in das Konvolut zu bringen habe ich die folgende> Tabelle erstellt, an der sich jeder frei beteiligen kann:> https://docs.google.com/spreadsheets/d/1JzmhEbFY_GSk0Dl_e5pb2zmsy9EPlQU7bUpb9bXKxCM/edit?usp=sharing
Da kam bei mir bisher nur "01", und das dürfte ein boolscher Wert
(an/aus) sein? Bisher ist es mir aber noch nicht gelungen, den TA250
dazu zu bewegen, den auf "0" zu setzen...
Generell wundert es mich, dass das zum einen relativ wenige Adressen
sind, die da aufgeführt werden, und, dass es "nirgendwo" eine
vollständige Liste zu geben scheint (?). Denn eigentlich ist diese
CAN-Variante ja auch "nur" eine ganz bestimmte Option, wie die Daten
physisch übertragen werden, die dann wohl irgendwann mitte der 2000er
durch den "ems-bus" (? oder ebus?) abgelöst worden ist. Die
Adressen/Adressräume scheinen aber im großen und ganzen doch konstant
geblieben zu sein? Das war zumindest mein Eindruck zu dem, was ich mir
im Lauf der Zeit zu diesen Themen so angelesen habe.
Wenn das stimmt, sollten ggf. auch weitere "anfragbare" Adressen in
Projekten wie https://github.com/norberts1/hometop_HT3 und
https://github.com/emsesp/EMS-ESP32 zu finden sein.
bzgl:
Dave G. schrieb:> Allerdings braucht "meine" Steuerung eine Idee was als Vorlauf> eingestellt werden soll und das kommt dann von deinem "Leitsystem" also> FHEM, oder HA oder was auch immer :)
Hast du auf die Schnelle eine Idee, welche Infos der ESP mindestens
braucht, um eine "Idee" zu haben? Reichen Solltemperatur und ein
Ventil-Öffnungswert?
Denn vor diesem Hintergrund
> Du kannst den ESP mit der 24v Leitung von der Therme betreiben. Achte> aber drauf, dass der Spannungsregler von der Therme nicht gleichzeitig> TAxxx und ESP in der Bootphase versorgen kann.
muss ich entscheiden, ob ich doch relativ schnell den Versuch
unternehme, den TA250 zu deaktivieren und nur via
(weiterzuentwickelndem) ESP zu steuern, oder ob das parallel laufen
muss.
Wenn parallel, stellt sich die Frage nach der optimalen Verbindung - der
ESP braucht dann eine externe Versorgung, und das mit der gemeinsamen
Masse wird dann schwierig (oder übersehe ich da was?!?).
*@all*: Was mich interessieren würde: lest ihr nur mit, was da so auf
dem Bus abgeht, oder greift ihr aktiv in die Steuerung ein? Wie verträgt
sich das mit der TA250 (oä)? Oder werden die Werte in den Speicher der
TA250 übernommen, wenn "jemand" was auf den Bus schreibt? Braucht es
dazu die "richtige" Adresse, oder ist das einfach die, unter der die
selbst die Telegramme abschickt?
Sorry, bestimmt hat das schon irgendjemand irgendwo geschrieben, und ich
habe es nur nicht gefunden...?
Hallo,
schönes Projekt hatte die gleichen Gedanken für die Zukunft.
Pufferspeicher mit elektrischer Heizung bzw. Warmwasserheizstab durch
PV-Anlage, aber etwas verschoben ins nächste Jahr da momentan die Preise
explodieren.
Nun eine öffentliche Junkers oder Bosch-Liste mit sämtlichen verfügbaren
Adressen wird es ganz sicher nicht geben. Ob die bekannten Adressen
evtl. mehrfach vergeben wurden ist aber auch nicht auszuschließen. Der
Aufbau der Heizung ist hier entscheidend. Hast Du einen Mischer werden
hier weitere Adressen freigeschaltet.
HT3 ist eine ganz andere Generation von Heizung.
Scan dein Can-Bus auf vorhandene Adressen und rufe die einzelnen
möglichen Befehle auf bzw. schau im Service_Handbuch für Fachleute oder
Servicefunktionen-Kompass nach, was an Planung noch möglich war. Dadurch
hast Du noch ein Überblick über die Heizung.
"Leitsystem", hatte das so verstanden das der Außenfühler nach wie vor
seine Arbeit erledigt und somit gar nicht die Frage gestellt wird, wo
fange ich an. Sondern nur die Optimierung durch die Ventilstellung
[Last] erbracht wird.
Achtung!
Bei mir ist es so, dass jeder Raum seine Temperatur einhält, aber die
Heizung (22kw-->~10kW) taktet mir zu schnell, deshalb auch der
Pufferspeicher in der Zukunft, ein muss.
Nun dein Problem mit der Versorgung, --> ein Steckernetzteil GND
verbinden. Can.-Bus immer 3adrig.
Ja, die Schreibtischtests habe ich hier auch veröffentlicht ohne
Heizung.
Du schreibst die gleichen Telegramme[ID's] wie auch der TAxxx, aber der
Ta schreibt seine auch, aber in einem längerem Zyklus.
Ja, nicht optimal.
Bin aber überzeugt das wenige Telegramme über CAN-Bus ausreichen um den
TA zu ersetzen. Ich kann mich aber nicht daran erinnern das ein
Telegramm vom TA übernommen wurde. Bei mir war aber ein defekt vom BM1
nicht auszuschließen und habe vor kurzem erst ein TA270 komplett
bekommen.
Peter* schrieb:> Hallo,>> schönes Projekt hatte die gleichen Gedanken für die Zukunft.> Pufferspeicher mit elektrischer Heizung bzw. Warmwasserheizstab durch> PV-Anlage, aber etwas verschoben ins nächste Jahr da momentan die Preise> explodieren.
Na ja, ich habe eher begrenzte PV-Kapazität und dachte vorrangig daran,
den (eher kleinen) Brauchwasserspeicher ggf. tagsüber so nachzuheizen,
dass laufende Verluste über die Zirkulation oder kleine Entnahmen
kompensiert werden. Für einen "großen" Puffer, der den Namen verdient,
ist eigentlich kein Platz da...
> Nun eine öffentliche Junkers oder Bosch-Liste mit sämtlichen verfügbaren> Adressen wird es ganz sicher nicht geben. Ob die bekannten Adressen> evtl. mehrfach vergeben wurden ist aber auch nicht auszuschließen. Der> Aufbau der Heizung ist hier entscheidend. Hast Du einen Mischer werden> hier weitere Adressen freigeschaltet.
Soweit so klar. Wenn ich den Code aus EMS-ESP32 richtig interpretiere,
ist es aber schon so, dass die Adressen (mehr oder weniger allgemein)
bekannt sind und nur von "Generation zu Generation" ggf. einem Wandel
unterworfen sind.
> HT3 ist eine ganz andere Generation von Heizung.
Jein. In der Vergangenheit bin ich auch mehrfach durcheinandergekommen,
weil in meinem Handbuch explizit steht, dass die Heizung eine "Heatronic
3" hätte. Man kann jetzt darüber streiten, was das genau bedeuten soll,
eine Bus-Schnittstelle hatte ich jedenfalls vor dem Einbau des BM2 nicht
gefunden...
Irgendwo hier in diesem Forum gab es auch ein paar "Aha"-Beiträge in
manchen Threads zum Thema, welche Codeteile bei der Auswertung der
Telegramme diverser Bus-Varianten diverser Hersteller
überraschenderweise doch irgendwie kompatibel zu sein scheinen.
Letztlich ist das aber egal, ich will ja nur eine funktionierende
Variante haben und eine gewisse Sicherheit, dass ich in 3 Jahren wieder
Ersatz hinbekomme, falls der ESP aussteigt oder ich mal das
WLAN-Kennwort ändern muss...
> Scan dein Can-Bus auf vorhandene Adressen und rufe die einzelnen> möglichen Befehle auf bzw. schau im Service_Handbuch für Fachleute oder> Servicefunktionen-Kompass nach, was an Planung noch möglich war. Dadurch> hast Du noch ein Überblick über die Heizung.
Der EMS-ESP32-Code scheint genau das zu machen und erst mal
nachzuschauen, welche ihm bekannten Baugruppen da sind. Mir ist das im
Prinzip egal, weil ich nur "den Ofen" steuern will, wofür die paar
bekannten Adressen ja reichen (wie Dave G. gezeigt hat).
Was ich ggf. sonst noch brauche (z.B. die Zuheizung am Puffer), läuft
sowieso extern, es muss nur sichergestellt sein, dass sich das nicht in
die Quere kommt....
> "Leitsystem", hatte das so verstanden das der Außenfühler nach wie vor> seine Arbeit erledigt und somit gar nicht die Frage gestellt wird, wo> fange ich an. Sondern nur die Optimierung durch die Ventilstellung> [Last] erbracht wird.
Jein. Wenn ich das richtig verstanden habe, gibt der ESP die
Vorlauftemperatur vor, und berücksichtigt dabei neben der
Außentemperatur (die er ggf. vom BM1/2 bekommt) nur noch die
Ventilöffnung als (alleinigen?) Indikator für die Wärmeanforderung. Da
die Pumpe nur 3 hart einzustellende Stufen kennt, ist die einzige
Variable auf der Seite des Ofens dann die Brennerleistung, und es ist
dann bestenfalls möglich, die schneller nach unten zu nehmen, als der
Ofen das autonom täte. Oder eben erst etwas länger zu warten, bis wieder
eingeschaltet wird (und ggf. länger umwälzen, um die im Wasser
vorhandene Restwärme (ohne zusätzlichen Puffer) besser zu verteilen?).
> Nun dein Problem mit der Versorgung, --> ein Steckernetzteil GND> verbinden. Can.-Bus immer 3adrig.
Bisher ging das mit dem Lesen auch mit nur 2 Adern, der ESP hing am
Laptop, und da war es mir zu "heiß" auszutesten, wo ggf.
Potentialunterschiede landen...
> Bin aber überzeugt das wenige Telegramme über CAN-Bus ausreichen um den> TA zu ersetzen.
Werde jetzt aber doch vermutlich versuchen, die ESP-only-Variante zum
Laufen zu bringen, nachdem das mit den doppelt genutzten Adressen klar
ist. Dann hängt der ESP eh' auf der 24V-Leitung der Therme und GND ist
gemeinsam.
Beides kommt dann ins Wohnzimmer, der ESP hinter den TA250, und dazu
einen Umschalter, der "entweder oder" mit der Versorgungsspannung
verbindet. Dann bekommt der ESP mal ein paar Daten und darf lostuckern,
und das mit der Wasserbereitungssteuerung kann eigentlich auch nicht
allzu schwer sein...
Peter* schrieb:> Nun,>> dann sind ja alle Zweifel von Dir beantwortet.>> viel Erfolg.
Du bist lustig... Ist eher erst mal ein Startpunkt, lach.
Hier wäre die nächste - zum Code:
In SetFeedTemperature() in can_processor.cpp wird eine can-Message
vorbereitet, ein abschließendes "can.tryToSend(msg);" fehlt aber. Soll
das so?
Überhaupt: Wenn die Initialisierung des Can-Moduls via SPI fehlschlägt,
bekommt man zwar direkt nach dem Start sehr schnell einen Satz Infos
dazu, aber an der Konsole sieht es später so aus, als würde brav
gesendet. Ist natürlich kein Problem, wenn die Verbindung ok ist, lenkt
aber beim debuggen ab, wenn man in das Thema einsteigt...
Die Nachricht wird vorbereitet und dann in der Schrittkette gesendet um
nicht den Bus zu fluten.
Wir können gerne mal ne Telco machen und die ganzen offenen Fragen
klären.
Danke sowohl für die Klarstellung wie auch das Angebot!
Das mit der Telco wäre super, vielleicht am WE?
Ansonsten habe ich vor einigen Minuten mal im laufenden Betrieb den
TA250 abgeklemmt - die Therme läuft ohne "A8"-Meldung weiter. Schreiben
auf den Bus (nur 2 Adern angeschlossen, J1 am NiRen offen) klappt
demnach auch freu
(wenn ich jetzt wüßte, ob die Therme so Warmwasser bereitstellt, würde
ich das glatt erst mal so weiterlaufen lassen, aber jetzt darf der TA250
wieder).
Der hat übrigens die Taktung schon positiv beeinflusst: "Früher" heizte
die Therme alle Stunde einmal hoch - warum auch immer (DS18B20-Messung).
Jetzt nur noch ca. alle 3h.
Sehr gut. Die Therme wird sich niemals beschweren, solange im
regelmäßigen Abstand bestimmte Nachrichten ausgetauscht werden. Sie wird
erst zickig, wenn für einen gewissen Zeitraum zum Beispiel keine Daten
angefordert wurden.
Es gibt auch Nachrichten, die die Warmwassertemperatur setzen. Das
können wir gerne dann gemeinsam mal durchgehen. Ich denke da kommen auch
noch interessante Infos bei raus die dem Projekt helfen ;)
Ich bin grundsätzlich zeitlich sehr flexibel und bevorzuge Discord, bin
da aber auch flexibel.
Meine ID: Dave aka FntX#5439
Habe dann doch das Risiko in Kauf genommen, dass heute morgen vielleicht
kein WW bereitgestellt ist (und dann eben sehr kurz geduscht...): Das
Ding lief stressfrei durch ohne TA250, und bis der Rest auf den Beinen
war, war wohl auch wieder Wasser verfügbar (zumindest keine Klagen
bisher).
Dave G. schrieb:> Es gibt auch Nachrichten, die die Warmwassertemperatur setzen. Das> können wir gerne dann gemeinsam mal durchgehen.
Die Nachrichtentype(n) für's Lesen und Setzen sind in der Liste drin,
lesend wird der Wert auch schon per MQTT an FHEM versandt.
Soweit ich das überflogen habe, gibt es auch hart vercodete Zeiten auf
dem ESP, mir hatte nur die Zeit nicht gereicht, auch die subscription
noch zu ergänzen, um das von FHEM aus zu machen und auch nicht klar,
inwieweit sich das ggf. mit dem Zeitplan beißt. War vermutlich ganz gut,
denn wenn die Logik ähnlich ist wie beim soll-Wert für die
Vorlauftemperatur, wird das ja nur einfach zwischengespeichert und dann
einfach im Rahmen des "Stufenplans" abgearbeitet (?).
> Ich denke da kommen auch> noch interessante Infos bei raus die dem Projekt helfen ;)
An grundlegende neue Infos glaube ich grade nicht recht, es wird
bestenfalls eben "noch einer", der Erfahrung mit dieser Art der
Steuerung beitragen kann. Aber es reicht ja, wenn wir ggf. das ganze
soweit bringen können, dass jemand einfach ein binary runterlädt, das
flasht und dann nur seine WiFi-Daten und MQTT-Spezifika eintragen
muss...
Und vielleicht findet sich dann auch jemand, der einen Webserver
integrieren will, mit dem man das Ding autonom als verbesserten
TA250+-Klon betreiben kann, ganz ohne Heimautomatisierungslösung
dahinter ("morgen ist Feiertag", oder Ferienmodus etc.). (Das ist nicht
meine persönliche Zielrichtung oder Kompetenz).
> Ich bin grundsätzlich zeitlich sehr flexibel und bevorzuge Discord, bin> da aber auch flexibel.> Meine ID: Dave aka FntX#5439
Ja nun, bisher habe ich nicht mal einen Account da. Braucht man wohl,
heutzutage, oder?
Jörg R. schrieb:> Ja nun, bisher habe ich nicht mal einen Account da. Braucht man wohl,> heutzutage, oder?
...ja..leider...wie überall wo es kein Geld kostet :(
So, meine Schnittstelle ist soweit jedenfalls hardwaremäßig fertig, Bild
anbei. Per Steckpfostenleiste kann man umstellen zwischen TA-Betrieb +
Sniffen (nur die beiden CAN-Adern gehen an die Schnittstelle), oder
ESP-only-Betrieb, bei dem dann der TA komplett weg ist und der ESP etc.
über einen Step-Down versorgt wird. Das ganze kann dann mittelfristig im
Regal hinter die Kulissen, und wenn es Probleme gäbe, kann man ohne
große Probleme umjumpern.
Jetzt geht's dann erst mal wieder an die Software-Seite, der Betrieb mit
einem WW-Speicher war in der firmware bisher nicht vorgesehen. Da müssen
wir also nochmal etwas rumtüfteln, das dürfte etwas dauern.