Bauanleitung Öltemperaturanzeige für Mercedes...

16
Bauanleitung Öltemperaturanzeige für Mercedes W124 Anmerkung: Text hier in Englisch, im Programm auf Deutsch! Hallo zusammen! Wie von Euch gewünscht habe ich mich mal hingesetzt und diese Bastelanleitung für Euch erstellt. Ab und an habe ich mal direkt vermerkt wenn aus meiner Sicht noch ein Verbesserungspunkt vorhanden ist – wenn hier jemand eine Idee hat bin ich da gerne kritikfähig Ansonsten wünsche ich Euch viel Spaß und Erfolg dabei die Geschichte nachzubauen. Bei Fragen einfach melden. Eigentlich ist es ja klar, aber um sicher zu gehen: Der Nachbau für private Nutzung ist natürlich für jeden gestattet, ein kommerzieller Nachbau (der eigentlich eh keinen Sinn macht) darf jedoch nicht durchgeführt werden. Es sei denn ich werde dabei reich belohnt Gruß, Martin

Transcript of Bauanleitung Öltemperaturanzeige für Mercedes...

Bauanleitung Öltemperaturanzeige für Mercedes W124

Anmerkung: Text hier in Englisch, im Programm auf Deutsch!

Hallo zusammen!

Wie von Euch gewünscht habe ich mich mal hingesetzt und diese Bastelanleitung für Euch erstellt. Ab und an habe ich mal direkt vermerkt wenn aus meiner Sicht noch ein Verbesserungspunkt vorhanden ist – wenn hier jemand eine Idee hat bin ich da gerne kritikfähig

Ansonsten wünsche ich Euch viel Spaß und Erfolg dabei die Geschichte nachzubauen. Bei Fragen einfach melden.

Eigentlich ist es ja klar, aber um sicher zu gehen: Der Nachbau für private Nutzung ist natürlich für jeden gestattet, ein kommerzieller Nachbau (der eigentlich eh keinen Sinn macht) darf jedoch nicht durchgeführt werden. Es sei denn ich werde dabei reich belohnt

Gruß, Martin

1. Bauteilliste mit Bezugsquelle

1.1. Grundausstattung Lötkolben, Messer, Dremel, Schrumpfschlauch

1.2. Temperatursensor VDO- Temperaturgeber für Öltemperatur M14x1,5 (VDO- Nummer: 323.801/004/039 K) Bestellmöglichkeit: http://www.ezt-autoteile.de ; Bestellnummer 126.055 Anmerkung: Alle VDO Sensoren mit dieser Kennlinie sind natürlich verwendbar.

1.3. Für Originalitätsfanatiker: Spannungsanschluss im W124 über die SA- Leiste

Anschlussmöglichkeit SA-Leiste Bestellnummer

Steckergehäuse SA Leiste A0135453228 1 passend für W124 SA-

Leiste PIN für SA Leiste A0025459926 3 dazugehörige PINs

1.4. Platine und Co. mit Bestellnummern von www.reichelt.de

Bezeichnung Bestell-

bezeichnung Menge Erläuterung

Steuergerät

Kontroller ATMEGA 8L8 DIP 1 Spannungsregler µA 78S05 1 Spannungsregler µA 78S12 1 Sicherungshalter PL112000 1

Sicherung 1A FLINK 1,0A 1 Drosselspule FED 40µ 1

IC-Sockel GS 28P-S 1 Gehäuse TEKO A3 1 Display LCD MO82 DIP 1 Platine UP 730EP 1

Birne 12V L5218 2 D1 = Diode 5,1V ZD 5,1 1

Kabel für Platine KUPFER 1,0MM 0,5 Rasterverbindung auf Platine

Kabel zum Display LIYCY 10-5 1 Widerstände

R1 = 560 Ω METALL 560 1 Kontrast Display R2 = 15k Ω METALL 15,0K 1 Kontrast Display

R3 = 100k Ω METALL 100K 1 Reset R4 = 1,2k Ω METALL 1,20K 1 Bordspannung R5 = 3,9k Ω METALL 3,90K 1 Bordspannung R6 = 47 Ω METALL 47,0 1 VDO-Sensor

Kondensatoren

C1 = 100myF RAD 100/25 4 Spannungsregler C2 = 470myF RAD 470/16 1 Spannungsregler

C3 = 2,2myF TANTAL 2,2/25 2 Eingang Controller,

Messsignal Bordspannung

C4 = 10nF X7R-5 10N 1 Messsignal VDO- Sensor C5 = 100nF X7R-5 100N 2 Spannungsregler

Platinenanschlüsse

8-polig PS 25/8G BR 2 3-polig PS 25/3G BR 1 2-polig PS 25/2G BR 1

Verbindung STG / Display

SUB-D- Buchse 15-polig D-SUB BU 15 2 Anschlusskabel Display SUB-D- Stecker 15-polig D-SUB ST 15 2 Anschlusskabel Display

Gehäuse für SUB-D Stecker 15polig

KAPPE 15M 4 Anschlusskabel Display

Kabel

rot FLK 1,5 RT-5 1 schwarz FLK 1,5 SW-5 1

Steckverbinder

Steckverbinder für Sensor FSH-B-4,75 1 nur eine Größe

Steckverbinder für Sensor FSH-B-6,35 1 notwendig, aber

welche??

Achtung: Das von mir verwendete Display hat leider keine eigene Beleuchtung! Es gibt dieses Display zwar mit Beleuchtung, habe es aber nirgends auftreiben können. Zur Beleuchtung habe ich daher von der Seite her über zusätzliche Birnen verbaut – bitte vergleicht hierbei das Kapitel Einbau des Displays

1.5. Programmierung:

Ich verwende zur Programmierung das Programm BASCOM-AVR. Es gibt hierfür eine freie Version die jedoch in ihrem Umfang begrenzt ist. Die Vollversion kostet 90 Euro, ansonsten gibt es aber genügend Freeware auf dem Markt. Für BASCOM empfehle ich den USB- Programmierer mySmartUSB light, gibt’s günstig bei Conrad. Programmieranschlüsse in diesem Dokument sind auf diesen Programer bezogen.

+12V

Bordspannung Gnd OUT

C1 C5

Gnd OUT

C2 C5 C1 C1

+5V

Masse

zur Messung

Bordspannung

+12V Messung

Bordspannung

+5V

SCK (Programmer PIN 3)

MISO (Programmer PIN 1)

MOSI (Programmer PIN 4)

D1 R6

R4

R5

C3

C4

R3

C3 C1

R1 R2

Kontrast (Display PIN 3)

Reset (Programmer PIN 5)

Display Enable

R/S (Display PIN 4)

Db4 (Display PIN 11)

+5V

Masse

Db7 (Display PIN 8)

Db5 (Display PIN 10)

Db6 (Display PIN 9)

1

2

3

4

5

6

7

14

13

12

11

10

9

8

+5V

Kontrast

R/S

Enable

Masse

Db4

Db5

Db6

Db7

2. Platine

IN IN

28

27

26

25

24

23

22

21

20

19

18

17

16

15

1

2

3

4

5

6

7

8

9

10

11

12

13

14

zum VDO Sensor

Masse

Spule Sicherung

Darstellung:

Draufsicht der Rückseite!

Spannungsversorgung:

Mikrocontroller:

Display:

3. Aufbau

Anbei nun für Euch ein paar Bilder bezüglich Aufbau des Systems:

3.1. Platine:

3.2. Einbau in Gehäuse

Gut zu erkennen: Die Spannungsregler wurden mit dem Aluminiumgehäuse verbunden, dieses dient somit als Kühlkörper

3.3. Ausbau und Bearbeitung des Tachoblattes

Vorsichtiger Ausbau des Blattes, die Zeiger vorsichtig abhebeln und unbedingt vorher markieren wo diese gestanden sind. Sonst wird’s nachher schwierig die korrekten Positionen wieder zu finden.

Ich habe leider damals keine Schablone erstellt, ihr müsst jedenfalls aufpassen dass die Verschraubung, bzw. der dreiarmige Halter auf dem das Blatt befestigt wird noch genügend Platz hat.

3.4. Einbau des Displays

Wie auf dem Bild ersichtlich habe ich das Display auf eine Platine aufgelötet und diese dann mit kleinen Blechschrauben hinten an den dreieckigen Halter angeschraubt. Zur Beleuchtung habe ich zwei kleine 12V Birnen links und rechts vom Display verbaut und auf dem Gehäuse verlötet:

Das Bild zeigt die erste eingebaute Birne, die zweite kam auf die andere Seite. Ein Display mit Beleuchtung wär einfacher und sinniger.

Hier ein Bild mit eingeschalteter Beleuchtung im eingebauten Zustand. Nicht hundertprozentig perfekt aber auch bei Nacht kann man erkennen was angezeigt wird.

Der rote Pfeil markiert den Anschluss der beiden Birnen. Für alle von Euch denen das laute Geblinke vom 124er genau so auf die Nerven geht wie mir: In dem grünen Kreis ist das Blinkrelais markiert welches nur dafür da ist ein lautes Klack- Geräusch zu erzeugen. Ein kleiner Kabelbinder drumrum und das Thema ist gegessen. Hören tut man den Blinker übrigens immer noch aber nur gedämpft das Geräusch draußen aus dem Sicherungskasten

Ausleitung des Kabels aus dem Gehäuse. Wichtig: In der Bauteileliste sind zwei komplette RS232 Steckverbinder enthalten. Eines direkt in die Nähe vom Steuergerät welches man direkt per Kabelbinder unterhalb der Lenksäule befestigen kann. Das zweit direkt in die Nähe vom Kombiinstrument – man möchte dies ja ausbauen können ohne das Öltemperatursteuergerät ausbauen zu müssen.

Tja, und so schaut das dann zusammengebaut aus

4. Linearisierung VDO-Temperatursensor

Der VDO- Temperatursensor hat eine relativ komisch aussehende Kennlinie wie in nachfolgendem Schaubild ersichtlich wird. Man kann hier schön erkennen warum sämtliche VDO- Instrumente unter 50°C nichts anzeigen – die Kennlinie ist analog nicht darstellbar. Aus diesem Grund werden hier zwei Kennlinien ermittelt: Die erste Kennlinie wird für Spannungswerte von 0 bis 4 Volt (60 bis 259°C) verwendet, für Werte über 200°C wird das Steuergerät später einen Masseschluss im Display ausgeben - diese Werte machen im Auto wenig Sinn. Die zweite Kennlinie wird für Spannungswerte von 4 bis 4,988 Volt (-30 bis 60°C) verwendet, wobei für Temperaturwerte unter 20°C „Öl kalt“ im Display angezeigt wird. Spannungswerte über 4,988 V werden mit der Anzeige „Kabelbruch“ angezeigt.

4.1. Grundlagen Spannungsteiler

VDO

Sensor

+5V

Masse

U

U2

R1 = 47 Ω

2 = ×

1 +

4.2. Linearisierung

Berechnung von U2 bei einer Versorgungsspannung von U = 5V und einem Widerstand R1 = 47Ω

Temp. Widerstand

VDO-Sensor

U2 [V]

Linearisierung 60 - 180 °C

Linearisierung 20 - 60 °C

Temp. Widerstand

VDO-Sensor

U2 [V]

Linearisierung 60 - 180 °C

-40 36563,56 4,994

70 155,29 3,838 70

-35 28284,63 4,992

75 131,38 3,683 75

-30 19149,2 4,988

80 112,08 3,523 80

-25 14127,68 4,983

85 96,4 3,361 85

-20 10540,68 4,978

90 82,96 3,192 90

-15 7721,35 4,970

95 71,44 3,016 95

-10 5720,88 4,959

100 61,92 2,842 100

-5 4284,03 4,946

105 54,01 2,673 105

0 3240,18 4,929

110 47,24 2,506 110

5 2473,6 4,907

115 41,42 2,342 115

10 1905,87 4,880

120 36,51 2,186 120

15 1486,65 4,847

125 32,38 2,040 125

20 1168,64 4,807

20

130 28,81 1,900 130

25 926,71 4,759

25

135 25,7 1,768 135

30 739,96 4,701

30

140 23 1,643 140

35 594,9 4,634

35

145 20,66 1,527 145

40 481,53 4,555

40

150 18,59 1,417 150

45 392,57 4,465

45

155 16,74 1,313 155

50 322,17 4,363

50

160 15,11 1,216 160

55 266,19 4,250

55

165 13,66 1,126 165

60 221,17 4,124 60 60

170 12,38 1,042 170

65 184,72 3,986 65 65

175 11,25 0,966 175

180 10,24 0,894 180

Über die durch die Linearisierung ermittelten Kennlinien werden die Werte rückgerechnet, und wie anhand obiger Tabelle ersichtlich sind die Werte korrekt.

Somit:

Linearisierung 1:

y = 0,2761555303x4 - 5,5748329389x3 + 34,5555999189x2 - 115,3654014109x + 258,8955671442

Linearisierung 2:

y = -171,6751329543x4 + 2972,3504770312x3 - 19298,9105445771x2 + 55645,1229777467x - 60014,9783421107

Anmerkung:

Da der Controller noch weitere AD- Eingänge zur Verfügung stellt wäre es auch durchaus möglich weitere Sensoren anzubauen und diese bspw. mit einem Schalter in der Mittelkonsole umzuschalten. Anbieten würde sich hier auch der Sensor für die Außentemperaturanzeige. Alle Daten für diesen gibt’s bei www.buerklin.com unter der Bestellnummer 80 E 6782.

5. Anbau des Systems über SA- Leiste

Belegung an SA- Leiste:

Masse an PIN 3

Spannung an PIN 5 (Schlüsselstellung 1)

Beleuchtung an PIN 4 (muss dann nicht über das Kombiinstrument gespeist werden)

6. BASCOM – AVR Programm

Hier folgt nun das BASCOM Programm in BASIC.

Man könnte sicherlich viele Sachen noch schöner programmieren – vielleicht gibt’s mal ne Beta- Variante

Derzeitiger Stand ist jedenfalls:

Spannung wird sehr schnell aktualisiert, man sieht also auch beim Startvorgang auf welchen Wert die Spannung abfällt.

Die Öltemperatur wird nur in ganzen °C angezeigt, alles andere wäre wohl etwas ZU genau.

Auch hier gilt: Wer eine gute Idee bzw. einen Verbesserungsvorschlag hat: Raus damit!

Wer direkt das Programm als .bas Datei haben möchte melde sich einfach.

6.1. Programm:

' Programm für Öltemperaturanzeige ' 2 zeiliges LCD Display ' Öltemperatur mittels VDO- Temperatursensor ' Bordspannungsanzeige $regfile = "m8def.dat" $baud = 9600 $framesize = 32 $swstack = 32 $hwstack = 64 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.5 , E = Portd.2 , Rs = Portd.3 Config Lcdbus = 4 Cursor Off Deflcdchar 1 , 14 , 10 , 14 , 32 , 32 , 32 , 32 , 32 '° Const Ref = 5 / 1023 Dim Ad_value As Word , W2 As Single Dim B1 As Single , B2 As Single , B3 As Single , B4 As Single Dim U As Single Dim H2 As Single , H3 As Single , H4 As Single Dim Ubatt As Single , Ubattalt As Single

Dim Drahtbruch As Integer , Btest As Single , Oelber As Single Dim Bdspg As String * 10 Dim Oeltemp As Integer , Zaehler As Single , Oeltempalt As Integer , Oeltemptest As Integer Dim Count As Single Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Ubattalt = 0 Oeltempalt = 0 Count = 10 'Anzahl der Messungen (Filter) Cls Do 'Berechnung Bordspannung W2 = 0 For Zaehler = 1 To Count Ad_value = Getadc(3) W2 = W2 + Ad_value Waitms 5 Next I Ad_value = W2 / Count B1 = Ad_value * 0.0204 B2 = B1 - 0.0085 Ubatt = B2 Bdspg = Fusing(b1 , "#.#") 'Ende Berechnung Bordspannung 'Berechnung Temperatursensor W2 = 0 For Zaehler = 1 To Count Ad_value = Getadc(0) W2 = W2 + Ad_value Waitms 5 Next I Ad_value = W2 / Count U = Ad_value * 0.004888 H2 = U * U H3 = H2 * U H4 = H3 * U If U < 4 Then Drahtbruch = 0 B1 = 0.2761555303 * H4 B2 = 5.5748329389 * H3

B3 = 34.5555999189 * H2 B4 = 115.3654014109 * U B2 = B1 - B2 B3 = B3 - B4 B2 = B2 + B3 B2 = B2 + 258.8955671442 Else If U < 4.988 Then Drahtbruch = 0 B1 = 171.6751329543 * H4 B2 = 2972.3504770312 * H3 B3 = 19298.9105445771 * H2 B4 = 55645.1229777467 * U B2 = B2 - B1 B3 = B4 - B3 B2 = B2 + B3 B2 = B2 - 60014.9783421197 Else Drahtbruch = 1 End If End If Oelber = B2 Oeltemp = Round(oelber) 'Ende Berechnung Temperatursensor 'Anzeige Bordspannung Btest = Ubatt - Ubattalt If Btest <> 0 Then Locate 1 , 2 Lcd Bdspg Lcd " V " End If Ubattalt = Ubatt 'Ende Anzeige Bordspannung 'Anzeige Öltemperatur Locate 2 , 1 If Drahtbruch = 1 Then Lcd "Drahtbr." Else Oeltemptest = Oeltempalt - Oeltemp If Oeltemptest <> 0 Then If Oeltemp < 20 Then Lcd "Oel kalt" Else

If Oeltemp < 100 Then Lcd " " Else If Oeltemp < 200 Then Lcd " " Else Lcd "GndError" End If End If Lcd Oeltemp Lcd " " Lcd Chr(1) Lcd "C " End If End If Oeltempalt = Oeltemp End If ' Ende Anzeige Bordspannung Loop