LC60: Internal Temperature Sensor Calibration

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LC60: Internal Temperature Sensor Calibration

2,941 次查看
BasePointer
Contributor II
Hi,
 
I want to calibrate Temperature Sensor Channel (AD26) of the internal ADC. I didn't understand the related section the the datasheet for this.
 
I measured the voltage at channel AD26 (temperature sensor) as 0.761V when the room temperature is 26C degree. I'm only capable of making single point calibration.
 
How can I calibrate the internal temperature sensor by using only these data? Is the temperature sensor curve linear?
 
Thank you.


Message Edited by BasePointer on 2007-07-04 04:26 PM
标签 (1)
0 项奖励
回复
3 回复数

850 次查看
bigmac
Specialist III
Hello BP,
 
Using the formula given in the data sheet -
 
TempC = (Vtemp - 0.7013)/0.0017
 
a measured voltage of 0.761should correspond to a temperature of 35C, with an uncertainty of +/-12C.  Since you say the room temperature was 26C, and the measured temperature is that of the die, it is quite possible there may be some self-heating of the die above ambient.
 
For the self-heating to be insignificant, the MCU would need to remain in stop mode for the majority of the time, and the temperature measurement taken very soon after waking up.  Was this the situation for the measurement?
 
The interpretation of the above  formula -
  1. At a temperature of 0C, the nominal sensor voltage is 0.7013 volt.
  2. The nominal slope of the voltage-temperature characteristic is 1.7 mV/C.  Rather than dividing by this figure, it may be more suitable, for integer calculations, to consider multiplication by reciprocal slope of 588 C/volt.
  3. The data sheet also suggests that this slope may not remain exactly constant over a wider range of temperatures.
Once you have ascertained that self-heating is not a significant factor, and if you intend to calibrate at room temperature, rather than 0C, I might suggest use of the following modified formula -
 
TempC = (Vtemp - Vcal)*588 + Tcal
where Vcal and Tcal are the results of the calibration process.
 
With a single point calibration there is no basis for choosing other than the nominal slope.
 
Of course, Vtemp and Vcal are really ADC measurement values represented by Ntemp and Ncal.  I assume that you also measure the band gap reference (Nref) to calibrate the Vdd voltage.  Allowing for this, the formula can be further modified -
 
TempC = ((Ntemp - Ncal)*(588*Vref)/Nref) + Tcal
 
The value of (588*Vref) could be a pre-calculated integer constant.
 
Regards,
Mac
 
0 项奖励
回复

850 次查看
BasePointer
Contributor II
Thanks bigmac for this detailed explanation.
0 项奖励
回复

850 次查看
bigmac
Specialist III
Hello BP,
 
I have just realised that there is a very significant limitation on resolution of the temperature measurement when using the internal sensor.  This is because the output of the sensor is applied directly to the ADC channel, without any amplification.
 
Consider that the sensor output will change at the rate of 1.7mv/degreeC.  However, the LSB resolution of the 10-bit ADC corresponds with a voltage change of 3.23 mV, assuming Vdd is 3.3V.  This represents a temperature resolution of 2.9C.
 
In practice, the overall uncertainty would be substantially greater than 1 LSB, since there would also be similar uncertainty for the calibration process.
 
If you require more accurate temperature measurement within your project, I guess you would need to use a separate sensor.  By comparison, analog sensors will typically provide a slope of 10mV/degreeC, substantially more than the internal sensor.
 
Regards,
Mac
 
0 项奖励
回复