Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Spark plug wire inductive pickup for RPM 4

Status
Not open for further replies.

ziploc

Aerospace
Apr 22, 2012
36
0
0
US
This is kind of a repeat of a very old thread:
I'm looking to read RPM on my paramotor (120cc two-stroke engine) with an Arduino. The part I'm particularly curious about is sensing the spark and conditioning that signal. As mentioned in the older thread, there are very simple tachs on the market that simply use a wire wrapped about 4 times around the spark-plug wire (with one end completely free). I've seen a few approaches to conditioning the signal, but it sounds like "itsmoked" had a slick approach that unfortunately didn't appear in the old thread. Hopefully he can chime in here.

Thanks in advance for any tips.
 
Replies continue below

Recommended for you

Yes, I've added home-made electronic tachos to motorcycles using that method. It's capacitive coupling that provides the signal, not inductive. As the amount of coupling can be a little hit-and-miss, make sure the input to your Arduino is over-voltage protected, e.g. by a fast transient suppressor fitted, to stop the input getting killed by too big a pulse.
 
Thanks BrianG, but I think you're assuming I know more than I do. Let me tell you what I think you're saying. I should perhaps use too many rather than too few wraps around the spark plug wire to make sure I get a good signal, but I should also make sure not to kill my AVR input with too much voltage. I'm guessing the "fast transient suppressor" would be a zener diode?

I think your first comment about the trigger being capacitive rather than inductive might have shed some light on the topic for me. The wire wrapped around the spark plug wire is effectively just one plate of a capacitor (the spark wire being the other plate), such that I'm capacitively coupling the signal - yes? This would explain why the end of the wire is free. That did not make sense to me before. But I think that would also suggest my Arduino should be grounded to the engine. Is this correct?

Thanks again for your response.
 
Ziploc, you are correct in your explanantion of the construction of the capacitor plates being the two wires. You will need to at least ground your tacho input circuit to the engine or frame.
I suggest you perhaps use a separate transistor inverter stage to buffer the input to the Arduino, rather than a direct connection from the pickup wire to one of its inputs, as this will be a bit more robust and will also clean up the signal a bit.

Try using a few turns of wire on the plug lead at first, the input pulse size will be affected by the input capacitance of your tacho circuit as this effectively forms a capacitive voltage divider to ground. A zener may add too much capacitance here as a transient protector, but a pair of fast signal diodes fitted between input and ground, and input and positive supply, will catch excessive spikes.
 
If I'm understanding you correctly the diodes are just used to provide their typical 0.7V drop. This would insure that the input stays 0.7V inside the ground and Vcc rails - right?

Any need for caps or inductors and resistors to debounce the signal?

Sounds like you've done this with some success. Any chance you could describe the circuit in detail? I'm really not a EE guy. I would need component values and pretty explicit instructions of what is connected to what.


Thanks again.
 
>> Do you have an oscilloscope?

I have one at the office - and usually after about 30 minutes of messing with it I can more or less re-familiarize myself with how to use it. What do you have in mind?
 
The 0.7 V is the FWD drop in a standard diode. You need a zener diode - like a 3.3 V one. Put a series resistor between pick-up wire and zener. Ten kohms usually works fine.

Gunnar Englund
--------------------------------------
Half full - Half empty? I don't mind. It's what in it that counts.
 
Your AVR micros has internal protection diodes that are there to shunt over voltages to the rails. You can hook 240VAC directly to the processor pins thru a dropping resistor.(of course there is no safety isolation) If the resistor is a high enough value the diodes do their thing with no issue.

The problem is figuring out what the resistor value needs to be. For the 240V example you can look at an app note to see what someone figured out to be the correct value. But in your case using capacitive coupling, who knows.. So I'd look up the pin capacitance of your AVR processor. I'd confirm it has protection diodes. And I'd look at the maximum current allowed in and out of the pins.

Build a little duplicate of the AVR's input pin. Two diodes and a 5V power supply. Make the actual wraps on your spark plug wire. Include a resistor between the wrap and the two diodes. Hook your scope to the center of the two diodes and see what you get. Fiddle for something that will work. You'll need a couple of different resistors. 1 Meg to start then work your way down.

The diodes are both pointing at 5V in series. One is hooked to ground and the other one is connected to 5V. The node of interest is the point connecting the two diodes together.

Keith Cress
kcress -
 
Here's one of the many answers I've found:

But they all seem to have the problem that they exist in a thread that says "no don't to it that way" and then ends up winding down with no agreed upon solution. I would have thought this was a very common thing.

Here's another one (actually both capacitive and inductive options):
And:
Unfortunately, I have questions about each, and I'm not even sure which ones make the most (if any) sense.
 
There's a confusion regarding capacitive and inductive pick-up in those links. And all of those circuits are overkill.
Do what Keith says.

Gunnar Englund
--------------------------------------
Half full - Half empty? I don't mind. It's what in it that counts.
 
How good are you at programming the UNO. You will have to use interupt or else it will probably miss it. Here is a circuit that will work. Pull up is 2-5K. I just did a plane animation with the UNO. I posted it on April 1st. Modirator just didn't have a sense of humor and pulled it. Here again for your viewing, 100' wingspan.
 
 http://files.engineering.com/getfile.aspx?folder=22b79351-024f-4f82-8027-2d93b9a8e44c&file=circuit_(640x379).jpg
@OperaHouse - Thanks VERY much for the clear schematic. You may be the first one to recognize the depth of my limitations. I'm certain I can work with that. If nothing else, it's a perfect starting point. I can build it, hook it up to my o-scope, and see how it looks.

I recently built an ignition system on a board to test existing sensors we buy for a project we did for NASCAR. I'll use that on the bench.

As far as the 100' wingspan plane - I don't see that. I only saw the schematic you posted.

...looking back at the schematic, I noticed there is one resistor with no value specified. It's the one that goes between 5V and the transistor. Any recommendations? Also, I notice you specify a standard diode. I've noticed there seems to be two different schools of thought on whether I need regular or zener diodes. Is it just a matter of how they're being used?

@Skogsgurra - thanks for the advice. It was my suspicion for several reasons that most of what I've found was both overkill and ad hoc.

@itsmoked - thanks for the advice. Unfortunately, I can't find anything in the Atmega 328 spec sheet that describes the capacitance or input protection. Perhaps I'm looking in the wrong place.


Thanks to everyone for all the tips. If nothing else - I'm learning something (even if it may not be obvious).





 
I'm pretty sure I don't have a contact breaker. This is a single cylinder 2-stroke. I think it runs off a magneto.

But I'm also looking to make an open-source design that others can easily use on their paramotors.
 
I'm certainly familiar with points on older engines, but I honestly don't think this engine uses a mechanical breaker. I guess I could be wrong about that.

In any event, I'm still inclined to use a capacitive sensor on the spark lead to make this as simple and universal as possible in case others want to use it.
 
If I was up in the air, I wouldn't want anything extra attached to the points! Even lawn mowers today don't have points. If it doesn't work, come back. I'll figure out something. What else does this do besides monitor the tach. Those LED light srtips can make a nice show.
 
Status
Not open for further replies.
Back
Top