ETA: ETA EHACK45 CANBUS

    This site uses cookies. By continuing to browse this site, you are agreeing to our use of cookies. More details

    Du hast Probleme beim Login? Schreibe uns im Forum "Probleme mit der Registrierung".
      • 2

      • # 148988

      ETA: ETA EHACK45 CANBUS

      Was hast du vor?
      Ein paar Unterlagen habe ich.. Könnte ihr dir schicken, ob es dir hilft weiß ich nicht

      Gesendet von meinem SM-G935F mit Tapatalk
      • 3

      • # 149052
      Hallo, ich will eine längere Strecke (Fernwärme mit Lichtwellenleiter überbrücken als Blitzschutz) und bräuchte die Baudrate, ich hab mir jetzt schon alle Unterlagen der Chiphersteller durchgeschaut und immer steht bis zu 1MBit/s aber ich hätte laut Oszilloskop 60kBit/s herausbekommen aber die Bridge funktioniert leider nicht.

      Danke im Voraus
      • 4

      • # 160649
      Hallo Elektromichel,

      falls es für Dich noch interessant ist, hier ein paar Infos, die ich durch probieren selber herausgefunden habe.
      Ich stand frustriert vor dem gleichen Problem und habe es aber gelöst und mich nun extra hier angemeldet um meine Erkenntnisse zu teilen, vielleichts hilft's ja.

      Um Deine Frage direkt zu beantworten:
      Der ETA-CAN-Bus ist "elektrisch" ein High-Speed Bus, die Bitrate beträgt 100 kBit/s

      Meine Konfiguration: ETA-SH30 <--> CAN-Bus (30 Meter) <--> Heizkreiserweiterung mit solarer Brauchwassererwärmung. Das Ganze ist Bj. 2007
      Mein Ziel: Rückspeisung des im Sommer mitunter zu warmen solaren Brauchwassers in den kühlen Pufferspeicher durch Einschalten der Boilerpumpe. Das solare Brauchwasser soll stets etwa 50°C haben.
      Ich hatte mal den Hersteller zur Rückspeisung angeschrieben, aber der entwickelt da nichts mehr weiter, zu alt.

      Das Projekt ist jetzt erfolgreich abgeschlossen und ich habe das Ziel wie folgt erreicht:
      1. ARDUINO Microcontroler MKR-Zero: store.arduino.cc/arduino-mkrzero
      2. ARDUINO MKR-CAN-Shield: store.arduino.cc/mkr-can-shield
      Die beiden ARDUINO-Komponenten werden einfach aufeinander "gestapelt"

      ARDUINO-CAN-Bus-Shield dann einfach an den ETA-CAN-Bus anschließen. Der ETA-CAN-Bus liefert auch gleich 12V Versorgungsspannung mit (nominal 12V, real 15V).
      Achtung: Beim Shield ist auf einer Seite der Platine die Beschriftung für CAN-H und CAN-L vertauscht. Keine Angst, es geht nichts kaputt, es funktioniert halt bloß nicht.

      Über die serielle USB-Schnittstelle habe ich mir die Telegramme am Laptop (Unix) auf die Konsole ausgeben lassen, man erkennt aber nicht wirklich etwas, die Daten rauschen nur so durch:
      Bild_1.JPG



      Um einen vernünftigen stabilen Überblick zu bekommen habe ich mir in JAVA einen kleinen "Monitor" programmiert, dann sieht es so aus:
      Bild_2.png




      Wie man sieht, liegt nicht alle Daten auf dem CAN-Bus, sondern nur unbedingt notwendige Daten (37 Adressen/Subadressen).
      Das macht auch Sinn, denn der Heizkreiserweiterung kann ja beispielsweise die Lüfterdrehzahl des Kessels auch egal sein.

      Jetzt kann man mit der Analyse der Adressen und deren Daten beginnen.
      In meinem Monitor ist die Spalte in rot, ganz links eine Hauptadresse und ergibt kombiniert mit der Subadresse in Spalte 3 die komplette Adresse.
      Die 2. Spalte ist die Anzahl der bereitgestellten Bytes in Adresse/Subadresse, die ausgelesen werden kann.
      Temperaturen werden in 1/10 Grad übermittelt und sind 16 Bit kodiert. Die 16 Bit werden nacheinander in 2 Bytes übertragen, das ist eigentlich schon alles.
      Schön zu sehen ist die Adresse 0x18FB0000, sie enthält Datum, Uhrzeit und Wochentag. Wie man sieht, entstand der Screenshot am 18.4.19 um 19:40:51 Uhr , es war Wochentag 4 = Donnerstag.

      Hier noch eine Liste mit dekodierten Adressen, die aber noch einige Rätsel aufgibt.
      Mir ist das aber nicht wichtig, meine benötigten Daten habe ich herausgefunden und mein Ziel ist erreicht: Die gewünschte Rückspeisung funtioniert, incl. Legionellenabtötung etwa alle 7 Tage und das Verhalten nach einem simulierten Stromausfall wurde auch positiv getestet.
      Und ein Gimmik ist auch noch dabei: Die Temperaturen gebe ich mit einer Leuchtdiode im Morsecode aus. Macht zwar nicht wirklich Sinn, aber es blinkt so schön :)

      Vielleicht findet ja noch jemand mehr heraus,

      viel Spaß und Gruß
      Arduino-Heizer



      Spalte1: Adresse
      Spalte2: Subadresse
      Spalte3: Beispielwert der übertragenen Bytes zum Beispiel 2/44
      Spalte4 Errechnete Temperatur in 1/10 °C (2*256+44) = 556 enspricht also 55,6 °C

      #####################################################################################################################################################
      0x10600008 0: 1/233 2/188 488 700 Ändert sich bei Potiänderung für Raumtemperatur (Puffersolltemp. ?)
      0x10600008 1: 2/95 608 Puffer-Soll ???
      0x10600008 3: 2/44 556 Kesseltemperatur
      0x10600008 4: 2/250 760 Puffer oben
      0x10600008 5: 2/250 760 Puffer oben
      0x10600008 7: 3/32 800 Kessel-Soll
      0x10600008 12: 2/8 518 Puffer unten
      0x10600008 13: 0/100 ??? LED an???


      0x14290820 2/29: 1/250 505 Vorlauf Heizkreis 3
      0x14290820 2/33: 1/2 290 Raumtemperatur 3, abhängig von Nacht/Auto/Tag
      0x14290820 2/38: 1/130 385 Boiler unten Solar
      0x14290820 2/39: 1/156 411 Kollektor


      0x18FB0000 2: Datum/Uhrzeit


      0xC410020 /: 2/182 692
      0xC410020 /: 1/130 385
      0xC410020 /: 1/160 415
      0xC410020 /: 0/78 78

      0x1C370008 2:
      0x1C370008 6:


      0x1C382008 [3]: 0/1/3 Mischer Halt/Auf/Zu


      0x0C410008 /: 4 Displayzeilen/Temperaturen
      0x0C410020 /: 4 Displayzeilen/Boiler



      0x14292008 1/0 82 14/16 aktiv im Betrieb ???


      0x4120008 Boiler oben?


      0x14442000 0/[5] 100 Boilerpumpe ein
      0x8460020 0/[5] 100 Boilerpumpe ein


      #####################################################################################################################################################

    Webutation