ts-7000
[Top] [All Lists]

[ts-7000] Re: Regarding ADC calibration

To:
Subject: [ts-7000] Re: Regarding ADC calibration
From: "naturalwatt" <>
Date: Tue, 20 Feb 2007 19:43:10 -0000
--- 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/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU