Läuft: Heizung mit eBus-Schnittstelle

Begonnen von Prof. Dr. Peter Henning, 29 November 2014, 13:36:59

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Zitat
Sinnvoll wäre ein eigener Thread zur "Eigenbau-Hardware", da alles ziemlichlich unübersichtlich ist bei 78 Seiten

Darauf haben wir schon immer gewartet: dass uns Newcomer erklären, was sinnvoll ist. ::)

Zitat
Würde sowas auch  funktionieren ? anstatt den USBtoTTL-Adapter ?

Wer mehr liest, hat mehr vom Leben.

http://www.fhemwiki.de/wiki/1W-IF-ETH
http://www.fhemwiki.de/wiki/1W-IF-WIFI

LG

pah

Prof. Dr. Peter Henning

Erstaunlich, denn ich habe niemanden zum Lesen des "kompletten Forums" aufgefordert.

Die relevanten Dokumentationen stehen auch nicht auf 79 Seiten dieses Threads - sondern sind immer in kompakten Dokumenten für Anfänger und im Wiki verpackt. Und ja: ich fordere in der Tat dazu auf, diese zu lesen. Ist offenbar bisher nicht passiert.

Schließlich: Es steht jedem frei einen neuen Thread aufzumachen - und es besteht absolut kein Grund dafür, dies von anderen zu verlangen.

pah


yellowpinky

.. wenn ich wüßte wo der Fehler in meinem Aufbau liegt wäre ich in der Lage einen bestückten Print incl. USB Adapter zu liefern, aber mit meinen momentanen Problemen wäre das nicht ganz fair  :-\

.... hat noch jemand einen guten Tipp für mich... mein nächster Schritt wäre eine Messung auf dem ebus mit einem "Oszi".... wenn ich wüßte wo ich welche Werte zu erwarten hätte und diese messen soll ?

ZitatIch verfolge den Beitrag bereits seit einiger Zeit und habe mich vor einigen Wochen dazu entschlossen meine Gastherme Vaillant Vaillant ecoTEC plus VC AT 126/3-5H mit Regler calorMATIC 470 mit ebusd auszulesen.
Mein ebusd Adapter ist laut der Schaltung von pah (Als "kritische" Bauelemente verwende ich: Transistor: BD645 , Fairchild DC-Optokoppler: CNY171 / 70 V / 50 mA) und dem Print von zenti666 - Danke für eure Mühe. Der USB Adapter ist von ELV. Die Software in der Version 1.3.
Die Hi/Lo Abstimmung der Schaltung habe ich auf 13V abgestimmt und den Adapter wie hier beschrieben mit 20V und einem 1KOhm Widerstand einem Schleifentest unterzogen.
Der Poti der Schaltung ist jedoch fast auf Anschlag (0 kOhm) dadurch R2 testweise auf 500Ohm getauscht !
Als Endllösung möchte ich anstatt des USB Adapters eine TTY-LAN Adapter verwenden und die Schaltung mit 3,3V betreiben.... aber das dauert wohl noch ein wenig.
Und nun zu meinem Problem welches ich nicht in den Griff bekomme:
Der Empfang der Daten dürfte funktionieren -> keine CRC Alarme und ich bekomme sehr wenige "unknown BC cmd"
Ich kann aber anscheinend nichts abfragen, da nach "scan full" bei "scan result" nichts ausgegeben wird und auch eine Temperatur Abfrage keine Antwort ergiebt -> siehe LOG
Den ebus habe ich sowohl direkt, als auch über den Diagnose RJ Stecker getestet

Bitte um Eure Unterstützung
Daniel

Zitatgibt es hier jemanden, der eine gefertigte Platine mit den z.Z. passenden Bauteilen anbietet ?

Reinhart

#1173
@yellowpinky

Wie das Signal genau aussieht spielt jetzt noch keine große Rolle. Wenn dir ein Oszilloskop zur Verfügung steht ist der Fehler sicher schnell gefunden. Ich schreibe dir hier in Stichworten die Messpunkte und die Vorgangsweise auf wie ich es messen würde.

Den Masseanschluß vom Oszi mit GND verbinden und bei jeder Messung mit eBusd irgendwas senden. Ich würde das mit Putty per SSH durchführen.

beginne an U2-3 Pin8 oder 9 (TxD)
dann sollte an U2-3 Pin 10 dasselbe Signal negiert erscheinen
am Optokoppler an Pin5 muss 5 Volt konstant anliegen
dann am Optokoppler an Pin 4
an der Basis des BD645
ordentlich verstärkt dann am Collector des BD645


wenn du so vorgehst, wird irgendwo das Signal dann fehlen, d.h du hast den Fehler dann zwischen den letzten beiden Messpunkten.
Ich hoffe es hilft dir bei der Fehlereingrenzung weiter.

LG
Reinhart

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

yellowpinky

@ Reinhart

Danke für die Unterstützung werde sobald möglich testen und eine Rückmeldung geben...

Reinhart

ja passt, bin selber schon neugierig was defekt ist.
Könnte mir auch eventuell vorstellen, dass die Zenerdiode verkehrt eingebaut ist oder wo eine kalte Lötstelle ist, aber das ist sicher schnell gefunden.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Prof. Dr. Peter Henning

Sollte sich aber auch alles ohne Oszilloskop messen lassen.Variable Spannung an den EBUS-Eingang und statisch messen, was herauskommt- und umgekehrt.

LG

pah

yellowpinky

@ Reinhart & pah

Was ich nicht verstehe ist, dass in der Schleifen Messung (TerminalEmulation -> USB Adapter -> Ebus Adapter -> ebus mit 1kOhm und 20V von einem Netzgerät) die Daten die ich sende retour kommen. Das würde ja heissen, das alles funktioniert.
Habe jetzt so auf die Schnelle am ebus meiner Therme gemessen - die Sendedaten im gesamten Zweig sehen bei "ebusctl r RoomTemp" eher aus wie einzelne Flanken und nicht, wie die Daten der Therme auf der Empfangsseite, wie Bitmuster.
Zum genaueren Messen komme ich leider erst wieder zum Wochenende....

john30

Zitat von: phantom am 02 November 2015, 18:29:24
Danke erst einmal für den Tip zu Umwandlung von Hex-Befehlen in CSVs; klappt prima.
gerne!

Zitat von: phantom am 02 November 2015, 18:29:24
Mit den Serial-Ethernet-Konverter komme ich nicht weiter. Auch Puffergröße 0 (=sofort) und FIFO=off haben nichts gebracht. Der ebusd bekommt offenbar die Antwort-Bytes auf die gesendete Nachricht nicht rechtzeitig mit und versucht es dann in einer Endlosschleife mit durchlaufenden FF's (=NAK) hin und her ...
Die Endlosschleife würde mich noch interessieren. Kannst Du mir da ein Log mit dump zukommen lassen? Auch gern per privater Mitteilung.

Ich habe mir Dein Timing noch einmal angesehen. Also viel Luft ist nicht, aber Du könntest mal versuchen, ebusd mit Paramter "--acquiretimeout=30000" zu starten. Dann sollte zumindest auf ">ff" und "<ff" noch die Adresse des Ziels gesendet werden.
Danach wird dann vermutlich Schluss sein, aber wenn es bis dahin klappt, würde ich noch einen zusätzlichen Parameter zur Änderung des generellen Sende-Timeouts einbauen. Dieser ist derzeit fix auf die doppelte Symboldauer eingestellt (9,4 ms).
Bei Dir kommt ein geschriebenes Symbol anscheinend erst nach 26 ms zurück, was normalerweise für drei Bytes statt nur einem reicht...
author of ebusd

phantom

Zitat von: john30 am 03 November 2015, 07:05:15
Die Endlosschleife würde mich noch interessieren. Kannst Du mir da ein Log mit dump zukommen lassen?
@john:
Ich habe drei Versuche mit dem Ethernet-Serial-Wandler (Moxa-NPort 5110) durchgeführt:

1. im RealCOM-Mode mit tty-driver-Kernel-Modul von Moxa  (soll eine echte TTY nachbilden)
Mit ebusd ohne weitere Timing-Parameter  (s. ebusraw_endless_loop) führt diese zur besagte Endlosschleife im ebusd  :(
ebusd reagiert nicht mehr auf CTRL-C im Vordergrund und läßt sich nur noch abschießen.

2. im RealCOM-Mode mit tty-driver-Kernel-Modul von Moxa
Mit ebusd mit ebusd --acquiretimeout=30000 (s. ebusraw_aq_30000) gibts ein paar Read-Timeouts, aber ohne Endlosschleife  :)

3. im TCP-Server-Mode des Wandlers ohne das Kernel-Modul (habe den  -d ip:port Startparameter erst jetzt entdeckt :/ )
Damit klappt der ebusd via LAN problemlos, mit und ohne verlängerte aquiretime  :D   (s. ebusraw_ip)

Danke für deine Unterstützung. Es lag wohl am knappen Timing beim Wechsel von senden zu empfangen.
Die Sache mit der Endlosschleife ließe sich evtl. noch im ebusd optimieren, brauchst du noch mehr Logdaten dazu?

Besten Gruß  Dirk

john30

Zitat von: phantom am 03 November 2015, 22:45:29
Die Sache mit der Endlosschleife ließe sich evtl. noch im ebusd optimieren, brauchst du noch mehr Logdaten dazu?
Danke für die Logs, die sollten für eine erste Analyse reichen.
author of ebusd

john30

Zitat von: phantom am 03 November 2015, 22:45:29
Die Sache mit der Endlosschleife ließe sich evtl. noch im ebusd optimieren, brauchst du noch mehr Logdaten dazu?
So, ich denke das Problem ist mit commit https://github.com/john30/ebusd/commit/d402325 gelöst.
Es wär cool, wenn Du das nochmal gegen Deinen ersten Versuch testen könntest (RealCOM-Mode mit tty-driver-Kernel-Modul von Moxa), da sich das nicht so trivial nachstellen lässt.

John
author of ebusd

yellowpinky

ZitatIch verfolge den Beitrag bereits seit einiger Zeit und habe mich vor einigen Wochen dazu entschlossen meine Gastherme Vaillant Vaillant ecoTEC plus VC AT 126/3-5H mit Regler calorMATIC 470 mit ebusd auszulesen.
Mein ebusd Adapter ist laut der Schaltung von pah (Als "kritische" Bauelemente verwende ich: Transistor: BD645 , Fairchild DC-Optokoppler: CNY171 / 70 V / 50 mA) und dem Print von zenti666 - Danke für eure Mühe. Der USB Adapter ist von ELV. Die Software in der Version 1.3.
Die Hi/Lo Abstimmung der Schaltung habe ich auf 13V abgestimmt und den Adapter wie hier beschrieben mit 20V und einem 1KOhm Widerstand einem Schleifentest unterzogen.
Der Poti der Schaltung ist jedoch fast auf Anschlag (0 kOhm) dadurch R2 testweise auf 500Ohm getauscht !
Als Endllösung möchte ich anstatt des USB Adapters eine TTY-LAN Adapter verwenden und die Schaltung mit 3,3V betreiben.... aber das dauert wohl noch ein wenig.
Und nun zu meinem Problem welches ich nicht in den Griff bekomme:
Der Empfang der Daten dürfte funktionieren -> keine CRC Alarme und ich bekomme sehr wenige "unknown BC cmd"
Ich kann aber anscheinend nichts abfragen, da nach "scan full" bei "scan result" nichts ausgegeben wird und auch eine Temperatur Abfrage keine Antwort ergiebt -> siehe LOG
Den ebus habe ich sowohl direkt, als auch über den Diagnose RJ Stecker getestet

Bitte um Eure Unterstützung
Daniel

Hab jetzt mit dem Oszi einiges gemessen..
Komme mit meiner ebus Schaltung leider nicht weiter, In der Schleifenmessung ist aus meiner Sicht alles OK.
Wenn ich aber auf meine Heizung gehe wird am Bus nichts gesendet. Habe schon viele Stunden Investiert und finde den Fehler leider nicht  :-[
Habe Z-Diode & T1 (BD645) auch schon getauscht.
Was ich auch nicht verstehe ist warum bei "ebusctl r RoomTemp" nur ein einzelnes Bit am TTY gesendet wird ?
Anbei einige Plots zu meinen Oszi Messungen.

Bild "Schleifenmessung":
Messung mit simulierten ebus 20VDC Netzgerät mit 1kOhm Widerstand in Serie.
Mit Terminal Hex 0A gesendet .... Bitmuster mit Start & Stop Bit ist OK finde ich.
Blau=ebus, Rot=TTY

Bild "Befehl ebusctl r RoomTemp":
Bei Befehl ebusctl r RoomTemp, Bitbreite 0,44ms
TTY sendet nur Einzelbit, Am ebus kommt nichts an !?
Blau=ebus, Rot=TTY

Bild "Messung Optokoppler Pin4":
Hatte beim Messen leider den falschen GND (vom TTY)
Blau=TTY, Rot=Pin4 Optokoppler

Bild "Messung nach R6":
Hatte beim Messen leider den falschen GND (vom TTY)
Fast kein Signal mehr nach dem Widerstand R6-22kOhm (Basis T1)
Blau=TTY, Rot=Pin4 Optokoppler




Reinhart

@yellowpinky

Schaltungstechnisch sieht es ja bis jetzt nicht so schlecht aus, leider hast du die wichtigste Messung am Collector des BD645 vergessen.

Die Messung nach R6 scheint auch in Ordnung zu sein, denn R6 begrenzt ja den Basis-Emitter Strom, sonst wäre es ja ein Kurzschluß am Transistor. Wenn nun ein Signal am R6 kommt, müsste der Darlingtontransistor durchschalten (und ordentlich Strom verstärken) und die Zenerdiode begrenzt hier den Strom/Spannung auf der Collector-Emitterstrecke. Was dieser BD645 nun letztlich macht ist das was "am eBus ankommt". Nimm bei dieser Messung bitte Pin4 des Gleichrichters als Masse. Du kannst dann auch noch am Pin3 des Gleichrichters messen, auch da muss das Signal dann sichtbar sein, weil auch hier die Spannung einbrechen muss damit am Master des eBus dies dann als Signal erkannt wird.

LG
Reinhart

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

yellowpinky

@Reinhart
Habe zwischen Anode und Kathode der Z-Diode schon einmal gemessen und da hab ich das Signal auch mit den 7,5V gesehen... die fallende Flanke war nur etwas verschliffen.
Werde aber sobald möglich nochmals testen.. bin leider schon wieder unterwegs
Was meinst du mit Pin4 bzw.Pin3 der Gleichrichters ?

LGD