Hi,
die Tankanzeige geht mir langsam auf den Senkel ... mit dem Speedohealer hab ich manchmal das Problem das beim Anfahren der Speedohealer noch kein Tachosignal erzeugt, der Diesel nach hinten schwappt und das Tanksymbol lospiept.
Nun frag ich mich ob man da nicht was bauen kann was auch dafür sogt das man die Tankanzeige linear bekommt, also Mitte Tankanzeige wirklich 50% sind usw. An Features denke ich:
- Bypassfunktion, ist Zündung "aus" sieht das KI den original Tanksensor (kein Ruhestrom, Tankvorgang "Zündung = aus" wird vom KI erkannt)
- Lineare Anzeige des Tankinhalts (8 Bit DA Wandler via geschalteter Wiederstände, das KI sieht nach wie vor einen Widerstand)
- Dämpfung über Zeit, nicht über GALA (lösst mein Speedohealer Problem)
- Fake Pin, wird der Pin auf Masse gezogen zeigt das KI "Tank = leer" an (mit Tanksimulation wenn das Signal wieder weg ist damit das Tanksymbol wieder verschwindet)
Das wichtigste ist es aber das die Anzeige wirklich linear ist. Ob man nun noch eine Kalibrierfunktion einbaut (Beim Tanken alle 10 L einen Taster drücken, mit LED die dann Feedback gibt) oder ob man die Messerte hart im C-Code ablegt ... müsste man sich noch überlegen.
In der T4-Wiki hab ich ein paar Daten gefunden:
Zeigerstellung Inhalt (l) Widerstand (Ohm)
leer <= 4 Liter = >283 Ohm
Reserve 10 Liter =189 Ohm
1/4 20 Liter = 137 Ohm
1/2 40 Liter = 89 Ohm
3/4 60 Liter = 62 Ohm
voll >= 78 Liter = < 36 Ohm
(Quelle: T4-Wiki)
Nehme ich 8 Bit und als höchsten Widerstand 300 Ohm komme ich mit der E96 Reihe auf:
R Basis = 33 Ohm + 2 Ohm = 35 Ohm
R1 = 1.00 Ohm
R2 = 2.00 Ohm
R3 = 2.00 Ohm + 2.00 Ohm = 4.00 Ohm
R4 = 3.30 Ohm + 4.70 Ohm = 8.00 Ohm
R5 = 14.00 Ohm + 2.00 Ohm = 16.00 Ohm
R6 = 34.00 Ohm + 2.00 Ohm = 36.00 Ohm
R7= 62.00 Ohm + 2.00 Ohm = 64.00 Ohm
R8= 127.0 Ohm + 1.00 Ohm = 128.00 Ohm
Macht Rmax = 35 Ohm + 255 Ohm = 290 Ohm
Auflösung:
Rmax = 290 Ohm
Rmin = 35 Ohm
=> macht bei 80 Liter = 255 Ohm / 80 l = 3 Ohm pro Liter. Mit dem 8 Bit DA Wandler kommt man dann auf gut 1/3 Liter als LSB. Die Tankanzeige hat 8 Striche, 10 l pro Strich. Bei einer Auflösung von 1/3 l pro bit sind es dann 30 Schritte zwischen den Strichen.
Beim Einlesen des Tankinhaltes hat man 2.56V / 10 Bit = 2.5 mV als LSB. Nimmt man 300 Om als Rmax kommt man auf 8.53 mA die die Konstantstromwquelle erzeugen muß. das gibt dann:
Umax = 283 Ohm x 8.53 mA = 2.413V
Umin = 36 Ohm x 8.53 mA = 307 mV
Ergibt (Umax - Umin) / LSB = 842 Stufen = grob 100 ml / Stufe. Damit kann man den Tankinhalt (teoretisch) genauer einlesen als man ihn ausgeben kann. Bezogen auf die Anzeige im KI sollte das mehr als ausreichend zu sein die Tanknadel genau zu positionieren. Die 100 ml sind "teoretisch" da die Anzeige nicht linar ist, also mal mehr, mal weniger Schritte für die gleiche Menge an Flüssigkeit vorkommen wird. Da man aber 3 mal genauer messen als anzeigen kann sollte das noch ausreichen.
Maximalverbrauch, Dämpfung:
nimmt man 36 l als absoluten Maximalverbrauch (pro Stunde) sind das maximal 10 ml pro Sekunde, also 100 ml alle 10 Sekunden. Alternative 18 l die Stunde und 100 ml alle 20 Sekunden. Messe ich einmal pro Sekunde und bilde den Mittelwert über 10 Sample sollte die Dämpfung stark genug sein um das "Schwappen" raus zu filter aber noch schnell genug in der Lage sein die Tanknadel analog zum Tankinhalt zu bewegen.
Schaltungsentwurf:
Layout
Zentralelektrik:
das Signal vom Tankgeber sitzt in der ZE am Stecker M:
Stecker M:
Pin 6 = Masse (braun)
Pin 5 = Signal (lila, schwarz)
Pin Mapping ATMEGA8:
AtMega8
Port B:
0 - Pin 14 - unused
1 - Pin 15 - unused (PWM 1)
2 - Pin 16 - unused)
3 - Pin 17 - LED, OUT (PWM 2) + MOSI
4 - Pin 18 - MISO, OUT
5 - Pin 19 - SCK, OUT
6 - Pin 9 - unused
7 - Pin 10 - unused
Port C:
0 - Pin 23 - Tank Level, IN (ADC0)
1 - Pin 24 - Relais, OUT
2 - Pin 25 - Tank leer, IN
3 - Pin 26 - DA 128, OUT
4 - Pin 27 - DA 64, OUT
5 - Pin 28 - DA 32, OUT
6 - Pin 1 - RESET, IN
Port D:
0 - Pin 2 - DA 16, OUT
1 - Pin 3 - DA 8, OUT
2 - Pin 4 - DA 4, OUT
3 - Pin 5 - unused
4 - Pin 6 - unused
5 - Pin 11 - GALA, IN (T1)
6 - Pin 12 - DA 2, OUT Comperator 0)
7 - Pin 13 - DA 1, OUT (Comperator 1)
Masse Tanksensor:
Der Tanksensor bekommt seine Masse aus dem Kombiinstrument.
Gruß Frank