Thanks Darrel for your formulae. Substituting 1023 for the 5 I get
1023/1023*256 *10=2560(Quanta). I was using 2600,now from Pic this gives true 10bit number(1023) at full scale that is sent to pc to be scaled,damped,averaged etc.
Tom
Thanks Darrel for your formulae. Substituting 1023 for the 5 I get
1023/1023*256 *10=2560(Quanta). I was using 2600,now from Pic this gives true 10bit number(1023) at full scale that is sent to pc to be scaled,damped,averaged etc.
Tom
What?
That's completely self defeating. The A/D converter already put's out 0-1023.
1023/1023*256 *10=2560
With the */ operator, all your formula does is multiply it times 2560 and divide by 256, which is the same as just saying ADval * 10.
So you would actually be sending 10230.
I don't think that's what you wanted.
If you want to send 0-1023 to the PC, just send the ADval.
<br>
DT
Thanks Darrel
Now I understand, Adval by itself returns 102? and when Adval=Adval*10 it returns 1023 which is what I am using.
Thanks again.
Tom
Don't thank me yet.
Cuz it looks like there's still some misunderstandings.
With the Analog to Digital converters, you have two choices (8-bit or 10-bit).
8-bit returns values from 0-255.
10-bit values are from 0-1023.
Those numbers come straight from the converter without any additional math needed.
Without seeing your code, I can only guess at what's happening.
My guess is that before sending to the PC, you are breaking the numbers down with the DIG operator.
DIG starts at 0, with 0 indicating the rightmost digit.
If ADval was holding the value 1023, (ADval DIG 0) would be 3.
If you're thinking the rightmost digit is 1, and you used DIG 1 thru 4, it would return 0102.Code:DIG 3210 1023
Multiplying *10 first would make DIG 1 thru 4 return 1023, although the actual value is 10230.
Are you using DIG?
<br>
DT
Yes you are right Darrel, I am using DIG 1-4 as you thought. I have now simplified program, since adval does = 1023 directly and using DIG 0-3 to send to PC. All 8 temperature readings now work well.
Thanks again
Tom
Maybe this isn't the right thread, but when A/Ds are mentioned, everyone thinks in terms of 8 or 10 bit resolution. Some chips (8723 for example) return a 12 bit value. That has screwed me up more than once.
Charles Linquist
Bookmarks