Custom ADX for Arduino board

Report bugs found in TunerPro. Please be sure to include as much info as possible, including system specs, OS, repro steps and TunerPro version number.

Moderators: Mangus, robertisaar, dex

Post Reply
Buddrow
Posts: 5
Joined: Sun Mar 23, 2014 1:25 pm

Custom ADX for Arduino board

Post by Buddrow » Sun Jun 29, 2014 12:28 pm

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

cbernhardt
Posts: 89
Joined: Fri Apr 18, 2008 5:19 am

Re: Custom ADX for Arduino board

Post by cbernhardt » Thu Jul 24, 2014 1:20 am

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
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?

Charles

User avatar
Six_Shooter
Posts: 590
Joined: Sun May 06, 2007 7:32 am

Post by Six_Shooter » Sat Jul 26, 2014 7:43 pm

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.

User avatar
Mangus
TunerPro Author
Posts: 1827
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus » Sat Jul 26, 2014 8:35 pm

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

User avatar
Mangus
TunerPro Author
Posts: 1827
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus » Sat Jul 26, 2014 8:38 pm

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.
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.
***************************************
TunerPro Author
1989 Trans Am

Post Reply