浏览人次:【5335】
不知大家是否有注意到,现在的PIC® MCU内部几??都有一个温度指示器。其实早在2007年Microchip推出的PIC16F72X就有此功能了。早期推出此功能的主要目的是测量芯片内部的温度,可用以补偿IC内部类比模组因温度所造成的漂移。下文主要会介绍如何使用此功能以测量环境温度,大家亦可以发挥想像力,思考更多温度指示器相关的应用。
让我们先看此功能的方块图:
依图示,只要利用一个类比数位转换器(Analog-to-digital converter,ADC)将类比讯号转换成数位资料读取,即可使用温度指示器的功能。但当我们再深入研究,可能就会发现事情没有想像那样简单。首先让我们来看一下此温度指示器的线路图:
从图中可见,此线路是由4个二极体再加上一个定电流源组成。众所周知二极体会因温度影响,使其顺向电压改变,其特性为负温度系数。因此当温度上升,Vtemp输出的电压亦会跟随上升,然後可经由Microchip所推导出的公式计算环境温度,请叁考应用笔记AN1333。
但因制程不同也会影响二极体的顺向电压,再加上实际应用时所使用的VDD电压及输出电流等因素都会影响其内部接合的温度,为了修正这些误差,我们可以使用单点或双点校正。
单点校正就是以一个温度点来修正温度的偏移量,此方法的好处是操作简易,但零件之间的差异就较大,仅适合对温度准确度要求较低的应用。
若要求较高温度准确的应用就需要双点校正,补偿温度的偏移量及斜率,以得到较精准的环境温度。
以上的校正方法是在工厂生产阶段进行,虽然方便执行,但只局限於调校环境温度处於0 ~ 85。C时。若想应用在更广泛的温度范围,或更精准的温度测量,就需要在产品设计阶段导入校正因子。
如前文所述,温度指示器的关键因素是二极体的顺向电压及温度系数,所以应用时我们需要准备数量充足的电路板,这些电路板也要焊上相应的零件,MCU也要烧录应用所需的韧体,亦建议利用不同批号的MCU作测试。
另外我们也需要准备温度计在外部测量环境温度,测量时愈靠近MCU愈好,甚至把温度计贴在MCU封装表面,这时可以选用Microchip的温度IC MCP9800。然後把全部工具放入恒温器当中,以每间隔10。C做测试,再来可以使用Microchip PICkit? Serial Analyzer读取ADC及MCP9800的资料,将所得的ADC数据导入下列方程式可得到Vt值。
再将Vt值整理後画成图,如下:
图中的斜率-0.00137就是方程式中的Tc,0.731就是Vf。 接下来再依上面所述的单点校正的方法得出方程式中的抵消。
在比较新的一代PIC MCU,如PIC16F及PIC18F系列产品,此温度指示器的线路略有不同,如下所示:
所以其计算公式也稍有不同,如下:
另外其内部有一个Device Information Area(DIA)表格,此表中有在90。C时温度指示器的ADC值及VREF的电压输出值。这个改变有下列好处:
1. 若对温度的精确度要求不太高时,我们可以直接用DIA表格作校正,简化工厂的生产流程及降低生产成本。
2. 若对温度的精确度有一定要求时,我们则可在生产时只做单点校正的程序,再配合DIA表格就可以做到双点校正的效果。
以上就是以IC内部的温度指示器来计算出环境温度的方法,各位读者可以配合IC的电器特性表所列的叁数来校正各种模组,欢迎到下述Microchip网址了解更多相关的产品资讯。
叁考资料 :
AN1333: https://ww1.microchip.com/downloads/en/Appnotes/00001333B.pdf
AN2092: http://ww1.microchip.com/downloads/en/appnotes/00002092a.pdf
AN2798: https://ww1.microchip.com/downloads/en/Appnotes/AN2798-00002798A.pdf
TB3165: https://ww1.microchip.com/downloads/en/Appnotes/TB3165-Temperature-Indicator-Module-on-8-bit-MCU-90003165B.pdf
本文作者为:Microchip应用工程师 徐广安
|