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.

  • \$\begingroup\$ Schmitt trigger. \$\endgroup\$ – Ignacio Vazquez-Abrams Jul 7 '14 at 0:48
  • \$\begingroup\$ @IgnacioVazquez-Abrams That does appear like it would do the trick. Can they handle several hundred volt spikes? \$\endgroup\$ – Patrick Jul 7 '14 at 0:58
  • \$\begingroup\$ They can handle whatever you design them for. \$\endgroup\$ – Ignacio Vazquez-Abrams Jul 7 '14 at 1:00
  • \$\begingroup\$ Fair enough. My question was a bit open ended. I will rephrase: What should I be looking for in a schmitt trigger circuit to ensure that my voltage spikes do not harm it? Alternately, is there something I can do to eliminate those spikes? \$\endgroup\$ – Patrick Jul 7 '14 at 1:31
  • \$\begingroup\$ Add a low pass filter and overvoltage protection (usually a zener or TVS diode) \$\endgroup\$ – mfarver Jul 7 '14 at 3:25

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.

| improve this answer | |
  • \$\begingroup\$ Thank you for the detailed response, especially the things about how to choose the proper components, that is most useful. One question though, did you mean the H11L3M from Fairchild? I cant find the part number you listed. \$\endgroup\$ – Patrick Jul 9 '14 at 23:13
  • \$\begingroup\$ I corrected the part number per your comment. I don't have any experience with that particular part, it was just the first one that I found that seemed to fit the requirements. You may need to examine the datasheets of this part and others to find one that meets your needs. \$\endgroup\$ – mfarver Jul 13 '14 at 14:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.