RPM Capcitive Pickup

Hello, I would like some help from the community about my problem with reading rpm from a capacitive pickup of the sparkplug.

Background and info:
This is from a school club called SAE Baja which has certain parameters. The engine has to be a Briggs and Stanton modle 19 and no modifications can be made to the engine and can not go beyond 3600 rpms.

On a previous post, Capacitive RPM Sensor for Data Aqc. - General Electronics - Arduino Forum , I was helped and lead in the direction to use a capacitive pick up where I made a timing light circuit through the links people sent me and a schematic I found on a different post. The schematic I used will be down in the attachments.

The problem I am having is that I am not getting numbers at times and sometimes I do, and if I do get numbers they are all over the place. Guessing the signal is still noisy. I have experimented with the number of windings on the toroid ring and distance from the sparkplug. Experiment - 5 windings, 7 windings, 10 windings, and 15 windings.

Questions:
How do I smooth the signal, if that is the problem?

Does the inner diameter of the toroid ring matter for picking up signals?
Reason I ask this is because the first time I tried this circuit I had a smaller ring and worked pretty good but tried using it after soldering the circuit together and it didn't work. I proceed to remake the circuit back on the bread board and still had no results from either the smaller ring and the bigger ring. The difference in the rings is the smaller one is tight against the sparkplug lead wire and the bigger ring has a gap of about 0.1" to 1/4" between the ring and the sparkplug lead wire if the ring were pulled up against the wire on one side, I think.

Can I use the capacitive pick up circuit with a 555 monostable circuit similar to what this article I found that was made by another Baja team? Or would it be better to use the 555 circuit instead of the one I am currently using?

Notes:
Now because of lockdown of the pandemic I do not have direct excess to the testing the circuit on the engine, so testing results will take some time to do as I have to send it to a friend who has the engine. The code will also be in the attachments in case something might be wrong with that, but I don't think so . I seemed to be a pretty solid code I found and tweaked and unfortunately don't remember who to credit it to at this time.

Thanks for anyone who helps!

Tachometer_Using_micros.ino (12.2 KB)

Baja Tach and Wheel Speed[2643].pdf (830 KB)

You mean an inductive pick up as used in many machines. Such a pick up can produce very high voltage spikes that suggest a rigid insulation from the controller, like shown in your circuit diagram. The spikes may be so short that an interrupt or a NE555 should be used to catch or stretch the pulses.

I would think something like this would be more reliable...

How do I smooth the signal, if that is the problem?

I think the lack of isolation would be the main problem.

Does the inner diameter of the toroid ring matter for picking up signals?

Not so much ... the cross sectional area, torroid composition (its specifications) and your number of turns through the hole are more important.

DrDiettrich:
You mean an inductive pick up as used in many machines. Such a pick up can produce very high voltage spikes that suggest a rigid insulation from the controller, like shown in your circuit diagram. The spikes may be so short that an interrupt or a NE555 should be used to catch or stretch the pulses.

Thank for the clarification and will look into the NE555 route to stretch the pulses.

dlloyd:
I would think something like this would be more reliable...


I think the lack of isolation would be the main problem.

Thank you for the feed back. Are you saying having just a optocoupler would be sufficient enough for reading rpms accurately and quickly for racing?

I don't see why not, there's much "faster" opto-couplers available with rise/fall times in the nanoseconds. No need to worry about stretching the output if you're using an interrupt input pin to the MCU.

I could update the circuit with a better suited opto and stronger pullup on its output if you're thinking of testing this.

Why don't you simply fit a hall effect on the rim of the magneto and save yourself a lot of problems.

dlloyd:
I could update the circuit with a better suited opto and stronger pullup on its output if you're thinking of testing this.

That would be great if could do that. I would like you to just give a list of optocouplers that you think would work the best. I have looked into optocouplers as an option but I guess I was confused what the input going into the optocoupler is. Is it an AC signal or a DC signal that the toroid ring produces and whether an optocoupler can handle it?

From various circuits on the web, they only use the ignition impulses in one direction. Sure, I'll update the opto circuit and give some component suggestions (untested). Of course, its easier with a scope and various components on hand to fine tune the circuit if necessary, but I'm still quite confident.

Is it an AC signal or a DC signal that the toroid ring produces and whether an optocoupler can handle it?

AC, but we're interested in one direction only. The IRLED, as any diode, can handle large current spikes much larger than its continuous current rating. Also, the peak current is limited by the max energy that the torroid can deliver and also there's a series resistor to the IRLED, so no problem here.

SFH615AGR

Other optocouplers: SFH617A-3, SFH617A-4

The first RC section reduces and stretches the spikes ahead of the IRLED. This might not be necessary because the opto's transistor will inherently stretch the pulse due to its slower turn off time. However, it might be necessary to overcome the opto's 2us turn on time. The transistor output produces a non-inverted pulse.

Note: The opto's IRLED can handle up to 2.5A current spike ... shouldn't even come close!

dlloyd:
From various circuits on the web, they only use the ignition impulses in one direction. Sure, I'll update the opto circuit and give some component suggestions (untested). Of course, its easier with a scope and various components on hand to fine tune the circuit if necessary, but I'm still quite confident.
AC, but we're interested in one direction only. The IRLED, as any diode, can handle large current spikes much larger than its continuous current rating. Also, the peak current is limited by the max energy that the torroid can deliver and also there's a series resistor to the IRLED, so no problem here.

The first RC section reduces and stretches the spikes ahead of the IRLED. This might not be necessary because the opto's transistor will inherently stretch the pulse due to its slower turn off time. However, it might be necessary to overcome the opto's 2us turn on time. The transistor output produces a non-inverted pulse.

Note: The opto's IRLED can handle up to 2.5A current spike ... shouldn't even come close!

Thank you dlloyd for the not only the suggestions and circuit, but also for explaining how the circuit works. I will let you know how well it goes as I am waiting for parts!