热敏电阻的高电阻应用于单片机进行频率法的温度测量
扫描二维码
随时随地手机看文章
0.引言
在现代农业中,许多情况下需要温度测量,用来测量温度的传感器种类很多,热敏电阻器就是其中之一。热敏电阻灵敏度高、稳定性好、体积小、电阻值大等特点,已广泛于温度测量和控制领域。在所有被动式温度传感器中,热敏电阻的灵敏度(即温度每变化一度时电阻的变化)最高,在温室大棚内,温度测量精度一般在±0.5—1?C左右,在这种情况下,,热敏电阻的引线长度在100—200米,对测量造成的误差可以忽略不计,使测量系统的电路简单、使用方便。
1.热敏电阻的测量电路
在多点温度测量系统中,热敏电阻采用温度-频率法测量框图,如图1所示。
图1温度—频率测量原理
图1中,IC1是555时基集成电路,是一个典型的无稳态多谐振荡器,IC2是AT89C52单片机。R3是555电路输出的电平上拉电阻,使输出的高电平稳定在5V,C2为抗干扰滤波电容,Rt为热敏电阻,f是频率信号输出。
其中 f=1.442695041/(C1*(R1+2*Rt ))
从上式可以看出,当C1、R1为固定值时,555时基电路的输出频率f仅仅与Rt有关,而热敏电阻的阻值Rt与测量的温度有关。因此,需要测量的温度由Rt热敏电阻转换成电阻值,通过555时基电路转换成频率信号,单片机通过P3。5(T1口)对频率进行测量,就可以计算出测量的温度值。
多路控制开关的组成与工作原理如图2所示。
图2 多路开关控制原理
在图2中,IC2 为单片机,IC3、IC4为74LS138集成电路组成,J01--J16为继电器。单片机的P1.0 – P1.2作为二个74LS138的地址,P1.3、P1.4作为二个74LS138的片选信号,单片机改变P1.0、P1.1、P1.2、P1.3、P1.4的值,就可以控制继电器,使热敏电阻依次接入,进行温度信号的测量。采用继电器控制,减少了热敏电阻接入路的接触电阻,可以提高测量的精度。显示设备为5位LED数码管,2位用于显示温度信号的通道号,3位用于显示温度值,其中,2位整数,1位小数。
2.单片机的应用
单片机为AT89C52,片内有256B RAM和8KB的Flash ROM,可以反复多次改写程序,十分方便。单片机的定时器/计数器T1工作在方式1,作为16位的外部脉冲计数器,记录555电路输入的脉冲数。单片机的定时器/计数器T0也工作在方式1,作为16位定时器用,记录单片机CPU的时钟脉冲。在编写程序时,使T0的定时时间为0.1秒,通过T1在0.1秒内测量到的脉冲数,就可以计算出频率值,从而知道被测量的温度值。参考程序如下:(CPU振荡频率为12MHz)
MOV TMOD,#15H ;设置 T0为16位计数方式,T1为16位定时方式
MOV TH0,#00H ;T0计数器清零
MOV TL0,#00H ;
MOV 30H,#14AH ;循环20次,使定时时间为0.1秒
SETB TR0 ;启动T0计数器开始计数
Y1:MOV TH1,#3CH ;T1定时器设置初值
MOV TL1,#ACH ;
SETB TR1 ;启动T1定时器开始计时
Y2:JBCTF1,Y3 ;判别T1定时器计时50mS到否,到则转Y3
AJMP Y2 ;50mS未到,则继续
Y3:DJNZ 30H,Y1 ;判别定时0.1秒到否,未到则继续
CLR TR0 ;定时0.1秒到,清T0、T1溢出标志
CLR TR1 ;
MOV 7BH,TH0 ;将测量的频率值存放在7AH、7BH内存中
MOV 7AH,TL0
在单片机进行频率采样的时候,首先通过多路控制开关输出某温度测量信号的地址值,然后进行温度的测量。
3.测量信号的处理
3.1热敏电阻的线性化处理
热敏电阻的电阻值与温度存在严重的非线性关系,当频率信号进入单片机CPU后,就可以应用软件的方法,例如最小二乘法,实现对热敏电阻的非线性校正。实践证明,使用这种方法,在-20~80℃的范围内,其测量误差可小于0.2℃。
3.2数据的滤波处理
在单片机测量到温度信号以后,还需要对检测信号的滤波处理,减少测量过程中的干扰,最简单的方法是算术平均法。对N个采样值,寻找一个Y值作为本次检测的有效值,使Y值与各采样值之间的偏差的平方和为最小,在具体应用中,N值不宜太大,温度测量取N=5-10为好,既保持一定的灵敏度,又有恰当的平滑度。计算方法为:
Y=(X1+X2+….+XN)/N,式中X1、、、、X2、、….XN为N次检测量
实践证明用这种方法能正确测量温度值。在获得正确的测量值后,还需要将它转换成相应的实际温度值。
4.提高测量精度的几个措施
4.1 频率信号的稳定性
在图1中,R1、C1的热稳定性直接影响555时基集成电路的输出频率,要选择温度系数小的金属膜精密电阻,C1采用CBB22的电容。R1、C1、555时基集成电路要经过高、低温老化稳定后使用。每一路用精密电阻箱模拟热敏电阻的温度变化,测量实际的电阻-频率的数据输入单片机,作为测量、计算的依据。
4.2 多路信号的输入
为了克服由于555时基集成电路性能的离散性造成输出频率的误差,多路热敏电阻使用同一个R1、C1、555时基集成电路。各个热敏电阻通过单片机控制继电器来选择信号的输入。
4.3热敏电阻形状的影响
热敏电阻的体积非常小,因此可以制造成各种形状,有柱状、珠状、针状、平面等,以适合不同的测量要求。应该选择合适形状的热敏电阻,使测量值能够准确地反映被测量的温度值。对那些需要快速测量的场合,应该尽量选择体积小反应快的传感器,否则也会造成测量上的误差。
4.4传感器一致性的影响
传感器的一致性差,会引起很大的测量误差。热敏电阻在作为精密的温度传感器使用,应该选择产品的互换性在0.1%以上,它的互换精度能够达到0.025℃。
4.5温度的标定
在一定温度下热敏电阻的阻值是已知的,因此可以用电阻箱(例如旋转式电阻箱ZX31)来模拟温度的变化,使555电路的输出频率值符合要求。由于单片机的程序在计算方法和定时时间上会产生一些误差,用最小二乘法求得的模拟公式也会产生误差,这些都会直接影响测量的精度。所以在验证测量电路准确无误的情况下,再检查验证单片机能否计算出准确的温度值,如果有误差,必须仔细检查程序,修改相关的语句,直到准确为止。
在完成上述工作的基础上,用精密恒温槽,在-20-+80℃的范围内,设置5、6个温度点,检查热敏电阻在这些温度点的电阻值是否符合要求,然后把热敏电阻的引线接到电路里,把热敏电阻放在精密恒温槽内,观察在各个温度点上单片机的显示值是否符合要求。如果符合要求,标定工作结束。
5.结束语
在多点温度测量系统的设计中,充分发挥了单片机的计算与线性化的作用,应用555时基电路的电阻-频率特性,以十分简单的电路得到高精度的温度测量效果。
本文作者的创新点:本测量系统的设计巧妙地将热敏电阻的温度-电阻变化应用于555时基电路,使单片机的A/D转换采用频率采样法,简化了电路,又提高了测量的精度。由于热敏电阻的灵敏度高,电阻值大,热敏电阻可以直接使用普通导线,测量距离达200米左右,这是其他传感器难以实现的;由于只用一个555时基电路,使集成电路的离散性影响降到最低,并且大大降低了硬件的成本。