High Voltage Forum

General electronics => Electronic Circuits => Topic started by: RocketScienceSmurf on April 07, 2019, 11:35:19 AM

Title: Tachometer for motorcycle enginge (single cylinder four stroke)
Post by: RocketScienceSmurf on April 07, 2019, 11:35:19 AM
A while ago I bought a motorcycle and even though there is not need for it, I thought I would make a small arduino-based "computer" for it to monitor different parameters and one thing that would be neat to have is tachometer to see the current rpm. My plan was to use the ignition pulse before the ignition coil. I took my Hantek 1008 oscilloscope and hooked it up and was very pleased with how the signal looked.  It was way cleaner than I had first thought it would be.

Some time later when I had a plan of how to construct it and also an embryo of arduino code for it I connected everything and things did not work as expected so I hooked up my oscilloscope again and this time things looked a lot different. Even though screenshots suggest the time base is the same it was not. The first time I had the software set too 500ms but then I zoomed in and since the actual bandwidth of the 1008 isn't very good I fooled myself a little bit when I looked at the pictures.

I now realize I need the clean up the signal before I send it to my optocoupler and my question is: What is the best way to filter out the noise/ringing without sacrificing too much of the part of the signal I need?

My idea was to basically construct a "speaker crossover" consisting of two capacitors and an inductor in between creating a third order CLC-filter. The two main components to filter out is the ~2kHz ringing when the coil discharges and a much larger in amplitude ringing or possibly "bounce" happening when the coil is charged and that one looks to be close to 17kHz according to my readings.
Title: Re: Tachometer for motorcycle enginge (single cylinder four stroke)
Post by: petespaco on April 07, 2019, 06:05:31 PM
How about a Schmitt trigger?  That would clean up the signal.
Google:
schmitt trigger IC sine to square wave
You can get a hex inverting schmitt trigger chip for USD $0.55 from Digikey.

But, if you can find a place farther back in the ignition system, maybe you can find a nice clean  square wave.  Off of the Hall Effect sensor, if it has one.   

I can't really tell from your pictures how high the excursions are.  As you probably know, the Arduino doesn't like voltages higher than 5.

If you really want to get into the whole "ECU" thing, go to:
https://speeduino.com/wiki/index.php/Speeduino

Pete Stanaitis
----------------
Title: Re: Tachometer for motorcycle enginge (single cylinder four stroke)
Post by: RocketScienceSmurf on April 07, 2019, 07:22:42 PM
Signal peak-to-peak is just over 20V so I need to get it down to TTL logic levels which I planned to do with an optocoupler.

There is a short negative spike that I thought I could just handle with a single diode. But the problem with the rest of the signal is that I can't just make it to square wave with a schmitt trigger because that would still give me something like 3-4 pulses for every falling edge in the ingition system and that would seriously mess up my arduino math (I use hardware interrupts so it will pick up every single hickup on the signal). Hence the idea to use some capacitors and chokes to smoothen out the signal.
Title: Re: Tachometer for motorcycle enginge (single cylinder four stroke)
Post by: dexter on April 07, 2019, 09:52:08 PM
Use a monostable with the time constant a bit higher than the length of the noise or a low pass RC between 2 Schmitt trigger gates with the time constant a bit higher than the length of the noise
Title: Re: Tachometer for motorcycle enginge (single cylinder four stroke)
Post by: RocketScienceSmurf on August 28, 2019, 08:33:57 AM
Long overdue update to this project. I have been experimenting with a series choke on the ignition pulse and things are looking really good. I also realized that the reason the signal looked so clear at first was that I hit the "roof" of my oscilloscope input voltage. When I hooked everything up with a 20:1 passive attenuator I realized the voltage was actually ~400V which explains my shot optocoupler and constant current driver I was using.

Having realized this I started looking for ways to dampen the ringing and get voltage levels way down. The only thing I had to try at first was a Hammond choke bought for another project. It is specd at 330mH and when I hooked it up with a 680 Ohm resistor to ground I got REALLY nice pulses but the fall time looked a bit too filtered and it is a very bulky choke so I bought a couple of axial ones, one 100mH and one 330uH and tried them out yesterday. They do the trick but I was surprised at how big difference it was between the Hammond one that looks like small transformer and the axial 100mH. The inductance value is about one third but the signal show much more ringing than the big iron core choke. Could this be due to the difference of core material?

The axial one is a Vishay IHD3EB104L

The pic 100mh inductor.gif  shows about 400V but this is due to a software bug and the actual voltage is about 40V
Title: Re: Tachometer for motorcycle enginge (single cylinder four stroke)
Post by: shrad on August 28, 2019, 09:59:34 AM
hi

I would have a look at a simple wire that you would coil around the ignition wire, like under ten turns, let one end open and the second end to your circuit referenced to ground

you'll have a pulse between the wire end and ground which should be more manageable than 400v, and you can play with the number of turns to get different voltages
Title: Re: Tachometer for motorcycle enginge (single cylinder four stroke)
Post by: RocketScienceSmurf on August 28, 2019, 11:09:34 AM
The signal is quite good with this setup. Here is a pic of the signal at the optocoupler. As you can see there is no need for more filtration so I am happy with the setup. I was just surprised with the big difference between the two different types and sizes of inductors. I still don't fully understand what they do and how they work so it is very educational for me to try different components and analyze the different results and try to learn from it. Hopefully the results can also help others.
Title: Re: Tachometer for motorcycle enginge (single cylinder four stroke)
Post by: shrad on August 28, 2019, 11:24:04 AM
I understand your point, but I would still explore other solutions and especially some that are simpler and require less components, which also means less failure possible and less expensive design

a wire wrapped around the ignition cable will pick up the pulse signal directly at the output of the spark bobbin via capacitive and magnetic coupling and the level should be in the couple volts range at maximum, which could even drive your optocoupler directly with a diode back to back with the optocoupler LED, if lucky

the shaping then can occur at the transistor side of the opto, and there are even optocouplers with a Schmidt trigger output built-in which would simplify your design neven more

just my two cents to suggest alternatives
SimplePortal 2.3.6 © 2008-2014, SimplePortal