Electronic – Converting a tachometer signal into something a microprocessor can understand

automotivesignal processingtachometer

I am attempting to build a digital dashboard for my car (a 1998 honda civic), I have run into a bit of trouble, wherein the tachometer signal is quite hairy. I was wondering if someone would lend me a hand in cleaning it up so that I can feed it to a microcontroller (an arduino uno, just to keep things simple).

I have an oscilloscope and have scoped the tach signal. Here is an image of it:

scope photo

This is at 50v per division vertical and 5 milliseconds per division horizontal. Unfortunately just an analog scope.

There is a pretty serious spike in voltage, (presumably) when the ignition coil is charging, then it drops down to around 40v, and then further down to about 14v for the long wait until it discharged and is grounded out. There is ringing on each of these transitions that will have to be dealt with to the tune of 50khz as well.

I would greatly appreciate any suggestions as to how to clean this up.

Best Answer

Add a clamping circuit using a series resistor, followed by a 5V zener diode to ground. The resistor value and zener diode wattage should be chosen together so that the zener's wattage can not be exceeded by a continuous overvoltage placed on the input. In a car you typically assume about 70V is the max voltage you'll see (during an alternator failure).

In the case of a tachometer input you can use a fairly high series resistance (10k) since you need very little current into your detection circuit. After the zener add a small capacitor which when coupled with the series resistor forms a low pass circuit. Feed the signal into a Schmitt trigger input. You may also want to add a series fuse, and a MOV or TVS diode to add additional spike suppression.

Instead of a Schmitt trigger logic device you might consider decreasing the series resistor (keep the zener) and using a Schmitt trigger optoisolator like the H11L3M from Fairchild. This will further protect your microcontroller from spikes and surges.