Proteus模拟温室温湿度控制系统的实践教学

2020-04-28 08:38
实验室研究与探索 2020年1期
关键词:高电平按键温湿度

王 向 玲

(1. 吕梁学院 矿业工程系, 山西 吕梁 033000;2. 中北大学 电子测试技术国家重点实验室, 仪器科学与动态测试教育部重点实验室, 太原 030051)

0 引 言

单片机原理是一门工程实践性极强但理论知识抽象的课程,学习过程应注重“边学边做”即理论与实践的高度融合。针对应用型本科院校的人才培养要求,结合自身教学经验,在课堂引入Proteus软件,学生自带计算机,课堂上自行设计电路、编写程序联合Keil调试,真正实现了时间、空间上的学做融合,将抽象的理论知识直观化、形象化,增加课堂趣味性、调动学生积极性的同时加深了对理论知识的巩固[1-5]。

在单片机I/O口使用、中断、定时器、串口通信、AD/DA转换、LCD液晶显示、传感器等基础知识实践的基础上,为了提高学生综合运用知识的能力和设计能力,列出了几个综合性、设计性实验,具体以分组形式进行。以其中一组学生设计的“温室温湿度控制系统”为例,讲述总体思路及关键的硬件电路、软件设计。

1 系统总体设计

温室温湿度控制在农作物生长的适宜范围非常关键。温湿度控制系统采用DHT11温湿度传感器采集数据且实时准确地通过LCD1602显示,为了满足不同农作物的生长,系统温湿度上下限可通过按键设置。当测量值不在范围内,对应的LED灯点亮、蜂鸣器报警,同时启动控制模块进行温湿度调节直至正常[6-7]。

整个系统由主控、温湿度采集、按键设置、报警、控制以及显示等模块组成,整体框图如图1所示。

图1 系统整体框图

2 系统硬件电路设计

2.1 主控模块

主控模块作为整个系统的核心,采用AT89C52单片机,其片内带有8 KB、支持擦写的Flash存储器,与AT89C51相比,中断源和存储空间多,便于后期增加其他环境参数的测量[8-9]。

主控模块与各模块连接关系如下:P0.0~P0.7、P2.0~P2.2口与显示模块相连,P2.3口与温湿度采集模块相连,P2.4~P2.7口与控制模块相连,P1.0~P1.3口与报警模块相连,P1.4~P1.7口与按键设置模块相连。该模块中P3口空闲,后续可用于温室其他环境参数如光照强度、CO2等的控制。

主控模块实现如下功能:① 接收温湿度传感器的数据并将其发送给显示模块;② 接收按键设置模块指令并进行温湿度上下限的调节;③ 温湿度不正常时给出报警指令并启动相应控制模块进行温湿度的调节。

2.2 温湿度采集模块

该模块采用出产前精度已校准的DHT11数字温湿度传感器,供电电压范围3.3~5.5 V,温湿度测量范围分别为0~500 ℃、20%~90%RH。其内部包含一个电阻式感湿元件和一个NTC测温元件,单线制串行接口,仅需一个I/O口直接与单片机相连。体积小、功耗低、响应快、抗干扰能力强等特点使其成为采集温湿度的理想选择[10-11]。

2.3 按键设置模块

该模块主要供用户设置温湿度上下限,主要由4个按键组成,依次为功能选择键、加1键、减1键、保存键。功能选择键用于对温湿度上下限的选择,加1键、减1键分别对各项参数进行加1、减1操作,保存键用于保存已设置好的温湿度参数。

具体操作步骤如下:首先按下功能选择键进行预设参数的选择。当第1次按下该键时对温度上限WDH设置,当第2次按下该键时对温度下限WDL设置,以此类推当第3、4次按下该键时分别对湿度上限SDH、下限SDL设置。选中预设置参数后再通过加1、减1键调整WDH、WDL、SDH、SDL,最后按下保存键保存阈值。

2.4 控制模块

控制模块主要由驱动芯片ULN2004A、加热器、风扇、加湿器、除湿器、三极管、继电器组成,Proteus仿真中加热器、风扇、加湿器、除湿器均用直流电机替代,当电机转动时代表对应控制模块启动工作,以其中一路加湿器为例,控制模块原理图如图2所示。

图2 系统控制模块原理图

当DHT11检测到温湿度不在预先设定范围内时便启动控制模块进行调节。当温度低于预设温度下限时加热器开始工作,温度高于温度上限时风扇开始工作,湿度高于湿度上限时除湿器开始工作,湿度低于湿度下限时加湿器开始工作。

4个直流电动机与单片机P2.4~P2.7口连接时需设计驱动电路,驱动芯片选用输出电流可达500mA的ULN2004A,其内部包含7路反向器电路,即当输入端为高电平时输出端为低电平,反之亦然[12]。ULN2004A输入端适合于CMOS、PMOS器件,本设计中单片机输出的TTL电平先通过连接2 kΩ的上拉电阻转换为CMOS电平再接至ULN2004A输入端;ULN2004A输出端电流先通过三极管放大再通过继电器控制电动机是否转动。

3 系统程序设计

依据模块化编程思想,建立多文件工程,具体包括:主程序、DHT11驱动程序、LCD显示程序。子程序包括定时器中断函数和按键扫描子程序。

3.1 主程序

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

(1) 初始化DHT11、LCD1602并预先在程序中设置温湿度上下限;

(2) 启动DHT11进行温湿度的采集;

(3) 将采集数据及上下限通过LCD显示;

(4) 检测温湿度是否超阈值。若超出阈值则LED灯亮、蜂鸣器报警,同时启动对应的控制模块进行调节,而后返回(2)循环执行上述过程直至温湿度调至设置范围内;若没超阈值则进行(5)。

(5) 扫描是否有按键按下。若有按键按下则进行上下限的调节并返回(2)进行数据的采集及显示;若无按键按下则结束。

图3 主程序流程图

3.2 DHT11驱动程序

由于DHT11采用单线制串行接口,故驱动程序(初始化、读取温湿度数据)需按照严格的时序图编写,时序图如图4所示。

图4 DHT11时序图

总线空闲时为高电平,开始工作时单片机拉低总线至少18 ms,然后拉高总线约20~40 μs等待DHT11响应。DHT11接收到单片机发送的开始信号且等开始信号结束后,输出80 μs的低电平作为响应,接着输出80 μs高电平进入数据发送阶段。每一位数据都是以50 μs的低电平开始,紧跟其后的高电平时间决定数据为1或0。若高电平时间为26~28 μs则为0,若高电平时间为70 μs则为1[13-15]。

DHT11的DATA引脚用于和单片机之间的通信,一次传送40 bit数据且高位先出,数据格式为:8 bit湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据+8 bit校验位,其中温湿度小数部分均为0。待40 bit数据传输完毕后,若校验位等于前4 Byte数据相加取其低8 bit,则接收的数据正确。反之接收的数据有误,重新接收[16]。

4 系统仿真结果

首先在Proteus软件中绘制系统硬件电路图,然后采用Keil软件编写程序并编译、链接,最后将生成的Hex文件加载到单片机中进行仿真。

图5为温湿度不超阈值的仿真结果图,WD为温度,SD为湿度。程序中温湿度预设范围分别为20~30 ℃、60%~85%RH,测得的温湿度分别为27 ℃、80%RH,均在预设范围内,故报警模块4个LED均不亮,直流电动机均不转动。

针对某一农作物,温湿度预设范围调整为28~30 ℃、66%~75%RH,通过按下功能选择键、加1、减1键设置温湿度上下限,设置后按下保存键保存阈值,仿真结果如图6所示,实测温度27 ℃低于下限,湿度80%RH高于上限,则对应的低温、高湿LED灯亮,且控制模块中加热器、除湿器开始工作进行温湿度的调节。

图5 温湿度不超阈值的仿真结果图

图6 温湿度超阈值的仿真结果图

5 结 语

通过课堂引入Proteus仿真软件联合Keil调试,设计了主要由DHT11数字温湿度传感器和AT89C52组成的温室温湿度控制系统,实现了预设范围内的温湿度自动控制;做到了教学与实验的同步,增强了学生的综合知识应用能力和单片机开发能力,激发了学习兴趣,为后续制作实物奠定基础。

另外,该系统具有结构简单、价格低廉、易操作等优点,结合全球移动通信系统(Global System for Mobile Communication,GSM)、ZigBee等无线通信技术,在温室大棚的远程监测中具有良好的应用前景。

猜你喜欢
高电平按键温湿度
一种基于FPGA的PWM防错输出控制电路
基于有限状态机的按键检测程序设计
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
按键消抖在单片机和FPGA实验教学中的应用
基于温湿度控制的天气预测装置
数字电子技术的应用
浅谈物理电路与数字电路
蒸发冷却温湿度独立控制空调系统的应用