吴年祥,陈小林
(安徽国防科技职业学院,安徽六安237011)
如今,随着科学技术的迅速发展,农业产业不断扩大,温度检测并报警在现代农业设施中得到了越来越广泛的应用,要求也越来越高温度[1]。温度传感器同时也被广泛的应用到大棚农业技术、过热保护中。考虑到热敏电阻与后级的放大电路受环境的影响,在不同的环境下会出现的测温的偏差而,MAX1669,TMP35/36,LM80 等传感器的价格很高。在同等条件下,考虑到温室大栅的测温精度、分辨率等因素,本系统采用了电压型温度传感器LM35D,作为温室采集,它的量程为0至100℃,线性度为10mV/℃,精度达到+0.4℃,成本相对较低,输出电压型信号,便于单片机处理,合使系统电路简化。
系统采用电压型温度传感器LM35D采集温室大棚内温度,输出产生10mv/℃的电压信号,通过放大电路将信号进一步放大,处理的信号传送给A/D转换电路进行转换,再通过微控制器程序设定温度上下限报警并通过实时显示。系统原理框图如图1所示。
在温度测量电路中,使用线性度为10mV/℃的LM35D电压型温度传感器,信号通过放大电路放大十倍后送到A/D转换电路的输入端,然后将温度数字信号传送到微控制器STC89C52RC,利用单片机的软件编程实现温室大棚的50℃至10℃报警电路的控制,将扩大500倍的信号缩小5倍,将最初的微弱温度电压信号放大了100倍。通过P1口将微控制器输出的数字信号传送给74LS138译码器,再经过驱动器CD4511使七段数码管实时显示温室大棚的室内温度。
2.1 传感器及放大电路设计。LM35D是被广泛使用的精密集成温度传感器之一,它的摄氏温度与输出电压成线性关系,LM35D不需额外接电路来校准或微调可以达到±1/4℃的常用室温精度,其额定工作温度范围在-55℃到+150℃,同时LM35D在-40℃到+110℃之间(其中-10℃用于改进度),其灵敏度为10mV/℃[2]。若温室大棚的温度为20℃,经LM35D采集大棚内的温度后得到的输出电压信号为0.2mV,需要将此微弱电压信号通过整个软硬件系统中至少放大百倍,然后将放大后信号送入集成驱动电路,即可显示温室大棚内的室温。考虑到刚开始采集到的电压信号太微弱,不利于微控制器处理,较容易产生信号误差且不太稳定,故在LM35D的输出端经过75KΩ电阻和1uF的电解电容组成的低通滤波器减少干扰信号对电路造成的干扰,使温度传感器采集到的输入信号与后级电路匹配,使与采集到的温度成比例的电压信号更加稳定。在如图2所示的温室大棚温度测量系统电路中,取前置电阻为1K方便计算,R5用可变电阻使这个0.2mV微弱温度电压信号的放大倍数范围在0到21内可调,为了使将其放大倍数为10倍,将将R5调至9K,这样经同相比例运算放大电路输出就为放大十倍的电压信号UO=1+R5/R6为2V,将结果送给模数转换器ADC0804[3]。
2.2 A/D转换电路设计。考虑到温室大棚的温度检测精度,本系统选用A/D转换器ADC0804是8位连续渐进式的8通道模数转换器,LM35D温度传感器的测量范围为0至100℃,若设定采集到温室大棚内最高温度30℃,因LM35D传感器的灵敏度为10mV/℃再经过下一级运算放大电路放大10倍,传送到模数传换器的6脚VI+的电压为3V,再经过下列电路处理过程放大150倍:模数传换器ADC0804数据输出与基准电压,输入电压关系为UDB1-DB7=VI+*(256/VREF*2),如图2所示将基准电压Vref调至2.5V,将输入电压VI+=3V代入以上公式,可得模数传换器的输出电压为3V的50倍,即DB1-DB7输出150倍的二进制数将其结果送入微控制器端,利用软件编程的方法将结果除以5便可达到测量温室大棚内30℃最初温度,送入译码驱动电路使其显示出最高温度为30℃。温度在0至100℃范围内,由于8位A/D转换器AD0804的分辨率为1/28=0.4%,将最高温度设为30℃时,可得它的测量精度为30/256=±0.11℃。在这个温度处理电路当中A/D转换器起作模数转换与放大作用,最终将结果从DB1-DB7提供出单片机P0,通过软件编程除以5还原温室大棚原始温度,显示温度。
2.3 报警电路的设计。若温室大棚内的温度超过设定的30℃温度,通过软件使微控制器STC89C52RC P2.5口输出的微弱电压信号,但这个信号不能驱动蜂鸣器使其报警,需要将这个信号进行放大,才能提花足够的电使其蜂鸣器工作。可调电阻R9可以调节些电路的电压信号放大倍数,如图3所示放大集成OP07的信号输入端由单片机的P2.5控制。
2.4 译码、驱动电路的设计。本系统显示采用价格相对便宜的数码管动态扫描显示,基本LED的余辉和人眼的视觉暂留特性,只要多个LED数码管的选通信号扫描速率足够快,扫描次数大于25次/s,就感觉数码管一直在点亮即无闪烁现象。动态扫描方式是将所有LED段选线a~g并联在一起,由一个8位LED译码驱动器I/O口来控制,所有LED的片选信号线“接地”则由译码器的I/O口来控制。如图4所示,单片机P1.0~P1.2分别与74LS138译码器A~C相连,译码器P1,P2,P3输出低电平实现对共阴极数码管的片选。单片机P1.4~P1.7分别与74LS48译码驱动器A~D相连,高电平输出驱动数码管显示温度。考虑温室大棚室温的精度为0.1℃,系统采用3个数码管。系统采用LM35D作为温度传感器,测温范围在0至+100℃,利用软件编程将显示范围调到最高温度+30℃,设置上限报警温度30℃,其中当片选信号低电平到达L2时,小数点自动点亮。
3.1 总程序流程设计 总程序流程图如图5所示。
图5 总程序流程
图6 ADC0804工作流程图
3.2 程序控制设计。A/D转换器由STC89S52RC单片机控制/CS端启动,具体控制流程图如图6所示。当单片机发送/CS为低电平时,ADC0804通过DB0至DB7端口传送P0至P7口转换完成后的二进制数字信号,通过软件编程使信号缩小5倍,显示温室大棚内的室温。/CS为模数转换器的片选信号,/RD、/WR分别为读、写信号端口,与微控制器的、读、写端口相连。当INTR端口为高电平时表示模数转换完成,将INTR信号传送给控制器,单片机接收完成模数转换器转换完成的数据会再给A/D转换器一个响应信号。
以STC89C52RC单片机为控制核心的温室大棚温度测量检测系统,运用集成线性LM35D作为温度检测传感器,AD0804作为模数转换模块,整个系统电路简单便于数据采集和处理,而且可通过RS485线实现各种环境下对温度的远距离测量。系统设置检测的温度范围是:0℃至30℃,使温室温度测量结果更为精确,检测分辨率达到±0.1℃。由于单片机的程序存储器和数据存储器的限制,对温室大棚多点温度、多参量的测量检测系统的研究提供了良好的基础。所以对更广阔应用前景的温室大棚多点温、多参数的测量检测系统设计有待后期进一步的研究。
[1]丁幼春.熊利荣等,基于AT89S52和DS18B20的多点温度检测报警系统[J],农机化研究,2007(5):121.
[2]张玉峰.基于单片机的蔬菜大棚温度控制系统设计[J].农机化研究,2010,32(3):152.
[3]张建民,杨旭.利用单片机实现温度监测系统[J].微计算机信息,2001,23(2):98-99.
[4]李斌.微控制系统在多功能温室大棚中的应用[J].云南:昆明理工大学,2006.1-5.
[5]何立民.单片机应用技术[M].北京航空航天大学出版社,1993.
[6]余永权.ATMEL89系列FLASH单片机原理及应用[M].电子工业出版社,2001.