OBD-II LCD - Eigenprojekt




Tips und Tricks für den Innenraum.

Moderator: Team

OBD-II LCD - Eigenprojekt

Beitragvon Kermit » 19.06.2009, 16:29

So, ich habe mir nun ein eigenes, lauffähiges Display-Projekt geschaffen, das über kurz oder lang meinen Scangauge ersetzen soll.
Hardwaremäßig habe ich mich an das "OBD II LCD Modell C"-Projekt von orientiert. Ich habe in dem nun auch die MC33290 Pegelanpassungs-ICs bestellt und mich heute getraut das ganze in meinen C1 zu testen. Es funktioniert bestens!
Vorher habe ich es auf einen selbstgebauten OBD2-Simulator (welcher die gleichen Messwerte wie der C1 liefert) getestet. Hier mal ein Bild:


Das Display ist ein großes Wintek mit 4x27 Zeichen, welches es für 5EUR bei Pollin.de gibt. Es hat leider keine Hintergrundbeleuchtung und der Kontrast ist sehr bescheiden (im C1 von der Seite sah es aber sehr gut aus). Hintergrundbeleuchtung werde ich demnächst versuchen nachzurüsten. Im haben das auch schon einige gemacht.
Die Tastenfelder kann man auch nutzen, braucht nur eine passende Tastenmatte (eine alte Fernbedienung vom Flohmarkt mit passenden Tastenabstand werde ich noch auftreiben können) und ein entsprechendes Gehäuse.

Kosmetisch ist da (softwaremäßig) noch einiges an der Anzeige zu verbessern, aber ich bin erst mal froh das es überhaupt läuft. Am Wochenende werde ich mal versuchen eine Platine zu entwerfen.

Die Software habe ich zum größten Teil von dem übernommen. Musste da einiges anpassen, da ich keine Arduino Hardware nutzen möchte. Alles was der C1 eh nicht kann/hat, habe ich auch raus geworfen. Ebenso die Möglichkeit über den (teuren) Interpreterchip ELM323 zu kommunizieren. kann man meine erste Anpassung (natürlich alles freie Software) bekommen.


Was noch meine weiteren Ziele sind:

Wie im "OBD II LCD Modell C" sollen noch

- die beiden Temperaturfühler mit rein (habe schon damit experimentiert, als ich mich in AVR eingearbeitet habe)

- der Summer mit rein

- Die Spannungsmessung ebenfalls

Darüberhinaus sollen noch:

- 32,768kHz Quarz und Uhr

- Sleep-Mode Implementierung, so dass es permanent angeschlossen ist ohne die Batterie leer zu saugen, wenn der Wagen mal einige Zeit steht. Dabei soll bei abgeschalteten Wagen die Uhrzeit in großen Ziffern angezeigt werden. Dafür habe ich auch schon eine Lib: Sieht dann auf den Pollin-Display so aus:


- wenn ich ein besseres Display, das in etwa so groß ist wie das Wintek von Pollin, finde (und es sich preislich einigermaßen im Rahmen hält), werde ich es ersetzen.
Das 4zeilige LCD vom "OBD II LCD Modell C" ist viel zu klein und für die Größe auch viel zu teuer. Außerdem gibt es das nicht mit passender Hintergrundbeleuchtungsfarbe
Kermit
 
Beiträge: 180
Registriert: 29.01.2009, 17:25
Wohnort: Köln

von Anzeige » 19.06.2009, 16:29

Anzeige
 

Beitragvon C1-Knechter » 19.06.2009, 17:07

:hello1: Klingt ja super, Glückwunsch zur gelungenen Generalprobe!
Genau die Displaygröße vom Scangauge war mir auch zu klein und zum sofortigen Umbauen wars mir zu schade.
Danke fürs Bereitstellen der Sourcen! Dann bestelle ich mal Stecker und Wandler und schaue ob ich noch einen großen Atmega da habe....
Bin gespannt, ob das mit der (Echtzeit)-Verbrauchsanzeige hinkommt?!
C1-Knechter
 
Beiträge: 26
Registriert: 05.10.2007, 11:32

Beitragvon Fred » 19.06.2009, 17:44

Wouw, das klingt ja interessant.
Ist es so kompliziert wie es sich anhört, oder besteht die Hoffnung, dass man so eine OBD-Lösung auch ohne besondere Elektr(on)ikkentnisse realisieren kann? ;)
Benutzeravatar
Fred
 
Beiträge: 1168
Registriert: 04.03.2007, 23:24

Beitragvon Aygo Blue » 19.06.2009, 18:30

nice! Und könnte man den Benzinverbrauch nicht evtl. mit Hilfe eines Durchflussmessers ermitteln, den man z.B. zwischen Tank und Benzinpumpe baut? Weil, wenn vorne was verbraucht wird, wird hinten genau die selbe Menge wieder angesaut. Mit der aktuell gemessenen Geschwindigkeit könnte man daraus dann einen L/100km Wert errechnen.
[Wenn ich einen Denkfehler gemacht habe, bitte darauf hinweisen.]
MfG Aygo Blue

Benutzeravatar
Aygo Blue
 
Beiträge: 646
Registriert: 30.06.2007, 15:36
Wohnort: Erlangen - Aygo Blue, 4/5-Türer

Beitragvon yaa » 19.06.2009, 18:49

*AUCH HABEN WILL* ;-)

Ernsthaft, ich denke, das Ganze dann noch in ein schickes Gehäuse mit idealer Montagemöglichkeit (mein Traum wäre immernoch das Drehzahlmessergehäuse vom Rechtslenker) , dann kannst du das Ding in Serie produzieren, weils jeder hier haben will.

Weiter so!
- yaa
Benutzeravatar
yaa
Team-Mitglied
Team-Mitglied
 
Beiträge: 224
Registriert: 27.12.2007, 21:55
Wohnort: Wilder Süden (KA)

Beitragvon Kermit » 19.06.2009, 22:04

Das Drehzahlmessergehäuse ist zu klein für dieses Display. Von den Maßen her passt es gut oben in die Mittelkonsole (dort wo einige den Scangauge fest montiert haben) - allerdings ziemlich vorne. Werde morgen mal ein Foto im Wagen machen, damit die Dimension des Displays klar werden.

Ein Durchflussmesser (MAF Sensor) hat der C1 leider nicht. Ich weiß auch nicht, ob man einfach so einen nachrüsten kann. Der MAF-Wert wird - wie wohl auch im Scangauge - durch andere Werte errechnet, bzw. angenähert: Nämlich Ladedruck, Drehzahl und Ansaugtemperatur. Die Gaspedalposition und Geschwindigkeit werden bei der Berechnung auch berücksichtigt.
So ganz habe ich die Berechnung noch nicht nachvollzogen. Wer möchte, kann ein Blick in die Sourcen werfen und zwar in der main.c die Funktion accu_trip(void)

Der OBDuino32K hat eine 3-Knopf Bedienung. Man kann einige Korrekturfaktoren im Betrieb eingeben (die bleiben natürlich auch im EEPROM gespeichert), wie auch beim Scangauge (Geschwindigkeitskorrektur, Tankkorrekur). Wenn das nicht ausreicht, kann man natürlich auch an den Formeln in den Sourcen Korrekturen vornehmen. Ich habe mir die Werte noch nicht genau angeschaut. Da ich aber einen "OBD-Simulator" habe, wo ich auch den Scangauge anschließen kann, kann ich die Verbrauchswerte mal vergleichen.
Kermit
 
Beiträge: 180
Registriert: 29.01.2009, 17:25
Wohnort: Köln

Beitragvon Kermit » 20.06.2009, 17:30

So, habe heute noch mal das Programm ein wenig angepasst und ein paar Fotos gemacht.
Die Verbrauchsanzeige zeigt zu viel an. Beim Beschleunigen geht sie bis auf 30 Liter/100km hoch. Aber man kann ja mit dem Korrekturwert rumspielen.
Um einen vernünftigen Vergleichs-Wert zu kriegen, müsste ich erst mal meinen Scangauge richtig kalibrieren. Geschwindigkeit mit GPS korrigieren ist kein Problem. Aber für den Tankkorrekturwert brauche ich eure Erfahrungen: Ich habe mal 8,5% probiert, wie es in einem anderen Thread beschrieben ist, aber das ist bei mir schon zu viel: Im 5.Gang bei 100km/h auf ebener Strecke zeigt er mir so 4,9L/100km. Mein Durchschnittsverbrauch nach dem ersten Tanken lag bei 4,6L.
Ich habe jetzt auch keinen Nerv für lange Versuchsreihen, zumal ich den Scangauge nie permanent drin lasse (wegen Diebstahlgefahr).

Aber zurück zu meinem Eigenprojekt: Hier mal ein Bild von Wintek-LCD im C1, um sich die Displaydimensionen besser vorstellen zu können:

Zuvor hatte ich mir aus Pappkarton ein passende Blendenschablone für die Mittelkonsole zugeschnitten. Deshalb sind auf den Bild noch viele Krümel rund um die Mittelkonsole zu erkennen ;)
Ich habe vor einfach eine schwarze Blende aus Kunstoff, oder einer dünnen Holz- oder Metallplatte einzupassen und dann davor zu setzen. Da kann ich dann auch die Gummitasten reinsetzen (bisher habe ich provisorisch 3 Taster auf dem Experimentierboard)
Zudem habe ich leider auch festgestellt, dass das Display etwas spiegelt. Vielleicht kann man da mit Antireflexionsfolie noch was machen?

Hier mal 3 Fotos während der Fahrt (meine Frau ist gefahren, ich habe die Kamera aber meist im Fahrerblickwinkel gehalten)



Zum layouten einer Platine werde ich aber dieses Wochenende wohl nicht mehr kommen...
Kermit
 
Beiträge: 180
Registriert: 29.01.2009, 17:25
Wohnort: Köln

Beitragvon m-k » 06.07.2009, 21:20

Hey echt coole Sache dein Bordcomputer eigenbau. Besser als das ScanGauge vorallem flexibler.
Mir persönlich fehlt im Aygo noch ne schöne Uhr und AußenTemparaturanzeige.

Also falls du damit in "serie" gehen solltest bin in einer von denen die dir eins davon abkauft :-)

MfG
m-k
Nimm das Leben nicht so ernst, denn du kommst dort niemals lebend wieder raus.

m-k
 
Beiträge: 50
Registriert: 11.06.2009, 07:03

Beitragvon ohti » 06.07.2009, 23:19

m-k hat geschrieben:...
Also falls du damit in "serie" gehen solltest bin in einer von denen die dir eins davon abkauft :-) ...


... und ich der nächste :laughing6:
<a href="http://www.spritmonitor.de/de/detailansicht/289510.html" target="_blank"><img src="http://images.spritmonitor.de/289510.png" alt="Spritmonitor.de" border="0"></a>
C1 Desire 5-türig rot SensoDrive
Benutzeravatar
ohti
 
Beiträge: 149
Registriert: 21.08.2008, 22:32
Wohnort: Alpenostrand

Beitragvon C1-Knechter » 07.07.2009, 18:09

Hurra, alle Bauteile sind da: MC33290, LCD, mega644.
Und als erster Test kann der mega mit einem tsic206 auch schon Temperaturen mit 0,1°C Auflösung messen und auf dem (echt großen) LCD ausgeben.
Jetzt muß ich mir "nur noch" den code angucken....... (Vorfreude!)
C1-Knechter
 
Beiträge: 26
Registriert: 05.10.2007, 11:32

Beitragvon Kermit » 08.07.2009, 07:01

mal mein aktueller Stand. habe die Anzeige etwas auf das große Display optimiert (8 Werte werden gleichzeitig angezeigt) und die Änderungen fortlaufend aus den SVN von OBDuino32K übernommen.
Diese Version kann erst automatisches OBD-Reinit, wenn der Wagen aus war. Außerden wird der aktuelle Trip einige Stunden gespeichert...
Habe aber momentan selbst wenig Zeit zum Testen. Und mit dem layouten einer Platine zöger ich auch noch rum, weil ich noch nicht weiß, was und vor allem wie alles drauf soll.


Die Belegung ist im Header der main.c beschrieben (3 Taster und die 2 UART-Pins). Die Belegung des Displays steht in der wintek.h und kann einfach angepasst werden.

Wieviele ADC-Messungen mit dem TSIC 206 machst Du denn um auf genaue Werte zu kommen? Mit dem LM335 kam ich erst mit dem Mittelwert von 255 Messungen auf wirklich 0,1K genaue Temperaturwerte.


Ach ja: Wo ich momentan noch mit beschäftigt bin ist die Displaybeleuchtung. Der Kleber der Reflexionsfolie ist echt schwer runter zu bekommen. Habe es schon seit einer Woche rumliegen und keine Lust mehr weiterzukratzen... Isopropanol geht mal gar nicht. Nitroverdünnung geht halbwegs. Ich muss mir den im VDR-Forum erwähnten Pinselreiniger mal besorgen...
Zuletzt geändert von Kermit am 08.07.2009, 07:30, insgesamt 1-mal geändert.
Kermit
 
Beiträge: 180
Registriert: 29.01.2009, 17:25
Wohnort: Köln

Beitragvon m-k » 08.07.2009, 07:12

C1-Knechter hat geschrieben:Hurra, alle Bauteile sind da: MC33290, LCD, mega644.
Und als erster Test kann der mega mit einem tsic206 auch schon Temperaturen mit 0,1°C Auflösung messen und auf dem (echt großen) LCD ausgeben.
Jetzt muß ich mir "nur noch" den code angucken....... (Vorfreude!)


Jetzt baust du dir auch eins?
Hab sowas in meiner Ausbildung zwar auch machen müssen, meine Platinen sahen aber nicht wirklich schön sauber aus. Hat irgendwie auch Spass gemacht.Aber ich glaube wenn man nicht mehr so sehr in der Materie drin ist wird es schon schwer, es sei denn man hat ne gute Anleitung :-)
Nimm das Leben nicht so ernst, denn du kommst dort niemals lebend wieder raus.

m-k
 
Beiträge: 50
Registriert: 11.06.2009, 07:03

Beitragvon Icefox » 08.07.2009, 11:19

also ich denke ich werd mir iwann in naher zukunft auch so en display bauen nur graut es mir ganz ehrlich vor dem source-code des isch ja c oder zumindest ne abgewandelte form

komm zwar mit programmiersprachen klar kann selber auch php und javascript aber naja werd bei gelegenheit mal reinschauen gebaut ist das ding ja mehr oder weniger schnell und der source code ist ja eig das was sich bei jedem ein wenig unterscheiden wird

denke das auch jeder der ein wenig ahnung von elektronik hat sich noch ein paar eigene veränderungen einfallen lässt ob jetzt noch zusätzliche termperaturüfhler ne rgb hintergrundbeleuchtung oder was auch immer

mfg Icefox
Mess with the best, die like the rest.

Benutzeravatar
Icefox
 
Beiträge: 71
Registriert: 31.03.2009, 20:54
Wohnort: Herrenberg

Beitragvon Kermit » 08.07.2009, 17:09

Richtig, das ist C (auch nicht meine Muttersprache). Und zwar für den freien AVR-GCC Compiler geschrieben. Dort muss der Sprachstandard gnu99 gewählt werden (-std=gnu99). Mit ANSI-C kompiliert es nicht, da die Variable-Definitionen in For-Anweisungen wohl nicht unterstützt werden.
Eigentlich war es sogar C++, doch die paar C++ Anweisungen fielen eh raus (bei der UART-Steuerung von Adruino) und die restlichen habe ich eventuell auf C reduziert (so genau weiß ich das nicht mehr).

Man könnte übrigens noch ein wenig mit den OBD-Timings spielen (also verkürzungen meine ich), so lange, bis das C1-Steuergerät mitspielt, bzw. die Fehlerrate zu hoch wird. Dann würden die Fahrzeug-Werte noch etwas schneller ausgelesen, was beim Integrieren dann mehr Genauigkeit bringt...
Wenn ich mal Zeit habe, mache ich die Timings über das Menü einstellbar, so dass man ausprobieren kann, was noch rauszuholen ist...

Ansonsten will ich erst mal nicht allzu viel an den Code machen, sondern die OBDuino Entwicklung mitverfolgen und übertragen. Bei den letzten (noch nicht implementierten) Änderungen, haben sich aber nur noch Kleinigkeiten geändert
Kermit
 
Beiträge: 180
Registriert: 29.01.2009, 17:25
Wohnort: Köln

Beitragvon C1-Knechter » 08.07.2009, 17:46

@m-k
> Jetzt baust du dir auch eins?
So gut wie fertig :-)
Habe die Platine von blafusel bestellt und bin am Anpassen von Kermits Software (das wintek läuft schon).

@kermit
Der tsic206 ist bereits digital, Genauigkeit 0,5°C, Auflösung 0,1°C. Siehe
Code kann ich bei Bedarf schicken. Ein LM34 geht auch (1°C).
C1-Knechter
 
Beiträge: 26
Registriert: 05.10.2007, 11:32

Nächste

Zurück zu Innenausstattung

Wer ist online?

0 Mitglieder

cron