Pages: [1] 2   Go Down
Author Topic: Arduino and tachometer from 12V car battery gen  (Read 5132 times)
0 Members and 1 Guest are viewing this topic.
Moss
Offline Offline
Full Member
***
Karma: 1
Posts: 119
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi all,

Does anyone have an idea of how to get sensible frequency measurements from the "W" output of a car battery generator? As I understand it, the W gives raw pulses (of up to 15V) AC. Now there must be a way to "tame" this to a LT 5V signal and measure the frequency. Any ideas? smiley-razz
Logged

ND, USA
Offline Offline
Jr. Member
**
Karma: 0
Posts: 81
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm not much on car mechanics, but are you talking about the output from an "alternator" or an old fashioned "generator"?
If I ain't mistaken, I believe the output of an alternator comes out in three-phase AC, which is actually three simultaneous AC voltages coming out at once, on three or more conductors.  If you read between two of them you should get one AC voltage reading at whatever freq. that might be, and all three freqs. should be the same.

 Like I said, I'm not a car mechanic, but three-phase is three-phase, which I haven't worked with or studied for quite a few years, and I'm not even sure if that's how car alternators operate.  There are probably circuit diagrams for frequency analysers/counters to be found on the internet; maybe one or more of them could be applied to an Arduino.

I'm sorry I can't be of much more help, but thought I would add some information.
Patrick
Logged

Moss
Offline Offline
Full Member
***
Karma: 1
Posts: 119
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you for that Patrick,

You are right, I am talking about a n alternator. And the "w" pin on the alternator gives a pulse I want to read the frequency of, this is only from one of the magnets, so it should be one phase only. Anyone done something similar?

Joachim
Logged

Earth
Offline Offline
Sr. Member
****
Karma: 14
Posts: 331
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You could rectify it and then use a voltage divider. Since you won't be drawing hardly any current this should work. Then just count the pulses. You can set the arduino to interrupt on a pin when it reaches a certain threshold. Just make the interrupt handler increment a counter.
Logged

Moss
Offline Offline
Full Member
***
Karma: 1
Posts: 119
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks a lot both of you, you really  helped me on thight track

Joachm
Logged

Bagshot, UK
Offline Offline
Full Member
***
Karma: 1
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I was trying to build a digital tachometer readout and took a signal off the low tension line of the distributor through a 24k resistor to a digital input with an 11k pull down (odd values because they were what I had to hand):

Low tension from distributor >---[24k]---o---> input 2
                                                            |
                                                          11K
                                                            |
                                                           0v

I used the interrupt to count the pulses and then divided them by 2 (2 pulses per revolution).

I only tried it once on an old 4 cylinder VW engine and didn't blow anything up, I'm sure there are better ways to protect the input but it worked for me!

Good luck.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 59
he's not a real doctor
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

For some reason on I feel silly using the word "zener" in two posts on the same day...

I am sure there is a yet better way to protect the Arduino, but a 5 volt zener with the anode  (unstriped positive end)  to ground is probably the minimum.  Any thing over 5 volts gets shunted to ground.

zener zener zener smiley-razz

Logged

Bagshot, UK
Offline Offline
Full Member
***
Karma: 1
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Zener diode it is then!
Logged

ND, USA
Offline Offline
Jr. Member
**
Karma: 0
Posts: 81
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

On some motorcycles, the electronic tachometer gets its input from the output of the electronic ignition.  That's the same output that feeds the low side (primary) of the ignition coil (transfmormer).  This output comes out as pulses.  

To be used as input to the tachometer, the pulses are fed to a frequency to voltage converter, such as an LM2917 IC chip, which converts those pulses into a varying dc voltage that varies in proportion to the pulse frequencies.  Of course, the pulse frequencies are in direct proportion to the engine RPM.  

Once those pulses are converted into varying dc, the tach circuitry just reads that varying dc as a volt-meter would.  The LM2917 chip was made specifically for this purpose, and Information on the chip can be found on the internet.  Here's a location: http://cache.national.com/ds/LM/LM2907.pdf

However, counting those pulses is a problem, because the ignition coil causes a lot of ringing and distortion and will give a counting circuit a lot of problems to deal with, which results in miscounts, discounts and no-accounts in the kings court. ;D(old joke).  I know this, because I tried to do that, and it didn't work so good.  But, I did try the LM2917 route and it worked for my purposes.

Patrick
Logged

ND, USA
Offline Offline
Jr. Member
**
Karma: 0
Posts: 81
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I forgot to mention that, the 12v pulses from an electronic ignition need to be dropped to less than 5v before applying them to a microcontroller ckt.   On my motorcycle, I fed the ignition pulses to a 220K res. in series with 110K res to ground, then took the voltage pulses from across the 110k to ground, which resulted in pulses of less than 5v.  I tried using a 5v Zener diode across the 110K, but I found that Zener's require a certain level of current to operate properly and that the 220k res. was restricting the current to a level that was too low for the Zener to operate properly.  So took the zener out, since it wasn't working anyway.
So I use a clipper circuit to clip the pulses to whatever voltage level I want.  Here's where you can find info on clipper ckts.smiley-sadhttp://www.ee.lamar.edu/EELABS/ELEN3108/Lab2.pdf)

In place of the clipper ckt. battery I used a 3.3 voltage regulator, and it worked.

Patrick
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 59
he's not a real doctor
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

FYI GrumpyMike just provided this in another post
input protecton
http://www.thebox.myzen.co.uk/Tutorial/Protection.html
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 146
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

so what did you do

how i make mine rpm reader?
Logged

Moss
Offline Offline
Full Member
***
Karma: 1
Posts: 119
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

Actually I haven't gotten any farther, it's still on the project list, but I'll probably use a hall effect sensor on the flywheel to measure the RPM. Simpler that way I guess.

Joachim
Logged

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

Quote
If you are using a high enough series impedance, then the internal diodes should be sufficient to protect the chip.

No No no, that is bad bad bad.

Look at the chorus of one of by favourite songs
"Will you still care" by The Crockets for my true answer.

http://www.lyricstime.com/the-crocketts-will-you-still-care-lyrics.html
Logged

Offline Offline
Edison Member
*
Karma: 3
Posts: 1001
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
No No no, that is bad bad bad.
It is close to impossible to argue against taking protective measures except with your wallet and there is also a short and long term side to that argument going both ways.

Nevertheless I'm curious to see/understand the technical justification as to why additional protection is needed. Keeping in mind also that the built-in diodes have a forward voltage of 0.3V whereas whatever external diodes you add are likely to have a significantly higher forward drop.

There's also an application note from Atmel where they suggest to use (or abuse if you like) the protective diodes for a zero-cross mains detection (one mains phase connected to a digital input pin with only a a high series resistor). In this note they state that the protective diodes are good to 1mA.

So then why should we add additional protection?

Logged

Pages: [1] 2   Go Up
Jump to: