Need help coming up with the correct conversion formula for TPS data sent from an Arduino to TunerPro5. Communication is working, after connecting the device, open dash, turn the Throttle Position sensor and the gauge rolls over 4 times while doing a full sweep but will go from 0.49 to 5.0vdc at about 1/4 travel. I am using the conversion in the $42 TPS adx( X * .0196).
Im a little confused as to why the needle sweeps from 0.49-5.0 4 times instead of just 1 and I am assuming it's the conversion but I could be wrong. Any insight is appreciated.
Buddrow
Custom ADX for Arduino board
Moderators: Mangus, robertisaar, dex
-
- Posts: 95
- Joined: Fri Apr 18, 2008 5:19 am
Re: Custom ADX for Arduino board
So the Arduino board is connected between the TPS and the engine computer? Have you checked the output of the TPS with a meter? What does the Arduino code look like?Buddrow wrote:Need help coming up with the correct conversion formula for TPS data sent from an Arduino to TunerPro5. Communication is working, after connecting the device, open dash, turn the Throttle Position sensor and the gauge rolls over 4 times while doing a full sweep but will go from 0.49 to 5.0vdc at about 1/4 travel. I am using the conversion in the $42 TPS adx( X * .0196).
Im a little confused as to why the needle sweeps from 0.49-5.0 4 times instead of just 1 and I am assuming it's the conversion but I could be wrong. Any insight is appreciated.
Buddrow
Charles
- Six_Shooter
- Posts: 590
- Joined: Sun May 06, 2007 7:32 am
The conversion pulled from the ADX will not work with the AD conversion of the Arduino.
The GM computer is 8 bit, so 256 values, and the raw data is sent in this 8 bit value, that the ADX (and scanners) use the conversion to come up with an actual value.
Arduino AD converter is 10 bit, which has 1024 values.
Follow some of the Arduino examples and tutorials for AD conversion.
Using something called MAP (Arduino lingo), that re-maps a value set from one range to another is a quick and easy way to do it.
The GM computer is 8 bit, so 256 values, and the raw data is sent in this 8 bit value, that the ADX (and scanners) use the conversion to come up with an actual value.
Arduino AD converter is 10 bit, which has 1024 values.
Follow some of the Arduino examples and tutorials for AD conversion.
Using something called MAP (Arduino lingo), that re-maps a value set from one range to another is a quick and easy way to do it.
There's now reason you couldn't create a definition and an Arduino sketch to communicate between an Arduino and a PC. I've done it many times myself.
Keep looking into it. If you get absolutely stuck, post your issues here. Ill reply with hints.
Keep looking into it. If you get absolutely stuck, post your issues here. Ill reply with hints.
***************************************
TunerPro Author
1989 Trans Am
TunerPro Author
1989 Trans Am
Is the sensor truly fed by 5v? Is 0 degrees travel really 0 (or 5) volt? for 10-bits you'd divide the voltage range by 1024 steps.Mangus wrote:There's now reason you couldn't create a definition and an Arduino sketch to communicate between an Arduino and a PC. I've done it many times myself.
Keep looking into it. If you get absolutely stuck, post your issues here. Ill reply with hints.
***************************************
TunerPro Author
1989 Trans Am
TunerPro Author
1989 Trans Am