Protecting Input

Hi all,

I've done a lot of searching, but haven't quite figured this one out.

I am working on building a datalogger for my car, step 1 is to record engine rpm. My car has a GM HEI distributor that has a tach output. This output produces a 0-12v signal, the frequency of which changes as engine rpm increases. I've read that when the ignition coil field collapses, this signal could see a spike of a couple hundred volts.

What's the best way to regulate the signal voltage down to 5v and protect it from large spikes? I don't care about measuring the voltage, I just need it to cause a pin to go high.

I have a very basic understanding of circuits, so being very detailed about what components would work, why, and a general idea of how to set up the circuit would he super helpful! Sorry if I'm asking too much.

Thanks!

A Google search for "arduino hei tach" gets a lot of related hits.

[u]Over voltage protection circuits[/u]. (You can increase the series resistor to between 1K and 10K.)

The [u]Ruggeduino[/u] uses one of those methods.

groundFungus: A Google search for "arduino hei tach" gets a lot of related hits.

Yeah I've done lots of googling, still can't quite figure out what needs to be done. Everyone has different suggestions and I haven't really seen what someone has gotten to work.

DVDdoug: [u]Over voltage protection circuits[/u]. (You can increase the series resistor to between 1K and 10K.)

The first schematic in the first answer definitely looks simple. What exactly is the resistor doing?

I've looked into circuits using zener diodes, but it seems like non of them can handle an applied voltage of larger than 50v or so. What happens if I use this circuit and there's a transient of a couple hundred volts?

zeners are too slow

wolframore: zeners are too slow

What do you recommend?

I have no idea what your car is but you may want to look at OBD II Can Bus Development. I use an OBD II Reader and can tell you everything about what my engine is doing, just about every sensor on it.

Additionally Google OBD II Arduino.

Ron