Dechiffrierung Serielle Schnittstelle Induktionskochfeld

Antworten
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#1

Beitrag von matschie »

Hallo zusammen!

Ich habe mal eine Frage an die Mikrocontroller- und Elektroexperten hier im Forum:

Hier habe ich meine neue Induktionsplatte vorgestellt.

Diese ist mit einem 5-Adrigen Kabel an ein Bedienfeld angeschlossen.

Folgende Adern sind vorhanden:

+5V
GND

und vermutlich:

MISO
MOSI
SCLK

Ich habe heute mal einen Logic Analyzer zwischengeschaltet. Der Beginn des Einschaltens sieht wie folgt aus:
aus-an.png

Es sieht mir also stark nach serieller Kommunikation aus.

Da könnte man ja ganz hervorragend und sehr elegant eine Brausteuerung (Arduino; CBPi o.ä.) mit kombinieren.

Kennt sich jemand von euch damit aus und könnte mir beim Dechiffrieren helfen?

Liebe Grüße,
Matthias
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
Benutzeravatar
Sura
Posting Freak
Posting Freak
Beiträge: 3489
Registriert: Montag 2. November 2015, 22:37

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#2

Beitrag von Sura »

Ich bin da schon lange raus, aber vor dem messen würde ich erstmal schauen was auf dem Bedienfeld für Bauteile verbaut sind. Das wird nicht hochpreisig und eher wartungsarm aufgebaut sein, was dann eventuell ein AD Wandler und ein Chip für die Übertragung sein dürfte. Wenn doch ein µC drin ist, dann schaust du halt nach was bei dem als Protokoll "eingebaut" ist.
Wenn die Bauteile nicht grade unkenntlich gemacht worden sind, hast du schon eine deutliche Ahnung was da vor sich geht, bzw. nach was du suchen musst. Dafür besorgst du dir dann ein passendes Interfacemodul.

Wenn du weisst welches Protokoll zur Übertragung genommen wird, und du das passende Modul hast, kannst du direkt mitlauschen und mitschreiben. Am einfachsten ist es wenn du den Empfänger simulierst. Dabei kannst du die Bedienelemente nach und nach durchgehen und durchprobieren was sich wann wie ändert, und daraus Rückschlüsse ziehen, was was bedeuten könnte. Ab dann kannst du schon relativ klar erkennen was weshalb passiert. Eventuell läuft die Kommunikation in beide Richtungen, dann wirds eventuell komplizierter. Probiere dann aus eine Richtung wegzulassen, und wie sich das auswirkt.

Im dritten Schritt baust du einen Sender nach, und vergleichst, ob das was du schickst das selbe ist, was der originale Sender schickt. Fertig.
"Es ist schon alles gesagt, nur noch nicht von jedem."
(Karl Valentin)
Benutzeravatar
phigoek
Posting Klettermax
Posting Klettermax
Beiträge: 116
Registriert: Montag 25. Mai 2015, 14:22

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#3

Beitrag von phigoek »

Ich kann zwar nicht weiterhelfen, jedoch mache ich es mir hier mal bequem. Das klingt spannend.
clmnsk
Posting Klettermax
Posting Klettermax
Beiträge: 264
Registriert: Freitag 10. März 2017, 00:12
Wohnort: Berlin

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#4

Beitrag von clmnsk »

Wie im anderen Thread schon erwähnt wurde, schreib doch mal dem Hersteller.
Er muss ja nichts machen, außer ein paar Infos rausrücken und hätte auf einmal eine Vielzahl potenzieller Kunden, die ihre Induktion automatisieren wollen..
Grüße, Clemens
---
Hendi - 34L Topf - 32L Thermobehälter
10L Topf BIAB - Kühlschlange - Ikea 10L PP-Container
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#5

Beitrag von DaSchaef »

Also eine Clock oder ein Chipselect sehe ich in deinem Bild nicht. Es wäre wirklich interessant was für Chips auf dem Bedienpanel verbaut sind. Oft kann man sich daraus schon das Protokoll herleiten. Das spart viel Zeit, verglichen dazu direkt mit dem Protokoll einzusteigen..

Schick mal bitte Bilder :)
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#6

Beitrag von DaSchaef »

Ich habe gerade deine Bilder im anderen Beitrag entdeckt. Also ich konnte nur den Display Treiber erkennen. Die anderen Chips sind kaum zu lesen hier am Handy :/
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#7

Beitrag von matschie »

Okay, dann fange ich mal an:

Unten: 3F94C4EZZ , bei Google habe ich folgendes Datenblatt gefunden

Von dem sind, wenn ich richtig gemessen habe und das Datenblatt stimmt die Pins 17,18 und 19 an den Anschluss zum Kochfeld angeschlossen

Oben: TM1628 (LED Treiber)

Links: WTC6106BSI (Shift Register?) Datenblatt

Vielen Dank für deine Hilfsbereitschaft :)

Den Hersteller habe ich übrigens auch schonmal angefragt, das war eine gute Idee. Ich bin mal gespannt, ob Rückmeldung kommt.
Dateianhänge
DSCF8568.JPG
DSCF8567.JPG
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#8

Beitrag von DaSchaef »

Ok, da scheint die Hardware Serielle Schnittstelle (vermutlich spi ähnlich?) angeschlossen sein.
fun fact: Damit scheint man auch den Speicher auslesen zu können, aber nicht ganz unkompliziert :)

Damit haben wir paar Dinge gelernt. Die Schnittstelle geht an den Mikrocontroller, damit war der Entwickler ziemlich frei in der definition. Die finden wir vermutlich nicht im Datenblatt.

Was mich stört: Ich hätte erwartet, dass es ein spi Protokoll ist, aber wie gesagt: Deine traces sehen mir nicht nach spi aus. Wobei... Wenn das als BitBanging implementiert wurde, ich muss mir dein Bild nochmal genauer ansehen. Ansonsten könnte es vielleicht Uart sein, mit StartBit usw da kenne ich mich nicht so gut aus, aber ist ja dokumentierter Standard.
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#9

Beitrag von DaSchaef »

Also aus deinem Trace werde ich irgendwie nicht Schlau. Es könnte drei unabhängige Uart sein. Aber einfach nur mit dem Bild ist das echt unangenehm zu erkennen: https://de.m.wikipedia.org/wiki/Univers ... ransmitter

SPI glaube ich inzwischen nicht: mir fehlt die clock und auch die bits scheinen nicht vielfaches von 8 zu sein? Das hätte ich bei spi erwartet irgendwie, der Einfachheit wegen.

Gibt es die Software zum runterladen und kannst du dein capture exportieren? :)


Edit:
Und wenn es gar keine Schnittstelle in dem Sinne wäre? Steuert das vielleicht direkt das Feld an? Wie ändern sich die Signale je nach Drehpoti Position? Passiert was auffälliges? Mehr oder weniger gezappel z. B.

Edit2: vielleicht gibt es noch ein Hinweis auf der anderen Seite des Kabels? :)

Edit3: eventuell war deine levels beim logicanlyser auch nicht richtig? Hast du Zugriff auf ein osci? Nur um die Fehlerquelle auszuschließen.

Edit4: Zappelt es immer? Oder nur wenn du was am Poti drehst? Bei einer seriellen Schnittstelle hätte ich erwartet, dass es nur bei Änderungen zappelt und sonst ruhig ist.
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#10

Beitrag von matschie »

DaSchaef hat geschrieben: Sonntag 19. August 2018, 20:56 Also aus deinem Trace werde ich irgendwie nicht Schlau. Es könnte drei unabhängige Uart sein. Aber einfach nur mit dem Bild ist das echt unangenehm zu erkennen: https://de.m.wikipedia.org/wiki/Univers ... ransmitter

SPI glaube ich inzwischen nicht: mir fehlt die clock und auch die bits scheinen nicht vielfaches von 8 zu sein? Das hätte ich bei spi erwartet irgendwie, der Einfachheit wegen.
SPI habe ich inzwischen auch quasi ausgeschlossen, insbesondere da mir der "Kommunikations-Charakter" ein bisschen fehlt. Es gibt quasi keine Start-Ende Message.
Gibt es die Software zum runterladen und kannst du dein capture exportieren? :)
Die Software gibt es hier: Download, der Logic Analyzer ist aber (leider) auch nur ein zweckentfremdeter Arduino, hat also sehr begrenzte Aufnahmezeit und auch begrenzte Samplingraten: Arduino als Logic Analyzer
Edit:
Und wenn es gar keine Schnittstelle in dem Sinne wäre? Steuert das vielleicht direkt das Feld an? Wie ändern sich die Signale je nach Drehpoti Position? Passiert was auffälliges? Mehr oder weniger gezappel z. B.
Auffällig ist, wenn ich das Signal mittels UART Analyzer (8 Bit) übersetze, ergibt sich folgendes Bild (Stellung "Aus" und Stellung P1-P5 für die Leistungsstufen):

Aus 0x00 0xBD 0x55 0x55 0x55 0x55 0xBD 0x55
P1 0x00 0xF5 0x55 0x55 0x55 0x55 0xAF 0x55 0xFF
P2 0x00 0xF5 0x55 0xAF 0x55 0x55 0xF5 0x55 0xFF
P3 0x00 0xF5 0x55 0xAF 0x55 0x55 0xBD0xAF 0xF5
P4 0x00 0xF5 0x55 0xBD 0x55 0x55 0x55 0x55
P5 0x00 0xF5 0x55 0xBD 0x55 0x55 0xBD 0xAF 0xFD

ABER: Nur, wenn ich das Kochfeld nicht angeschlossen habe. Wenn ich das Kochfeld anschließe, ändert sich die Nachricht.
Edit2: vielleicht gibt es noch ein Hinweis auf der anderen Seite des Kabels? :)
Ne, das steht nix.

:Grübel :Bigsmile Nein, quatsch. Das Signal was ich oben ausgelesen habe habe ich zwischen Kochfeld und Bedieneinheit abgegriffen. Ist also wirklich ein Lauschen der aktiven laufenden Kommunikation.
Edit3: eventuell war deine levels beim logicanlyser auch nicht richtig? Hast du Zugriff auf ein osci? Nur um die Fehlerquelle auszuschließen.
Kann sein, siehe oben, der Logic Analyzer ist leider nur sehr rudimentär. Osci hab ich leider keins. Könnte eventuell mal im Bekanntenkreis rumfragen ob jemand eins hat.
Edit4: Zappelt es immer? Oder nur wenn du was am Poti drehst? Bei einer seriellen Schnittstelle hätte ich erwartet, dass es nur bei Änderungen zappelt und sonst ruhig ist.
Ich kann wie gesagt leider nur kurze Schnappschüsse aufnehmen. Was ich aber sagen kann:

Nach einiger Zeit im Auszustand kommt über die eine Leitung in Sequenzen immer die gleiche Nachricht, die anderen beiden sind "Still". Schalte ich das Feld ein, laufen alle 3. Das sieht man auch in dem Bild was ich geschickt habe. Schalte ich das Feld aus, läuft die Kommunikation auf allen 3 Kanälen noch eine Zeit weiter, bis es wieder nur auf dem mittleren Kanal läuft.

Wenn ich irgendwas Messen / Auslesen etc soll sag bescheid, soweit möglich tue ich das gerne!
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#11

Beitrag von matschie »

Vom anderen Rechner aus hier noch das exportierte Capture.
Dateianhänge
aus-an.zip
(1.88 KiB) 87-mal heruntergeladen
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#12

Beitrag von JackFrost »

Hi,

für Uart sind zu viele Frameerrors drinnen.
Das System muss ja Fehlersicher sein wenn ein Packet nicht ankommt was zu tun ist.

Was ist denn auf der Leisungsseite ? Auch ein uC oder gar nur ein Treiber für die IGBTs ?

Auffällig auf Kanal 2 sind die langen High / Löw Signale. Ggf ist das der Sync für einen Frame. Da drinnen wird aber sicher noch eine Prüfsumme stecken.

Der Kanal 3 könnte auch was Analoges sein, da sind sehr schnelle Pegelwechsel drinnen die nicht zu den anderen passen.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#13

Beitrag von DaSchaef »

Hat das Feld Lüfter? Eventuell steuert eine Leitung das Feld, die andere den Lüfter? Das dritte könnte dann vielleicht sogar Lüfterdrehzahl sein? Sieht mir zwar jetzt nicht auffällig danach aus, aber das kann mehrere Gründe oder Fehlerquellen haben. Ich glaube wir kommen nicht drum rum zu sehen was auf der anderen Seite des Kabel angeschlossen ist.
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#14

Beitrag von matschie »

DaSchaef hat geschrieben: Montag 20. August 2018, 07:50 Hat das Feld Lüfter? Eventuell steuert eine Leitung das Feld, die andere den Lüfter? Das dritte könnte dann vielleicht sogar Lüfterdrehzahl sein? Sieht mir zwar jetzt nicht auffällig danach aus, aber das kann mehrere Gründe oder Fehlerquellen haben.
Ja, das Feld hat Lüfter. Diese laufen auch noch nach ausschalten nach. Einige Zeit später ist ein Relais-ähnliches Klacken zu hören und ab dann steht die Kommunikation auf den zwei anderen Kanälen still.
Die Lüfter laufen aber soweit ich das beurteilen kann immer mit gleicher Drehzahl.
Ich glaube wir kommen nicht drum rum zu sehen was auf der anderen Seite des Kabel angeschlossen ist.
Dann werde ich mir das heute Abend mal ansehen und Fotos davon machen.
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#15

Beitrag von matschie »

Leider konnte mir der Hersteller kein Protokoll zuschicken, sodass uns das nicht weiterbringt.

Dafür habe ich die Platte gerade mal aufgemacht.

Nach gefühlt 1 Million Schrauben konnte ich die Platte auch abheben und musste erstmal feststellen: Verdamm sauber verarbeitet.

Auf dem Foto hier kann man den Anschluss des Bedienfelds sehen (der 5-Adrige Anschluss oben links).
DSCF8573.JPG
Leider kann ich nicht nachmessen, womit der verbunden ist, da das gesamte (!) Board vergossen ist (Wasserdicht?!?), inklusive aller Anschlüsse und Schrauben.

Übrigens sind insgesamt 5 Lüfter verbaut.

Dafür dass das Teil den gleichen Preis hat wie eine Hendi wirkt sie deutlich solider.

Ich schaue jetzt nochmal rein ob ich noch weitere Dinge erkennen kann.
Dateianhänge
DSCF8571.JPG
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#16

Beitrag von matschie »

DSCF8576.JPG
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
nettermann90
Posting Senior
Posting Senior
Beiträge: 396
Registriert: Freitag 14. April 2017, 16:46
Wohnort: 35415 Pohlheim

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#17

Beitrag von nettermann90 »

Puuuh also einen wirklichen Sinn sehe ich in der Kommunikation nicht wirklich. Eine normale Schnittstelle ist das auf keinen Fall.

Zu deinem letzten Bild: Links das ist alles ein kleines Hilfsnetzteil, vermutlich nur für die 5V vom Bedienteil. Die Kommunikation wird über die beiden oberen Optokoppler "EL817" abgewickelt. Der dritte ist nur für die Regelung des Hilfsnetzteil da. Das würde aber bedeuten, dass lediglich zwei der drei Leitungen für die Kommunikation zuständig sind.

edit: Was mir gerade noch aufgefallen ist: Die dicke weisse Linie auf dem Platine bildet optisch die Trennung zwischen den einzelnen Potentialen. Sieht man ganz gut daran, dass die unter den Optokopplern durch geht. Das untere fette Relais auf dem Bild, scheint zur Hälfte mit auf dem Potential vom Bedienteil zu liegen. Meine Vermutung: Das kleine Netzteil links läuft immer bis am Bedienteil "Ein" geschaltet wird. Dann wird das fette Relais zugeschaltet und der Rest der Schaltung, inkl. dem zweiten Mikroprozessor erwacht zum Leben. Das Relais müsste also auch irgendwie geschaltet werden. Meine Vermutung ist hierzu, dass sich ein weiterer Mikroprozessor auf der Rückseite der großen Platine, z.b. unter dem LMxxxx befindet. Dann könnte die letzte verbliebene Daten-Leitung zu diesem Prozessor gehen. Das würde auch erklären, warum der LMxxxx überhaupt vorhanden ist. Benötigt man dort nur eine Spannung, könnte man das Netzteil entsprechend auf 5V auslegen. Das Relais wird vermutlich aber 12V oder mehr benötigen. So arbeitet das Netzteil auf höhe der Relaisspannung und für den Prozessor wird auf 5V mittels LM runter geregelt.
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#18

Beitrag von DaSchaef »

Hm, also das nächste was ich prüfen würde ist die Kommunikation per Osci anschauen. Einfach um sicher zu gehen, dass der trace stimmt.
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#19

Beitrag von JackFrost »

Ich würde eher vermuten das der dritte Kanal das Relais direkt steuert. Ein dritter µC kostet nur Geld und braucht auch eine Software. Ein Relais ist da einfacher.

U7 dürfte für die Datenrichtung externe Steuerung-> Platte sein und U8 für Platte-> externe Steuerung. Leider laufen die Leiterbahnen auf der unteren Lage.

Kannst du mal die Spannungen der drei "Datenkanäle" gegen GND am Steuerteil messen, wenn die Platte eingesteckt ist. Wenn du Glück hast hat der Optkoppler einen Pullup und damit dürfte dann der eine Kanal schon mal sicher sein. Auf der Plattenseite hat der µC einen Pullup ( R59 ) für die Datenleitung.

Vom Layout her könnte der U7 auf den INT3 vom µC gehen. Beide µC haben keine Hardware UART, daher wird das eher ein selbst gestricktes Protokoll sein mit einem Sync am Anfag. die Bitzeiten sind ja so um 1 ms. Da muss auf jedenfall eine Prüfsumme drinnen sein. Beide µC haben keine CRC Einheit, daher könnte das eine einfache Summe auf 0xFF sein.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#20

Beitrag von JackFrost »

DaSchaef hat geschrieben: Montag 20. August 2018, 20:01 Hm, also das nächste was ich prüfen würde ist die Kommunikation per Osci anschauen. Einfach um sicher zu gehen, dass der trace stimmt.
Oder auch mit einem Saleae oder Clon die digitalen Signale mal aufnehmen. Eine hohe Abtastrate dürfte hier wichtig sein.

Die Bits sind so ca. 1,3 ms lang , die high/low Einleitung passt aber nicht in das Raster.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#21

Beitrag von matschie »

nettermann90 hat geschrieben: Montag 20. August 2018, 19:18 Was mir gerade noch aufgefallen ist: Die dicke weisse Linie auf dem Platine bildet optisch die Trennung zwischen den einzelnen Potentialen. Sieht man ganz gut daran, dass die unter den Optokopplern durch geht. Das untere fette Relais auf dem Bild, scheint zur Hälfte mit auf dem Potential vom Bedienteil zu liegen. Meine Vermutung: Das kleine Netzteil links läuft immer bis am Bedienteil "Ein" geschaltet wird. Dann wird das fette Relais zugeschaltet und der Rest der Schaltung, inkl. dem zweiten Mikroprozessor erwacht zum Leben. Das Relais müsste also auch irgendwie geschaltet werden. Meine Vermutung ist hierzu, dass sich ein weiterer Mikroprozessor auf der Rückseite der großen Platine, z.b. unter dem LMxxxx befindet. Dann könnte die letzte verbliebene Daten-Leitung zu diesem Prozessor gehen. Das würde auch erklären, warum der LMxxxx überhaupt vorhanden ist. Benötigt man dort nur eine Spannung, könnte man das Netzteil entsprechend auf 5V auslegen. Das Relais wird vermutlich aber 12V oder mehr benötigen. So arbeitet das Netzteil auf höhe der Relaisspannung und für den Prozessor wird auf 5V mittels LM runter geregelt.
Ich habe das Layout so verstanden:

links der ersten "dicken Linie" ist das Netzteil. Im Bereich zwischen den Linien kommt die externe Steuerung an. Der LMxxx hier ist für die 5V, die für das externe Bedienfeld gebraucht werden.

Dass eine Datenleitung das Relais schaltet, halte ich für recht realistisch, siehe weiter unten. Das würde auch die Leitung, die zwischen den beiden weißen Linien zum Relais geht, erklären.

Rechts der weißen Linien ist dann der Rest. Der LMxxx hier ist, denke ich, für den EMxxx - µC, der scheinbar zwei Leitungen zum externen Bedienfeld hat.
JackFrost hat geschrieben: Montag 20. August 2018, 22:08 Kannst du mal die Spannungen der drei "Datenkanäle" gegen GND am Steuerteil messen, wenn die Platte eingesteckt ist. Wenn du Glück hast hat der Optkoppler einen Pullup und damit dürfte dann der eine Kanal schon mal sicher sein. Auf der Plattenseite hat der µC einen Pullup ( R59 ) für die Datenleitung.
Ja, habe ich gemacht.

Leitung 1 (Blau) | AUS: +5V | EIN: (P1) 0V
Leitung 2 (Gelb) | AUS: Schwankt (2.5-3.5V) | EIN: (P1) Schwankt (2.5-3.5V)
Leitung 3 (Weiss)| AUS: +0V | EIN: (P1) Schwankt (2.5-3.5V)

Die Wahrscheinlichkeit, dass Leitung 1 das Relais schaltet und Leitung 2 vom Bedienfeld zur Platte und Leitung 3 die Gegenrichtung ist halte ich für recht realistisch.
DaSchaef hat geschrieben: Montag 20. August 2018, 20:01 Hm, also das nächste was ich prüfen würde ist die Kommunikation per Osci anschauen. Einfach um sicher zu gehen, dass der trace stimmt.
Heute Abend bekomme ich von einem bekannten ein Osci, danach gebe ich wieder Rückmeldung!
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
nettermann90
Posting Senior
Posting Senior
Beiträge: 396
Registriert: Freitag 14. April 2017, 16:46
Wohnort: 35415 Pohlheim

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#22

Beitrag von nettermann90 »

Du hast doch aber drei verschiedene "Signale" aufgenommen? Wo kommt das denn her, wenn eine Leitung für das Relais ist und nur An/Aus macht? Das Relais wird eher nicht so ein Datenpaket bekommen :-D
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#23

Beitrag von matschie »

Ich tippe mal stark auf Messfehler, da schechtes Gerät. Ich warte mal auf das Osci, dann wissen wir hoffentlich mehr.
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#24

Beitrag von matschie »

Guten Abend zusammen,

ich habe mich heute Abend nochmal hingesetzt und etwas rumgemessen.

1. Mit Multimeter gemessen
Platte aus:
Blau: 0V
Gelb: Schwankt
Weiss: 0V

Platte an:
Blau: Schwankt
Gelb: Schwankt
Weiss: 5V

Nach Ausschalten:
ca. 1 Minute nach Ausschalten gehen die Lüfter aus
ca. 2 Minuten nach Ausschalten geht Weiss auf 0, Blau auf 0 (ca. 2 sekunden Zeitversetzt)

-> Schlussfolgerung: Weiss schaltet das Relais an und aus, Gelb ist die Datenleitung vom µC des Bedienfelds zum µC der Platte, Blau ist die Gegenrichtung dazu.

2. Mit Oszilloskop gemessen
(Oben: Channel 1 (Blau), unten: Channel 2 (Weiss))

Platte aus:
IMG_0002.jpg
Platte an:
IMG_0004.jpg
3. Nochmal mit Logic Analyzer
Im Anhang findet ihr nochmal eine Zip-Datei mit neuen Captures.
Gemessen wurden Blau (Channel 0) und Gelb (Channel 1)
Folgende Dateien sind drin:
  • Aus.ols: Platte ist aus.
  • Einschalten.ols: Getriggert beim Einschaltvorgang.
  • P1 - An.ols: Platte ist auf P1 eingeschaltet, kein Fehler
  • P1 - Fehler E0 (Kein Topf).ols: Platte ist auf P1 eingeschaltet, Rückmeldung E0
  • P5 - An.ols: Platte ist auf P5 eingeschaltet, kein Fehler
Dateianhänge
Capture.zip
(8.92 KiB) 82-mal heruntergeladen
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#25

Beitrag von JackFrost »

Ich vermute fast das die Zeit zwischen zwei gleichen Flanken die Daten enthält. Immer wenn der Timer überläuft gibts z.B. ne Eins und wenn die Flanke vor dem Überlauf kommt, dann ne Null.
Die Bitfolgen unterscheiden sich nur in der Länge der Highs an ein paar Stellen.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#26

Beitrag von DaSchaef »

Ich komme mit beidem nicht weiter.
Das OLS Format ist sehr spezifisch, ich hab mir jetzt ein kleines LUA Programm geschrieben, um das in CSV zu bekommen.
Dann in Pulseview/Sigrock geladen.

Was mir auffällt ist, dass du viel zu wenig Abtastpunkte hast? Edge sensitive oder Delta Sampling kann es auch nicht sein.
Irgendwas stimmt da nicht. Siehe die Gelbe Markierungen im Bild.
toolow.PNG
Entweder muss der LA Edge sensitive sein, dann habe ich an jedem Eckpunkt ein Wert (nicht zweimal hintereinander den gleichen),
oder ich muss mit ausreichend hoher Sampling Rate fahren, da ist ein direkter Wechsel von 1 auf 0 oder umgekehrt gefährlich.
Könnte unterabgetastet sein.

Vorher will ich erst gar nicht tiefer einsteigen :crying
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#27

Beitrag von matschie »

Hmm, das ist natürlich käse. Ich schiebe das mal auf den Logic Analyzer.

Ich habe mal wieder im Bekanntenkreis rumgefragt und bekomme vermutlich morgen einen Salae (-klon), mit dem sollten bessere Ergebnisse möglich sein.
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#28

Beitrag von JackFrost »

Kannst du den Export dann auch online stellen ?
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#29

Beitrag von matschie »

Hallo!

Es gibt neue Daten.

Ich habe (mehr oder weniger) die gleichen Zustände aufgenommen wie vorher.
Einmal mit PulsView, einmal mit Saleae Logic, beide findet ihr im Anhang.

Hilft euch das weiter?

Viele Grüße,
Matthias
Dateianhänge
Saleae.zip
(27.88 KiB) 83-mal heruntergeladen
Sigrok.zip
(54.21 KiB) 75-mal heruntergeladen
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#30

Beitrag von DaSchaef »

Wie meinst du das? Mit welcher Hardware wurde das aufgenommen? Ich schau es mir die Tage mal an :)
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#31

Beitrag von matschie »

Mit einem Saleae-Klon.

Logic Analyzer mit 24 MHz. Sollte also deutlich mehr Datenpunkte geben als vorher.

Vielen Dank schonmal!

Viele Grüße
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#32

Beitrag von JackFrost »

Die Frames haben unterschiedliche Längen. Ich denke das es ähnlich zum Onewire ist. Wenn die steigende Flanke nach 1,28 ms kommt ist es low wenn es 5,12 ms sind dann ist high ( oder umgekehrt ). Da mit jeder fallenden Flanke synchronisiert wird, ist es egal der der µC auf der Platte keine stabile Taktquelle hat. Innerhalb der Platte wird es warm und der Takt stimmt dann nicht mehr.

Das Protokoll zu kompieren wird nicht schwer wenn mann es nur emulieren muss. Nur mit den Millis vom Arduino wirst du nicht arbeiten können, da die Zeiten unterschiedlich lang sind und keine gerade Vielfachen von ms sind.

Ich denke da ist es besser direkt in C oder C++ zu schreiben ( Atmelstudio ).

Ich persönlich würde einen xMega nehmen und den als SPI Slave von der Brausteuerung beschreiben.

Griß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#33

Beitrag von DaSchaef »

Wenn du nicht nur emulieren möchtest (nicht so flexibel, dafür viiiiiiiieeeeell einfacher)

Ich habe mal versucht einen kleinen Decoder zu schreiben.
Anbei eine Zip Datei für Pulseview (Sigrock).
decode.PNG
Installation:
Das Verzeichnis in der ZIP Datei muss nach C:\Program Files (x86)\sigrok\PulseView\share\libsigrokdecode\decoders
(o.Ä. je nach Installationspfad).
Danach kannst du nach einem Pulseview Neustart den Decoder "Induction" auswählen.

Dein Channel 0 hat leider einige Störungen drin. Ein paar dieser Störungen kann ich raus filtern. Leider nicht alles,
dafür müsste ich die Architektur des Decoder umstellen und das war mir zu viel Arbeit ;-) Hab ein bestehenden als Ausgangsbasis benutzt.

Vielleicht hilft dir das beim durchprobieren aus. Viel mehr wird jetzt schwer aus der Ferne.
Ich würde das iterativ angehen. Wonach ich Ausschau halten würde:
- Start bzw. Stopbits (Konstante Werte am Anfang/Ende)
- Numerische, ganzzahlige Werte suchen, mittels Abgleich was das Feld gerade macht (z.B. Poti-Stellung, Display-Wert usw.
Erkennbar über Tendenzen: z.B. Wenn Display Wert hoch geht und im Bitstream steckt dazu eine Zahl, muss da auch irgendwo ein Bitmuster hochzählen).
- Status Bits: Bits die einfach nur AN/AUS o.Ä signalisieren. Lüfter AN/AUS, Feld AN/AUS, Fehler JA/NEIN usw.

Was es noch geben kann, wonach ich in der ersten Analyse aber noch nicht suchen würde:
- Checksummen
Dateianhänge
toolow2.jpg
toolown3.PNG
induction.zip
(2.46 KiB) 73-mal heruntergeladen
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Es klappt!

#34

Beitrag von matschie »

Erstmal einen ganz Herzlichen Dank allen, die geholfen haben.
Ein wichtiger Schritt ist getan: Es funktioniert :Smile

Genauer: Ich habe einen Arduino genommen, und eine "Send"-Funktion basieren auf den Timings geschrieben, die wir aus den Captures rausgenommen haben.

Ich kann derzeit per Serielle Konsole vom PC aus über Eingabe von 0-5 die Leistung auswählen.
Die Rückantwort der Platte wird noch nicht ausgewertet.
Über das dritte Kabel wird in der Tat einfach das Relais gesteuert. Lüftersteuerung übernimmt die Platte selbst.

Die nächsten Schritte sind:
  • Anbinden an CBPi
  • Bier brauen und freuen dass es klappt :Bigsmile
  • Fehlermeldungen auswerten.
Den letzten Punkt habe ich schon angefangen. Leider kann ich nur den Fehler "E0" analysieren, da ich die anderen Fehler nicht künstlich erzeugen kann oder will. Bei E0 ändert sich genau 1 bit an der Rückantwort. Und immer der gleiche, egal auf welcher Stufe er steht.

Für alle die es interessiert hier mal die Liste an Befehlen:

Von Bedienfeld an Platte:
  • Aus: 0x140000040
  • P1: 0x1208000a0
  • P2: 0x120400060
  • P3: 0x120c000e0
  • P4: 0x120200010
  • P5: 0x120a00090
Rückantwort ohne Fehler:
  • Aus: 0x14000 + 4-Stellige "Random"-Nummer
  • P1-5: 0x12000 + 4-Stellige "Random"-Nummer

Rückantwort mit Fehler E0:
  • P1-5: 0x12002 + 4-Stellige "Random"-Nummer
Was die "Random"-Nummer ist habe ich noch nicht herausgefunden. Es sind verschiedene Werte, nicht aufsteigend, nicht absteigend. Keine Unterschiede in den Werten zwischen P1 - P5 feststellbar. Merkwürdig.
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#35

Beitrag von matschie »

Update: Rückantworten empfangen funktioniert auch :)
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#36

Beitrag von DaSchaef »

Sehr schön! :) machen die Zahlen vielleicht invertiert mehr Sinn? Bin gerade am Handy kann es leider nicht prüfen.

Gruß, Daniel
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#37

Beitrag von JackFrost »

Ggf. ist der rnd Teil auch die Kennung das der uC in der Plattenoch arbeitet und sich nicht aufgehängt hat.

Ausgehend von den Salea Aufzeichnung würde ich sagen das das erste High mit 5,7 ms eher noch zum Sync gehört. 33bit bedeutet ja das der uC nen uint64_t nutzen muss für die 33 Bit. Die restlichen Highs sind etwas kürzer. Damit währe es ein

Du kannst den Arduino ja mal als Platte an die Steuerung hängen und bei der Antwort immer den gleichen Wert senden wenn das rnd zur Sicherheit gehört müsste die Steuerung das Relais Abfällen lassen.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
Benutzeravatar
secuspec
Posting Freak
Posting Freak
Beiträge: 824
Registriert: Sonntag 9. Juli 2017, 06:31
Wohnort: Königstein
Kontaktdaten:

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#38

Beitrag von secuspec »

Sehr cool ! Respekt ! :thumbsup :Drink
Sudhaus von Crafthardware - 2 vessel HERMS 83l Töpfe mit Bodenablauf

HBST Rhein Main & Brausportgruppe e.V.
Bild
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#39

Beitrag von DaSchaef »

Ich habe mir mal deine Bedienfeld Werte angeschaut.
Schau dir mal den Screenshot an, wenn wir die Bitrichtung bei der Übertragung drehen, dann sind da Zahlen zu erkennen, die scheinen doch Sinn zu machen? ;-)
bitbedeutung.PNG
Was du damit machen könntest: Du kannst schauen was passiert, wenn du mit deinem uC mal die Zahlen änderst. Da müsstest du erkennen,
welcher Teil was macht.

Schreibe mal bitte ein paar der "Random" Rückantworten. Vielleicht ist da auch was zu erkennen.
EDIT: Am liebsten zeitlich zusammenhängende Paare: Bedienfeld / Platte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#40

Beitrag von JackFrost »

Wenn du alle gedrehten Bytes von ein ander abziehst ist die Summe 0

Das ist die Prüfsumme

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
DaSchaef
Posting Junior
Posting Junior
Beiträge: 31
Registriert: Mittwoch 4. Mai 2016, 22:58

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#41

Beitrag von DaSchaef »

Anbei mal Überlegungen zu einer einzigen Plattenantwort die ich gerade zur Hand habe. Den Rest aus den Captures habe ich mir noch nicht angeschaut. Daher stark geraten, gerade die Vermutung mit Temperatur ist sehr wackelig und voreilig:
platte.png
Das mit der Prüfsumme von JackFrost würde auch hier passen.
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#42

Beitrag von matschie »

Hallo,

ich war einige Tage unterwegs und konnte daher nicht antworten.

Das Bedienfeld schickt immer die gleiche Nachricht, ohne "Random-Nummer"

Temperatur denke ich auch nicht, da sich die Werte in gewissen Abständen wiederholen. Prüfsumme klingt logisch. Ich werde bei Gelegenheit etwas reinstellen. Ob ich das jedoch in meinen Code übernehme, mal sehen.. funktionieren tut es ja auch so und Fehlermeldungen kann ich ja auch auslesen.
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
Benutzeravatar
danieldee
Posting Freak
Posting Freak
Beiträge: 1686
Registriert: Montag 25. Juli 2016, 12:34
Wohnort: Bamberg

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#43

Beitrag von danieldee »

Ich bin einfach immer wieder begeistert was dieses Forum so erreicht!
Facebook @ungespundet
Instagram @ungespundet
--Fehlaromenseminare--
--Tastings--
--Braukurse--
--Beerjudge--
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#44

Beitrag von matschie »

danieldee hat geschrieben: Mittwoch 5. September 2018, 10:37 Ich bin einfach immer wieder begeistert was dieses Forum so erreicht!
Ich auch! Und auch von dem Einsatz und der Hilfsbereitschaft!

Sobald die Einbindung in CBPi funktioniert (siehe neues Thema), werde ich hier auch alles veröffentlichen.
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
Benutzeravatar
matschie
Posting Freak
Posting Freak
Beiträge: 673
Registriert: Samstag 17. März 2018, 17:26

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#45

Beitrag von matschie »

So, hier mal ein paar Beispiele:

Bei P1
4767 / c7e7 / 2717 / a797 / 2717 / 4767 / 87a7

P2
c7e7 / 4767 / 87a7 / 0727 / fbc7 / 7b47 / bb87

P3
0727 / fbc7 / bb87 / 3b07 / dbfb / 5b7b / 9bbb

P4
fbc7 / bb87 / 3b07 / 5b7b / 9bbb / 1b3b / ebdb

P5
87a7 / fbc7 / bb87 / 3b07 / 5b7b / 1b3b / ebdb

Das ist jeweils nur ein Ausschnitt an einer beliebigen Stelle. Außerdem werden die einzelnen Blöcke unterschiedlich oft wiederholt, also z.B. mit Endung 4767 4 mal, dann c7e7 6 mal, dann 2717 3 mal, etc.
Immer eine Handbreit Bier unterm.. äh, ne das ging anders.

Allzeit Gut Sud!
Matthias
jerry51
Neuling
Neuling
Beiträge: 1
Registriert: Dienstag 25. Juni 2019, 08:38

Re: Dechiffrierung Serielle Schnittstelle Induktionskochfeld

#46

Beitrag von jerry51 »

Hier finden Sie ein neues Board.
Zuletzt geändert von gulp am Dienstag 25. Juni 2019, 13:10, insgesamt 1-mal geändert.
Antworten