RAW to percentage/temperature

Discussion specific to NXT-G, NXC, NBC, RobotC, Lejos, and more.
mattallen37
Posts: 1818
Joined: 02 Oct 2010, 02:19
Location: Michigan USA
Contact:

RAW to percentage/temperature

Post by mattallen37 »

What is the math performed by the firmware to convert RAW analog input values into percentage and temperature?
Matt
http://mattallen37.wordpress.com/

I'm all for gun control... that's why I use both hands when shooting ;)
nxtreme
Posts: 246
Joined: 29 Sep 2010, 03:53
Location: 192.168.1.2

Re: RAW to percentage/temperature

Post by nxtreme »

By temperature do you mean the old RCX temp sensor? Every thermistor will have a different rate of change and so there isn't a "one size fits all" equation. And to get a raw vs. percentage equation just grab a potentiometer and a simple program that will log raw and percentage values every hundred ms or so and slowly rotate the pot at a constant rate. Then graph it with a spreadsheet program. You should be able to figure something out from that.
One King to rule them all, One King to find them,
One King to bring them all and in the darkness bind them
On Earth where Shadows lie.
mattallen37
Posts: 1818
Joined: 02 Oct 2010, 02:19
Location: Michigan USA
Contact:

Re: RAW to percentage/temperature

Post by mattallen37 »

Yes, the equation used for the RCX Temp sensor (10k thermistor in series with a 2k2 resistor). I know I could compare the percentage to the RAW, but I figured that there are probably just a couple simple formulas that are used to get the values. And I do know that all thermistors have differing specs. BTW, how do you plot on a graph (what programs and such are needed)?
Matt
http://mattallen37.wordpress.com/

I'm all for gun control... that's why I use both hands when shooting ;)
nxtreme
Posts: 246
Joined: 29 Sep 2010, 03:53
Location: 192.168.1.2

Re: RAW to percentage/temperature

Post by nxtreme »

The book "Extreme NXT" has a graph that compares temperature (from RCX Legacy sensor) and raw value. I think it also has a graph that compares raw and percentage values. I'm sure that with a bit of basic algebra you could figure out a equation that would convert raw to percentage, and with something slightly more advanced you could get the equation for temperature.

-EDIT- Oh and for graphing programs I use MS Office "Excel" in Windows and Open Office "Spreadsheet" in Ubuntu. I actually prefer Open Office 'cause it's just that, open. Which also means it's free. But if you don't want to download anything to your computer, Google Docs might work. Never used it though, so I'm not 100% sure. Ok, second edit :). I checked out Google Docs and if you have a better-than-dialup internet connection, it should work for charts/graphs whatever.
One King to rule them all, One King to find them,
One King to bring them all and in the darkness bind them
On Earth where Shadows lie.
mattallen37
Posts: 1818
Joined: 02 Oct 2010, 02:19
Location: Michigan USA
Contact:

Re: RAW to percentage/temperature

Post by mattallen37 »

Ok, thanks for the help. BTW though, I would like it if someone had the actual formula.
Matt
http://mattallen37.wordpress.com/

I'm all for gun control... that's why I use both hands when shooting ;)
mightor
Site Admin
Posts: 1079
Joined: 25 Sep 2010, 15:02
Location: Rotterdam, Netherlands
Contact:

Re: RAW to percentage/temperature

Post by mightor »

Percentage is fairly easy:
p_val = (raw_val * 100) / 1023;

where raw_val is a value from 0-1023, without normalisation (this is important). The FW will normalise certain sensor raw values, like the light and sound sensor because their values never reach the full range. Perhaps this is not the case for sensors configured as RCX raw or whatever. It should be easy to test this with a simple pot meter :)

I don't know what the formula is for the resistance/temp conversion but the above should help you.

Regards,
Xander
| My Blog: I'd Rather Be Building Robots (http://botbench.com)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
mattallen37
Posts: 1818
Joined: 02 Oct 2010, 02:19
Location: Michigan USA
Contact:

Re: RAW to percentage/temperature

Post by mattallen37 »

That formula just scales the RAW values into a 0-100 range. I know that technically, that IS percentage. What I want is the range used by the light sensor etc., or IS it that simple (linear, and covers the entire RAW range)? I guess I'll have to try it out. To get resistance, I think that

Code: Select all

R = (10,000*Raw)/(1023-Raw)
will give me ohms from RAW (according to the extreme NXT book, and it seems logically correct).
Matt
http://mattallen37.wordpress.com/

I'm all for gun control... that's why I use both hands when shooting ;)
mightor
Site Admin
Posts: 1079
Joined: 25 Sep 2010, 15:02
Location: Rotterdam, Netherlands
Contact:

Re: RAW to percentage/temperature

Post by mightor »

This is what I use in my ROBOTC driver for a calibrated light sensor:

Code: Select all

/**
 * Read the normalised value of the Light Sensor, based on the low and high values.
 * @param link the Light Sensor port number
 * @return the normalised value
 */
int LSvalNorm(tSensors link) {
  long currval = 0;

  _LScheckSensor(link);

  if (!legols_calibrated) {
    _LSreadCalVals(lslow, lshigh);
  }

  currval = LSvalRaw(link);

  if (currval <= lslow)
    return 0;
  else if (currval >= lshigh)
    return 100;

  return ((currval - lslow) * 100) / (lshigh - lslow);
}
Where lslow is the minimal value the light sensor will have and lshigh is the top end. This is called normalisation. It will also return a value from 0-100.

- Xander
| My Blog: I'd Rather Be Building Robots (http://botbench.com)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
mattallen37
Posts: 1818
Joined: 02 Oct 2010, 02:19
Location: Michigan USA
Contact:

Re: RAW to percentage/temperature

Post by mattallen37 »

Ok, that makes sense. Thank you.
Matt
http://mattallen37.wordpress.com/

I'm all for gun control... that's why I use both hands when shooting ;)
gloomyandy
Posts: 323
Joined: 29 Sep 2010, 05:03

Re: RAW to percentage/temperature

Post by gloomyandy »

Hi Matt,
Why not grab the source for the firmware and take a look. Judging by your other posts I think you would find it interesting and although the code is a little strange it's not that hard to understand...

Andy
Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests