TR4 World

Tripcomuter im Aschenbecher

Hintergrund

Als waschechter Engländer kommt der TR4 natürlich nicht nur mit zölligen Schrauben sondern auch mit einem Meilentacho daher. Da ich mit dem Wagen aber auch Orientierungsrallyes mitfahren möchte, gibt es ein paar Details, die hinderlich sind:





Optionen

Daher habe ich beschlossen, zunächst eine unscheinbare kleine Tachoanzeige zu bauen, auf der in gleicher Schriftart wie auf dem Tacho und in weiß auf schwarz die Geschwindigkeit angezeigt wird. Als Positionen kamen in Frage: Direkt auf der Lankstange (auf den beiden Halbschalen für die Blinker- und Lichtstöcke) oder auf dem Dashboard. Auch wenn die Anzeige noch so klein ist, wirkt sie dort sofort als Fremdkörper.

Die Idee

Dann kam mir die Idee mit dem Aschenbecher: Die Anzeige sollte sowieso klein sein, der Aschenbecher wird nicht gebraucht und er gibt einen Platz im Dashboard frei, an dem ein gutes Ablesen gewährleistet sein würde.

Damit war die Idee zum Tripcomputer im Aschenbecher geboren und muss nun umgesetzt werden:


Das Wegsignal

Tripcomputer schön und gut, aber woher bekommt er sein Wegsignal? Einen Geber in die Tachowelle wollte ich nicht einsetzen. Daher fiel die Wahl auf einen externen Hallgeber, der sein Signal von der Kardanwelle bekommen soll. Hier gibt es an den Glenken je vier Schrauben auf ausgezogenen Flanschenden, sodass pro Umdrehung der Welle viermal nenneswert Metall am Sensor voebeikommt, um ordentlich auszulösen. Der Sensor muss hierzu ober einen Flansch direkt mit dem Getriebe und nicht an der Karosserie befestigt werden, um die Bewegungen von Getriebe und Kardanwelle ebenfalls mit zu machen und keinen relativen Versatz zu erzeugen.

Ausgewählt wird die linke Schraube, mit der das Getriebe rückseitig an die Getriebeauflage angeschraubt ist. Rechts ist kein Platz, da hier das Auspuffrohr lang läuft.

Es ist ein gekröpfter und ca. 30 Grad verwundener Halter zu erstellen, der im Abstand von etwa 13.5cm zwei Bohrungen enthölt (12.8mm für die 1/2 Zoll Schraube am Getriebe und 12mm für den Hallsensor). Beide werden als leichte Langlöcher ausgeführt. Um Schwingungen zu vermeiden habe ich 3mm Edelstahlblech, 30mm breit verwendet.

Leider hat das Ganze doch nur ca. 200 Meter gehalten, da selbst 3mm Edelstahl (wegen der Verwindung und Kröpfung als Flachstahl und nicht als Winkelstahl) bei der Länge als Stimmgabel wirkt. Bei den Schwingungen beim Anfahren haben dann die Schraubenköpfe oben etwas vom Sensor abgeschert und dann gab es nur noch ein Dauersignal. Mist.

Dann kam die Idee, den Sensor axial ans Ende des Getriebegehäuses zu montoeren. Dieses ist im Endbereich zylindrisch und der Sensor fluchtet in etwa mit der Kreisbahn, auf der die Schrauben rotieren. Leider nur in etwa und auch die Befestigung mit Kabelbindern war nicht fest genug. Das hat mich nicht so wirklich überzeugt.

Die nun eingebaute lösung besteht aus einem kleinen Aluwinkel, der im vorderen Bereich auf ca. 25mm Länge ca. 45° abgewinkelt ist und ein 12er Loch trägt, um den Sensor aufzunehmen, der im 45° Winkel auf die Schrauben zielt. Der andere Schenkel ist ca. 50 mm lang und wird mit Schlauchschellen auf dam Getriebeende befestigt. Da wackelt jetzt nichts mehr und ich bekomme saubere Signale; und zwar etwa alls 14 cm eines :-)

Sensor

Als Sensor verwende ich einen sehr preiswerten und doch sehr hochwertigen induktiven Sensor von autosen mit 12mm Außendurchmesser. Im Gegensatz zum Magnetsensor braucht der induktive keinen Magneten sondern lediglich Metall.

Der von mir zuerst verwendete AI011 hatte eine Reichweite von bis zu 7mm. Nach dem Abscheren musste er ersetzt werden und das Nachfolgemodell AI055 hat sogar 8mm. Beides sind Schließer, d.h. wenn Metall in der Nähe ist, schließt der Ausgang und Plus wird auf den Ausgang geschaltet. Alternativ kann auch der AI057 verwendet werden, der jedoch ein Öffner ist. Dann muss man allerdings bei der Beschaltung etwas aufpassen, da der Öffner sein Signal auf Kontakt 2 (weiße Leitung, wenn man die Autosen-Leitungen verwendet) ausgibt, wohingegen die Schließer ihr Signal auf Kontakt 4 (schwarz) ausgeben. Man legt halt einfach das entsprechende Kabel auf den Signaleingang des Tripcomputers.

Die o.g. Sensoren von Autosen sind einfach genial, da sie gleich im Sensor eine Indikator-LED verbaut haben und man so schon bei der Montage unterm Auto sehen kann, ob der Sensor auf die richtige Entfernung eingestellt ist. Es gibt auch Kabel, in denen am Stecker LEDs eingebaut sind, sodass man durch das schwarze Steckergehäuse hindurch(!) das Signal und die Spannungsversorgung erkennen kann.

Kabelführung

Das Kabel wird vom Geber an die Karosserie geführt und läuft dann entlang der Benzin- und Bremsleitungen nach vorne, an der Spritzwand hoch und dann durch eine der Gummitüllen (es bieten sich an: Tachowelle, Drehzahlmesserwelle, Zuleitungen zum Scheibenwischermotor) in den Innenraum. Von da aus an die Spannungsversorgung und den Arduino.

Spannungsversorgung

Der verwendete Arduino benötigt eine Spannung zwischen 5 und 12V, keinesfalls mehr, der induktive Hallsensor möchte mindestens 8 Volt, besser 10V, verkraftet aber auch deutlich über 24V. Batterie und mechanischer Laderegler geben aber je nach Lastverhältnis irgendwas zwischen 11 und 14 Volt ab; und reine Gleichspannung ohne Spitzen ist auch eher unwahrscheinlich. Für dahinter hängende Elektronik sind das nicht unbedingt die besten Voraussetzungen. Also gibt es noch einen Spannungsregler, der auf 9V eingeregelt ist (macht bei 2V Spannungsverlust 11V am Eingang notwendig), um auch im Leerlauf, wenn die Ladekontrollleuchte anzeigt, dass die Batterie eher entladen wird, in der Lage ist, die Schaltung ordentlich zu versorgen.

Umsetzung

Die Programmierung ist abgeschlossen und funktioniert im Prinzip bestens, aber es stellt sich heraus, dass der verwendete Arduino Micro zu wenig Speicherplatz hat. Die garbage collection ist bei den Arduinos nicht gerade besonders gut implementiert und so kommt es nach einiger Zeit trotz minimalistischer Variablenverwendung dazu, dass Speicherbereiche ineinanderlaufen und dann das Programm abstürzt. Sehr unschön sowas. Schöne Grüße vom Apple II. Der konnte das hingegen perfekt und von ganz alleine!

Das s/w Grafikdisplay ist leider auch sehr speicherintensiv, weil der ganze Displayinhalt im Speicher vorgehalten werden muss. Bei einem Farbdisplay wäre das interessanterweise nicht der Fall (s.u.), aber das Farbdisplay ist ungleich größer. Man könnte aber der Speicherproblematik auch mit einem anderen Prozessor begegnen. Ein Mega 2560 wäre allerdings für den Aschenbecher viel zu groß. Den müsste man also hinter dem Dashboard verschwinden lassen und nur die (dann aber recht vielen) Kabel zur Bedienung in den Aschenbecher und dort zu den Knöpfen, Schalten, Steckern und Display führen. Inzwischen gibt es aber auch den Nano every, der dreifach soviel Variablenspeicher und 50% mehr Programmspeicher besitzt. Außerdem ist er schneller. Leider ist der vom Formfaktor her aber etwas größer als der Micro. Das wird extrem eng im Aschenbecher...

s/w vs. Farbdisplay (falls das jemanden interessiert)

Beim s/w Display codiert ein byte für acht nebeneinander liegende Pixel (ein bit - ein Pixel). Möchte man also einen Pixel ändern, muss man immer auch gleich die anderen sieben bits mit anfassen, also über deren Inhalt Bescheid wissen. Der lässt sich aber nicht aus dem Display auslesen und muss daher im Speicher vorgehalten werden; und das gilt somit für den ganzen Bildschirminhalt. bei 128 x 64 Pixeln ist das gleich 1kB. Bei 2kB Variablenspeicher des 328P ist damit gleich die Hälfte schonmal fürs Display futsch!

Beim Farbdisplay hingegen codieren mehrere byte (je nach Farbtiefe) für einen einzelnen Pixel. Also muss beim Ändern eines Pixels lediglich die für dieses Pixel codierenden bytes neu geschrieben werden und das tangiert die nebenliegenden Pixel überhaupt nicht und daher muss man deren Inhalt nicht kennen. Das frisst daher viel weniger Speicher (eigentlich gleich mal ein ganzes kB weniger); die Anzahl der zu übertragenden Daten ist aber dann natürlich um ein vielfaches höher. Das könnte zu Flackern des Displays führen, falls der Prozessor die Daten nicht mit ausreichender Geschwindigeit anliefern kann).




Impressum und Erklärung zum Datenschutz