the12volt.com spacer
the12volt.com spacer
the12volt.com spacer
the12volt.com spacer
icon

tach frequency to voltage


Post ReplyPost New Topic
< Prev Topic Next Topic >
redstealthrt 
Member - Posts: 37
Member spacespace
Joined: October 15, 2008
Location: Tennessee, United States
Posted: December 31, 2008 at 3:03 PM / IP Logged  
Hey all i am in need of some help getting my tach wire from frequency to voltage so that my arduino can read it.
I have found a frequency to voltage chip on Mouser:
http://www.mouser.com/Search/ProductDetail.aspx?qs=29ancymodYe1kMY57d%252bPzQ%3d%3d
but i am unable to see how it would hook up since there are so many pins on it.... Could someone post how to hook up the tach wire from the ECU to one of these things?
Thanks for your time!
David
ckeeler 
Gold - Posts: 1,461
Gold spacespace
Joined: June 20, 2008
Location: New Mexico, United States
Posted: December 31, 2008 at 3:11 PM / IP Logged  
Tach signal is voltage. it is pulsed DC voltage.
redstealthrt 
Member - Posts: 37
Member spacespace
Joined: October 15, 2008
Location: Tennessee, United States
Posted: December 31, 2008 at 3:13 PM / IP Logged  
ckeeler: So are you saying that i do not need anything in order to read it from the arudino?
David
ckeeler 
Gold - Posts: 1,461
Gold spacespace
Joined: June 20, 2008
Location: New Mexico, United States
Posted: December 31, 2008 at 3:21 PM / IP Logged  
I dont know tons about them, but im sure you can program it to do it. they seem pretty flexible. pm KPierson and ask him, he'll know for sure.
redstealthrt 
Member - Posts: 37
Member spacespace
Joined: October 15, 2008
Location: Tennessee, United States
Posted: December 31, 2008 at 3:23 PM / IP Logged  
I will do that ckeeler! Thanks :)
David
KPierson 
Platinum - Posts: 3,527
Platinum spaceThis member consistently provides reliable informationspace
Joined: April 14, 2005
Location: Ohio, United States
Posted: December 31, 2008 at 4:30 PM / IP Logged  

Most tach signals are a pulsing DC voltage.  The faster the motor turns the faster the signal pulses.  Most tach signals are (-) outputs with a pull up resistor to 12vdc.  This means that although a meter will read 12vdc there isn't actually any current behind the 12vdc side of the signal and any load on that circuit will more then likely significantly drag the voltage down.  The (-) side of the signal will be able to deliver a decent amount of current.

You are on the right track with a frequency to voltage converter.  I've never used that exact chip but I've used a similar one ( http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=LM2907N-ND).  Check out that datasheet - it has circuit diagrams in it to show you exactly how to hook it up.  Unfortunately I never had much luck with it and could never get it to work right for my application so I abandoned it.  When I was messing around with it I was trying to use components I had on hand instead of ordering the exact ones they specify. 

Another alternative would be to run the tach signal through a high impedence voltage follower (op amp) and then use a PWM to analog voltage converter circuit to convert the pulsing signal to a voltage ( http://www.ontrak.net/pwm.htm).  If you go this route you MUST use the voltage follower to isolate the converting circuit from the tach circuit, otherwise you could alter the tach signal to the point that the car won't run.

The easiest way to do what you are trying to do, though, is to use a digital input on the arduino processor board and then use firmware to measure the time in between pulses.  That project is open source so I would ask around and see if anyone has already done the programming.  It is not very hard to set up an external interupt and a timer (assuming an ext int and a timer are available).  Every pulse on the external interupt would capture the value in the timer and then reset the timer and the program could act upon the information as necesarry depending on what exactly you are trying to do!

I've messed around with several "projects" that involve tach signals (shift lights and push button starts) and in both cases I used a microcontroller to time the time between pulses.  This has worked the best for me, but I'm sure there are other ways. 

Kevin Pierson
redstealthrt 
Member - Posts: 37
Member spacespace
Joined: October 15, 2008
Location: Tennessee, United States
Posted: December 31, 2008 at 4:55 PM / IP Logged  
Thanks for the quick response KPierson.
I did a little check with my volt meter and this is what i get:
Car off              = 0v (duh)
Car ON/ACC   = 0.17v and less (hum??)
Car Starting     = -0.11v to -0.01
Car Started      = 0.63v and less
The point to all of this is that i want to check to see when the car has started. And i guess u know that some of the pins on the Arduino have PWM... but like i said, i think the max is 5v.. anything higher would burn the chip.
David
KPierson 
Platinum - Posts: 3,527
Platinum spaceThis member consistently provides reliable informationspace
Joined: April 14, 2005
Location: Ohio, United States
Posted: December 31, 2008 at 5:21 PM / IP Logged  

The PWM pins are most likely outputs, not inputs.

If you put a 'scope on the tach signal you would see the actual signal.  You can use a transistor circuit (or a zener diode IF you use a voltage follower) to clamp the voltage at 5vdc.  Since actual voltage isn't important (time, not voltage, is what you are actually measuring) it won't effect the signal.

I'm guessing you are trying to get the board to control your push button start you installed?  When I was doing my research I found that a car starter cranks a motor around 300 RPM.  The "normal" car starts idling right around 1000 RPM.  This gives quite a bit of margin of error in detecting when combustion start spinning the motor over the starter.  You can take the RPM and break it down based on the tach signal you are using and determine the actual frequency (and time) of what you are working with.

Kevin Pierson
redstealthrt 
Member - Posts: 37
Member spacespace
Joined: October 15, 2008
Location: Tennessee, United States
Posted: December 31, 2008 at 5:32 PM / IP Logged  
KPierson: So what all would i need to do just that? The RPM reading? Lets say the code is checking for RPM of 850 or greater.. If its less than that then the car must still be trying to start... if its equal to or greater than 850 then the car must be started and i need to quit trying to start it! :oP
Dont really get what all the parts i need?
Tach wire->Zener Diode->Arduino Pin
David
KPierson 
Platinum - Posts: 3,527
Platinum spaceThis member consistently provides reliable informationspace
Joined: April 14, 2005
Location: Ohio, United States
Posted: December 31, 2008 at 11:01 PM / IP Logged  

If you're shooting for 850 RPM and you're using a fuel injector you can calculate frequency -

An injector fires one time per 2 motor revolutions, so your fuel injector, at 850rpm, would pulse 425 times per minute.  That would equal 7.08 pulses per second which would be 7.08hz.   

So, if you want to know when the motor is spinning faster then 850RPM you would need the time between pulses to be equal to 0.141 seconds or lower. 

Now, keep in mind that you can't shut the motor off as soon as you hit your setpoint, you'll want several confirmation pulses before shutting the starter off.

If you go this route you can use a bjt transistor (such as a 2n3906) and run the output of the transistor directly to the uC.  With the transistor you won't need a zener diode. 

If you were to use a voltage follower the output would be 12vdc (equal to the input) so a zener diode could be used to clamp that voltage down to 5.1vdc (standard value). 

Kevin Pierson
Page of 4

  Printable version Printable version Post ReplyPost New Topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum

  •  
Search the12volt.com
Follow the12volt.com Follow the12volt.com on Facebook
Tuesday, April 16, 2024 • Copyright © 1999-2024 the12volt.com, All Rights Reserved Privacy Policy & Use of Cookies
Disclaimer: *All information on this site ( the12volt.com ) is provided "as is" without any warranty of any kind, either expressed or implied, including but not limited to fitness for a particular use. Any user assumes the entire risk as to the accuracy and use of this information. Please verify all wire colors and diagrams before applying any information.

Secured by Sectigo
the12volt.com spacer
the12volt.com spacer
the12volt.com spacer
Support the12volt.com
Top
the12volt.com spacer
the12volt.com spacer