Forum: Haus & Smart Home Junkers CAN-Bus Protokoll


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Thorsten Weiss (Gast)


Lesenswert?

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

: Verschoben durch Moderator
von Besi (Gast)


Lesenswert?

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

von Besi (Gast)


Lesenswert?

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

von SvenG (Gast)


Lesenswert?

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

von Kiki (Gast)


Lesenswert?

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

von Thorsten Weiss (Gast)


Lesenswert?

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

von SvenG (Gast)


Lesenswert?

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

von Thorsten Weiss (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Thorsten W. (thoweiss)


Lesenswert?

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.

von Andreas (Gast)


Lesenswert?

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.

von Thorsten W. (thoweiss)


Lesenswert?

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.

von hgs (Gast)


Lesenswert?

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.

von Thorsten W. (thoweiss)


Lesenswert?

Sorry, bin im moment beruflich ziemlich eingespannt... komme nicht 
wirklich weiter.

Gruß,
Thorsten.

von Andreas (Gast)


Lesenswert?

Vielleicht könnte jemand, der ein Ceracontrol TA 270 sein Eigen nennt, 
mal bestimmte Aktionen mitloggen. Das dürfte das Reverse Engineering 
beschleunigen.

von mschleicher (Gast)


Lesenswert?

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

von Dietmar H. (dhaeting)


Lesenswert?

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

von Thorsten W. (thoweiss)


Lesenswert?

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

von mschleicher (Gast)


Lesenswert?

@ all

hat besi da nicht was entwickelt ???????????

Grüße

Martin

von Thorsten W. (thoweiss)


Angehängte Dateien:

Lesenswert?

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.

von crazy horse (Gast)


Lesenswert?

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.

von crazy horse (Gast)


Lesenswert?

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.

von Sascha (Gast)


Lesenswert?

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

von TManiac (Gast)


Lesenswert?

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.

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Hallo.

Ich habe eine Junkers Wärmepumpe und ähnliches vor.
Schau dir doch mal dieses Modul an 
http://www.mhs-elektronik.de/cgi-bin/mhs.pl?id1=2&id2=0
ich will mir das kaufen.

Christian

von TManiac (Gast)


Lesenswert?

@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.

von H.Joachim S. (crazyhorse)


Lesenswert?

naja, Junkers arbeitet mit moderaten 10kBit, abzüglich CAN-Overhead ist 
man mit 19200 schon auf der sicheren Seite.

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

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

von thoweiss (Gast)


Lesenswert?

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.

von gast ossi (Gast)


Lesenswert?

hallo habe auch ein paar ID entschlüsselt


200H  1 Byte   max.Vorlauftemperatur in Halbgradschritten Dez.120 = 60°C

201H  1 Byte   aktuelle Vorlauftemperatur in Halbgradschritten Dez.120 = 
60°C

204H  1 Byte   max.Warmwassertemperatur in Halbgradschritten Dez.120 = 
60°C

205H  1 Byte   aktuelle Speichertemperatur Warmwasser in 
Halbgradschritten

206H  1 Byte  Störungsmeldungen Hex Wert siehe ( Bedienungsanleitung ) 
00=Heizung ok

207H  2 Byte   Außentemperatur in °C Hexadezimal Wert / 100 = 1/100 stel

208H  1 Byte  ?????????

209H  1 Byte   Flamme EIN / AUS Wert 00 = Flamme AUS, Wert 01 = Flamme 
EIN

20AH  1 Byte   Heizungspumpe  EIN / AUS

20BH  1 Byte   Speicherladung  EIN / AUS

20CH  1 Byte   Sommer / Winterbetrieb Wert=00 Sommer Wert 01=Winter

20DH  1Byte  ?????????


250H  1 Byte  ??????

252H  1 Byte  Sollwert von TA270 Heizungssollwert in Halbgradschritten

253H  1 Byte  Sollwert von TA270 Warmwassersollwert in Halbgradschritten

254H  1 Byte  ?????????

255H  1 Byte  ?????????

256H    Uhrzeit 4 HEX Werte
    1 Byte  = Tag 1Montag / 7 Sonntag
    2 Byte = Stunde
    3 Byte = Minute
    4 Byte = ????

404H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
405H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
417H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
440H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
441H  2 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????
4F9H  1 Byte  Mischermodul ( Fußbodenheizung ) Bedeutung ?????

von Bernd R. (breh)


Lesenswert?

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

von MHS-Elektronik (Gast)


Lesenswert?

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

von F. R. Gilsdorf (Gast)


Lesenswert?

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

von F. R. Gilsdorf (Gast)


Lesenswert?

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

von Björn R. (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Björn R. (bjrn_r365)


Lesenswert?

Hi,

das habe ich auch befürchtet. Konnte auch bisher im gesamten CAN log nix 
dazu finden.

von supr (Gast)


Lesenswert?

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

von Sven L. (sven_rvbg)


Lesenswert?

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ß,

von supr (Gast)


Lesenswert?

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

von Nicholas John K. (aviatorhh)


Lesenswert?

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)

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Nicholas John K. (aviatorhh)


Lesenswert?

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.

von Nicholas John K. (aviatorhh)


Lesenswert?

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.

von Nicholas John K. (aviatorhh)


Lesenswert?

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 :-)

von Bernd Rehlinger (Gast)


Lesenswert?

Das klingt spannend.
Kannst du einen Plan zum Nachbau Posten?

von Datnetz (Gast)


Lesenswert?

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.

von Michael Piron (Gast)


Angehängte Dateien:

Lesenswert?

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

von Trabant (Gast)


Lesenswert?

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

von Nicholas John K. (aviatorhh)


Lesenswert?

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.

von Bernd Rehlinger (Gast)


Lesenswert?

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.  ;-)

von Bernd Rehlinger (Gast)


Lesenswert?

...was mich allerdings interessieren würde, ob jemand mittlerweile eine 
funktionsfähige Software für Linux-Systeme (speziell Synology-NAS) sein 
Eigen nennt...

von Trabant (Gast)


Lesenswert?

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.

von Nicholas John K. (aviatorhh)


Lesenswert?

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.

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Nicholas John K. (aviatorhh)


Lesenswert?

Ach nee, hast recht. Die kommen regelmäßig

von Trabant (Gast)


Lesenswert?

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...

von Nicholas John K. (aviatorhh)


Lesenswert?

Das Board und eine Anleitung sind hier beschrieben:


https://www.raspberrypi.org/forums/viewtopic.php?t=141052

von Trabant (Gast)


Lesenswert?

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.

von Trabant (Gast)


Lesenswert?

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?

von Trabant (Gast)


Lesenswert?

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.

von Trabant (Gast)


Lesenswert?

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.

von H.Joachim S. (crazyhorse)


Lesenswert?

Sind beide terminiert.

von Peter (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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.

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

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?

von Peter (Gast)


Lesenswert?

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.

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Trabant (Gast)


Lesenswert?

>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.

von Peter (Gast)


Lesenswert?

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?

von Kay (Gast)



Lesenswert?

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

von temp (Gast)


Lesenswert?

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.

von Kay (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Martin R. (zmaier)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Martin R. (zmaier)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Martin R. (zmaier)


Angehängte Dateien:

Lesenswert?

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?

von Martin R. (zmaier)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Martin R. (zmaier)


Lesenswert?

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

von Matthias B. (mabl)


Lesenswert?

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.

von Bernd Rehlinger (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Matthias B. (mabl)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

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).

: Bearbeitet durch User
von Peter (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

Leider nein.

PID, Totzeit usw. schon mal gehört, das ist Heizung regeln nicht plus 
minus.

Ja... schau

Peter

von Peter (Gast)


Lesenswert?

Ein schönes Beispiel einer Regelung und Einfluss deren Werte

https://en.wikipedia.org/wiki/PID_controller#/media/File:PID_Compensation_Animated.gif

von Matthias B. (mabl)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

Nö, nix Kopf einschlagen.
Wir sprechen nur unterschiedliche Sprachen, deswegen ist Verständigung 
nicht möglich. Ist aber egal.

von Peter (Gast)


Lesenswert?

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

von Dave (Gast)


Lesenswert?

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...

von Peter (Gast)


Lesenswert?

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

von Dave (Gast)


Angehängte Dateien:

Lesenswert?

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 ;)

von Peter (Gast)


Lesenswert?

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

von Dave (Gast)


Lesenswert?

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...

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

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

von Dave (Gast)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von Dave (Gast)


Lesenswert?

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.
1
[24-Feb-21 17:47:19.407] - CAN: [0252] Data:    36 (54) >> Soll: 27°C
2
[24-Feb-21 17:47:21.008] - CAN: [0201] Data:    54 (84)
3
[24-Feb-21 17:47:22.508] - CAN: [020D] Data:    18 (24)
4
[24-Feb-21 17:47:23.378] - CAN: [0253] Data:    00 (0) >> Sparmodus aus?
5
>> Sparknopf gedrückt = Sparmodus AN
6
[24-Feb-21 17:47:47.508] - CAN: [0209] Data:    00 (0) >> Brenner aus
7
[24-Feb-21 17:47:48.008] - CAN: [020A] Data:    01 (1) >> Pumpe an
8
[24-Feb-21 17:47:48.509] - CAN: [0258] Data:    01 (1)
9
[24-Feb-21 17:47:49.402] - CAN: [0252] Data:    14 (20) >> Soll: 10° (Frostschutz)
10
[24-Feb-21 17:47:51.008] - CAN: [0201] Data:    54 (84)
11
[24-Feb-21 17:47:51.385] - CAN: [0256] Data:    03 (3)  11 (17) 31 (49) 04 (4)
12
[24-Feb-21 17:47:52.508] - CAN: [020D] Data:    18 (24)
13
[24-Feb-21 17:47:53.363] - CAN: [0253] Data:    01 (1) >> Sparmodus an?
14
[24-Feb-21 17:47:53.508] - CAN: [0209] Data:    00 (0) >> Brenner aus
15
[24-Feb-21 17:47:54.008] - CAN: [020A] Data:    01 (1) >> Pumpe an
16
[24-Feb-21 17:47:54.355] - CAN: [0252] Data:    14 (20)
17
[24-Feb-21 17:47:55.344] - CAN: [0254] Data:    01 (1)
18
[24-Feb-21 17:47:56.334] - CAN: [0255] Data:    8C (140)
19
[24-Feb-21 17:47:57.008] - CAN: [0201] Data:    54 (84)
20
[24-Feb-21 17:47:57.324] - CAN: [00F9] Data:
21
[24-Feb-21 17:47:58.314] - CAN: [0250] Data:    01 (1)
22
[24-Feb-21 17:47:58.508] - CAN: [020D] Data:    18 (24)
23
[24-Feb-21 17:47:59.402] - CAN: [0252] Data:    14 (20)
24
[24-Feb-21 17:47:59.508] - CAN: [0209] Data:    00 (0) >> Brenner aus
25
[24-Feb-21 17:48:00.008] - CAN: [020A] Data:    00 (0) >> Pumpe aus
26
>> Sparknopf erneut gedrückt = Sparmodus AUS
27
[24-Feb-21 17:47:23.378] - CAN: [0253] Data:    00 (0) >> Sparmodus aus?
28
[24-Feb-21 17:47:23.508] - CAN: [0209] Data:    00 (0)
29
[24-Feb-21 17:47:24.008] - CAN: [020A] Data:    01 (1)

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Dave (Gast)


Lesenswert?

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.

von Dave (Gast)


Lesenswert?

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...

von Bernd Rehlinger (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

Hi,
Versuch?

von Dave (Gast)


Lesenswert?

@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....

von Peter (Gast)


Lesenswert?

Hi,
der Zugang wird mir verweigert und anmelden auch nicht???
Peter

von Dave (Gast)



Lesenswert?

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!

von Bernd Rehlinger (Gast)


Lesenswert?

@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

von Thomas (kosmos)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von Dave (Gast)


Lesenswert?

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 ;)

von Thomas (kosmos)


Lesenswert?

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.

von Dave (Gast)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von Thomas (kosmos)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von Dave (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Dave (Gast)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Dave G. (neuroquila-n8fall)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

Nachtrag:

ohne Abschlusswiderstand lässt sich das TA steuern, korrektes Signal?

Peter

von Dave G. (neuroquila-n8fall)


Lesenswert?

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?

von Peter (Gast)


Lesenswert?

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

von Dave G. (neuroquila-n8fall)


Lesenswert?

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.

von Thomas (kosmos)


Lesenswert?

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.

von Dave G. (neuroquila-n8fall)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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 Thomas (kosmos)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

Hi,
ok.

von Dave G. (neuroquila-n8fall)


Angehängte Dateien:

Lesenswert?

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.

: Bearbeitet durch User
von Peter (Gast)


Angehängte Dateien:

Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Dave G. (neuroquila-n8fall)


Lesenswert?

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...

von Peter (Gast)


Lesenswert?

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

von Dave G. (neuroquila-n8fall)


Lesenswert?

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....

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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.

von Dave G. (neuroquila-n8fall)


Lesenswert?

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".

von Peter (Gast)


Lesenswert?

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

von Dave G. (neuroquila-n8fall)


Lesenswert?

Ja korrekt - das habe ich falsch ausgedrückt. Natürlich sind die 
Nachrichten ab 0x250 von der TA.

von Bernd Rehlinger (Gast)


Angehängte Dateien:

Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Thomas (kosmos)


Lesenswert?

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.

von Bernd Rehlinger (Gast)


Angehängte Dateien:

Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Thomas (kosmos)


Lesenswert?

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.

von Thomas (kosmos)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Dave G. (neuroquila-n8fall)


Lesenswert?

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...

von Peter (Gast)


Lesenswert?

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

von Dave G. (neuroquila-n8fall)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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.

von Dave G. (neuroquila-n8fall)


Angehängte Dateien:

Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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".

von Dave G. (neuroquila-n8fall)


Lesenswert?

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.

von Hans-Jürgen E. (hansehls)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

Nachtrag:

von Kay (Gast)15.07.2020 15:07
hat auf gezeigt wie die Sache zu verkabeln ist.

ganz einfach nur lesen??--Hans

von Dave G. (neuroquila-n8fall)


Lesenswert?

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 ;)

: Bearbeitet durch User
von Denny (Gast)


Lesenswert?

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:
1
Jan 06 19:07:38 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 63: bc: Kommando nicht gefunden.
2
Jan 06 19:07:38 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 68: bc: Kommando nicht gefunden.
3
Jan 06 19:07:40 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 42: bc: Kommando nicht gefunden.
4
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 42: echo: Schreibfehler: Datenübergabe unterbrochen (broken pipe).
5
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 63: bc: Kommando nicht gefunden.
6
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 68: bc: Kommando nicht gefunden.
7
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 42: bc: Kommando nicht gefunden.
8
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 42: echo: Schreibfehler: Datenübergabe unterbrochen (broken pipe).
9
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 63: bc: Kommando nicht gefunden.
10
Jan 06 19:07:41 volkszaehler can-vz.sh[703]: /home/pi/bin/can-vz.sh: Zeile 68: bc: Kommando nicht gefunden.

Das wären dann im script folgende Zeilen:
1
in Zeile 42:      VAL="$( echo -e "ibase=16;obase=A;$( echo -e ${LINE} | cut -c14-15 )" | bc )"
2
3
in Zeile 68:      elif [[ $(echo "$VALUE > 80" | bc) -eq 1 ]]
4
5
in Zeile 63:      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

von Dave G. (neuroquila-n8fall)


Lesenswert?

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
1
sudo apt-get install bc

...danach müsste es klappen.

von Dossi D. (dossi_d)


Lesenswert?

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

: Bearbeitet durch User
von Martin R. (zmaier)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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ß

von Martin R. (zmaier)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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ß

von Peter (Gast)


Lesenswert?

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.

von Hans-Jürgen Ehls (Gast)


Lesenswert?

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

von K. H. (hegy)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

Hallo,

sorry,...

aber was hat das mit dem Thema zu tun.

bitte--->ADMIN /verlegen/neu.

von Hans-Jürgen Ehls (Gast)


Lesenswert?

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

von Michael (Gast)


Lesenswert?

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

von Thomas (kosmos)


Lesenswert?

TJA1050 kann nur bis 60 kbaud runter, der MCP2551 müsste bis 16 kbaud 
runter können.

Hängt mit einem fest eingestelltem time-out zusammen damit nicht zu 
lange dominant anliegen kann, dann steigt der Transceiver aus um den Bus 
nicht zu belegen.

MCP2551
http://ww1.microchip.com/downloads/en/devicedoc/21667e.pdf
Seite 5 Punkt 1.5

TJA1050
https://www.nxp.com/docs/en/data-sheet/TJA1050.pdf
Seite 4

: Bearbeitet durch User
von Dave G. (neuroquila-n8fall)


Lesenswert?

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?

von Michael (Gast)


Lesenswert?

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

von Michael (Gast)


Lesenswert?

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
>
> 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?

@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

von Dave G. (neuroquila-n8fall)


Lesenswert?

Die fowler lib wird nicht zuverlässig gehen und wenn du 8mhz benutzt 
musst du auf 20kbit gehen.

Benutze am besten die Acan lib hier:
https://github.com/pierremolinaro/acan2515

Schau mal in mein repo rein. Da kannst du dir ein paar Sachen abschauen 
😉

https://github.com/Neuroquila-n8fall/JunkersControl

von H.Joachim S. (crazyhorse)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.