Need ideas on tachometer using ignition

Chagrin:
This would be an inductive sensor when you're wrapping a wire around the spark plug wire. The current flowing through the spark plug wire induces a current in your coil.

The Arduino pins are protected by what are called "clamping diodes" that will protect the pins from high voltage currents under 1ma. I wouldn't expect to see more current than that from your inductive sensor unless you use a large number of wraps of wire, but if you want to add additional protection you would add a resistor between the coil and Arduino input as well as a 5.1V zener diode between the input and ground (coil -> resistor -> zener cathode -> analog input). Zeners are like regular diodes conducting from anode to cathode with a .7V drop, but also conduct cathode to anode when the voltage is over their rated breakdown voltage.

How many times you should wrap a wire around the spark plug wire and what size resistor you should use is hard to say. Perhaps the simplest way to test would be to connect both ends of your coil to an LED and judge by the brightness of that LED.

Expect a lot of electrical noise to mess with your readings as well. That is why there aren't any "easy" schematics used in this situation.

Thanks for the reply. So in theory an inductive pickup would work without additional high voltage protection? Would there be a way to filter out the electrical noise?

I was also thinking about a Hall effect on the magneto but it seems like that whole area will be more trouble noise-wise compared to the spark plug wire (since my only way out of there is where all the other wires are going, including the CDI and spark coil). That also might not work with all aftermarket magnetos (performance ones tends to have an inner rotor, not as easily accessible, altho I havent seen one personally to see where I could put the sensor).

Grumpy_Mike:
If you get a miniature glass wire ended neon this will fire when coupled to an ignition wire in this way. I did this way back in the 60's.
Now if you put a photo detector transistor against this and wrap it in black tape you will have made an optical isolator so the flashes are safly read by your arduino.

Interesting solution! Im wondering how it would fare with speeds of around 12K RPM (200 flashes/sec).

No problem with the speed a neon was used for the first TV system you know.

Inductive coupling will still produce high voltages, it takes about 60 to 80 volts to strike a neon.

I meant, will a photo detector be able to read that many flashes a sec?

Give it 1 or 2 turns and see if that's too much for a led and 1k ohms.

Goshi:
I meant, will a photo detector be able to read that many flashes a sec?

Phototransistor or photodiode certainly would. You don't want a photoresistor (CdS cell).

Hello i'm also interesting this project however i had another question to very related the subject.

?s there any way to read ignition voltage from plug cable using with arduino.

Regards

Because fewer turns would induce lower voltage, the least would be cross the plug cable with a sensor wire which is almost nothing but maybe enough to turn a transistor on. Then you wouldn't need a light and detector. A couple turns and a resistor would be even better.

A common phototransistor could easily measure well over 100K pulses per second. If you go with an inductive pickup, I'd put a 47K resistor in line and a 5.1V zener diode (between resistor and arduino) as a shunt to ground to protect the arduino. You will find that the electrical supply in a car is the worst as far as spikes, sags and voltage dumps go. Prepare to harden your designs.

Hi :slight_smile:

I'll follow your topic, I have something like you but my actual missing point is the frequency measurement with the arduino.

M4vrick:
but my actual missing point is the frequency measurement with the arduino.

Simply google arduino frequency measurement
Basically you time the interval between two successive pulses and take the reciprocal of it.

Grumpy_Mike:
Simply google arduino frequency measurement
Basically you time the interval between two successive pulses and take the reciprocal of it.

I've tried today 3 differents library without having a clear frequency measure. My car got a connector to have an external tachometer so I assume the input signal is in good shape, but I'll check with a friend and an oscilloscope to be sure.

I'm not good enough to code the measurement by myself :*

It's not rocket science.
Step 1) Learn Blink Without Delay. Really learn how it works.
Step 2) if you learned in step 1 then you probably know what to do.

I'll open a new thread to do not pollute this one

Some information for the initial question:

Even if it's an old engine you have spark plug, which mean coil. On car engine the tachometer signal is simply from the coil driver, on the negative pole of the coil (a coil is driven by negative).
If you have one coil per cylinder you just need to pick the negative pole on one of the coil.

I'm doing mainly the same, I'm using a darlington network to adapt 12V signal from car to 5V signal in Arduino.

You can wrap a piece of wire around the wire to the coil and every time the coil fires the current flow will induce voltage in your wrapped wire. How much voltage depends on how many wraps you make, it is not automatically 12V and it may be -V depending on which end you call ground.

Get the number of wraps right and you can feed it directly to a led, though I'd go with more wraps and add a resistor.

Darlington's are for high-gain. Why use one to take 12V down to 5V?

GoForSmoke:
Darlington's are for high-gain. Why use one to take 12V down to 5V?

You still have the noise issue. Any transistor will just amplify the noise as well.

I think Grumpy Mike's idea sounds like the best.

Grumpy_Mike:
If you get a miniature glass wire ended neon this will fire when coupled to an ignition wire in this way. I did this way back in the 60's.
Now if you put a photo detector transistor against this and wrap it in black tape you will have made an optical isolator so the flashes are safely read by your arduino.

Hi! I have done as Grumpy Mike suggested, I have a neon taped (temp) to a photo transistor/LM393 ebay thingo board. This is connected to an Uno interrupt. I get an rpm reading which is awesome, thank you for the idea.

Now I am wondering before installing a more permanent setup, should I worry about voltage or current induced in the photo diode or to the Uno etc??? Should I put a Zener between any points? Curious for thoughts is all if anyone is still on this old thread.

Cheers very much

How did you wire the neon bulb into the ignition system?

guys tell me if I can use this module to capture light signals

Photosensitive Sensor Module Light Detection Module for Arduino

and this neon bulb
Clear Neon Indicator Lamp

To connect to a spark plug ...
connect directly NEON wire to the ignition wire??
or neon wire wrapped several times around the ignition wire??

If your scooter has a battery, it probably has an alternator for charging. Use one phase of the alternator output as a tachometer input. I put one on my 1984 Chevy diesel pickup and it worked fine. Should work on your scooter, with a little fussing around with calibration.

Paul