Eberspächer D3WZ: Signalkodierung auf der Diagnoseleitung

Bitte bei Problemen mit dem Forum das Endgerät und Version angeben!
  • Hi,

    Zitat

    große Kondensatoren

    hier muss man auf die Parasiten achten, ein "low ESR" Cap sollte es schon sein. Manchmal findet man "Minimum" Angaben zu diesen Parametern im Datenblatt des DC/DC Drivers.

    Gruß Frank

  • 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.


    Die Low ESR Elkos mit 4700µF bei Reichelt haben einen Ripple Current von 3,8A. Da brauch es schon ein paar in Parallel geschaltet, um die Strom für das Gebläse zu treiben. Ich setzte zusätzlich zu den Low ESR Elkos auch auf Keramikkondensatoren mit 47µF 16V. Kerkos sollen meines Wissens nach einen niedrigeren ESR haben. Das konnte ich aber leider noch nicht mit einem Datenblatt bestätigen.

  • Google mal nach "Saftschubse"

    Ja, die Seite von microcharge kenne ich! Ich habe zu Beginn des Projekts mal geschaut, was ist möglich und was gibt es schon. Als ich dann aber den Preis für die Saftschubse gesehen habe, war die sofort raus und ich habe mich um so mehr angespornt gefühlt es selber zu machen.

  • 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)


    Welche Frequenz hast du verwendet? Hast du das Projekt vllt sogar hier im Forum gepostet? Dann schick mir einfach den Link und ich guck da mal rein

  • Nabend!

    Nach den gestrigen erfolgreichen Tests der Diagnoseapp mit ausgebautem Steurgerät auf dem Schreibtisch, habe ich heute den Test im Auto durchgeführt.

    Die Ergebnisse:
    Die Auswertung des Flammfühlers funktioniert mit der Einschränkung, das die Werte eine Abweichung von 5-10°C von denen mit KD2000 haben.
    Die App scheint mir nach einem Durchlauf der Schleife im Programm abzuschmieren, da die Temperaturwerte nicht geupdated werden und ich ein Popup bekommen: "Stream has been closed". Habe offensichtlichen einen grundlegenden Fehler im Aufbau meiner App, den es jetzt zu finden gilt. Hat zufällig hier jemand Erfahrung mit Android Programmierung :?: Ich bin ja eigentlich Elektrotechniker :)

    Eine Sache die mich positiv überrascht hat: Die Bluetoothverbindung funktionierte bei Sichtverbindung bis 30 große Schritte gut und teilweise sogar bis 40. Wobei ich nicht weiß, ob die Instabilität nur durch die Verschlechterung der Verbindung verursacht wird oder ob der Fehler in meiner App auch einen Einfluss hat.

    So sieht die App aktuell aus:
    2015-02-24 13.48.16.jpg

    Und zum Vergleich KD2000 wenige Sekunden später
    2015-02-24 13.48.24.jpg

    Einmal editiert, zuletzt von Jannes (24. Februar 2015 um 23:41)

  • Gute Arbeit. Ich bin gespannt, wie es weiter geht.

    Ertmal ne Weile nicht so schnell, leider. Habe noch 2 Klausuren an der Uni und die Bachelorarbeit steht im Anschluss an.
    Außerdem stellt es sich als knifflig heraus, die erte simple Version der App in eine Version zu überführen, die für weitere Funktionen geeignet ist. z.b. Steuerung des Lüfters mit PWM über die App, während im Hintergrund die Standheizung weiter angesteuert wird inkl. Diagnosefunktion und beim Auftretten eines Fehlers z.B. ein Popup kommt. Dazu versuche ich gerade die Kommunikation des Handys mit dem IOIO Board von einer Activity in einen Service auszulagern.

  • In welchen Bereich würde das Thema "Android Diagnose- und Steuerungsapp für D3WZ" eigentlich am Besten passen? "Tipp und Tricks" oder "Fahrzeugtuning" ? Es geht zwar zu einem großen Teil um die Standheizung, aber eben auch um Gebläsesteuerung mit PWM und Temperaturregelung, die evtl. auch Leute interessiert die nicht im Standheizungsbereich unterwegs sind.
    Außerdem sollen nach und nach diverse Funktionen folgen und am Ende steht die große Idee von der "T4 App". In wiefern ich das schon in dem Thema entwickeln bzw. Ideen zusammentragen will, weiß ich noch nicht. Die Idee von 2 parallelen Thema zu einem Projekt finde ich allerdings irgendwie auch nicht so glücklich. Aber das baldige Sammeln von Ideen zu Funktionen der T4 App fände ich gut, um eine Idee davon zu bekommen wie groß das Projekt wird und ob und wie es überhaupt realisiert wird.
    Auch würde mich interessieren wer alles interesse hat an dem Ergebniss bzw. wer sich aktiv einbringen mag.

    2 Mal editiert, zuletzt von Jannes (11. März 2015 um 21:58)

  • Ich kram das Thema mal wieder aus.
    Meine Meinung dazu: die Entsperrung, so wie sämtliche Kommunikation zwischen Moduluhr und ZH müssen auf der Diagnose-Leitung ablaufen. Grund ist: http://www.t4-wiki.de/wiki/Zuheizer_(Fehlersuche) bei dem hier angegebenen Adapterkabel wird die Moduluhr auch nur über 3 Pins angeschlossen, 12V GND und Diagnose. Damit soll auch die Entsperrung möglich sein.

    Hat jemand mal die Möglichkeit zu loggen, was auf der Leitung passiert, wenn man eine Taste an der Moduluhr drückt? Und was passiert wenn man die Entsperr-Tastenkombination durchführt? Es ist einfach zu verlockend eine Low-Cost Variante der Moduluhr mit einem Arduino etc. zu basteln. Wenn man nur mal die Vorgänge auf der Leitung kennt, dann sollte das kein Problem sein.

  • So wie ich das sehe, wird ein Impuls definierter Länge ausgegeben. Aus dem Grund können die klassischen Diagnosekabel das auch nicht. Auch das Reizen (Einleiten) der Kommunikation mit der B/D3L läuft über einen längeren Impuls. Die Eberspächer Software gibt das über eines der Handshake-Signale am FTDI aus, aber der ist bei den üblichen Diagnoseadaptern nicht mit der K-Line verbunden.

    Ralf

    Sei schlau, fahr ACV ;) 2003er MV Atlantis

  • Auch das Reizen (Einleiten) der Kommunikation mit der B/D3L läuft über einen längeren Impuls.

    Den Ablauf der Kommunikation zwischen D3LC und Diagnoseuhr habe ich mal untersucht. Nach dem Drücken der Heiztaste wird die Diagnoseleitung, die über einen Pullup Widerstand auf 12V gehalten wird, von der Diagnoseuhr für genau 3 Sekunden auf Masse gezogen. Daraufhin antwortet die Standheizung in einer Endlosschleife mit den Diagnoseinformationen.

    So sieht die Reizung aus:
    Startsequenz der Diagnoseuhr.PNG

    Wie auch beim D3WZ ist das erste von der Luftstandheizung gesendete Byte eine 0x55
    Diag Anfang Datenübertragung.PNG

    Insgesamt sendet die D3LC weniger Daten als der D3WZ. Der aktuelle Fehler ist die erste 0x30. Dann die Anzahl an gespeicherten Fehlern im Fehlerspeicher 0x05 und dann die 5 gespeicherten Fehler. In meinem Fall alles 0x30, da es am einfachsten war die Dosierpumpe zu unterbrechen.
    Eine Periode der Datenübertragung.PNG

    Ich habe mal mit einem Arduino und einem 1k Pullup Widerstand und einem NMOS das ganze nachgebildet und konnte damit erfolgreich die Diagnose aktivieren. Dann kann man das Diagnosekabel verwenden und den Fehlerspeicher auslesen. Oder mit dem MC3360 das K-Line Protokoll auf einen für einen mit 5V laufenden Arduino verständlichen Pegel umsetzen und dann das serielle Signal im Arduino auswerten. Ich habe so eine Schaltung zum Laufen gebracht sowohl für den neueren D3WZ und die neuere D3LC (beide Baujahr 2000) und sogar mit zwei NRF24l01+ eine Art Funk Fernbedienung aufgebaut. Mit der Reichweite bin ich leider nicht ganz zufrieden. Der NRF arbeitet bei 2,4GHz und die sind, wie sich bei Tests zeigte ziemlich anfällig bzgl. Hindernissen. Ich habe bei Sichtverbindung 500m geschafft, aber eben bei Hindernisse kaum 50m. Ich bin bisher noch nicht dazu gekommen das Einschalten über Funk zu implementieren und insgesamt ist das noch ein loser Aufbau auf der Seite der Fernbedienung.

    3 Mal editiert, zuletzt von Jannes (5. Dezember 2016 um 14:21)

  • Dann ist für mich das letzte große Rätsel tatsächlich : Was passiert, dass ein gesperrter Zuheizer wieder entsperrt wird.
    und natürlich wie die Fehler gelöscht werden....

  • Dann ist für mich das letzte große Rätsel tatsächlich : Was passiert, dass ein gesperrter Zuheizer wieder entsperrt wird.
    und natürlich wie die Fehler gelöscht werden....

    Zu diesen Fragen habe ich nur folgende Erfahrungswerte:
    Ich hatte mal einen Fehler in meiner Schaltung, bei der soweit ich mich richtig erinnere die Diagnoseleitung dauerhaft nach Masse gezogen wurde. Im Anschluss waren keine Fehler mehr im Fehlerspeicher gespeichert.
    Bischer hatte ich noch nicht die Möglichkeit (mangels eigener Diagnoseuhr) dieses Szenario absichtlich herbeizuleiten und währenddessen zu messen.

  • Ähm. Das wäre mal eine Klasse Erkentniss für all die Leute ohne Diagnoseuhr.
    Bisher sagt man den Leuten, bei denen der Zuheizer keinen Mucks mehr macht: "tausch mal die Glühkerze" und wenn der Zuheizer gesperrt war oder die Spritpumpe eine Unterbrechung hat, geht danach immer noch nichts. So könnte man die Sperre wenigstens ohne Uhr beheben und dann weiter im Nebel stochern.

  • Ich scheine aber meine D3L mit diversen Versuchen nachhaltig verärgert zu haben, die spricht nämlich gar nicht mehr mit mir...
    Da sie läuft, ist es erstmal (seit gut 2 Jahren) kein Problem.

    Ralf

    Sei schlau, fahr ACV ;) 2003er MV Atlantis

  • Hat unser Jannes: schon Zeit gehabt sich weiter mit dem Löschimpuls auseinander zu setzen? :)

    Ich habe leider keine Diagnoseuhr, um Messungen durchzuführen. :(

    Dafür arbeite ich u.a. jetzt gerade an einer Arduino basierten Funkfernbedienung mit 0,96" OLED Display und 2,4 GHz Funkmodul (NRF24L01+ mit PA und LNA) versorgt von einer LiIon Zelle mit:
    - Einschaltfunktion für D3lC und D3WZ
    - Diagnose für D3LC und D3WZ (bisher nur der neuere Zuheizer)
    - Livestreamingmodus für D3WZ mit Übertragung der Flamm- und Wassertemperatur
    - 2. Batterie Spannungs- und Stromüberwachung

    Die Übertragung zwischen den beiden Modulen inkl 200 mikroA Sleepmodus ist bereits implementiert und funktioniert.
    Ich hab den Arduino der in den Bulli eingebaut werden soll allerdings noch nicht eingebaut.

    Es gibt noch einiges zu tun bezüglich der Darstellung auf dem Display und aktuell bin ich dabei die Strommessung vernünftig zu filtern. Problem ist, dass die Dosierpumpe 1A Strompulse (siehe Anhang, Shunt=10mOhm) verursacht, die für eine vernünftige Messung weggefeilter werden wollen. Bringt neue Probleme mit sich bei einer Pulsedauer von mehreren 10 Millisekunden. Wenn jemand da ne gute Idee hat immer her damit!

    strompulse dosierpumpe.jpg

    Außerdem warte ich auf ein neues OLED Display. Hab mir das vor ein paar Tagen zerschossen. Sowie auf eine ordentliche Antenne mit Magnetfuß, um sie auf das Dach vom Bulli zu befestigen (Nur eine Zwischenlösung!).
    Ich bin zuversichtlich bald konkrete Ergebnisse präsentieren zu können! :)