Ignition Coil Signal Conditioning for Tachometer Project

Status
Not open for further replies.

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!
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…