技术频道

基于LM35温度传感器的温控系统设计


1.引言 在各类民用控制、工业控制以及航空航天技术方面,温度测量和温度控制得到了广泛使用。在很多工作场合,元器件工作温度指标达不到工业级或普军级温度要求,可以通过设计加温电路的办法得以解决。小型、低功耗、可靠性高、低成本的温度传感器已经越来越受到设计者的关注。本文介绍了一种基于LM35温度传感器开发的温控系统硬件电路及软件设计

2.LM35温度传感器 LM35是NS公司生产的集成电路温度传感器系列产品之一,它具有很高的工作精度和较宽的线性工作范围,该器件输出电压与摄氏温度线性成比例。因而,从使用角度来说, LM35与用开尔文标准的线性温度传感器相比更有优越之处,LM35无需外部校准或微调,可以提供±1/4℃的常用的室温精度。 工作电压:直流4~30V; 工作电流:小于133μA 输出电压:+6V~-1.0V 输出阻抗:1mA负载时0.1Ω; 精度:0.5℃精度(在+25℃时); 漏泄电流:小于60μA; 比例因数:线性+10.0mV/℃; 非线性值:±1/4℃; 校准方式:直接用摄氏温度校准; 封装:密封TO-46晶体管封装或塑料TO-92晶体管封装; 使用温度范围:-55~+150℃额定范围。 引脚介绍: ①正电源Vcc;②输出;③输出地/电源地。

3.系统结构及工作原理 温控电路由传感器电路、信号调理电路、A/D采样电路、单片机系统、输出控制电路、加温电路构成。电路基本工作原理:传感器电路将感受到的温度信号以电压形式输出到信号调理电路,信号经过调理后输入到A/D采样电路,由A/D转换器将数字量值送给单片机系统,单片机系统根据设计的温度要求判断是否需要接通加温电路。本文设计时以0℃为判别依据,当温度量值低于或等于0℃时,使加温电路接通。当温度量值高于0℃时,加温电路停止工作。 520) this.width=520;\\\" border=0> 从图1中可以看出,无论是何种原因导致环境温度低于0℃,单片机系统将输出相应的逻辑电平(本例设计为低电平),经驱动后控制输出电路的继电器闭合,使加温电路工作。此系统是一个开环控制系统。

4.核心硬件电路设计及采样值量化 传感器电路采用核心部件是LM35AH,供电电压为直流15V时,工作电流为120mA,功耗极低,在全温度范围工作时,电流变化很小。电压输出采用差动信号方式,由2、3引脚直接输出,电阻R为18K普通电阻,D1、D2为1N4148。如图2。此电路适用于测温范围为-55~+150℃场合。如果测温范围变化,可以对此电路作一些调整。笔者曾单独对此电路做过温度试验,把传感器放在温变循环箱中,每隔5℃作为一个测试点,观测并记录输出电压(测试数据和U-T曲线限于篇幅,从略),试验结果表明LM35AH的线性度是令人满意的。 信号调理电路主要完成对传感器信号放大和限幅的功能,将传感器电路输出的变化范围为2V左右的直流电压,调理为±10V直流电压,运放采用LF412。A/D采样电路选用12位AD转换器AD574。单片机系统以AT89C55为CPU,外接锁存器及输出驱动电路。输出电路使用松下PhotoMOS继电器AQZ202,来控制加温电路的通断。加温电路采用功率电阻加温的方法,单独设计一块加温板,电阻采用“串联+并联”的方式,总阻值为14Ω左右,供电电压为直流28V,整板加温功率为50W。 采样值的准确量化是温控电路正常工作的关键,这里采用以下换算办法来进行量化。 设经过信号调理后的电压为Ui,则-10V≤Ui≤10V,已知-10V对应的温度为-55℃,10V对应的温度为125℃,易求得比例因数Kt=0.111V/℃。 温度为0℃时,ΔT=55℃(即相对于-55℃的变化量)。 Ui=-10V+ΔT?Kt=-10V+55℃×0.111V/℃=-3.895 V。 Ui转换为数字量后,每个数字量对应电压值为4.883mV,(由12位AD,满量程20V可得),用Ks表示。可求得数字量变化与温度变化的对应关系: Kt/Ks =(0.111V/℃)/(4.883mV/数字量)=22.73数字量/℃ 0℃时,AD输出的数字量D0 = 0+55℃×22.73数字量/℃=1250=04E2H。 其他温度对应的数字量也可通过以上方法算出。

5.系统软件设计 软件采用PLM/51语言与ASM混合编程,采用模块化结构,主要由主模块、AD采样模块、初始化模块、定时器模块、出错处理模块等部分构成,修改和维护十分方便。 AD与单片机系统AT89C55连接采用中断方式。当AD转换完毕后,CPU读取转换后的数字量,通过比较判断,如果数字量大于0℃时对应的数字量04E2H,则刷新逻辑输出口P1,送低电平。否则,P1口为高电平。软件工作流程如图3: 520) this.width=520;\\\" border=0> 图3:系统软件流程图 为了避免因干扰而产生误动作,软件采取了一些冗余和容错处理。在AD模块处理采样数据时,采用了软件滤波措施,以滤除电路中可能会出现的尖峰干扰。方法为连续采样五次,通过比较判断,去掉其中的最大、最小值。其余三次的值求和后取平均值,把平均值作为CPU用来判别的有效数据,再和04E2H(0℃对应数字量)进行比较。AD模块部分代码如下: $DEBUG $ROM(LARGE) AD_mod:DO; $INCLUDE(REG51.DCL) $INCLUDE(WKEXT.DCL) $INCLUDE(WKPRO.DCL) AD_zl: PROCEDURE PUBLIC; DECLARE max WORD; DECLARE mini WORD; DECLARE AD_S WORD; DECLARE (dtime ,i,j) BYTE; DECLARE adtemp(5) STRUCTURE(x BYTE,y BYTE); DECLARE temp(5) WORD AT(.adtemp(0).x); DO j=0 TO 4; DO i=0 TO 20; dtime=dtime+1; END; IF NOT(ad_ok) THEN DO; adtemp(j).x=port_ad_read; adtemp(j).y=port_ad_read; END; temp(j)=SHR(temp(j),4); END; max=temp(0); mini=temp(0); DO j=1 TO 4; IF temp(j)>max THEN max=temp(j); IF temp(j)



文章版权归西部工控xbgk所有,未经许可不得转载。