Forum: Mikrocontroller und Digitale Elektronik LCD Anzeige für Öldruck und Öltemperatur


von Markus (Gast)


Lesenswert?

Hallo Forum,

ich bin neu hier und auch in der Materie für Microcontroller bin ich 
neu.
Habe hier im Forum ziemlich lange rumgestöbert, bin aber nicht wirklich 
fündig geworden.

Auch habe ich wiederholt gelesen, daß Newbies ziemlich harsch behandelt 
werden.

Seis drum, ich poste mal meine Frage in der Hoffnung ein paar 
Inspirationen zu erhalten. Irgendwie muss ich ja mal anfangen, oder?

Thema: Ich möchte für mein Auto eine LCD Anzeige einbauen, die 
verschiedene Meßwerte anzeigt. Die wichtigsten Werte wären Öltemperatur 
und Öldruck, sowie Ladedruck des Turboladers.

Da ich keinen Platz für Zusatzinstrumente habe, kam ich auf die Idee mit 
der LCD-Anzeige. Wenn ich das wenige, was ich bislang verstanden habe 
richtig interpretiere, benötige ich einen Microcontroller (AT90S4433 von 
Atmel??) an den ich die Ausgangssignale der Signalgeber (linear 10-18 
Ohm, VDO) übergebe. Der Atmel "verwurstelt" mir das dann und gibt die 
Info an das LCD aus?

Nochmals, bin absoluter Newbie und trau mich fast nicht, hier eine Frage 
zu stellen.

Kann mir vielleicht jemand ein paar Tipps geben?

Viele Grüße,
Markus

: Gesperrt durch Moderator
von Falk B. (falk)


Lesenswert?

@ Markus (Gast)

>Hallo Forum,

Hallo Markus,

>Auch habe ich wiederholt gelesen, daß Newbies ziemlich harsch behandelt
>werden.

Naja, manchmal hat das auch seinen Grund.

>Thema: Ich möchte für mein Auto eine LCD Anzeige einbauen, die
>verschiedene Meßwerte anzeigt. Die wichtigsten Werte wären Öltemperatur
>und Öldruck, sowie Ladedruck des Turboladers.

Ahhhhhh, willst du das wirklich?

>Da ich keinen Platz für Zusatzinstrumente habe, kam ich auf die Idee mit
>der LCD-Anzeige. Wenn ich das wenige, was ich bislang verstanden habe
>richtig interpretiere, benötige ich einen Microcontroller (AT90S4433 von
>Atmel??) an den ich die Ausgangssignale der Signalgeber (linear 10-18
>Ohm, VDO) übergebe. Der Atmel "verwurstelt" mir das dann und gibt die
>Info an das LCD aus?

Pi mal Dauem stimmt das.

>Nochmals, bin absoluter Newbie und trau mich fast nicht, hier eine Frage
>zu stellen.

>Kann mir vielleicht jemand ein paar Tipps geben?

Fang klein an. Arbeite das Tutorial durch, KOMPLETT!!

AVR-Tutorial
AVR-GCC-Tutorial

Nimm ein paar MEGA8, ein LCD, ein paar Poti und fang langsam an. 
Wenn du dann in ein paar Monaten halbwegs den Durchblick hast, kannst du 
die Sache im Auto angehen.

Bascom AVR ist zum Einstieg auch sehr gut.

MfG
Falk

von Stefan B. (stefan) Benutzerseite


Lesenswert?

> Die wichtigsten Werte wären Öltemperatur
> und Öldruck, sowie Ladedruck des Turboladers.

Hast du schon eine Ahnung bzw. recherchiert, um welche Geber es sich 
hier handelt, welche Daten dort rauskommen und wie man die ohne Gefahr 
für den Motor anzapfen darf?

von Markus (Gast)


Lesenswert?

Hi Stefan,
klar hab ich das recherchiert :-)
Es sind Standardgeber von VDO, die natürlich erst noch am Motor 
eingebaut werden müssen. Für diese Geber (linear, 10-180 Ohm) gibt es 
natürlich die Standardanzeigeinstrumente, was ich ja umgehen will. Also 
ich denke mal, es sind alles analoge Eingangssignale. Infos findest du 
unter:http://www.ezt-autoteile.de/index.php?cat=c10085_VDO-Sensoren-Zubeh-r.html

Ich hab mal begonnen, das Tutorial zu lesen, wie von Falk angeraten.
>>Oje, oje...sieht alles sehr kompliziert aus...und ich wollte nur eine 
LCD-Anzeige haben :-)

Grüße,
Markus

von Markus (Gast)


Lesenswert?

Hallo Falk,
danke für deine Antwort. Habe mal begonnen, das Tutorial zu lesen. Sieht 
alles recht lernintensiv aus! Will ja kein Mikrocontrollerexperte werden 
:-)

Werd mal weiter lesen, ob sich der Aufwand rechtfertigt, ich will ja 
"nur" eine LCD-Anzeige, anstatt der Standard-Einabuinstrumente.

Gruß,
Markus

von Falk B. (falk)


Lesenswert?

@ Markus (Gast)

>Werd mal weiter lesen, ob sich der Aufwand rechtfertigt, ich will ja
>"nur" eine LCD-Anzeige, anstatt der Standard-Einabuinstrumente.

Dann nimm Bascom AVR, dann  musst du dich nicht um alle Details 
kümmern.

MFG
Falk

von Der Dude (Gast)


Lesenswert?

>Sieht alles recht lernintensiv aus!

Das ist es. Wenn Du wirklich nur eine Anzeige bauen willst und sonst 
nichts mit uC am Hut hast, lohnt sich der Aufwand keinesfalls. Da bist 
Du sehr lange Zeit beschäftigt.

Such Dir lieber jemanden, der das schon kann und Dir was bastelt.

von Michael H* (Gast)


Lesenswert?

Markus wrote:
> Werd mal weiter lesen, ob sich der Aufwand rechtfertigt,
ja =)

> ich will ja
> "nur" eine LCD-Anzeige, anstatt der Standard-Einabuinstrumente.
"nur" is hier schon ganz richtig. was du vorhast, ist gar nicht ohne.

> alles recht lernintensiv aus! Will ja kein Mikrocontrollerexperte werden
dazu musst dann assembler (nahe zur maschinensprache) lernen =)

tipp für das betreiben von elektronik im auto:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

von Gast (Gast)


Lesenswert?

> Auch habe ich wiederholt gelesen, daß Newbies ziemlich harsch behandelt
> werden.

Das ist nur so wenn Regeln missachtet werde.

von Jankey (Gast)


Lesenswert?

Naja du willst "nur" ein Display ansteuern, dazu musst du erstens ein 
Display mal ansprechen können was in den Meisten Tutorials relativ weit 
unten ist und das aus gutem Grund, weil du meistens ALLES vorher dazu 
verstehen muss, Assembler musst du zwar nicht lernen, Aber nachdem du 
wie erklärt NULL Plan von Microcontrollern hast, versuchs mal mit 
einlernen, dann kannst du das Projekt nochmal in einem Halben jahr 
angehen...

Ich vermute mal das du zurzeit die Vorstellung hast.: aber wie gesagt is 
ne vermutung

"MeasureLadeDruck"
"DisplayNiceOnDisplay"
"BlinkSomeEffects"
"GibMirMehrAufMerksamkeitFürMeineFreundeAnDerTankeWeilMeinAutoAllesIst"

Aber vl. kann ich dir sogar helfen WENN du mir sagst was für 
Analogsignale du für Öldruck, Öltemperatur und Ladedruck bekommst, und 
vor allem um welches Auto handelt es sich, ich hab sowas schonmal 
gebaut.

Hast du eigentlich schonmal über die Analoge Seite nachgedacht? so 
Signalaufbereitung & Versorgung des Microcontrollers?

Als alternative es gibt von Greddy und Apexi glaub ich das ein oder 
andere Recht günstige Anzeigeprodukt was dir DEUTLICH weniger zeit & 
planlosigkeit in anspruch nehmen wird und von den Kosten ( Platine, 
Bauteile, verheitzte Bauteile ) in etwa gleich sein wird.

lg

von Florian (Gast)


Lesenswert?

Das Thema gab's hier schon (mehrmals) und es ist tot: 
Beitrag "Re: Eagle 3D Darstellung"

Fertig gibt's so was aber auch schon mehrfach. z. B. 
http://www.blafusel.de/misc/obd2lcd_c.html

von ohje die autonarren (Gast)


Lesenswert?

Jankey wrote:
> Ich vermute mal das du zurzeit die Vorstellung hast.: aber wie gesagt
> is ne vermutung
> "GibMirMehrAufMerksamkeitFürMeineFreundeAnDerTankeWeilMeinAutoAllesIst"
fully ack. "ey alter hab isch gehört dem meikrocontrollur is tight!"
meistens erkennt man sie auch an der rechtschreibung =)

von Markus (Gast)


Lesenswert?

@Jankey
Meine Vorstellung ist ein wenig anders:
Zeige 3 Werte von analogen Eingangssignalen (linear, 0-180 Ohm, 12VDC)
auf einem LCD-Display an.

"BlinkSomeEffects": nicht erwünscht
"GibMirMehrAufMerksamkeitFürMeineFreundeAnDerTankeWeilMeinAutoAllesIst": 
nicht erwünscht

Da alle von einer Einarbeitungszeit von mehreren Monaten sprechen, um 
simple Analogsignale auf ein LCD-Display auszugeben, ist das Verhältnis 
von Aufwand zum Nutzen weitestgehend uninteressant.

Ein einfacher Nano-ITX PC mit analoger Eingangskarte und kleinem 4"-TFT 
erscheint mir von daher eine bessere Lösung, damit kenne ich mich 
zumindest aus; auch in der Programmierung der erforderlichen Software. 
Preislich hält sich das Ganze auch im Rahmen, da keine Verluste durch
Fehlkäufe, etc. zu kalkulieren sind.

Es ging mir lediglich darum, die eingehenden Gebersignale nicht auf 3 
analogen Rundindstrumenten anzuzeigen, sondern dezent auf einem kleinen 
LCD-DIsplay.

@Florian
Die von dir angesprochenen Beiträge drehen sich allesamt um das Thema 
KFZ-Bordcomputer".
Darum geht es mir nicht, einen BC habe ich ja. Mein BC stellt die 
angeforderten Geberwerte (VDO linear, 0-180 Ohm, 12VDC) für Öldruck, 
Öltemperatur und Ladedruck nicht zur Verfügung, weshalb ich externe 
Geber einbauen muss.
Diese Gebersignale sind dann entweder auf analogen Instrumenten (was ich 
nicht will), oder eben auf dem angesprochenen LCD anzuzeigen. Mein 
Fahrzeug ist ein BMW 530D E39 Bj. 2001, was allerdings nicht weiter
entscheident ist, da die Geber im Original eh nicht vorhanden sind.

Grüße,
Markus

von Florian (Gast)


Lesenswert?

>Die von dir angesprochenen Beiträge...

Dann hast Du nicht richtig gelesen, was ehrlich gesagt, ganz ungünstig 
ist, wenn man nicht weiß, wie etwas geht. Womit wir bei

>Auch habe ich wiederholt gelesen, daß Newbies ziemlich harsch behandelt werden.

wären. µC zu beherrschen ist lernintensiv.

von Markus (Gast)


Lesenswert?

@Florian

beide von dir geposteten Links befassen sich über die Signalauswertung 
via OBD. Das hat nichts mit dem zu tun, was ich eigentlich machen 
wollte.
Aber ich denke, ich lass es einfach, da der Aufwand in keiner Relation 
steht.
Trotzdem Danke für die Ratschläge.

Gruß,
Markus

von Steve (Gast)


Lesenswert?

Nanana, nicht gleich aufgeben.

Bist du dir absolut sicher, dass die Sensoren nicht schon vorhanden sind 
und die Signale nicht über OBD ausgelesen werden können? Ist eigentlich 
Standard.

Außerdem, wenn du schon programmieren kannst, sollte der Einstieg in die 
AVRs nicht sooo schwer sein. Man kann eigentlich alles mit C machen und 
muss nicht bis auf Assembler Ebene graben. Wenn du dir also das 
ITX-Dingens zutraust, klappt das mit dem µC auch. Mach dir lieber 
Gedanken um die analoge Signalverarbeitung. Unter (VDO linear, 0-180 
Ohm, 12VDC) kann ich mir wenig orstellen.

von Markus (Gast)


Lesenswert?

Hi Steve,

via OBD liegt ein "reservierter" Eintrag für Öltemperatur vor, 
allerdings ohne Daten. Öldruck und Laderdruck sind im OBD nicht 
greifbar.
Habe zum Thema vorhandene Sensoren auch schon spezielel BMW.Foren 
durchforstet und befragt. ich muss leider davon ausgehen, daß die 
Sensoren nicht vorhanden sind.

Zu den zusätzlichen Gebern kann ich im Moment noch nicht so viele 
Angaben machen. Hier z.b. siehst du ein paar Infos dazu:

http://www.temperaturgeber.de/vdo_temperaturgeber_daten.html

VDO ist der Hersteller, im KFZ-Sektor recht bekannt.

Die Kennlinie für z.B. den Temperaturgeber ist:

60°C - 221,2 Ohm
90°C - 83,0 Ohm
120°C- 36,5 Ohm

Ich vermute, daß die Geber von der Technik her PT-100 sind, muss ich 
aber
rausfinden.
Anders herum gesagt: Ich bekomme einen variablen Wiederstand an den 
Analogeingang, den ich entsprechend in "°C" oder "bar" umsetzen muss.
Da die Kennlinie linear ist, ist dise Umrechnungstabelle relativ simpel.
Natürlich muss ein Korrekturfaktor berücksichtigt werden, der durch 
Referenzmessung zu ermitteln ist.
Aber das ist ja alles erst einmal nicht so wichtig.

Alternativ habe ich ein ADAMS Analogeingangsmodul für 6 Kanäle, das ich 
via RS485 Schnittstelle an meinen PC anbinden kann. Hiermit könnte ich 
zumindest für die Sensoren die entsprechenden Werte abfragen.

Gruß,
Markus

von Steve (Gast)


Lesenswert?

Ok, dann sind die Sensoren eben nicht im Standard-OBD enthalten, was 
nicht heißt, dass es sie nicht gibt. Schau mal, ob es irgendein 
Progrämmchen gibt, dass das BMW Diagnoseprotokoll kennt. Dann wäre die 
Sache nämlich recht einfach. Bei VW klappt das zumindest einwandfrei.

Die VDO Sensoren sind schon mal keine PT100, weil die einen positiven 
Temperaturkoeffizienten haben, also muss da noch 
Stromquelle/Spannungsteiler und evtl. ein Verstärker dran, sollte aber 
machbar sein.

Wer sich einen 530D leisten kann, sollte jetzt ein paar Euros in die 
Hand nehmen und sich die Teile aus der AVR-Tutorial Bestellliste + 
ein LCD kaufen und anfangen, Spannungswerte von nem Poti auf dem LCD 
auszugeben. Erfolg innerhalb eines Wochenendes beinahe garantiert.

von Jankey (Gast)


Lesenswert?

Nunja gut du brauchst.:

- Power Supply Microcontroller
- Analogsignalaufbereitung
- Schutz deiner Analogen Eingänge von allem Möglichem was da daherkommen 
kann ( getoasete uC & beinahe Fahrzeugbrände kommen oft vor wenn der 
7805 davor mal eine Defekte LIMA sehen muss mit 36V )

- ADC Ansprechen
- Werte durch eine Lookuptable "nachlinearisieren", denn kein 
autohersteller benutzt einen PT100
- Werte auf was brauchbares umrechnen.:

zb du hast in einem Register den gemessenen wert nun zb.: 0~255
0 steht für 0 Grad und 255 für 255 Grad damit du das in deinem Display 
anzeigen lassen kannst musst du viel wissen.:

ein kleiner vorgeschmack bei der "vorverarbeitung" für die Anzeige:

HunderterZahl = Zahl / 100
Zahl = Zahl - 100 * HunderterZahl;
ZehnerZahl = Zahl / 10
Zahl = Zahl - 10 * ZehnerZahl;
Einserzahl = Zahl;

HunderterZahl = HunderterZahl + 48;
ZehnerZahl = ZehnerZahl + 48;
Einserzahl = Einserzahl + 48;

und dann musst du die 3 auch noch rauschieben in einem String ...

dann schauts vl. mal so aus.:

http://www.jankeytec.at/pics/schaltungen3/PICT0007.JPG

also für einen BMW Bj2001 bin ich mir sicher das es was schönes fertiges 
gibt.

von Benni (Gast)


Lesenswert?

Warum einfach, wenn es auch kompliziert geht? Für die Darstellung 
istsprintf mit float auch ausreichend schnell. The right tool for the 
right job.

von Jankey (Gast)


Lesenswert?

floatberechnungen zu kompilieren is immer eine recht Speicheraufwenidige 
angelegenheit, aber geht natürlich auch :)

von Digital-Anzeige (Gast)


Lesenswert?

Wer mit 0 Vorkenntnissen nur mal schnell ein Display zum Anzeigen von 
Temperaturen haben will, sollte lieber auf www.eima-electronics.de 
vorbei schauen, da gibt es alle möglichen Variaten. Hab ich auch so 
gemacht und mir dann doch viel Arbeit,Geld und Nerver erspart. Nur mal 
so als Hinweis*G

von Maxx M. (maxx2206)


Lesenswert?

Hallo Markus,

ohne Dir den Elan ganz nehmen zu wollen (ich vertrete meist eher die 
Einstellung "geht nicht gibts nicht") will ich mir doch eine kleine 
Warnung nicht nehmen lassen:

Zitat:
Anders herum gesagt: Ich bekomme einen variablen Wiederstand an den
Analogeingang, den ich entsprechend in "°C" oder "bar" umsetzen muss.
Da die Kennlinie linear ist, ist dise Umrechnungstabelle relativ simpel.
Zitat Ende

Da liegt bereits ein Fehler.
Die Geber sind NTCs, zu lesen irgendwo oben "Heißleiter".
Die geben keine linearen Widerstände aus.
Typisch dafür sind eben die 3 Werte bei unterschiedlichen Temperaturen. 
Idealerweise sollte man für einen Geber entweder eine komplette 
Kennlinie oder die o.g. Werte samt eines Temperaturkoeffizienten zur 
hand haben, dann lässt sich alles weitere mit einer festen Formel 
berechnen.

Das ganze erfordert also entweder eine konstante Berechnung der 
tatsächlichen Temperatur oder (wie oben mal kurz angedeutet aber IMO 
nicht wirklich konkret als Problem hervorgehoben) eine zuvor berechnete 
und hinterlegte Sprungtabelle.
Ferner kann man derartige Temperaturgeben auch durch entsprechende 
Beschaltung in einer Widerstandsbrücke ein wenig linearisieren und auf 
brauchbare Level bringen.

Insgesamt ist die Sache durchaus machbar, sowohl Finanziell als auch von 
der Funktionalität, und gut aussehen kann es durchaus auch ;)
Etwas einarbeitung in Mikrocontroller ist jedoch nicht zu vermeiden, 
aber wenn man mit einigen wenigen Basteleien anfängt und so das 
Programmieren selbiger üben kann kommt man aus eigener Erfahrung meist 
überraschend schnell zum Erfolg.

Ciao...

von Maxx M. (maxx2206)


Lesenswert?

Hi nochmal ;)

was, mir noch einfaellt:
"Originalgeber" von VDO, aber auch z.B. Bosch sind meist vergleichsweise 
teuer. Hier lohnt es sich auch mal etwas mehr zu suchen.
Generell solltest Du dir die "einfache Methode" mit dem Geber als ersatz 
für die Ablaßschraube jedoch reiflich überlegen, bei den meisten 
Fahrzeugen ist das eine recht ungünstige Postition.
Ich persönlich bin z.B. ganz von der idee weg, ist mir einfach zu 
riskant bzgl. Abreißen der Leitung oder gar der ganzen Schraube.
Auch hier gibts durchaus alternativen. das hängt aber nicht zuletzt auch 
vom Fahrzeug ab.
Es gibt wohl Modelle, die haben bereits blindgelegte Gewinde an 
passender Stelle für eine solche Erweiterung, da ist das natürlich 
ideal.

Ciao...

von peter (Gast)


Lesenswert?

Hallo Gemeinde,

ich weiß - die Postings sind schon eine wenig in die Jahre gekommen, 
aber den gesamten Verlauf durchzulesen, hat mich echt amüsiert.

Mein Lösungsvorschlag:

Arduino + Spannungsversorgung 5V für KFZ + 16x2 Display + Kleingram + 
1-2 Tage Arduino einlesen = fertige Anzeige

Kosten ca. EUR 25
Zeitaufwand ca. 1-2 Tage

Beste Grüße, Peter

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

peter schrieb:
> die Postings sind schon eine wenig in die Jahre gekommen

Richtig, und die Lösung, die man 6 Jahre später vorschlagen kann,
sieht logischerweise immer komplett anders aus als das, was damals
zur Debatte stand.  Insofern ist es alles andere als sinnvoll, dafür
den alten Thread nochmal aufzuwärmen.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.