Pages: [1] 2   Go Down
Author Topic: Need ideas on tachometer using ignition  (Read 4456 times)
0 Members and 1 Guest are viewing this topic.
QC, Canada
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ive been searching for a few days now about this subject. I originally wanted to see if it was possible to get some sort of EFI setup working using the bare minimals on a carbed engine, but this is going to be way too much work for a first project. So I hopped to my next idea/needs, a gauge unit that would monitor some stuff (speedometer using reed/Hall; fuel level by reading existing fuel level sender's resistance; coolant temperature using a temperature probe; mileage + trip counters), then draw it all on a small screen (most likely something like a 128x64 OLED, or slightly bigger), running on the battery's 12V. More specifically the vehicle would be my 2-stroke scooter, but in the best world, the whole system could be easily adaptable on anything else with an engine, a wheel and a 12V battery (with adjustments made for the wheel's circumference as well as 2T/4T, etc.)

Now, thanks to Google I was able to figure out how to get everything sort of working... except for the tach. My scooter doesn't have a factory tach; it's a very basic 2T, carbed, CDI engine (Yamaha Zuma/BW's 50 '06). I was thinking about doing like many motorcycle add-on tachs and just roll some wire around the spark plug wire (I think that's conductive pickup?). Except I know the voltage could zap stuff in the Arduino (even if Im not tapping straight into the spark), so I would need to secure the Arduino from the ignition voltage while making sure I can still get an usable signal ranging from, lets say, 500 to 16,000RPM (I assume the spark's voltage won't be steady across the whole RPM band). I didn't find much (easy) schematics to do that.


I don't have an Arduino yet, would most likely start with an Uno to begin with, then move it to a Nano once it's more "completed" mainly for the size factor. Im mainly probing the terrain to make sure what I want to do is even possible or if I'm running straight in a minefield. lol. This is a project I definitively am interested in trying, but Im not too much experienced with electrical schematics to go in blind, hence this post. I would go part by part, making sure I "mastered" each steps before joining everything altogether on the same screen.


TL;DR: Need schematics/ideas on filtering voltage from "conductive" pickup on the spark plug wire (pickup wire twisted on the spark plug wire, going to an input on the Arduino) to use as a tachometer.


Thanks in advance!
« Last Edit: February 13, 2013, 10:30:54 pm by Goshi » Logged

Dubuque, Iowa, USA
Offline Offline
Faraday Member
**
Karma: 49
Posts: 2544
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This would be an inductive sensor when you're wrapping a wire around the spark plug wire. The current flowing through the spark plug wire induces a current in your coil.

The Arduino pins are protected by what are called "clamping diodes" that will protect the pins from high voltage currents under 1ma. I wouldn't expect to see more current than that from your inductive sensor unless you use a large number of wraps of wire, but if you want to add additional protection you would add a resistor between the coil and Arduino input as well as a 5.1V zener diode between the input and ground (coil -> resistor -> zener cathode -> analog input). Zeners are like regular diodes conducting from anode to cathode with a .7V drop, but also conduct cathode to anode when the voltage is over their rated breakdown voltage.

How many times you should wrap a wire around the spark plug wire and what size resistor you should use is hard to say. Perhaps the simplest way to test would be to connect both ends of your coil to an LED and judge by the brightness of that LED.

Expect a lot of electrical noise to mess with your readings as well. That is why there aren't any "easy" schematics used in this situation.

Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34547
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

If you get a miniature glass wire ended neon this will fire when coupled to an ignition wire in this way. I did this way back in the 60's.
Now if you put a photo detector transistor against this and wrap it in black tape you will have made an optical isolator so the flashes are safly read by your arduino.
Logged

QC, Canada
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This would be an inductive sensor when you're wrapping a wire around the spark plug wire. The current flowing through the spark plug wire induces a current in your coil.

The Arduino pins are protected by what are called "clamping diodes" that will protect the pins from high voltage currents under 1ma. I wouldn't expect to see more current than that from your inductive sensor unless you use a large number of wraps of wire, but if you want to add additional protection you would add a resistor between the coil and Arduino input as well as a 5.1V zener diode between the input and ground (coil -> resistor -> zener cathode -> analog input). Zeners are like regular diodes conducting from anode to cathode with a .7V drop, but also conduct cathode to anode when the voltage is over their rated breakdown voltage.

How many times you should wrap a wire around the spark plug wire and what size resistor you should use is hard to say. Perhaps the simplest way to test would be to connect both ends of your coil to an LED and judge by the brightness of that LED.

Expect a lot of electrical noise to mess with your readings as well. That is why there aren't any "easy" schematics used in this situation.
Thanks for the reply. So in theory an inductive pickup would work without additional high voltage protection? Would there be a way to filter out the electrical noise?

I was also thinking about a Hall effect on the magneto but it seems like that whole area will be more trouble noise-wise compared to the spark plug wire (since my only way out of there is where all the other wires are going, including the CDI and spark coil). That also might not work with all aftermarket magnetos (performance ones tends to have an inner rotor, not as easily accessible, altho I havent seen one personally to see where I could put the sensor).

If you get a miniature glass wire ended neon this will fire when coupled to an ignition wire in this way. I did this way back in the 60's.
Now if you put a photo detector transistor against this and wrap it in black tape you will have made an optical isolator so the flashes are safly read by your arduino.
Interesting solution! Im wondering how it would fare with speeds of around 12K RPM (200 flashes/sec).
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34547
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No problem with the speed a neon was used for the first TV system you know.

Inductive coupling will still produce high voltages, it takes about 60 to 80 volts to strike a neon.
Logged

QC, Canada
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I meant, will a photo detector be able to read that many flashes a sec?
Logged

Pittsburgh, PA, USA
Offline Offline
Faraday Member
**
Karma: 98
Posts: 4813
I learn a bit every time I visit the forum.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Give it 1 or 2 turns and see if that's too much for a led and 1k ohms.

Logged

I find it harder to express logic in English than in Code.
Sometimes an example says more than many times as many words.

Dubuque, Iowa, USA
Offline Offline
Faraday Member
**
Karma: 49
Posts: 2544
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I meant, will a photo detector be able to read that many flashes a sec?
Phototransistor or photodiode certainly would. You don't want a photoresistor (CdS cell).
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello i'm also interesting this project however i had another question to very related the subject.

İs there any way to read ignition voltage from plug cable using with arduino.

Regards
Logged

Pittsburgh, PA, USA
Offline Offline
Faraday Member
**
Karma: 98
Posts: 4813
I learn a bit every time I visit the forum.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Because fewer turns would induce lower voltage, the least would be cross the plug cable with a sensor wire which is almost nothing but maybe enough to turn a transistor on. Then you wouldn't need a light and detector. A couple turns and a resistor would be even better.

Logged

I find it harder to express logic in English than in Code.
Sometimes an example says more than many times as many words.

texas
Offline Offline
God Member
*****
Karma: 27
Posts: 862
old, but not dead
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A common phototransistor could easily measure well over 100K pulses per second.  If you go with an inductive pickup, I'd put a 47K resistor in line and a 5.1V zener diode (between resistor and arduino) as a shunt to ground to protect the arduino.  You will find that the electrical supply in a car is the worst as far as spikes, sags and voltage dumps go.  Prepare to harden your designs.
Logged

Experience, it's what you get when you were expecting something else.

Paris, France
Offline Offline
Newbie
*
Karma: 1
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi smiley

I'll follow your topic, I have something like you but my actual missing point is the frequency measurement with the arduino.
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34547
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

but my actual missing point is the frequency measurement with the arduino.
Simply google arduino frequency measurement
Basically you time the interval between two successive pulses and take the reciprocal of it.
Logged

Paris, France
Offline Offline
Newbie
*
Karma: 1
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Simply google arduino frequency measurement
Basically you time the interval between two successive pulses and take the reciprocal of it.

I've tried today 3 differents library without having a clear frequency measure. My car got a connector to have an external tachometer so I assume the input signal is in good shape, but I'll check with a friend and an oscilloscope to be sure.

I'm not good enough to code the measurement by myself  smiley-kiss
Logged

Pittsburgh, PA, USA
Offline Offline
Faraday Member
**
Karma: 98
Posts: 4813
I learn a bit every time I visit the forum.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It's not rocket science.
Step 1) Learn Blink Without Delay. Really learn how it works.
Step 2) if you learned in step 1 then you probably know what to do.

Logged

I find it harder to express logic in English than in Code.
Sometimes an example says more than many times as many words.

Pages: [1] 2   Go Up
Jump to: