摘要:提出一种以热敏电阻为温度传感器,经电阻-脉宽转换电路将热敏电阻的输出转换为脉宽信号,再由PIC16F876单片机进行处理,以实现多点温度显示的温度测量仪。采用比较法消除了电阻-脉宽转换电路由于器件参数变化造成的测量误差,提高了测量精度。该多点温度测量仪具有数字显示温度和以RS232串口输出温度的功能。
许多场合需要对多点温度进行监控。测量温度的传感器比较多,目前普遍采用的是热电偶和热电阻。热电偶测量温度范围宽、精度高、性能稳定,但价格高且输出热电动势低,不便于使用。金属热电阻测量温度范围在几百度以内,测量精度也较高,但是输出灵敏度较低。半导体热电阻即热敏电阻,具有高输出灵敏度的特点,且随着加工工艺的改善,测量精度和互换性都有了很大的提高,且价格低廉。
1 测量电路的设计
多点温度测量仪由热敏电阻、多路转换开关、电阻-脉宽转换电路、单片机、显示部分和RS232串行输出接口组成,如图1所示。每个热敏电阻由单片机控制,经多路转换开关与电阻-脉宽转换电路相连,并被转换成与其阻值成正比的脉宽信号,单片机对脉宽信号进行测量,从而得到热敏电阻的阻值,再经过查表得到被测温度。
1.1 电阻-脉宽转换电路
电阻-脉宽转换电路由555芯片、电阻R和电容C组成,如图2所示。电阻-脉宽转换电路实际上是一个单稳态触发电路。图中虚线框内为555的原理电路,555电路包括一个三极管开关T1,2个电压比较器C1和C2,一个基本RS触发器,以及由3个阻值为5kΩ的电阻组成的分压器[1]。
对于该单稳触发器,只要在其触发端(引脚2)施加一个低电平触发信号,它便会输出一高电平信号,该高电平持续的时间为电容C上的电压由零上升到2Ec/3所需的时间,而这段时间的长短是由外接电阻R和电容C 所决定的。若保持电容C不变,这段高电平时间则与外接电阻R成正比,所以根据输出高电平的持续时间,即脉冲宽度便可知道电阻R的大小。转换电路所输出的高电平宽度(时间t)与外接电阻和电容的关系为t=RCln3。
这里,温度传感器选用的是热敏电阻,同金属热电阻相比,热敏电阻的温度系数比较大,且阻值较高,这样转换电路的电容C可以选择性能比较稳定的小电容,以保证转换电路长期工作的稳定性。
1.2 单片机
单片机采用微芯公司的PIC16F876型号单片机[2]。为了准确测量电阻-脉宽转换电路输出的脉冲宽度,这里利用了该单片机的捕捉输入接口。PIC16F876单片机有两个捕捉输入接口CCP1和CCP2,每个接口由两个8bit寄存器构成。CCP1对应RC2引脚,CCP2对应RC1引脚。对于捕捉输入接口CCP1,当RC2引脚每出现一个脉冲的上升沿或下降沿(可以设定)时,就会将单片机内部的一个16bit定时器的内容送入捕捉接口的两个8bit寄存器中,根据这个功能,便可准确地测量电阻-脉宽转换电路输出的脉冲宽度。具体测量方法是:首先,单片机发出一个脉冲,触发电阻-脉宽转换电路,使其输出端变为高电平,同时让单片机内部的16bit定时器开始计时,当电阻-脉宽转换电路输出的脉冲信号结束时,RC2的引脚上便会出现一个下降沿,CCP1捕捉到这个下降沿后,立即将单片机内部的16bit定时器的数据送往CCP1的两个8bit寄存器中[3],这个数据就是电阻-脉宽转换电路输出的脉冲宽度。由于对下降沿的捕捉是由单片机内部硬件完成的,因此用这种方法对脉冲的宽度进行测量可以保证测量精度。
1.3 多路转换开关电路
由于热敏电阻是由电阻-脉宽转换电路转换为脉宽信号的,为了多个热敏电阻共用一个电阻-脉宽转换电路,采用了CD4051多路转换开关,CD4051为8对1电子开关,具体哪一路接通,可由单片机通过三个控制端进行控制。
1.4 显示电路
显示电路由数码管、三极管等元件组成,如图3所示。为了降低成本,充分利用单片机资源,采用扫描显示方式,即由单片机控制数码管分时显示。例如,单片机将要显示的最低位转换为7段码后,经I/O口发送到CHa~CHg,然后再使CH1变为高,这样数码管L1显示,停留一段时间后,再使数码管L2显示,然后再使数码管L3显示。由于一个循环显示周期很短,因此不会发生闪烁。另外可以根据显示位数的多少,增减数码管的个数。
1.5 RS232接口电路
所测温度除了可以直接显示外,还可以进行串行输出。由于单片机的异步串行通信接口不能进行远距离传输,为此,需要一个RS232接口电路,将其转换为标准的RS232串行通信信号。RS232接口电路采用MAX232芯片,MAX232芯片内含两套RS232接口电路,最大传输距离可达15m,这个传输距离一般可以满足温度测量的需求。
2 测量误差及补偿
2.1 测量误差产生原因
由于电阻-脉宽转换电路输出的脉冲宽度与外接电阻和电容的关系为:t=RCln3,对于温度测量仪,这里电阻R包括热敏电阻Rt、连接导线电阻R导和多路转换开关接通电阻R开。连接导线R导在长度确定后可以认为不发生变化,但多路转换开关型号不同或温度改变时,R开要发生变化。另外转换电容C因型号不同或老化,电容值也是不同的,所以即使被测温度没有发生变化,电阻-脉宽转换电路输出的脉冲宽度也会发生变化,即产生温度测量误差。
2.2 测量误差的补偿
基于单片机的多点温度测量仪,采用热敏电阻为温度传感器,经电阻-脉宽转换电路,再由PIC16F876单片机进行处理,实现了多点温度的数字显示,经RS232通信接口,还可将温度数据进行远距传输。采用比较法消除了电阻-脉宽转换电路由于器件参数变化造成的测量误差,提高了测量精度。该多点温度测量仪具有电路简单、无需调试、测量精度高、成本低廉等特点,具有较好的应用前景。
参考文献
[1]康华光.电子技术基础[M].北京:高等教育出版社,2006.
[2]刘和平.PIC16F876X单片机实用软件与接口技术[M].北京:北京航空航天大学出版社,2002.
[3]窦振中.PIC系列单片机原理与程序设计[M].北京:北京航空航天大学出版社,1998.