Eberspächer D3WZ: Signalkodierung auf der Diagnoseleitung

Bitte bei Problemen mit dem Forum das Endgerät und Version angeben!
  • da kommt dann eben die Störung "Unterbrechung Dosierpumpe". Die wird auf Kurzschluss oder Unterbrechung beim Power-on-selftest geprüft, wie die Glühkerze, der Verbrennungslüftermotor oder der Flammwächter, wenn sich keine stabile Flamme aufbaut, oder er sehr stark verschmutzt ist.


    Alle sagen, "das ist unmöglich". Einer hatte das nicht gewusst, und es dann gemacht.

  • Um dem STG eine Dosierpumpe vorzutäuschen, geht auch ein Widerstand im Kiloohm-Bereich. Ich habe mal einen 47k Widerstand genommen und das ging auch.

    tapatalked... errors included ;(

    Viele Grüße Robert
    477632.png


    Vorsicht!
    Dieser Beitrag kann Spuren von Ironie, Sarkasmus, satirischen Äußerungen und weiteren rhetorischen Figuren enthalten.

  • Hallo Robert,
    wenn man auf der Werkbank den Zh testet, z.B. ohne Moduluhr oder KD2000, nur mit einem Adapter-Kabel ist es hilfreich zu sehen ob die
    "Dosierpumpe" auch getaktet wird. Es hat ja nicht jeder eine Diagnosemöglichkeit zum Fehlerauslesen.
    Bei einem 47 kOhm Widerstand bekommt man recht wenig davon mit. :D:D:D
    Trotzdem danke für den Hinweis, könnte ja mal im Notfall der letzte Strohhalm sein den man ergreift.

    ---> auf dem Weg mit der Plastik-Karte in die bargeldlose Totalüberwachung und mit Negativzinsen auf Sparguthaben bzw. Altersvorsorge! <--- :thumbdown:
    Bargeldabschaffung bedeutet: Auflösung der bürgerlichen Freiheit

  • Ich habe mit dem Steuergerät auf dem Tisch und OBD Kabel und KD2000 ein paar Tests gemacht.
    Es gibt ein paar neue Erkenntnisse:

    Vielleicht noch kurz zum Vorgehen:
    Ich habe den T8 Stecker vom Steuergerät so beschaltet, das es Startet und dann am internen T14 Stecker mit Widerständen einzelne Pins verbunden (immer die jeweiligen Paaare). Da alle Werte bis auf einen konstant waren konnte ich feststellen welcher Wert im String sich ändert.

    Die Nummerierungen im folgenden beziehen sich immer auf den von KD2000 unten in der Leiste ausgegebenen String in Hexa dezimal, die empfangenen Daten. Dabei meine ich mit Position 1 das erste Zahlenpaar (Ziffer 1 und 2) und mit 2 das 2. Paar (Ziffer 3 und 4).

    Für folgende Positionen habe ich etwas herraus gefunden, die ersten bekannten nenne ich der Vollständigkeit halber nochmal:
    1: aktueller Fehler
    2: Anzahler der Fehler im Speicher (erst durch 2 verschiedene Messungen geprüft)
    3-7: Fehlerspeicherplatz 1-5
    9: Flammfühler (G64)
    10: Überhitzungsfühler (G189)
    11: Temperaturfühler(G18 )
    16: Batterie Spannung
    21: noch etwas unklar, aber es verändert sich z.b. wenn sich D+ oder Klemme 15 am T8 Stecker verändern, also irgendwie ein Statusindikator
    30 und 31: Sind als 4-stellige Hexadezimalzahl zu interpretieren. Nach Umrechnung in Dezimal erhält man die Gesamtlaufzeit in Minuten.

    Ich bin der Meinung, dass die Temperaturmesswerte nicht in konkreten Zahlenwerten für die Temperatur übertragen werden (gilt nicht für die Laufzeit), die einfach nur in Hexadezimal umgerechnet werden. Vielmehr glaub ich das es einen festen Bereich an gültigen Werten (nicht bestätigte Annahme für Flammfühler) -50 bis 600°C gibt. Es steht eine zweistellige Hexazahl zur Verfügung, also 256 mögliche Zustände. Diese möglichen Zustände werden in gleichen Abständen auf das Interval von -50 bis 600°C aufgeteilt. Was einer Auflösung von 2,5°C entspricht. Dies würde auch Sinn machen, da die Werte für die Brennkammertemperatur, nach meinen bisherigen Beobachtungen, immer um 2 oder 3 Grad springen. Anders gesagt: es gibt nur 284 und 287°C, die Werte dazwischen werden nie angezeigt.

    Als nächstes werde ich versuchen die Grenzen von den Bereichen für Spannung und Temperatur heraus zu finden.
    Wie ich die Position von den anderen Werten wie z.B. der Spannung am Motor und die Frequenz der Dossierpumpe heraus bekomme, weiß ich noch nicht.

    Einmal editiert, zuletzt von Jannes (10. April 2014 um 12:41)

  • Servus,

    in einem anderen Thread ist momentan die Beobachtung aufgetaucht, dass in (zumindest einigen) Zuheizern einige Komponenten anders angeschlossen sind, als von VW und im Wiki dokumentiert. Konkret ging es um den G64. Auf welche Informationen hast Du Dich denn gestützt? Tatsächliche Verschaltung im Zuheizer oder irgendwelche Schaltpläne von VW oder aus dem Wiki?

    Schönen Gruß,
    Christoph

  • Servus,

    in einem anderen Thread ist momentan die Beobachtung aufgetaucht, dass in (zumindest einigen) Zuheizern einige Komponenten anders angeschlossen sind, als von VW und im Wiki dokumentiert. Konkret ging es um den G64. Auf welche Informationen hast Du Dich denn gestützt? Tatsächliche Verschaltung im Zuheizer oder irgendwelche Schaltpläne von VW oder aus dem Wiki?

    Schönen Gruß,
    Christoph

    Ich hab die Entdeckung gemacht ;)

  • Moin Moin,

    ich hab heut mal etwas gebastelt und das Signal am D3WZ Steuergerät mitgeplottet.
    Die X-Achse zeigt die Zeit in ms und die Y-Achse die Spannung in V an.
    Der Zuheizer selbst war nicht am Steuergerät angeschlossen.

    Ich werde in der nächsten Zeit einige Tests machen, um die Kommunikation mit dem Zuheizer zu protokollieren.

  • Nabend!

    Ich habe mir mal die Mühe gemacht und den Anschluss vom Flammfühler in ca 100 Ohm Schritten durchgemessen. Ergebnis ist folgendes:

    Der gültige Wertebereich liegt zwichen rund 800 und 3200 Ohm. Die Werte von -50 bis 600°C darstellen.
    Ich habe das ganze mit Excel dokumentiert und in einem Diagramm mit Trendline (Polynom 3. Grades passte am besten, 2. Grades ist aber auch sehr brauchbar) ausgewertet:
    Flammfühler.PNG

    Mit der interpolierten Funktion ( y = 2E-05x3 - 0,0019x2 + 1,5707x - 67,776 ) können nun also eingelesene Daten im Dezimalformat in die Temperatur des Flammfühlers umgerechnet werden.

    Gleiches habe ich noch für die anderen beiden Temperatursensoren vor. Falls jemand anderes Lust hat drängel ich mich allerdings nicht vor ;)

  • Hallo!

    Das Projekt geht in eine neue Richtung. Nicht von der Grundidee aber von der Umsetzung.

    Ein Kommilitone hat mich auf ein interesanntes Board aufmerksam gemacht. Es dient zur direkten Steuerung von Digitalen und Analogen Ein- und Ausgänge über Android. Man kann dabei in Android direkt über eine Biliothek auf die Pins zugreifen und muss sich keine Gedanken über die Kommunikation zwischen Smartphone und Board über Bluetooth oder USB machen. Das Board kostet ca 25€.
    Board bei Ebay
    Das Board verfügt u.a. über eine UART Schnittstelle. Bei meinen Recherchen bin ich auf einen IC gestoßen, der (erfolgreich getestet) die Signale der Diagnoseleitung auf UART umsetzt. Es ist der MC33660. Damit ist das Einlesen der Diagnoseleitung fast ein Kinderspiel.
    Erste Tests habe ich mit dem MC33660 und einem UART auf USB Wandler durchgeführt. Ich habe den Input mit einem Terminalprogramm mitgelogt und es sind ein paar interesante Dinge rausgekommen:
    Der gesamte String der ankommt ist mehr als das was man bei KD2000 zu sehen bekommt:

    55 40 5E44 5E40 5E40 5E40 5E45 5A 48 45 30 5E45 3C 3C 3C 3C 3C 5E4E FF F3 F3 FF 5E40 53 5E40 BA 5E40 5E5B 5E40 5E40 5E43 8D 43 5E40 5E40 5E40 5E40 5E41 5E40 72 44 5E41 5E41 60 5E41 41

    Den Beginn habe ich bei "55" gelegt, weil das in Binär genau die Folge von High und Low Pegel (Takt) ist, welche bei der Messung mit dem Oszi den Beginn darstellten. Die Sequenz wird pausenlos wiederholt.
    Ich habe natürlich sofort versucht die Sequenz, die ich bei KD2000 sehe:

    30 05 3C 3C 3C 3C 3C 0E FF F3 F3 FF 00 53 00 BA 00 1B 00 00 03 8D 43 00 00 00 00 01 00 72 44 01 01 60 01 41

    aus dem langen String zu extrahieren. Erst mit einer Annahme mit Erfolg. Die Annahme ist, das "5E4"="0" und "5E5"="1" bedeutet. Ich kann dem keinen Sinn abgewinnen, aber es passt. Ich konnte so fehlerfrei den KD2000 String erhalten.

    Aktueller Stand was bischer geklappt hat mit dem IOIO-Board:
    -Dimmen einer Halogenlampe mit PWM (mittels externem MOSFET)
    -Ausgabe des Strings in voller Länge in unkontrollierter Geschwindigkeit und Abfolge, ohne Auswertung
    -Spannungsmessung

    Zum Schluss eine kurze Zusammenfassung meiner Idee zu Einsatzmöglichkeiten des Boards:

    -Fernsteuerung der Standheizung in Bluetoothreichweite
    -Diagnose des Zuheizers
    -Livedaten im Betrieb (Flammfühler, Wassertemperatur)
    -Beliebige Startvorwahl nach Datum und Uhrzeit oder z.B. in 2 Stunden
    -PWM Steuerung der Gebläse
    -Temperaturwert des Wassers im Zuheizer zur PWM Steuerung der Wasserpumpe verwenden -> schneller warme Luft im Innenraum
    -Boardspannung messen
    -momentanen Stromverbrauch messen
    -Verbrauchte Kapazität
    -Außen- Innentemperaturmessung
    -Temperaturbedingte Einschaltung der Standheizung

    Zukunftsmusik:
    -Fernsteuerung der Standheizung via UMTS-Netz über 2. Handy inkl. Diagnosemeldungen
    -Anbindung an OBD2

    -es kommen laufend neue Ideen dazu :thumbup:

    Einmal editiert, zuletzt von Jannes (7. Juni 2014 um 15:03)

  • Hallo Jannes,
    alle Achtung, Hut ab für dein Engagement. :thumbup::thumbup::thumbup:

    Früher, vor vielen Jahren, war ich genau so "besessen" von manchen Ideen ;)

    Ich bin gespannt wie das Daten-Protokoll zur D3LC aussieht.
    Bei mir ist die Luft, in Bezug auf D3WZ / D3LC-Forschung raus,
    wünsche dir aber Durchhaltevermögen und letztlich auch Erfolg.

    Gruß zeroT4

    ---> auf dem Weg mit der Plastik-Karte in die bargeldlose Totalüberwachung und mit Negativzinsen auf Sparguthaben bzw. Altersvorsorge! <--- :thumbdown:
    Bargeldabschaffung bedeutet: Auflösung der bürgerlichen Freiheit

  • Richtig gut!! Bin auf die komplette Handy-Steuerung des Autos gespannt :)

    Was man später wohl seinen Kindern erzählen wird...

    Besser 3x Googeln als einmal nachfragen...

  • Es geht voran! Prototyp der Diagnoseapp läuft!

    Es ist schon eine Weile her, dass ich auf die Idee mit dem IOIO Board und dem MC33660 gekommen bin. Jetzt kann ich berichten, dass ich das erste mal erfolgreich mit einer von mir geschrieben Android App sowohl den aktuellen Fehler als auch den Fehlerspeicher auslesen kann.
    Da mir erste Lösungen mit Lochrasterplatinen für den MC33660 nicht gefallen haben und ich mich in letzter Zeit sowieso mit Platinenlayout auseinandergesetzt habe, habe ich u.a. eine Platine entworfen, die im Prinzip das gleiche kann wie das blaue OBD Kabel (Diagnose über USB mit KD2000) nur mit der zusätzlichen Funktion, dass ich die UART Signale abgreifen und somit an das IOIO Board anschließen kann. Das ist die Platine (ca 4.2x3.2cm):
    diagnose auf usb.JPG
    Jetzt ist das nächste Ziel die Werte der Temperatursensoren und andere Werte die ich in dem String identifizieren konnte auch mit der App anzeigen zu können. Außerden das Ein- und Ausschalten der Standheizung mittels App. Ich denke ich werde die Berichte von den weiteren Fortschritte bezüglich der App in einem neuen Thema mit dem Namen "Diagnose App" unterbringen.

    Parallel zu dem Diagnose per App Projekt habe ich auch noch eine Platine zur PWM Steuerung des Gebläses entworfen. Ich habe die Platine schon hier rumliegen. Sie will allerdings noch bestückt und getestet werden. Nach meinen Berechnungen komme ich mit diesem MOSFETs ohne Kühlkörper aus. Eine Kupferfläche auf der Platine ist ausreichend, um die Verlustwärme abzugeben. Platinengröße ca 6.5x4.8cm
    PWM.JPG

    Ein weiteres Projekt, das leider bisher nur begrenzt erfolgreich ist, ist der Entwurf eines DCDC-Converters für große Ströme (>5A) mit dem IC LTC3780. Der Stand ist, dass die Schaltung funktioniert, aber nur mit ca 1A belastbar ist, bevor die Ausgangsspannung zusammenbricht. Ursache aktuell unbekannt.
    Ziel dieses Projektes ist es den Strom für die Standheizung nur aus einer 2. Batterie zu entnehmen, obwohl die Standheizung an die Starterbatterie angeschlossen ist. Realisiert dadurch das die 2. Batterie die die Starterbatterie mittels DCDC-Converter lädt.
    DCDC.JPG

    Einmal editiert, zuletzt von Jannes (24. Februar 2015 um 00:42)

  • eine Platine zur PWM Steuerung des Gebläses

    Aus eigener Erfahrung kann ich dir sagen, dass das nicht gut funktioniert. Die Gebläse im Bus quittieren eine PWM-Ansteuerung mit wildem Ripple auf dem Bordnetz. (dv bis zu einem Volt)

    Viele Grüße Robert
    477632.png


    Vorsicht!
    Dieser Beitrag kann Spuren von Ironie, Sarkasmus, satirischen Äußerungen und weiteren rhetorischen Figuren enthalten.

  • Hi,

    Zitat

    Die Gebläse im Bus quittieren eine PWM-Ansteuerung mit wildem Ripple auf dem Bordnetz. (dv bis zu einem Volt)

    man könnte versuchen mit einem DC/DC Wandler die Spannung für den Lüfter zu generieren um etwas effizienter zu sein.

    Zitat

    Entwurf eines DCDC-Converters für große Ströme (>5A) mit dem IC LTC3780. Der Stand ist, dass die Schaltung funktioniert, aber nur mit ca 1A belastbar ist, bevor die Ausgangsspannung zusammenbricht. Ursache aktuell unbekannt.

    schick mal den Schaltplan und dann schau ich mal ob was auffällt. Aus dem "Bauch" klingt das nach zu großen Spitzenströmen.

    Gruß Frank

  • Aus eigener Erfahrung kann ich dir sagen, dass das nicht gut funktioniert. Die Gebläse im Bus quittieren eine PWM-Ansteuerung mit wildem Ripple auf dem Bordnetz. (dv bis zu einem Volt)

    Wie sah deine Schaltung denn aus? Die Gebläse ziehen ja ne Menge Strom, ich kann mir schon vorstellen, das es da ordentlich große Kondensatoren braucht

  • Wie sah deine Schaltung denn aus? Die Gebläse ziehen ja ne Menge Strom, ich kann mir schon vorstellen, das es da ordentlich große Kondensatoren braucht

    So.
    Ich habe Kondensatoren bis 4700uF getestet. Jetzt werde ich es mit einem Buck-Konverter versuchen. Das Layout ist fertig, die Platine muss ich jetzt noch machen.

    Viele Grüße Robert
    477632.png


    Vorsicht!
    Dieser Beitrag kann Spuren von Ironie, Sarkasmus, satirischen Äußerungen und weiteren rhetorischen Figuren enthalten.