CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

Converting the output value of AD7711 to resistance/temp

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
AlternativeSearch



Joined: 28 May 2012
Posts: 2

View user's profile Send private message

Converting the output value of AD7711 to resistance/temp
PostPosted: Mon May 28, 2012 5:05 pm     Reply with quote

Hello All,

I am new to the forum. I hope someone can guide me. I wrote a device driver for the AD7711 ADC to measure the voltage across a PT100 connected to it. I have turned on the excitation current and I do get valid data from the output registers (I say valid because when I touch the PT100 I can see that the output values do increase in the last 4-8 bits of the 24 bit word and vice versa when I remove my hand).

I am confused about the Filter settings and also the gain settings - what should these be for a PT100 operating between possible 0C-100C? (currently using something like 1xF4 for the filers and gain at 2).

Also, I am really stuck on computing the actual temperature from the value output by the ADC and I am desperate for help. I have been spending about a week trying to figure this out - any help greatly appreciated.

Thanks,
Warm Regards,
A.
Mike Walne



Joined: 19 Feb 2004
Posts: 1785
Location: Boston Spa UK

View user's profile Send private message

PostPosted: Tue May 29, 2012 2:56 am     Reply with quote

It's all in the data sheets. You've presumably read them for both your PT100 and the AD7711.


All PT100s behave in a similar way.

They're manufactured to have resistance of 100R at 0C, same as 273K (kelvin).
Their resistance is ROUGHLY proporional to absolute temperature.
So, at 100C the resistance will be 100 * 373/273 i.e. ~137R.
(You'll need to confirm with the data sheet for your device.)


You've turned on the AD7711 excitation current sources of +/- 200uA.
Your maximum voltage across the PT100 is thus 200uA * 137R = ~27mV.
You want to present ~2.5V to the A2D converter.
In other words you need a gain of ~90.


The filter settings change the filter time constants.
The effect is a compromise between noise and settling time.
You have to choose, depends on how fast your temperature is likely to change.


To convert A2D value to temperature you now work backwards.

Use full-scale reading and reference voltage to convert A2D value to A2D input voltage.
Divide by gain to get voltage across PT100.
Divide by excitation current to get resistance.
Use formula or LUT to convert to temperature.

Mike
AlternativeSearch



Joined: 28 May 2012
Posts: 2

View user's profile Send private message

PostPosted: Tue May 29, 2012 3:58 am     Reply with quote

Hello Mike,

Thanks for your reply. I appreciate it a lot.

I would be greatful if you could answer some of my queries:

1) I didnt understand aboout the 2.5V to be presented to the A2D converter, I thought that the ADC would present an appropriate voltage depending on the resistance to keep a constant .200uA.

2)Regarding the gain of 90 ,There are only 3 gains bits (G0,G1,G2) - can I set it to a Gain of 64 and then just divide by 64,since there is no option to set 90.

3) I am currently using a filter of 0x145 - is this ok? I do get changes in values pretty frequently.

4) I am unsure on how to calculate the full scale reading and reference voltage(27mv I presume).

Thanks once again,
Warm Regards,
A.
Mike Walne



Joined: 19 Feb 2004
Posts: 1785
Location: Boston Spa UK

View user's profile Send private message

PostPosted: Tue May 29, 2012 4:49 am     Reply with quote

Quote:
1) I didnt understand aboout the 2.5V to be presented to the A2D converter, I thought that the ADC would present an appropriate voltage depending on the resistance to keep a constant .200uA.

2)Regarding the gain of 90 ,There are only 3 gains bits (G0,G1,G2) - can I set it to a Gain of 64 and then just divide by 64,since there is no option to set 90.

3) I am currently using a filter of 0x145 - is this ok? I do get changes in values pretty frequently.

4) I am unsure on how to calculate the full scale reading and reference voltage(27mv I presume).


You have to appreciate that I've never seen either your PT100 or an AD7711. Today I read the data sheet for the AD7711, and have used PT100's

(1) The AD7711 generates +200uA from two current sources. You have no control over them (apart from turning on/off). The 200uA passed through the PT100 generates the voltage you are trying to measure. Your PT100 voltage is then amplified by the AD7711's internal PGA before it reaches the real a2d converter. Assuming that the reference for the a2d is the built in 2.5V, that's the maximum sensible voltage to feed to the converter. You should always try to use as much as possible of the a2d range.

(2) OK you need a gain of 90. You can only have 64 or 128. 128 will over-range the a2d, so you have to settle for 64.

(3) I'll have to have another look at the data sheet for that one. Like I said before, I've never even seen the part.

(4) 2.5V input to the real a2d will give full scale output. For a 24bit converter that's 0xFFFFFF. So you take your a2d reading, divide by 0xFFFFFF, and multiply by 2.5 to get the real a2d input voltage. Then divide by the PGA gain to get the PT100 voltage.

Mike

EDIT I'm assuming that you mean you've set FS11-FS0 to 0x145, and a 10MHz clock. You've got ~60Hz notch frequency. PT100's are fairly sluggish so probably OK. Depends on your application. You'll just have to try it.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group