欢迎来到天天文库
浏览记录
ID:16115504
大小:349.50 KB
页数:14页
时间:2018-08-08
《论文 - avr与虚拟仪器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、自动加湿器队员:王晓慧颜燕赵令公摘要随着社会经济的发展和人们生活水平的提高,加湿器开始进入人们的视野。工厂、车间、仓库、病房和卧室,随处可见加湿器在发挥着极其重要的作用。但是,常规加湿器只是简单地持续加湿,而在现代化的工业生产及科学实验中,对空气湿度的重视程度日益提高,要求也越来越高,如果湿度不能满足要求,将会造成不同程度的不良后果。而在居家生活中,空气太干太湿也都不适宜:太干,细菌病毒容易滋生传播;太湿,容易滋生霉菌。因此,我们选择了自动加湿器的设计来有效地控制湿度,当环境湿度偏低则加湿,达到设定
2、湿度时就停止加湿,总会把环境湿度控制在适宜的状态下,做到智能、有效和健康地加湿。目前市面上还没有具有此类功能的自动加湿器,因此必将有广阔的市场前景和极大的开发价值。一、总体设计1预期功能:随着空气温度、湿度的变化自动控制加湿器的通断,依照各个工作环境最适宜的相对湿度控制调节加湿量,使其成为具备智能化恒定加湿功能的加湿器,可以在工厂、车间、仓库、医院及家庭中广泛使用。2工作流程:利用温湿度传感器等元件,将天气变化的参数模数转化输入ATmega16单片机,经既定程序与设定的温湿度参数值分析比较后,输出高
3、低电平信号到继电器驱动电路,进而控制加湿器的通断,实现随着环境温湿度变化而自动调节加湿器,空气湿度偏低则加湿,达到设定湿度值时停止加湿的功能。同时,使用数码管人性化直观显示室内湿度。其硬件设计的原理图如下所示:单片机mega16三位七段数码管温湿度传感器DHT11继电器加湿器二、工作原理电原理图如下图:其中,左端为三位的七段数码管,可根据Mega16单片机的输出高低电平信号来显示环境的湿度值。右端上部的DHT11为4针单排引脚封装、具有极高的可靠性与长期稳定性的数字温湿度传感器。右端下部为继电器及其
4、驱动电路,继电器起开关作用,控制与之相连的加湿器的通断。三、硬件模块方案1主控模块:以Atmel公司的ATmaga16单片机作为主控模块。Mega16是高性能、低功耗的8位AVR微处理器,具有先进的RISC结构,内部集成两个具有独立预分频器和比较器功能的8位定时器/计数器和一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器。可通过JTAG对MCU进行程序烧写及仿真。内置晶振,使用方便。2电源与稳压模块:经变压器电压转换后采用5V电压为单片机及其他逻辑单元进行供电,并为整个系统提供高电平标准。
5、3检测模块:使用温湿度传感器DHT11来采集外部环境的数据,经模数转换后将湿度信号传入单片机。此传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,具有超快响应、抗干扰能力强等优点。应用电路为:4控制模块:使用继电器AGY2329来控制加湿器的通断。继电器需要功率驱动,驱动电流往往需要几百毫安,超出了AVR本身I/O口的驱动能力,因此在外围硬件电路中使用了功率驱动电路。Mega16的输出端PC0接驱动电路的电阻一端,输出电平信号来控制继电器,并实现加湿器的通断操作。5显
6、示模块:使用三位七段数码管,数码管为共阳极型.我们设计显示三位的空气湿度,由于湿度传感器的测试精度限制,最后小数点后我们设定一直显示零。Mega16的PB4和PB5端口实现位选,PD0-PD6端口实现段选控制功能。四、软件程序设计1.总体介绍本系统编程部分工作采用C语言完成,采用模块化的设计方法,利用各子程序实现各部分功能和过程的入口,完成温湿度变化识别、参数对比分析、控制继电器和湿度显示等功能。程序设计的流程如下框图所示:2软件功能定义几个函数,分别为:“dht11_start(void)//DH
7、T11开始标志”在DHT11正式读数据前的准备工作,给DHT11一个长于18ms的低电平,以让DHT11准备读数。“DHT11_getdata(void)//读数据函数”严格按照DHT11设计要求的时序读数。当高电平长于100us时就按一计数,低于30us就按零记。在每次高电平前有13us左右的低电平。如此三十个周期。“voiddht11_switchcode(void)//数据转换”,将采集数据的数据转化为十进制,并读出前八位湿度值。在主函数分别严格调用这些函数,并将该数值勇气段数码管显示出来,同
8、时判断其大小,当低于60的时候就启动继电器,以带动加湿器工作。3软件流程准备开始标志:当低电平低于18ms后,单片机将输出端口改为输入,开始读取DHT11的数据。然后将电平拉高,等待DHT11响应,DHT11将电平信号拉低以示响应单片机信号,而后将电平拉高准备发送数据信息。读取数据过程:DHT11先发送12--14us的低电平信号,然后紧跟高电平,如果在116—118us左右,将自动识别为1,如果在26—28us左右将识别为0。这样循环40次,共40为二进制数,每八位
此文档下载收益归作者所有