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