欢迎来到天天文库
浏览记录
ID:883910
大小:228.01 KB
页数:28页
时间:2017-09-23
《基于单片机编程的电风扇智能控制系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、智能电风扇的设计学院专业班级学生姓名指导教师年月日引言随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。电风扇作为家用电器的一种,同样存在类似的问题。现在电风扇的现状:大部分只有手动调速,再加上一个定时器,功能单一。存在的隐患或不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。之所以会产生这些隐患的根本原因是:缺乏对环境的检测。如果能
2、使电风扇具有对环境进行检测的功能,当房间里面没有人时能自动的关闭电风扇;当温度下降时能自动的减小风速甚至关闭风扇,这样一来就避免了上述的不足。本次设计就是围绕这两点对现有电风扇进行改进。I1.总体方案设计及功能描述本设计是以AT89C51单片机控制中心,主要通过提取热释电红外传感器感应到的人体红外线信息和温度传感器DS18B20得到的温度以及内部定时器设定时间长短来控制电风扇的开关及转速的变化。功能描述:电风扇工作在四种状态:手动调速状态、自动调速状态、定时状态、停止状态。手动状态时可以手动调节速度;自动状态时通过温度高低自动调节速度,如果出现手动现象则变为手动状态;定时状
3、态时可以调节定时时间,并设定是否启动定时,之后可以手动退出,也可以在不操作6秒后自动退出进入手动状态;停止状态时可以被唤醒并进入自动状态。当没有检测到人体存在超过3分钟或定时完毕时进入停止状态。在数码管显示方面,当没有定时时,只显示气温,当定时启动时气温和定时剩余时间以3秒的速度交替显示。系统方框图如下图所示,主要包括:输入、控制、输出三大部分8个功能模块。键盘输入热释电红外传感器温度传感器(DS18B20)AT89C51数码管发光二极管蜂鸣器继电器图1-1系统方框图262.功能模块硬件简介与实现2.1键盘输入电路由于设计中用到的按键数目不多,所以可以直接用AT89C51的
4、通用IO端口且选用AT89C51的P1口(内部有上拉电阻)作为键盘接口。对于按键只需一端接地另一端接P1口即可。见下图(2-1):图2-12.2热释电红外传感器模块2.2.1热释电红外线传感器原理简介人体辐射的红外线中心波长为9~10um,而探测元件的波长灵敏度在0.2~20um范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为7~10um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。实质上热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,
5、在元件两个表面做成电极,如图2所示。在环境温度有ΔT的变化时,由于有热释电效应,在两个电极上会产生电荷ΔQ,即在两电极之间产生一微弱的电压ΔV。2.2.2热释电红外线传感器应用热释电红外线传感器有三个端口,如图2-2所示:一个接电源、一个接地、一个信号端口,当有人进入其检测区域时,信号端口便产生一个电平跳变,并维持数秒钟,我们就是利用这个跳变来判断是否有人在这个检测区域。图2-2262.3温度传感器2.3.1温度传感器DS18B20简介新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线,在实际应用中取得了良好的测温效果。DS18B20的主要特
6、性:(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)测温温范围-55℃~+125℃(3)最高分辨率为0.0625℃。2.3.2DS18B20的一般操作过程(1)、初始化;(2)、跳过ROM(命令:CCH);(3)、温度变换(命令:44H);(4)、读暂存存储器(命令:BEH);注:每次读取温度都要经过上面四个过程。2.3.3DS18B20的温度存储方式即温度计算DS18B20是用12位存储温度,最高位为符号位,下图为它的温度存储方式:2^32^22^12^02^-12^-22^-32^-4LSBYTE
7、Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SSSSS2^62^52^4MSBYTEBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8表2-1DS18B20温度存储地址分配这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。262.4数码管显示电路2
此文档下载收益归作者所有