Ich habe vor etwas mehr als einer Woche den
OBDII LCD Modell C - Bausatz bestellt, zusammengebaut und konnte inzwischen erste Tests durchführen. Ich finde, es handelt sich wirklich um ein sehr gelungenes Projekt und ich kann mir vorstellen wie viel Arbeit bis zum aktuellen Stand drin gesteckt hat. Dennoch bin ich auf ein paar Probleme gestoßen, die sich theoretisch mit geringem Programmieraufwand lösen lassen.
Ich habe in einigen Beiträgen von Abstürzen des Gerätes an verschiedenen PKW gelesen und in der Antwort wird erwähnt, dass leider nicht alle Fahrzeuge sich an die gültigen Standards halten und wenn sie das täten würde das Display fehlerfrei funktionieren. Das bezweifle ich auch nicht aber ich fände es schön, wenn das Gerät durch geeignete Maßnahmen auch an nur teilweise kompatiblen Fahrzeugen zur stabileren Zusammenarbeit gebracht werden könnte.
Ich habe das Gerät an eine A-Klasse, Baujahr 2002 angeschlossen und zur Anzeige von 6 verschiedenen Messwerten konfiguriert, was auch beinahe problemlos funktionierte. Inzwischen ist das gesamte Gerät jedoch ohne programmiertechnischen Eingriff an diesem Auto quasi nicht mehr zu gebrauchen
Und das kam so: Bei der PID-Auswahl funktionierte alles fehlerfrei bis
PID 15. Sobald ich aber weiter drücke um den nächsten Wert nach "Einlass-Lufttemperatur" auszuwählen, stürzt das Gerät ab und startet neu. In Folge weiterer Versuche steht das Display nun auf Großdarstellung der Einlass-Lufttemperatur und jeder Versuch, diese Einstellung zu ändern wird mit sofortigem Absturz quittiert, da das Einlesen des darauf folgenden Wertes ja Ursache des Absturzes zu sein scheint.
Hier kommen nun einige Fragen und Verbesserungsvorschläge von mir :idea:
- Warum gibt es keinen Menüpunkt für das vollständige Zurücksetzen des Gerätes bei dem alle mit dem aktuellen Motorsteuergerät zusammenhängenden Daten wieder aus dem Datenspeicher gelöscht werden können?
Wäre dies der Fall, könnte ich trotz dieser Inkompatibilität wieder alle Messwerte bis PID 15 darstellen, ohne dass ein Eingriff in das Gerät notwendig wäre.
- Da ich leider das Programm selbst nicht kenne ist die nächste Option reine Spekulation: Statt das Gerät radikal bei jeder Verzögerung des Programmablaufs per Watchdog komplett neu zu starten, wäre auch der Einsatz eines zusätzlichen Timers denkbar, der bei Timeout nur den jeweiligen Bearbeitungsschritt abbricht. Bei Bedarf könnte dann die Kommunikation neu initialisiert werden, so dass das Programm schließlich beim nächsten Schritt normal fortgesetzt werden kann.
Alternativ oder zusätzlich könnten Schritte im Programmablauf die zu Problemen geführt haben abgespeichert und beim nächsten Mal einfach übersprungen werden.
- Zum Schluss hätte ich noch eine weitere Kleinigkeit. Es wäre ganz praktisch, wenn man im Menü wählen könnte ob das Display abgeschaltet werden soll, wenn kein ECU gefunden wird. Durch die beiden Temperatursensoren wäre das Gerät ohne ECU-Anbindung doch theoretisch immer noch als stylisches beleuchtetes Thermometer einsetzbar. Außerdem würde diese Funktion auch die Einstellbarkeit von Displayhelligkeit und Kontrast erleichtern, da sie dann nicht unbedingt mit offenem Gehäuse im PKW erfolgen muss. Nun ja, wäre mehr oder weniger Spielerei aber dennoch ganz nett denk ich.
Also hier noch mal die Zusammenfassung meiner Anregungen. Ich würde mich freuen, wenn sie in der weiteren Entwicklung aufgegriffen werden könnten.
Rücksetzbarkeit ermöglichen
Fehlerhandling im Zusammenspiel mit nur teilweise kompatiblen Fahrzeugen verbessern
Thermometermodus einbauen
Viele Grüße
Michael
P.S.: Falls Interesse besteht bin ich gerne bereit an der Umsetzung dieser Vorschläge mitzuarbeiten
