Ankündigung

Einklappen
Keine Ankündigung bisher.

Pluggit Lüftungsanlage anbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frank2
    antwortet
    Zitat von SimonK Beitrag anzeigen
    Ich habe mir die Logs mal angeschaut und die Daten sind nach Modbus aufgebaut.
    Danke für den Tipp mit dem Modbus 16 CRC. Dafür hätte ich ewig suchen müssen. Die Checksummen bestehen aus 8 Bit des Modbus 16 CRC.

    Ich habe mal die Spezifikation überflogen. Das Pluggit-Protokoll weicht an einigen Stellen von der Spezifikation ab:

    Es käme nur der RTU Transmission Mode in Frage. Die serielle Übertragung währe dann entweder mit gerader Parität oder zwei Stoppbits. Das ist aber nicht der Fall oder meine Software-UARTS sind fehlerhaft, die habe ich aber noch mit einem FTDI-Kabel getestet.

    Es werden nur 8 Bit (L-Byte) der CRC-Summe anstatt der 16 Bit verwendet.

    Die meisten (oder alle) Frames rufen "(0x03) Read Holding Registers" auf. Dabei ist die Fernbedienung der Master und die Lüftung der Slave. So ein 0x03 Frame ist aber ein Byte kürzer als das der Anlage. Die Antwort müsste ein Byte für die Länge haben. Das kommt auch nicht hin.

    Trotzdem halte ich den Ansatz, dass die Fernbedienung dem Gerät sagt welche Register ausgelesen werden sollen für eine Möglichkeit NACHTRAG: zumal ich auch Pakete "(0x10) Write Multiple registers" gefunden habe. Auch hier ist ein Byte zuviel.

    Auch ohne das Protokoll voll zu verstehen dürfte es leicht möglich sein die Werte T1-4 und S1-2 auszulesen. Einiges konnte ich schon wiederfinden.

    P.S.: Für den Arduino gibt es einen Modbus-Master: Arduino Playground - ModbusMaster Library

    Modbus-Spezifikationen: modbus.org

    Einen Kommentar schreiben:


  • SimonK
    antwortet
    Guten Tag
    Frank vielen Dank für deine Vorarbeit.
    Ich habe mir die Logs mal angeschaut und die Daten sind nach Modbus aufgebaut.
    Leider habe ich keine Ahnung von Modbus und muss mich da erstmal einlesen.
    Aber vielleicht hat ja einer Erfahrung mit Modbus und bietet seine Hilfe an.
    Ich bleib auf jeden fall dran :-)
    Gruß Simon

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Fernbedienung

    Hallo,

    die Fernbedienung sendet vermutlich im 433MHz Band. Ich habe noch einen Funk-Lautsprecher der in diesem Band arbeitet. Der reagiert in diesem Bereich. Eventuell kann man damit eine Lösung ohne Eingriff in das Gerät finden.

    Viele Grüße

    Frank

    Einen Kommentar schreiben:


  • Pontius Pilatus
    antwortet
    Hi Frank, super Arbeit.
    Ich freue mich schon auf die Logs.
    Für eine spätere Anbindung an den Bus will ich mein Wiregate benutzen. Über eine USB/RS232 und etwas Hühnerfutter zur Pegelwandlung sollte das irgendwie funktionieren....

    Ciao, PP

    Einen Kommentar schreiben:


  • SimonK
    antwortet
    hi Frank
    keine Sorge die Pluggit wird in einen Neubau eingebaut :-)
    Der Neubau befindet sich momentag in der letzten Planungsphase.
    Ich hoffe das ich ende nächsten Monat mit dem Bau anfangen kann.
    Also immer her mit den Logs denn noch hab ich ein bisschen Zeit :-D
    Gruß Simon

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Den Pegel habe ich einfach durch nachmessen bestimmt. Die Ports sind per Pullup gegen 3.5V verbunden. Auf dem Board ist ein Mikrocontroller der Firma NXP. Einen MAX232 oder ähnliches konnte ich auch nicht auf dem Board ausmachen. Die 4800 Baud konnte ich durch eine Pegelanzeige mit 115200 Baud bestimmen. Ein Bit war 3 Zeichen lang.

    Ansonsten ist es gar nicht so falsch für Peripherie 12V zur Verfügung zu stellen. Die Fernbedienung gibt es auch in einer Kabelversion. Je nach Leitungslänge muss da ein Pegelwandler her. Ansonsten werde viele Boards, Router u.s.w. auch mit 12V versorgt.

    Die Frage ist wie man nachher die Erkenntnisse in etwas brauchbares umsetzt. Ich werde vermutlich den Arduino in der Anlage belassen oder eine kleine Platine mit AVR fertigen (deswegen noch einmal die Änderung der Pin-Belegung). Wenn es klappt soll der noch die Luftqualität auswerten und die Anlage stoppen wenn diese abweicht. Die Netzwerk- oder Busfähigkeit könnte man mit einem Rasperry Pi herstellen. Leider kann man den nicht in die Anlage verfrachten da er nur einen UART hat. Außerdem ist der AVR schneller bereit, so dass der Anmeldeprozess der Fernbedienung nicht gestört wird.

    Ich mache heute oder übermorgen mal einige Logs fertig und versende die per PN. Ich hatte mich mit der Schaltung so beeilt um noch die Frostmeldung abzupassen. Der Bypass muss wohl noch eine Weile warten.

    @simonk: Ich bin auf einen Hinweis bezüglich Betrieb mit einem Ofen gestoßen. Wenn Ihr so etwas habt schreibt Pluggit ein Heizregister oder Erdwärmetauscher vor. Letzeres lässt sich nachträglich schwer in ein Haus integrieren da man eine Lösung für den Kondenzwasserabfluss braucht.

    Viele Grüße

    Frank

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Naja bei RS232 Verbindungen die intern von Platine zu Platine statt finden kommt oft UART mit TTL Pegel zum Einsatz. Das RS232 Signal hat also nicht die standard mässigen +12V / -12V sondern 0V / +3,3V oder 0V / +5V.

    Einen Kommentar schreiben:


  • Pontius Pilatus
    antwortet
    Hi Frank,

    super Arbeit. Wie hast du den Pegel der Schnittstelle bestimmt? Mir kommt das irgendwie komisch vor, dass ein Anschluss für die Schnittstelle aus (0V,12V, Rx, Tx) besteht und der Signalpegel 3,3V sein soll. Wer denkt sich so einen Käse aus? Schau mal, wie das für RS232 definiert ist: File:Rs232 oscilloscope trace.svg - Wikipedia, the free encyclopedia

    Ansonsten würde ich mich sehr freuen, wenn du mir die Logs zukommen lassen könntest. BTW: Gehen Attachments bei PNs?

    Ciao, PP

    Einen Kommentar schreiben:


  • SimonK
    antwortet
    Ich hätte großes Interesse daran die Logs mit auszuwerten.
    Denn im Laufe des Jahres werde ich auch eine Plugit bei mir einbauen und vielleicht kann ich die Anlage direkt mit KNX in Betrieb nehmen ;-)
    Kannst du die Log Dateien hoch laden? Und ich bräuchte dann noch ein paar Infos was man alles mit der FB steuern kann bzw. ablesen kann. So das ich ein paar Rahmen Bedingungen habe.
    Gruß Simon

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Loger fertig

    Hallo,

    der Arduino Logger ist nun fertig und wieder in der Anlage verbaut. Ich habe noch einmal die Pin-Belegung geändert! s. Code Die Software ist nun soweit, dass sie leicht zu einer Steuerung umgebaut werden kann.

    Zusammengefasst habe ich im Moment folgende Erkenntnisse:
    serielle Schnittstelle 3.3V Pegel
    4800 Baud 8N1
    Die Fernbedienung behält auch die Daten nach Abschalten der Anlage. Es kann geblättert werden.
    Nach dem Einschalten meldet sich der Empfänger bei der Anlage an.

    Wer hat Interesse die Logs mit auszuwerten?

    Viele Grüße

    Frank
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Data Logger

    Hallo,

    mein Data Logger ist fertig. Benötigt wird dazu der Arduino-Clone ElecFreaks - Wiki, einige "F/M jumper" Kabel, ein langes Mini-USB-Kabel mit schmalem Stecker, Silikon zum Abdichten und bei Bedarf USV-Verlängerungen.

    Die Schaltung muss mit 3.3V laufen und Vorsicht beim Umgang mit der Anlage. s. Hinweise oben.

    Mein Arduino-Sketch zum Loggen (in .ino umbenennen). Da die Fernbedienung eine Seriennummer besitzt werde ich bis zur Klärung ob diese im Datenstrom steht hier keine Logs veröffentlichen.

    Zur Analyse mit dem PC sollten es zwei 3.3V FTDI-Kabel tuen. Die sind aber nicht wesentlich preiswerter als der Arduino-Clone.

    Viele Grüße

    Frank

    P.S.: Habe im Moment die Schaltung entfernt da die Anlage nach dem Einschalten der Meinung war wieder komplett kalibriert werden zu müssen.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Erster Erfolg

    Hallo,

    einige Hinweise vorweg. Ich übernehme keine Garantie dafür, dass hier etwas kaputt geht oder es Gewährleistungsprobleme oder sonstiges gibt. Zum Öffnen die Anlage immer vom Stromnetz trennen. Arduino und Anlage immer gleichzeitig mit Spannung versorgen. Nach dem Ausschalten einige Minuten warten damit die Lüftermotoren keinen Schaden anrichten.

    Die Sache dürfte nur mit einem 3.3V Arduino derivat funktionieren. Da gibt es einen Schalter oder etwas anderes um die Spannung umzuschalten. Wenn die Spannung nicht stimmt dürfte die Lüftungsanlage zerstört werden.

    Ich habe nun einen 3.3V Arduino ElecFreaks - Wiki zwischen Fernbedienung und P300. Die Schnittstelle ist im Ruhezustand High (3.3V). Die Übertragungsgeschwindigkeit liegt bei 4800 Baud. Was gesendet wird kann ich im Moment noch nicht sagen.

    Falls jemand selbst experimentieren möchte. Folgende Schaltung habe ich gewählt und an J9 angeschlossen. Pin 1 ist beschriftet. Pin 1-4 sind in einer Reihe.

    Die Arduino PINs 2+3 habe ich gewählt da diese am flexibelsten auf Interrupts reagieren können.

    J9 -> Fernbedienung
    1 -> 1
    5 -> 5
    6 -> 6

    J9 -> Arduino
    2 -> 2
    3 -> 4
    4 -> GND

    Arduino -> Fernbedienung
    5 -> 2
    3 -> 3
    GND -> 4

    Um den Arduino mit dem PC zu verbinden habe ich ein Micro-USB Kabel mit extra schlankem Stecker durch die Durchführung gezogen und mit Silikon abgedichtet.

    Ich habe mal ein Arduino-Sketch eingefügt welches nur die Signale weiterleitet und die Bitwechsel der Kommunikation anzeigt.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Zitat von Pontius Pilatus Beitrag anzeigen
    ausschalten habe ich über einen einfachen Schaltaktor gelöst - ich dreh dem Ding den Saft ab. Genauso macht es übrigens mein Druckwächter, falls der Kamin an ist und er Unterdruck detektiert.
    Was ist das für ein Druckwächter?

    Zitat von Pontius Pilatus Beitrag anzeigen
    Zu deiner Frage mit den Spannungen und dem Protokoll: RS232 ist einfach eine naheliegende Vermutung. 12V würde dazu auch passen. Dass an den Tx und Rx Pins mehr als 12V anliegen, halte ich für ausgeschlossen.
    Die Vermutung ist falsch. Ich habe heute mal nachgemessen an den beiden IO-Pins liegen 3.5V an. Eine RS232 würde unter Umständen den Controller zerstören.

    Zitat von Pontius Pilatus Beitrag anzeigen
    Eine extra Platine für die Analyse zu basteln halte ich für übertrieben.
    Wenn die Pegelfrage geklärt ist würde ich erst einmal einen Arduino/AVR anschließen. Damit könnte man dann gleich etwas dauerhaft nutzbares programmieren.

    Zitat von Pontius Pilatus Beitrag anzeigen
    Ich bin in den letzten Wochen nur leider nicht dazu gekommen hier einen Schritt voran zu machen. Vielleicht bist du ja schneller.
    Ich habe gerade das Gerät offen. Wenn ich auf die Schnelle einen seriellen Sniffer zusammen bekomme baue ich den ein.

    Einen Kommentar schreiben:


  • Pontius Pilatus
    antwortet
    Hallo Frank,

    ausschalten habe ich über einen einfachen Schaltaktor gelöst - ich dreh dem Ding den Saft ab. Genauso macht es übrigens mein Druckwächter, falls der Kamin an ist und er Unterdruck detektiert.

    Richtig interessant sind für mich die Messwerte, die die FB anzeigt.

    Zu deiner Frage mit den Spannungen und dem Protokoll: RS232 ist einfach eine naheliegende Vermutung. 12V würde dazu auch passen. Dass an den Tx und Rx Pins mehr als 12V anliegen, halte ich für ausgeschlossen.

    Eine extra Platine für die Analyse zu basteln halte ich für übertrieben. Im ersten Anlauf dachte ich daran, mit einer RS232-Schnittstelle vom PC/Notebook die Kommunikation direkt zu belauschen. Dazu müsste es genügen, Masse und Rx dieser Schnittstelle mit 0V und Tx der Lüftungsanlage zu verbinden. Dann das richtige Tool und die richtigen Einstellungen und schon sollten es laufen. Das gleiche kann man dann für Rx der Anlage auch nochmal machen und so müsste sich das eigentlich irgendwie analysieren lassen. Optimal wären sicher zwei Schnittstellen, dann könnte man mit beiden Rx-Leitungen gleichzeitig Tx und Rx der Lüftung belauschen....

    Ich bin in den letzten Wochen nur leider nicht dazu gekommen hier einen Schritt voran zu machen. Vielleicht bist du ja schneller.

    Ciao, PP

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Das interessiert mich auch

    Hallo,

    ich habe mit Interesse diesen Thread gefunden. Bei Pluggit gab es außer einige Dokumente keine Hinweise bekommen. Die Leistungsstufen können auf verschiedene Art gestellt werden. Was nicht geht ist ausschalten.

    Die Fernbedienung wird über J9 angeschlossen. Im Dokument steht wenigstens die Belegung: 1=12V, 2=Senden, 3=Empfangen, 4=0V

    Bei meiner Fernbedienung hat das Kabel allerdings fünf von acht belegte Pins.

    Laut Dokumentation hat die Fernbedienung noch eine Seriennummer die der Lüftungsanlage bekannt sein muss.

    Woher stammt die Aussage mit der RS232-Schnittstelle? Könnte da auch ein andere Pegel als +/- 12V anliegen? Hat da mal jemand was gemessen?

    Meine Idee ist es eine kleine Mikrocontroller-Planine zu bauen welche als Proxy zwischen Fernbedienung und Hauptplatine gesteckt wird. Die Schaltung soll einen weiteren seriellen Port und einen Anschluss für einen Luftgütesensor bekommen. Wenn der Nachbar grillt oder heizt soll die Anlage ausgehen.

    Anbei einige Bilder zum Zerlegen einer Avent P300.

    Viele Grüße

    Frank
    Angehängte Dateien

    Einen Kommentar schreiben:

Lädt...
X