无论在工业、农业、科学研究、国防和人们日常生活的各个方面,温度测量和控制都是极为重要的课题。温度测量系统在单片机系统设计中应用广泛,根据单片机系统设计要求的不同,温度测量系统的设计也有所不同,有采用集成芯片的,也有采用恒流源器件和恒压源器件的。本系统选用PT100铂热电阻作为温度信号采集元件,来进行温度测量系统设计。
1 基本工作原理
PT100铂热电阻的阻值随着温度的变化而变化,利用这一特点来采集温度信号,将采集到的信号转换成电压信号;再经过A/D转换成数字信号并由单片机系统读取;单片机系统把读取到的数字信号进行识别处理,并换算成与温度对应的数字信号,最后再由液晶显示器显示输出温度值。
2 硬件设计
硬件组成主要包括恒流源电路、电压放大、A/D转换接口电路、光耦隔离电路、液晶显示电路5个组成部分。
2.1 恒流源电路
恒流源电路如图1所示。其中芯片OP07为运算放大器,它和5个电阻组成恒流源电路,在VIN+处输出1 mA的工作电流。图中DGND=5 V,VMC=0 V,有4个节点分别是NET1,NET2,NET3,NET4。设流过R110的电流为Ia,流过R114的电流为Ib,单位为mA,方向都向右。
则根据运放的虚断和虚短,则有方程:
DGND-(R111+R110)×Ia+R114×Ib-R113×((DGND-R111×Ia)/R112)-(VDGND-R111×Ia)=0
代入数据,有:
5-(10+1)×Ia+1×Ib-2×((5-10×Ia)/10)-(5-10×Ia)=0
可算得Ia+Ib=1,而Ia+Ib即为所求电流I,为1 mA。
根据方程,可知要得到Ia+Ib为常数,必须满足:
R113×R111/R112-R110=R114
所以,这个电路成为恒流源的条件是:
R111/R112=(R110+R114)/R113
如果R111=R112则必须R110+R114=R113,此时,恒流值为I=DGND×R113/R112/R114。
其中J110用于连接PT100铂热电阻。
2.2 电压放大及A/D转换接口电路
PT100铂热电阻一端输出的电压很小,如果直接与A/D转换器相连接,则转换数据偏差较大;所以本设计中将PT100铂热电阻一端输出的电压放大10倍后与电压跟随器相连接,再进行A/D转换,这样就能得到较好的转换效果,如图2所示。精密放大器INA118和电压基准芯片MC1403组成放大电路,VIN+为PT100铂热电阻一端输出的电压值;WIN-为基准电压源MC1403输出的电压值;VOUT为放大后的输出电压值。计算公式为:VOUT=G×((VIN+)-(VIN-)),其中G的大小由电阻R120来决定,G=1+50 kΩ/R120。芯片OPA277与外围电阻组成电压跟随器。
选用双积分型3(1/2)位的MC14433芯片A/D转换器(相当于11位二进制数),MC14433采用动态扫描BCD码输出方式,即千、百、十、个位BCD码轮流地在Q0~Q4端输出,同时在DS1~DS4端出现同步字位选通信号。如图3所示。
MC1403集成精密+2.5 V电压源经电位器分压后作为A/D转换的基准电压。MC14433的DU端与EOC端相连,以选择连续转换方式,每次转换结果都送至输出寄存器。EOC是A/D转换结束的输出标志信号。单片机在读取A/D转换结果时,可以采用中断方式或查询方式。为使单片机能忙于其他任务,本设计系统采用中断方式。DU端与EOC相连后经光耦连至单片机的INT1端。
在MC14433上电后,即对外部模拟输入电压信号进行A/D转换,由于EOC与DU端相连,每次转换完毕都有相应的BCD码及相应的选通信号出现在Q0~Q4和DS1~DS4上。当单片机开放中断,允许INT1中断申请,并置外部中断为边沿触发方式,在执行中断程序后,每次A/D转换结束时,都将把A/D转换结果送入片内RAM中。
电压信号经过MC14433A/D转换后,再经光耦隔离电路传送给单片机,单片机处理后由液晶显示器输出温度值。
2.3 光耦隔离电路
为使输入信号准确无误,在I/O口扩展芯片8255与A/D转换部分采用光耦进行隔离。A/D转换作为模拟量输人部分,采用独立模拟电源和模拟地。单片机及I/O口扩展芯片8255作为数字部分采用独立数字电源和数字地,减少外部输入对单片机的影响。Q0~Q4和DS1~DS4用2片TLP521-4进行隔离后连接至扩展芯片8255C口上,电路如图4所示。
2.4 单片机控制与液晶显示接口电路
本设计选用的是128×64点阵的OCMJ4×8C中文液晶图形显示模块。C系列中文模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能,与传统的图形点阵液晶显示模块相比,单片机硬件接口电路以及软件编程比较简单,内置2 Mb中文字型ROM(CGROM)总共提供8 192个中文字型,可节省大量单片机设计的ROM空间,可更多地显示汉字字符的数量,更加发挥了液晶显示技术在单片机系统中的应用。OCMJ4×8C模块非常适用于显示汉字信息量较大的智能仪器仪表系统及家用电器。可采用8位并列接口传输讯号及串行接口与串行传输资料2种资料传输方式。本设计系统采用的是并列传输方式。单片机控制与液晶显示接口电路如图5所示(J91和J11用于连接液晶显示器)。
3 软件设计及程序流程图
软件设计主要分为主程序、INT0外部中断子程序、液晶显示子程序。主程序完成对中断的初始化、等待外部中断的查询结果、调用显示子程序。INT0外部子程序完成对温度测量数据的读取。显示子程序完成液晶显示器的初始化及显示温度值。程序流程图如图6所示。
在单片机读取A/D转换后的BCD码时,为了避免读取不正确数值,在软件编程时采用对数据多次采样的方法,即在一定的时间内,连续读取BCD码,全部为一样的数值时才作为正确的数值接收,否则视为不正确数值而被忽略,这样可以有效地保障在显示器上输出的温度值连续变化,而不发生干扰性的跳动。由于PT100铂热电阻的阻值随温度的变化为非线性的,所以在软件编程时进行了线性拟合,阻值(R)与温度(T)的关系式为T=2.469R+27.2,其中电阻R的单位是Ω;T的单位是K。
4 结 语
在温度测量系统设计中,PT100铂热电阻被密封在金属棒中,这样使得本温度测量系统不但可以检测室内的气体温度,还可以检测土壤、液体、种子等内的温度,大大提高了温度测量系统的适用范围,且采用PT100铂热电阻为温度采集元件,可有效地降低开发成本。而且在设计中所采用的MCl4433A/D转换器,虽然转换速度慢,但具有抗干扰性能好、转换精度高,在不要求高速转换的温度控制系统中,则被广泛采用。A/D转换部分与单片机控制系统完全采用光耦进行隔离,在降低干扰信号对单片机控制系统的影响方面起到重要的作用。另外在设计中所采用的OCMJ4×8C液晶显示器,其与单片机硬件连接相当简单,无需其他外围器件,即节省了元件又使设计简单化。本温度测量系统电路设计简单方便、实用性好、电路工作稳定、可靠性高。