这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 基于单片机高精度温度测量的补偿方法

共2条 1/1 1 跳转至

基于单片机高精度温度测量的补偿方法

助工
2015-05-05 16:37:13     打赏
长期以来,人们在测量温度时,大部分使用常规的测量方法测量。单片机培训检测精度要求较高时,调理电路复杂、A/D的位数高,使设计的系统成本居高不,很难普及。随着电子技术的发展,出现了很多功能完备的低功耗、低电压大规模集成电路,为设计便携式高精度测温系统提供了硬件基础。本文介绍的高精度便携式测温仪,使用了非常适合作低功耗便携式测试设备美国TI公司的MSP430P325为控制器,用Pt500铂电阻完成温度检测,检测的温度通过液晶显示器显示。本测试仪的测温精度达到0。03℃。
硬件电路设计
MSP430P325单片机内部集成了可切换的精密恒流源。精密恒流源的电流大小由外部精密电阻确定,同时内部又集成了6个14位的A/D转换器和液晶控制器。这样的内部结构,适合驱动性传感器。因此,可减少信号调理环节和显示环节的扩展,大大地简化了系统结构,效降低了系统功耗。
1。温度传感器数学模型
温度敏感元件采用铂电阻Pt500,在~630。75℃温度范围内铂电阻阻值与温度关系为
b=-5。847×10-7/(℃)2
根据上式进行温度计算,需要求解二阶方程的解,计算程序复杂,精度也难以保证。为此本文使用表格法和线形插值法进行温度标度变换。方法如下:首先,以温度增加1℃对应的绝对电阻值建立120个表格,A/D转换结果与表格内的电阻值进行比较,直到Rn≤RM<Rn+1时停止比较,求出温度整数部分,根据R-Rn和Rn+1-Rn的比值求解温度的小数部分,就可求出温度值。这种方法计算简单方便,也能满足设备精度要求。
2。MSP430P325单片机的A/D转换原理
MSP430系列单片机具有低功耗、高抗干扰、高集成度等优点。其中MSP430P325单片机具6有个通道14位A/D转换器,如图1所示。6个通道中A0~A3可编程为恒流源工作、适合于外妆电阻性、无源传感元件的应用场合。SVCC端是A/D转换的参考电压端,它可连接于片内的AVCC,也可由外部稳压源提供。A/D转换采用逐次逼近原理,由内部一个电阻网络生个开关电容网络配合D/A及比较器等电路来实现,由时钟ADCLK控制转换的进程。转换过程经过两卡,首先通过电阻阵列分压值与输入信号的比较来确定输入信号电压的范围,这个电压范围是将参考电压分成4等分,由低到高分别称范围A、B、C、D;然后由开关电容阵列逐位改变电容量,来搜索与输入信号最接近的电压值,由于电容量是以二进制幂排列的,完成搜索后开关的接通状态即为输入信号的A/D转换值。实际上的由电阻网络确定转换值的高2位,由开关电容网络确定了转换值的低12位。
3。外加电阻与测试精度的关系
使用铂电阻进行测温时,外加电阻与恒流源电流之间的关系式为
ISET=0。25×VSVCC/RSET(2)
式中:ISET为恒流源电流,VSVCC为电源电压,RSET为外加电阻。
铂电阻到地的电压VIN为
VIN=Rt(t)×ISET
从式中可以看出,单片机学习影响铂电阻两端电压检测精度的因素有两种:一个是电源电压的波动,另一个是外加电阻的精度和温度稳定性。从仪表使用情况来看,仪表的供电电池的电压随时间推移逐渐减小,假如没有相应的补偿方法,铂电阻的温度检测精度是无法保证的,因此本文提出如下补偿方法。
MSP430P325有4个恒流源输出A/D转换通道,在另一个通道接一个与外加电阻RSET相同阻值的电阻,每次A/D转换时进行电阻电压降低补偿。补偿方法如下:
恒流源给铂电阻供电时铂电阻两端电压为
VIN=0。25×VSVCC×Rt(t)/RSET
V=0。25×VSVCC×R/RSET(5)
A/D转换以后铂电阻两端电压的数字量为Nx,固定电阻的两端电压的数字量N,因为A/D的转换精度和位数是一致的,因此得出如下结果:
Nx/N=Rt(t)/R(6)
从式可以看出,铂电阻两端电压的A/D转换结果与电源电压没有关系,这种方法也可以补偿芯片的基准电压离散性。要保证检测精度,外加的固定电阻R的精度是关键因素。假如温度检测范围为0~100℃,外加的固定电阻R的精度大小应如何选择?下面进行定量分析。
Nx/(N±ΔN)=Rt(t)/(R±ΔR)(7)
式和式相除得出如下结果:
/N=(R±ΔR)/R(8)
假如外加电阻RSET和R的阻值均为500Ω时,要求电阻精度影响数字量的大小为1LSB,那么电阻R的精度为0。02%。
结束语
从MSP430P325的A/D转换原理入手,具体论述了电源电压的波动对检测精度的影响,同时分析了补偿原理及补偿电阻的精度选择方法,为其它精密温度测量场合提供了极好的应用实例。


院士
2015-05-05 23:10:17     打赏
2楼

传说中的插值法与查表法,非常适合低运算能力的单片机。

但是就楼主帖子的这个项目而言,即使计算慢的话,用户也完全可以等待啊!

温度值可以2秒一刷新嘛!可以计算好多次了~~


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]