智能窗的系统结构设计毕业论文Word文件下载.docx
《智能窗的系统结构设计毕业论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《智能窗的系统结构设计毕业论文Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
其中这个系统DHT11温湿度传感器是用来收集室内的温度和湿度的数据,并以数字信号的形式将其发送以进行处理。
MQ-2传感器用于检测烟雾浓度。
本文介绍了智能窗控制系统的硬件和软件组件的设计和实现。
硬件电路包括:
温湿度传感器电路,烟雾探测器电路和电机控制电路。
STC89C52RC单片机会先处理传感器发送的信号,之后根据预设好的值进行对比之后控制电机的运行,以打开和关闭窗口,从而实现自动控制窗口。
关键词:
智能窗户控制,STC89C52单片机,DHT11温湿度传感器,MQ-2传感器,电机控制
DesignandImplementationofIntelligentWindowControlSystemBasedonSCM
Abstract
MitdemFortschrittvonWissenschaftundTechnologieundderraschenEntwicklungderWirtschaftsteigtderBedarfderMenschenanLebensqualitä
timmerhö
her,undauchdieMenschengenieß
enallmä
hlichdieAutomatisierungsausrü
stung.Daherwirdvorgeschlagen,eineArtintelligentesFenstersystemzuentwerfen.Derzeitkanneingewö
hnlichesFensternichtautomatischheruntergefahrenwerden,wennesregnet.DerWindistStaubwetter.Diesfü
hrtzuUnannehmlichkeitenundwirtschaftlichenVerlusten.IndiesemFallkanndieInstallationeinesintelligentenFenstersdazufü
hren,dassdieseProblemenichtzuunserenProblemenwerden.IntelligenteFensteranstellevonnormalenFensternwerdennunzumTrend.
DasArbeitsprinzipunddieEntwurfsmethodeeinesintelligentenFenstersbasierendaufdemSTC89C52RC-MikrocontrollerwerdenindiesemDokumentbeschrieben.DasFeuchtigkeits-undTemperatursignalwirdvonderDHT11-ErfassungdesTemperatur-undFeuchtigkeitssensorserfasst,undRauchwirdvomMQ-2-Sensorerfasst..Digitalsignalsaretransmittedtothemicrocontroller.Thispaperintroducesthehardwareandsoftwareparts.Thecontrolsystemincludestemperatureandhumiditydetectioncircuit,smokedetectioncircuitandmotorcontrolcircuit.SCMisresponsetoprocesscorrespondingsignals,thustorealizethecontroloftheconnectedwindowaccordingtotemperatureandhumidityandsmoke.
Keywords:
IntelligentWindowControl,STC89C52,DHT11,MQ-2,MotorControl
2.2.4传感器模块的方案15
1绪论
1.1智能窗的产生及意义
当前,中国经济正处于高质量发展阶段,人民生活水平逐步提高。
人们自然会要求自己的房屋升起,这不仅体现在舒适性和舒适性上。
对住房的渴望更多地体现在对安全和智能的更高要求上。
但是,由于粗心大意,一些建筑物经常发生火灾或煤气泄漏,财产被盗等危险情况,给家庭和企业造成巨大损失。
除了工业控制,我们现在的生活相较古代有了极大地提升,很重要的一点就是家电的发明。
而随着人们对美好生活的向往逐渐提高,反应在生活的方方面面来看的话,就是人们迫切需要智能家居设备来进一步地去提高人们的生活水平,例如智能窗户,其安全的自动关闭窗户系统可以可靠地执行日常的开启和关闭工作。
遇到煤气泄漏时,它可以自动关闭窗户,使人们可以更安全,舒适地工作,同时可以确保居民的生命和财产不致丧命。
智能家居控制系统的应用使人们的生活环境更加符合现代社会和环境保护的要求。
同时,作为智能家居不可或缺的一部分,智能窗户可以承载越来越多的功能。
智能窗户是实现通风,照明和防盗的必要功能,同时也是一扇面向对外世界的窗户。
在现代家庭中,窗户具有良好的装饰,照明,防尘和其他功能,并且是建筑不可缺少的一部分。
同时,从实际意义上讲,这也是现代家庭的切入点。
近年来,智能技术逐渐渗透并发展到普通家庭市场,这导致门上智能产品制造商的数量迅速增长。
在目前的市场阶段,智能门锁已经是智能家居安全保护的重要组成部分,但相反,制造商似乎已经开始在对在窗户进行智能化的探索。
智能窗户可以做到在传统窗户上无法实现的功能,例如使用小爱同学之类的语音助手来控制窗户,从而实现窗户的开关。
而WIFI在家庭技术中的普及使我们可以通过手机程序来控制窗的状态。
目前,市面上最高端的智能窗还具有透明的触摸屏幕如此神奇的功能,它可以显示一些信息,例如当前的天气状况以及室内和室外空气质量但不会影响透明度。
在这种情况下,智能窗控制系统的设计思想应运而生。
1.2国内发展现状及趋势
智能窗户通常是指带有防盗,报警和自动关闭窗户系统的窗户。
智能窗户原先仅在某些公共场所或高档商业房屋和大型购物中心中使用,但随着技术的发展,现在它们也广泛用于普通小康家庭。
智能窗口控制系统通常有无线发送和接收设备,主控制终端控制器和其他控制组件。
目前,智能窗户系统一般都集成了声,光,机,电,通讯等功能。
在这种情况下,智能窗户是普通家庭选择智能家居的理想选择。
同时,现有市场上还有另一种类型的智能窗户,它是用一种特殊的玻璃或者塑料通过特殊的工艺生产出来的,其可以感知太阳光线强度,之后在太阳线过强的情况下会自动变色从而降低室内温度。
当前,随着中国经济正在快速发展,社会的信息化水平也在日益提升,智能家居的概念也会逐渐走进人们的日常生活。
在我国,居住区智能的定义是指利用4B技术为居住区的服务和管理提供一种高科技的智能手段,从而实现快速,高效的增值服务,提高了居住区的管理水平。
为居民提供安全舒适的环境。
我们有理由相信,人们的生活水平在不断提升,同时也会追寻更加高效的生活方式,二智能家居系统则可以完美的做到这一点。
因此在不久的将来,没有智能家居系统的房屋将与今天没有移动互联网的手机一样古老。
随着中国城市化的发展和技术创新,它也不断为该行业提供新的增长和新的动力,智能窗户的添加可能为该市场带来新的变数,从而使这一传统行业走上转型升级和品牌关注。
目前,中国的智能家居市场具有以下特点:
首先,市场潜力巨大,因为过去十年来中国房地产行业发展非常迅猛,而智能家居作为其产业链的下游产业,它的市场前景应该非常乐观并且值得关注。
第二个是这类智能窗户的制造商很多,但大多数都位于一线城市,如北上广深。
到目前为止,这些制造商尚未形成一定规模。
第三,我国尚未制定该行业的统一标准,这导致许多中小型企业自己进行市场调查,以了解客户对产品开发质量的需求。
这之间存在一个重大问题就是产品不兼容。
这种情况确实有春秋战国的感觉。
1.3国外发展现状及趋势
在1980年代,美国的艾森豪威尔辛柯顿州诞生了历史上第一座真正意义的智能建筑。
至此,许多发达的国家也开始提出自己的智能家居方案。
在当前社会,智能家居已经在例如法国、德国等发达国家中被广泛地得到使用。
以新加坡为例,家庭智能系统通常包括以下功能:
抄表,安全警报,可视对讲等,它还可以通过宽带网络访问系统。
截至目前,国外智能化的家居系统已经相对得到普及,其中比较出名的品牌主要有:
美利坚合众国的cdogtrol4、easvhouse、韩国特刊苏、法国城市霍尼韦尔pfdfddariet等。
1.4智能窗发展的趋势
随着科学技术的日新月异,我们有理由相信未来我们需要更舒适的居家生活这需要智能家居系统的帮助。
因此在未来,会有许多房地产开发商去开发相关智能生活概念的房地产项目。
所以我相信,智能家居肯定会在不久的将来大面积普及到千家万户。
就目前的情况来看,智能家居行业的发展可谓迅速,但是仍然无法满足广大消费者的需求,所以未来的智能家居行业还是会朝着成熟度和智能化方向发展。
企业为了产生额外的投资回报,他们不仅需要增加生产规模和提高产品的质量。
但由于国际金融危机和外交政策环境的影响,智能窗户行业的未来市场形势以及诸多外部因素的影响值得大家关注。
当前,智能窗系统正朝着集成和多功能等各个方向发展。
根据国内智能门窗市场的一些特点,在未来应该会进入到行业整合的阶段,这个阶段下的产品有一大特点就是模块化,这便是可以根据用户需求进行产品的开发。
这不仅满足了不同需求的用户,而且节省了成本并使用了通用端口,因此无需开发一些需求较少的端口。
2研究方案
单片机可以通过传感器返回的数据自动检测目前环境的情况,根据提前设定好的值来进行窗户开关的控制,并且可以实时显示目前环境的一些数据。
系统框图如下:
图1系统总体框图
4
2.1主要实现的功能
(1).低温自动关窗:
传感器采集到当前室内外温度数据与之前设定的数据进行比较,当外界温度低于设定值时,将会向单片机发送高电平信号,之后单片机接受到高电平信号之后将控制电机运动完成关窗命令。
(2).下雨自动关窗:
传感器采集到当前室内外温度数据与之前设定的数据进行比较,当外界湿度低于设定值时,将会向单片机发送高电平信号,之后单片机接受到高电平信号之后将控制电机运动完成关窗命令。
(3).遇到有害气体自动关窗:
传感器采集到当前室内外温度数据与之前设定的数据进行比较,当烟雾浓度高于设定值时,将会向单片机发送高电平信号,之后单片机接受到高电平信号之后将控制电机运动完成开窗命令。
。
2.2设计方案
2.2.1设计总体设想
本设计应该遵循结构尽量简单的基础上实现所需要的功能,且各个部件的成本不宜过高加大开发成本。
同时应该根据该设计的产品的使用场景进行参数调优,使系统之间的每一个部件更好地配合工作,提高产品的稳定性使其做到少维修、方便使用的目的。
各个模块之间相互联系,可实现本设计所需求的功能。
系统软件流程如图所示。
图2系统流程图
2.2.2单片机的方案
本系统不需要复杂的逻辑功能,对数据的处理速度要求也不是很高,所以优先选择c51系列单片机,而且在大三阶段有上手开发C51系列单片机的经验,可以更快更有效的完成设计和编程任务。
2.2.3电源模块的方案
电源模块的作用是给整个系统供电。
根据课题设计难度考虑,便直接用现成5V的电源模块或者USB的5V接口来给单片机和整个系统提供电力。
2.2.4传感器模块的方案
2.2.4.1温湿度传感器模块
温湿度传感器的作用是自动监控温湿度并将数据与之前设定好的数据进行对比之后将数据返回个单片机,要求是元器件尽可能简单且不会过于增加程序编写难度的情况下能够稳定工作。
现综合考虑,根据实际情况,使用DHY11温湿度传感器。
它不仅集成了两种传感模式有效降低了编程的任务量,而且作为一款了专门的数字模块采集技术的传感器,使它具有了较高的可靠性和稳定性,测量的精度可以达到正负1%的精确范围。
不仅如此,其还具有抗干扰能力强,性价比极高等优点,而且为单引脚也方便焊接。
因为开发周期受冠状病毒影响,一些基于该传感器的功能如根据湿温度自动开关窗的功能被迫取消,所以该部分功能没能实现。
如有时间可在有实际市场需求的情况下加上去。
所使用传感器参数如下表:
表1温湿度传感器参数
2.2.4.2烟雾传感器模块
烟雾传感器的作用是自动监控烟雾浓度其将数据处理后进行对比,根据对比情况决定是否发送高电平给单片机,从而决定控制窗户应该处于什么工位上,要求是元器件尽可能简单且不会过于增加程序编写难度的情况下能够稳定工作。
本次设计使用了MQ-2型烟雾传感器。
所使用传感器参数如下图:
表2烟雾传感器参数
3系统设计目标
本系统的主要器件是单片机、烟雾传感器、温湿度检测传感器和步进电机。
传感器收集到外部的环境信息之后传给单片机,单片机再将数据读取处理之后经过之前设定好的流程判断判断目前的情况选择下一步动作,再将动作信息传递给电机驱动控制器来进行电机的控制从而实现对窗户的关闭和打开。
从而实现了能在外界烟雾浓度过高、温度过低、下雨天这三种情况窗户自动关闭的目的,这极大方便了人们的生活,同时也提高了人们的生活质量。
3.1系统功能需求
根据需求从而确定本系统主要包括以下功能模块。
3.2.1温湿度采集模块
温湿度传感器会收集当前所处的温度,之后和设定好的数据进行对比,如果低于设定好的数据则驱动电机关窗。
3.2.2烟雾采集模块
先通过调节采集模块的灵敏度来变相调整单片机执行关窗动作所需要的浓度值。
烟雾传感器采集当前烟雾浓度数据之后会通过和预设的值来进行比较,如果高于设定的浓度值则发送高电平信号给单片机,之后单片机来驱动电机来实现窗户的打开。
3.2.3电机控制模块
系统使用单片机的IO口来控制驱动电机,并且单片机的IO端口连接到直流电机。
当IO端口提供高电平输出时,直流电动机旋转,否则不旋转。
3.3系统非功能需求
(1)性能
在电源接通的情况下能在低温和潮湿的环境下稳定的工作。
(2)功耗
使用5V电源供电或者usb供电口进行供电,所以功耗不宜过大
(3)安全性
要确保电源安全,不会发生漏电等事故从而造成元器件损坏
4系统设计
系统机构可以分为温湿度传感器的数据读取、MQ-2型烟雾传感器的检测、电机驱动、传感器信号处理这四个模块。
如图所示。
图3系统软件模块
4.1温湿度的读取
温湿度传感器与单片机之间的通信模式一般是采取采用单总线数据格式来进行传输的。
通讯时间一般为4ms。
数据分为小数部分和整数部分。
操作过程如下:
总线空闲状态为高,主机降低总线电位后,湿温度传感器将等待响应。
应当注意,主机必须将总线降低时间拉到18毫秒以上(鉴于微控制器和传感器的性能较差,这是为了确保可以检测到启动信号)。
收到主机启动信号后,湿温度传感器应等待启动信号完成,然后再发送大约80us(可能更长,通常不超过80us)的低电平响应信号。
主机发送启动信号后,等待一段时间后,从湿温度传感器读取响应信号。
4.2MQ-2的检测
由于MQ-2传感器的输出是数字量输出,所以只需要当传感器检测到浓度高过设定值的烟雾气体时,其输出端口电平为低,否则为高,因此,单片机主要检测连接MQ-2传感器的IO端口的电平状态即可知道目前烟雾浓度是否超出限制水平。
4.3电机的驱动
单片机的IO口连接到直流电机。
当IO口输出高电平时,直流电机转动,否则不转动。
4.4传感器信号处理
单片机首先会处于空闲状态在接通电源的情况下,只有当温湿度传感器或烟雾传感器检测到异常的数据时才会向单片机发出高电平,单片机接受到高电平信号被唤醒执行电机转动程序。
5系统实现
5.1.1系统主程序
系统收到命令后执行此段主程序。
其实现代码如下:
voidmain()
{
unsignedintAD_val;
//储存A/D转换后的值
uchari;
delay_ms(100);
speed=2600;
while
(1)
{
EA=0;
//系统禁止中断,让程序一直跑下去,其实中断细分有五种,这里用了总中断,所有中断请求都不要妨碍程序执行
AD_val=A_D();
//进行A/D转换
u0=AD_val*500.00/255.00;
if(u0>
100)
{
u0=(u0-100)*10;
if(u0>
=HY*100||RH>
=HR||TH>
=HT)//如果检测到的数据高于设定值则开窗,此处有三个条件使用||(or)方法,其中一个值满足条件即True
{
BUZZ=0;
//蜂鸣器接受低电平信号,蜂鸣器饷
flag2=0;
if(flag1==0)
{
for(i=0;
i<
=4;
i++)
for(step_index=0;
step_index<
=7;
step_index++)//电机正转
{
ground(step_index);
delay(speed);
}
}
}
flag1=1;
}
else
BUZZ=1;
//蜂鸣器接受高电平信号,蜂鸣器不饷
flag1=0;
if(flag2==0)
for(step_index=7;
step_index>
=0;
step_index--)//电机反转
delay(speed);
flag2=1;
}
}
elseu0=0;
//归位,用于下一次数据覆盖
//增加到20ppm(1ppm=1mg/kg=1mg/L=1×
10-6通常用于指示气体浓度)
DHT11_recept();
EA=1;
}
5.1.2温湿度读取
本系统的温湿度读取是通过DHT11温湿度传感器读取温湿度的值之后传送给单片机,单片机通过与设定的阈值进行比较之后决定是否控制电机进行转动。
{
voidDHT11_delay_us(ucharn)
while(--n);
voiddelay_ms(uintz)
uinti,j;
for(i=z;
i>
0;
i--)
for(j=110;
j>
j--);
voidDHT11_start()
Data=1;
DHT11_delay_us
(2);
Data=0;
delay_ms(30);
//延时18ms以上
DHT11_delay_us(30);
ucharDHT11_rec_byte()//接收一个字节
uchari,dat=0;
for(i=0;
8;
i++)//从高到低依次接收8位数据
while(!
Data);
DHT11_delay_us(8);
if(Data==1)
dat+=1;
while(Data);
//等待数据线拉低
}
returndat;
5.1.3烟雾含量读取
本系统的烟雾读取是通过传感器读取读取烟雾浓度的值之后通过与阈值的比较后决定是否传输高电平给C52单片机,进而单片机做出是否控制电机转动的动作,因为在使用的IDEVSCODE中没有MQ-2烟雾传感器,所以采取AD转换的形式将模拟信号转为数字信号也可以达到同样的效果。
unsignedcharA_D()
unsignedchari,dat;
CS=1;
CLK=0;
CS=0;
DIO=1;
CLK=1;
CLK=0;
DIO=0;
i++)
dat<
<
=1;
dat|=(unsignedchar)DIO;
}
5.1.4电机驱动
电机转动之后,无论是开窗还是关窗的动作,都是需要保证窗户能够转动固定的一个角度。
switch(step_index)
case0:
//0
P2_0=1;
P2_1=0;
P2_2=0;
P2_3=0;
break;
case1:
//0,1
P2_1=1;
case2:
//1
P2_0=0;
case3:
//1,2
P2_2=1;
case4:
//2
case5:
//2,3
P2_3=1;