微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于AT89C52的温室用温度监控系统设计

基于AT89C52的温室用温度监控系统设计

时间:10-18 来源:互联网 点击:

温室大棚要求温度保持在某范围内,这个范围温度是动植物生长的最佳环境温度,因此必须对动植物生长的环境温度进行监测和控制,使其适合动植物的生长,以提高产量和质量。本设计就是对温室的温度控制要求进行全面分析,综合考虑系统精度和经济性多方面因素后,设计一种基于单片机的温度自动控制系统。本系统能够实现对温室大棚温度的自动监控,可以通过按键输入设定温度等控制指令,并且使温室温度保持在设定值的范围内,完成监控系统的工作。

1 系统总体方案

本系统以AT89C52单片机为主控制器,加外围的温度采集模块、键盘模块、显示电路模块、加热模块和降温模块构成,系统结构框图如图1所示。温度采集模块首先采集温度值,A/D转换后送入AT89C52单片机处理,处理后的温度值在显示器上显示。另外由键盘设定动植物生长所需的理想温度值,并送到单片机中,单片机采用PID算法比较设定的温度值和采集的温度值后发出控制信号到继电器,继电器驱动风扇降温或加热片加热,直到与设定的温度值一致就停止工作。

2 系统硬件设计

2.1 温度采集模块

目前,温度采集装置常采用热电偶,因热电偶输出为模拟量电压,且输出电压很小,只有几毫伏,必须经过信号放大,到5伏左右进行A/D转换,转化后送给单片机处理。此方案的优点在于测量温度范围大,从-100℃到上千摄氏度,且精度高,但系统硬件复杂,抗干扰能性较低。数字式温度传感器弥补了热电偶的缺点,DS18B20就是一款单总线数字式温度传感器,无需外接其他电路,直接输出就是数字量,写入DS18B20的信息或从DS18B20读出的信息仅需要一根线,DS18B20与单片机的连接电路如图2,因而使用DS18B20可使系统结构更趋简单,抗干扰能力增强。DS18B20的测温范围从-55~+125℃,增量值为0.5℃,可在1 s内将温度变换成数字。

DS18B20接收到单片机发出的温度开始转换命令后,DS18B20启动转换。转换后的温度值以16位带符号的二进制补码形式存储在暂存存储器的0和1字节中。单片机通过单总线接口读到该数据,读取时低位在前,高位在后。温度值格式如表1,其中“S”为符号位,当高字节的前5位S=0时,代表正数,直接将高字节的低3位和低字节的二进制位转换成十进制就是对应的温度值;当高字节的前5位S=1时,代表负数,高字节的低3位和低字节的二进制位代表负数的补码,需先将补码变换成原码,再计算十进制值才是对应的温度值。

2.2 继电器电路模块

由于本系统要控制加热片加热或电风扇降温,功率较大,因此要借助功率电路。如果采用可控硅控制实现可以达到很高的控制精度,但需加光耦合隔离器件,电路稍显复杂。采用继电器控制可以很容易实现通过较高的电压和电流,而且无需外加光耦,电路简单可靠。因此,本设计采用继电器控制风扇和加热片,其电路如图3所示。

当实测温度低于或高于设定温度的下限或上限值时,由单片机输出高电平信号,NPN三极管9014导通,继电器驱动加热器开始加热或电风扇开始降温。为了防止继电器频繁动作,在程序中对温度测量精确到小数点后两位,而在温度设定时只取整数。继电器线圈旁边反方向并联一个二极管,二极管起到保护三极管的作用,防止三极管击穿。

2.3 键盘和显示模块

本系统需用4个LED数码管,分别显示温度的十位、个位和小数点后两位,当通过按键设定温度时,LED数码管停止显示当前温度,显示设定温度值,设定完毕后,继续显示当前的采集温度值。动态显示组合式数码管只需要较少的引脚个数,以4位一体组合式数码管为例,需要8+4=12个引脚。而如果每个数码管都要单独引脚,至少需要4*9=36个引脚。引脚数减少使得PCB板布线变得更为简单,因此,在需要使用多位数码管时,一般都用动态显示组合式。本设计采用四位一体的共阳极数码管,单片机PO口控制数码管的段a--dp,P2.4--P2.7通过4个9012 PNP型三极管接数码管的COM端。

温度的设置采用按键来实现,通过按键修改温度的上限值和下限值。按键采用独立式键盘,经上拉电阻分别接单片机的P1.1、P1.2和P1.3引脚上,其与单片机的连接如图4所示。先按一次控制键,然后每按上调或下调键一次,设定温度值增1或减1,再按一次控制键代表设定完毕。

3 系统软件设计

本系统的软件采用汇编语言设计,主程序中首先初始化,而后循环调用读温度、温度处理、显示、键盘和继电器控制子程序,实现温度控制的功能。

3.1 主程序流程图

主程序流程图如图5所示。

3.2 读温度模块子程序

DS18B20操作时都要严格按照DS18B20工作过程规定的协议进行。DS18B20应遵循以下工作协议:DS18B20复位->执行ROM

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top