DigitalTacho Projekt

Mit diesem Projekt begann Ende 2003 meine Leidenschaft für Mikrocontroller. Ich wollte unbedingt einen Digitaltacho selberbauen! Eines Tages hat es dann auch tatsächlich funktioniert.
Im Folgenden präsentiere ich eine kleine Fotolovestory zur Entwicklung des Prototypen.

Das Herzstück ist ein PIC16F648A von Microchip, getaktet mit 20 Mhz.
Die Software hab ich aus Faulheit in C geschrieben. Assembler wird bei Fließkommaberechnungen nunmal ein wenig komplexer...

Dies ist die frisch verlötete Tachoplatine, freundlicherweise von einem Kumpel im Keller geätzt. Der Microcontroller kommt in den Sockel links oben, der Sockel in der Mitte ist für den 7-Segment-LED-Treiberchip von Maxim.

Wie man sieht, ist die benötigte Hardware recht überschaubar, zum Zeitpunkt der Platinenentwicklung waren Abblockkondensatoren und Verpolungsschutzdioden noch Fremdworte für mich...
Der Controller hat nun eine Impulszählsoftware verdaut. Rechts daneben sieht man die Platine mit dem Operationsverstärker, der das Tachosignal aus dem Fahrzeug-Steuergerät in ein TTL-Signal umwandelt.
In einer späteren Version erfolgt die Signalwandlung über einen simplen Transistor.

Nach einigen Tests fliegt mir dann ein 220µF Elektrolytkondensator auf Grund eines Verpolungsfehlers im Auto um die Ohren. An diesem Tag beschließe ich, zukünftig Verpolungsschutzdioden zu verbauen...
Wochen später läuft die Tachosoftware endlich zufriedenstellend, die neue Signalwandlerplatine funktioniert auch (die einfache Transistoreingangsstufe ist völlig ausreichend...).
Für die Berechnung der Geschwindigkeit werden die Impulse pro 800ms gezählt.
Diese Methode ist ziemlich ungenau und die Anzeige wird nur alle 0,8 s aktualisiert.
Eine Verbesserung muß also her...
Die Lösung liegt in einer anderen Meßmethode.
Nun wird immer die Zeitspanne zwischen 2 eingehenden Impulsen gemessen und daraus die zurückgelegte Strecke berechnet
Anschließend lässt sich die Geschwindigkeit nach v=s/t ermitteln.
Diese Methode ist wesentlich genauer und auch die Anzeigenupdatefrequenz kann nun deutlich erhöht werden.

Leider stellte sich bald heraus, dass der Tachometer zwar eigentlich recht zuverlässig lief, aber bei Geschwindigkeiten um 100 km/h nur Mist anzeigte.
Ich habe ca. 4 Monate lang ein Hardwareproblem vermutet und hunderte Testfahrten mit den unterschiedlichsten Eingangsfilterungsverfahren gemacht... Alles erfolglos.

Eines Tages - ich stand kurz vor der Kapitulation - beschloß ich, den Fehler nun doch in der Software zu vermuten. Und dort sollte er auch zu finden sein!

Mit den fogenden Veränderungen lief plötzlich alles hervorragendst:

Bisher war die Interruptroutine, welche auf einen Impuls reagiert während des gesamten Programmablaufs aktiviert. So konnte es wohl passieren, dass die Hauptprozedur den Wert einer Variable in die Berechnung einbeziehen wollte, diese Variable aber zwischendurch von der Interruptroutine verändert wurde, was natürlich zu falschen Berechnungen führte. Neuerdings sind die Interrupts nur für einen Zeitraum von 400ms aktiviert. Leider führt dies (bei einer niedrigen Auflösung der Drehzahlsensorik im Getriebe) zu ungenauen Messungen bei Geschwindigkeiten unter 9 km/h, dies ist meiner Meinung nach allerdings zu verkraften.
Es erfolgt zusätzlich zur Hardwaremäßigen Impulsfilterung per Tiefpassfilter noch eine Softwarefilterung des Eingangssignales. Impulse mit zu geringer Länge werden nun bei der Berechnung nicht mehr einbezogen.

Update: (16.07.04)

Rote Ziffern sind zwar okay, aber blau macht bekanntlich glücklich.
Leider sind die Anzeigen noch recht teuer (ca. 10 EUR / Stck.) und schwierig zu bekommen.

Auf meine freundliche Anfrage bei einem großen Halbleiterhersteller hin wurden mir aber sofort 4 Muster zugeschickt. Riesen Service! DANKE!

(Bild anklicken zum Vergrößern)
...und noch ein Bild, sogar mit meinen Wurstfingern drauf...

Die Leuchtkraft der Displays überzeugt. Auch bei direkter Sonneneinstrahlung sind sie noch gut abzulesen.

(Bild anklicken zum Vergrößern)
auch wenn es hier vielleicht nicht zu sehen ist...
...der Tacho zeigt auch 3-stellige Geschwindigkeiten an....
(Bild anklicken zum Vergrößern)


Die neue Version:
Inzwischen gibts eine neue Version des Tachos. Die Kinderkrankheiten des ersten Prototypen habe ich endlich behoben und den Funktionsumfang deutlich erweitert...

(Bild anklicken für mehr Infos)






(Hinweis: Den Sourcecode der Tachoprojekte werde ich NICHT veröffentlichen. Auch auf Anfrage per Mail werde ich den Quelltext nicht herausrücken. Ich gebe gerne Denkanstöße wenn jemand Probleme bei seinem eigenen Tachoprojekt hat, auch Fragen zum Schaltplan werde ich beantworten. Ich bitte um Verständnis, da ich SEHR viel Arbeit in dieses Projekt gesteckt habe.)
Home
Letztes Update: 28.10.2007