Ignition Coil Signal Conditioning for Tachometer Project

crashedrobot

New Member
Hello Everyone,

I want to start off by saying that I am very new to working with electronics/circuits, so please be patient with me.

So I am wanting to get a signal from my ignition coils for an arduino/raspberry pi tachometer project. The issue I'm having is that at low rpms (~1200 and below), the signal gets a bit noisy as shown by the two extra spikes following the main spike. Once I get on the throttle, those extra spikes go away and my arduino reads the frequency very well. Is there anything I can do to clean up that signal? I attached the schematic I used (although I only tapped into one coil wire) and the coil on plug wiring diagram. Let me know if any other information is needed.

Thanks!





 
For RPM, why do you need a circuit per ignition coil or per 2 plugs?

Most of the time a coil is used for 2 plugs. The coil also fires on plug in the exhaust an one in the power stroke at the same time.
 
They are coil packs, so it's one coil per spark plug. I believe whoever made the hand-drawn circuit tapped into all four coil packs for more resolution, although tapping into just one will work just as well.
 
A simple R-C filter should take care of the stray pulses.
eg. Something like a 1K resistor from the coil switching wire to a 0.1uF to ground/common.

If you want to keep the diode-or setup, change the pulldown resistor to eg. 10K so the voltage from 1K series resistors is no loaded down too much.
 

Thanks for the recommendation! I'll order some capacitors since I don't have any on hand.. I'll try it out and let you know how it goes.
 
I second the R-C filter approach. What might be happening at higher RPMs (higher frequency) is that parasitic R-C already in the system might be having a filter affect. What you want is a LOW-PASS filter configuration with your R and C components.
 
Just one plug ought to be fine pickup wise.
Another additional method you can use is a simple filter in software, once the arduino receives a pulse stop looking for pulses for a period of time thats equal to the time period between pulses at max rpm.
 
I just tried it out and it works well! I ended up using a slightly larger capacitor though (0.47uF). Thanks again!
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…