Pages: [1] 2   Go Down
Author Topic: Controlling an analog automotive tachometer  (Read 4660 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm looking for a bit of advice... I'm wanting to control an aftermarket analog automotive tachometer with an arduino. I was figuring I could just feed a signal into it but I am not sure what type of signal I would need to use? Is there a standard for this?
Logged

CO, USA
Offline Offline
God Member
*****
Karma: 5
Posts: 711
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

+12V square wave pulses.
Quote
http://www.autometer.com/tech_faq_answer.aspx?sid=3&qid=13
This sounds like a viable option, but the signal to the cluster tach is not the same signal as what our tach needs to see (12v square wave).
Logged

... it is poor civic hygiene to install technologies that could someday
facilitate a police state. -- Bruce Schneier

Toronto, Canada
Offline Offline
Edison Member
*
Karma: 2
Posts: 1234
"Keep it R.E.I.L. - "Research, Experiment, Investigate and Learn"
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It is possible. First, you need a datasheet for the Analog Automotive Tachometer.  I am assuming it is a simple ammeter. <-- I may spell this one wrong... It is a needle meter. It work the same principle of a needle multimeter. The automotive store has those.  I do have some needle meters here, and the only info for them is : At max current <-- needle at max value, what is the current ? The type I have are 10 mA ?  type ? hum.. I need to check it out. Anyway, it work like : 0 current = no needle mouvement. at a certain current example : 10 mA - full needle mouvement, more than the current rated, it may damage the needle / internal coil.

If you have a datasheet for this particular meter, you may have more insight.

 
Quote
I was figuring I could just feed a signal into it but I am not sure what type of signal I would need to use?

Not that simple... The Arduino is Digital... 0 V = 0 and 5 V = 1  in and out, can take an analog signal 0 V to 5 V in, and a PWM signal , a digital signal , with a duty cycle. Therefore you need to "convert" a digital signal into a current signal.

Ok here the "trick" --->   Digitals ---> analog <-- Voltage  ----> current.  You got to use an external circuit. An Digital to Analog converter and  a voltage to current converter. You have to use a few Op-Amps. <-- Operational Amplifier.

To use the PWM, you need : PWM --> Intergrator - > Buffer op-amp --> Voltage to current converter.

I hope that give you some insights. those are "Block" diagrams, you simply design each block to make this project to work.

I am sorry that it is not a simple answer.

  
Logged

UK
Offline Offline
Shannon Member
****
Karma: 223
Posts: 12631
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Analog rev counters are usually frequency meters driven by the 12V square wave off the coil -ve. To drive it yourself you would need to generate a 12V square wave of the appropriate frequency corresponding to the engine's firing frequency at your target RPM. Obviously the relationship between RPM and firing frequency depends on the number of cylinders, and many aftermarket rev counters have a switch to let you select this for 4/6/8 cylinder engines.
Logged

I only provide help via the forum - please do not contact me for private consultancy.

Toronto, Canada
Offline Offline
Edison Member
*
Karma: 2
Posts: 1234
"Keep it R.E.I.L. - "Research, Experiment, Investigate and Learn"
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Analog rev counters are usually frequency meters driven by the 12V square wave off the coil -

Hum... I did know about that type.

In that case... TTL signal ----> 12 V signal    a simple transistor circuit can do just that. 

Need : TTL from Arduino --> NOT inverter <-- 74LS04 or 74LS14  ----> base resistor of 4.7 K ---> a 2N3904.  For Rc = 1 K , take signal from the collector <-- Your 12 V signal.  Connect Rc = 1K to collector and the another end, a 12 V source, and of course, the emitter to GND and all GND together.
Logged

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

I'm looking for a bit of advice... I'm wanting to control an aftermarket analog automotive tachometer with an arduino. I was figuring I could just feed a signal into it but I am not sure what type of signal I would need to use? Is there a standard for this?
The problem is that there are several “standards” and so you would need to know the input signal expected for the make and model tachometer you have in mind. Some are designed for a dedicated RPM alternator output (typical for diesel engines), some work off the coil negative terminal, some require a 1:1 ratio flywheel magnetic pickup arrangement and others again measure the frequency of the alternator output ripple. The signal required to drive these will vary accordingly.


Note however that the signal on the negative coil terminal is a complex waveform that looks nothing like a 12V square wave. Tachometers designed for alternator RPM output however may work well off a 12V square wave. Don’t expect a 1:1 ratio of input frequency to meter reading however. This depends on the alternator to engine pully size ratio s well as the number of alternator poles and so calibration will be required.
Logged

UK
Offline Offline
Shannon Member
****
Karma: 223
Posts: 12631
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Note however that the signal on the negative coil terminal is a complex waveform that looks nothing like a 12V square wave.

Sometimes they will pick up a 12V square wave, sometimes you need to put an induction coil in the circuit to produce a high enough spike for them to pick up. A 12V relay coil (with the switching hardware removed) does the job nicely.
Logged

I only provide help via the forum - please do not contact me for private consultancy.

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry for the late reply... I actually got it working with persistence and a LOT of help from my friend Google...

I ended up sending it a signal using the tone() function based on something I read on another forum. It was suggested that 3000Hz should correspond to around 3000RPM but that proved to not hold true.... at least not with this gauge...

Anyway, turned out that it was peaking out at around 8K RPM at around 430Hz.... But, this is just an uber cheap tach from ebay...

Here is a short video I posted once I got it working
Logged

Toronto, Canada
Offline Offline
Edison Member
*
Karma: 2
Posts: 1234
"Keep it R.E.I.L. - "Research, Experiment, Investigate and Learn"
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am glad you got it working. I am just curious, did you have a datasheet ? Others maybe interested doing the same thing.  Even me, I may add a tach for my car.
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6614
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That tacho looks like it has a rotary switch near the lower left hand corner. My guess is that it's to set the number of cylinders. What did you have to set to? Try setting it to 4 to get 3000Hz = 3000rpm.
« Last Edit: May 01, 2012, 01:32:16 pm by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The potentiometer in the front is for setting the shift light position. There is a switch in the back for selecting 4,6 or 8 cylinder engines but in all three cases 3000Hz pegged the needle.

For adding a tach to your car it would be pretty simple and not require the uC smiley

As far as a datasheet I did not have one.. I just took a chance and started feeding it different signals/voltages until I found one that worked...
Logged

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

4-stroke engine (every cylinder fires once every other rev).

Hz = 30000 / 60 * 4 / 2 = 100 (3000RPM, 4 cylinders)
Hz = 80000 / 60 * 6 / 2 = 400 (8000RPM, 6 cylinders)

Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've still got it hooked up on my bench.. when I get to the shop later I will try some more testing and see what happens smiley

the function I'm using is tone(9, 3000)... that should put a 3000Hz signal on pin 9... let me know if you have any specific code you would want me to throw at it...
Logged

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

I had some fun fixing my dead boat tach a couple years back. Rather than looking for a replacement, I replaced the analog needle and electronics with a Pro Mini and a 4-digit 7-segment display.

There was plenty of room for the Pro Mini inside the instrrument housing and a small analog front-end to pick-up the RPM count from the tach input (coil minus in my case). The 4-segment display was mounted flush through a matching cutout in the original instrument dial. The cutout was made with a sharp paper knife and it has worked great and dead-accuracte ever since.
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6614
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

BenF is right, 3000Hz is far too high. Use the calculations he provided, or to put is another way, frequency = RPM * cylinders/120.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Pages: [1] 2   Go Up
Jump to: