--- In "holy_12_hans" <> wrote:
>
> Hello Friends,
>
> I am using ts-7200, and I want to use 5 ADC input channels provided
> by EP902 itself.
> I tried to run the sample code at http://www.pastecode.com/14646 which
> is lastly updated as of Apr 29, 2005 and found the following output.
>
> Calibration Values =
> [ 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 ]
> Board has been calibrated by Technologic Systems...
> Channel 0: 2.509V
> Channel 1: 2.509V
> Channel 2: 2.509V
> Channel 3: 2.509V
> Channel 4: 2.509V
>
> Now i have few questions regarding the code ::
>
> 1) why the output shows 0x0 calibration values as according to
> http://tech.groups.yahoo.com/group/ts-7000/message/934
> there should be any data ?
>
I am sure the Technologic guys will correct me, but I have the same result. I
assume it is a
special option for TS to actually perform a calibration, so you will have to
cailbrate the
channels yourself!
> 2) In the code, why 0x10000 is being added in the following statement
> or if one can eloborate the meaning please (Line No. 181)
> (((((double)(stored_cal[i][1] + 0x10000) - stored_cal[i][0]) / 2.5
> ) * 3.3 ));
>
To answer both questions 2 and 3: Although the A/D is 12-bit resolution, it is
reported in
a 17-bit register of which you can only read the lower 16 bits. The lowest
voltage is 0 and
the maximum it can read is 3.3V. On my board, I get these results:
0V reads as 40684(decimal), 0x9EEC hex.
3.3V should be 90652 (decimal) or 0x1621C hex.
But when you read 3.3V you (only) get 0x0621C, as the 17th bit cannot be read.
So if the value is in range oX9EEC to FFFF, it is a low value. If the value is
between 0000
and about 0x6300, you need to add the missing 17th bit.
The cailbration value 1 is meant to be the reading at 2.500V, so the line above
is scaling
between the calibration value at 0.00V and 2.500V, to the full scale reading of
3.300V.
Hope this helps. I found it somewhat confusing.
Martin
> 3) Also why the following statement is included? (Line No. 190)
> if(avg < 0x7000) avg = avg + 0x10000;
>
> 4) In the code, #define CALIB_LOC 2027 is used for location of
> calibration values but according to ts-manual-rev2.2.pdf
> on page 28 the location is defined as 0x07EB through 0x07FE that
> holds the calibration values, so how the mapping is
> done ? (Line No. 14)
>
> Kindly any suggestions are really appreciated..
>
> Thank You,
>
> Have a Nice time and good day ahead..
>
> Ankur Patel.
>
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|