基于单片机的智能窗帘的设计.docx
- 文档编号:3764997
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:26
- 大小:390.12KB
基于单片机的智能窗帘的设计.docx
《基于单片机的智能窗帘的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能窗帘的设计.docx(26页珍藏版)》请在冰豆网上搜索。
基于单片机的智能窗帘的设计
基于单片机的智能窗帘的设计
摘要I
AbstractII
1绪论1
1.1课题背景及意义1
1.2国内外发展现状1
1.3设计思想及基本功能2
1.4主要内容及设计安排2
2系统总体方案设计3
2.1设计要求3
2.2方案选择3
3系统硬件设计6
3.1整体方案设计6
3.2最小系统模块6
3.3液晶显示电路10
3.4时钟模块11
3.5光控电路13
4软件设计15
4.1程序语言及软件开发环境15
4.2主程序模块的设计15
5集成调试20
5.1调试步骤20
5.2实物调试20
5.3系统软件及仿真结果20
6总结1
鸣谢2
参考文献3
摘要
窗帘在我们的日常生活中作用很大,主要起到遮蔽强光、保护个人隐私的作用。
传统的窗帘主要依靠人工来控制升降,操作不方便。
近些年来,智能家居概念逐步兴起,催生了一系列智能插座、智能空调等产品。
本文主要研究智能窗帘控制系统的设计,它属于智能家居系统的一部分。
该控制系统,主要以单片机为控制器,配合光线感应传感器,实现窗帘的自动升降。
整个系统通过按键矩阵实现交互控制,相关的交互信息通过液晶显示屏显示出来。
本文先是对整体方案作了简要描述,然后详细介绍硬件电路设计,包括单片机控制器、光敏传感器、电机控制电路等,最后介绍了软件实现的思路。
整个窗帘控制系统设计简单,操作方便,工作稳定。
关键词:
智能窗帘;单片机;光敏器件
Abstract
Curtainsplayanimportantroleinourdailylife,mainlytoshieldthestronglightandprotectpersonalprivacy.Thetraditionalcurtainmainlyreliesonmanualcontroltolift,whichisinconvenienttooperate.Inrecentyears,theconceptofsmarthomehasgraduallyrisen,givingbirthtoaseriesofsmartsockets,smartairconditioningandotherproducts.Thispapermainlystudiesthedesignofintelligentcurtaincontrolsystem,whichbelongstoapartofsmarthomesystem.Thiscontrolsystemmainlytakessinglechipcomputerasthecontrollerandcooperateswithlightsensortorealizetheautomaticliftingofcurtain.Thewholesystemachievesinteractivecontrolbykeymatrix,andtherelatedinteractiveinformationisdisplayedbyLCDscreen.Thispaperfirstgivesabriefdescriptionoftheoverallscheme,thenintroducesthehardwarecircuitdesignindetail,includingsingle-chipcontroller,photosensitivesensor,motorcontrolcircuit,andfinallyintroducestheideaofsoftwareimplementation.Thecurtaincontrolsystemissimpleindesign,convenientinoperationandstableinoperation.
Keywords:
IntelligentCurtain;MCU;PhotosensitiveDevice
1绪论
1.1课题背景及意义
时代不断进步,人们的生活也在不断地提高,从最初的洞穴草屋,到如今的高楼大厦,不同的时代人们对于居住的场所和环境有着显著的差别,这是人类步向文明社会一个必然的潮流。
随着时间的指针指向21世纪的今天,信息化时代的来临使得经济发展迈向了一个新的阶梯,科技的不断创新使得人们慢慢解放了自己的双手,同时,也减少了人们的欢声笑语,使人们不得以更加卖力的工作以寻求更加美好的生活。
在这种工作压力下,人们并不满足于现有的传统家居,因此,利用物联网技术的智能家居慢慢融入人们的生活。
智能家居除了拥有传统家居的所有功能外,还可以使信息全方位的交互,兼备网络通信、家电信息、设备自动化,提供一个可以使服务信息管理为一体的舒适、安全、便捷的居住环境。
窗帘是一种常见家居,窗帘的作用也有很多,除了具有遮光的效果外,还具有保护隐私,也起到一定的装饰作用。
但传统的窗帘需要手动去控制开合,对于一些普通民房控制起来很容易,但对于一些大型的商用房开合起来就很麻烦,因此,智能窗帘具有很高的期望。
目前,智能窗帘的种类有很多,利用语音控制,利用外界光线强弱控制,也可以利用定时器去控制窗帘的自动开合。
设计一款价格便宜,功能新颖,并且结合市面上诸多功能的智能窗帘就拥有很大的发展前景。
信息时代的来领使得很多国家对于电子商业投入越来越多的资金,使得许多电子产品面世,这些电子产品大多可以被大众接受认可,智能窗帘在未来很可能就成为了生活的必需品,因此,在不久的将来,或许智能窗帘就成为了中国以至世界的主要产业之一,它的前度不可限量。
1.2国内外发展现状
对于一些欧美的发达国家来说,信息化时代已经步入中年时期,因此,智能家居发展也较为成熟。
在国外,美国是世界上第一个国家成功设计出智能家居产品,美国、加拿大、欧洲、澳大利亚等较为发达的国家对智能家居提出了自己的看法和意见。
美国、新加坡、德国、日本等国外智能窗帘都有广泛的应用[1]。
智能家居最早可以追溯到1984年,世界上第一个智能家居的到来,一直到现在,智能家居不团的被更新。
在1998年的“98亚洲家庭电器与电子消费品国际展览会”上,新加坡在面对大众媒体时模拟“未来之家”,展示他们对于未来智能家居的看法,利用先进的技术来实现对整个系统的运作,为未来智能家居的发展做出卓越的贡献。
在大约10年前,第一款电动式窗帘就被引进到国内,但由于当时中国的经济与科技水平都相对较为落后,并没有被大力的推广,但近几年,随着经济的持续发展,人们财富的日益增长,智能窗帘又一次的进入到人们的眼帘。
据数据统计,近几年,我国有大批的智能窗帘技术获得了专利,因此,智能窗帘的发展有着无穷的潜力,前景十分明朗。
1.3设计思想及基本功能
智能家居作为信息化时代一个大的社会系统工程,我们要足够的重视,但也不能为了发展盲目的引进国外的技术,在综合应用国外技术的同时,也要开创出属于中国特色的产业链。
现在市面上大多是按键式以及遥控式来控制窗帘的开合,相对传统是的窗帘,这两种智能窗帘的优点是显而易见的,但看见优点的同时,我们也应发现他的缺点,按键式开关由于安装位置固定,在特定的时候或许会比较方便,比如安装在床头或者门旁边,当进出门或者上下床是就可以顺手按下,但当我们在客厅厨房就会显得比较麻烦,遥控式虽然可以实现位置多变,但是需要定期更换电池,增加了成本。
本次设计在保留利用按键式控制窗帘开合的基本功能的同时,还加入了可以根据光照强度的大小来开合窗帘以实现全自动控制,但此功能也并非完美,由于光敏器件灵敏度、冬夏不同季节的光照时间以及人们对窗帘开合的时间要求,光控很难达到人们的需求,因此,在此功能的前提下,本次设计还加入了时控,拥有定时功能,真正实现人性化。
1.4主要内容及设计安排
本次设计的只要内容及安排如下:
第一章为开题引言,介绍本次设计内容的背景及发展状况。
第二章为总体方案设计。
第三章为本次设计的硬件选择。
第四章为本次设计的软件选择。
第五章为调试部分。
第六章为总结。
2系统总体方案设计
2.1设计要求
本次设计的智能窗帘满足以下性能:
1:
能够通过手动控制已达到窗帘开合的目的;
2:
利用定时器控制来设定窗帘的开合时间;
3:
利用外界光照强度的大小来控制窗帘的开合。
2.2方案选择
2.2.1系统方案的确定
单片机诞生至今,以其可靠性高、系统结构简单、使用方便、处理功能强等优点被广泛应用于智能仪器,本次设计同样选取单片机作为控制芯片,型号为STC89C52。
为了更好的实现其功能,在此基础上,选取两套方案,分别为:
方案一:
利用光敏器件达到智能窗帘的自动控制,如图2-1所示。
方案二:
利用温度传感器达到智能窗帘的自动控制,如图2-2所示。
对比方案一与方案二,主要区别在于外部传感器件选取不同,方案一以光敏元件来控制窗帘的开合,误差较小,也方便实用;方案二通过对室内外温度的差异来控制窗帘的开合,针对不同季节误差较大,满足不了人们的需求。
因此,我决定选择方案一。
图2-1方案一框图
图2-2方案二框图
2.2.2时钟模块的选择
方案一:
采用SD2068时钟芯片。
SD2068是一种具有标准IIC接口的实时时钟芯片,内置年、月、日、星期、时、分、秒共七字节的报警数据寄存器及一字节的报警允许寄存器,可以在较大的范围值校正时钟的偏差。
缺点在于编程较为复杂,价格相对较高,在本次设计中实用性相对较小。
管脚如图2-3。
图2-3SD2068时钟芯片管脚图
方案二:
采用DS1302时钟芯片。
DS1302是美国DALLAS公司的一种具有涓细电流充电能力的电路,可以对年、月、日、星期、时、分、秒进行计时,拥有高性能、低功耗等优点。
此外,它还采用三线接口与CPU同步通信,并可以采用突发方式一次性传送多个字节的时钟信号或者RAM数据。
作为DS1202的升级产品,它除了拥有其所有功能以外,还增加了主电源/后背电源双电源引脚,在主电源关闭的情况下,可以继续保持时钟的连续运作。
DS1302管脚图如图2-4。
图2-4DS1302时钟芯片管脚
纵观两种方案,最终决定使用DS1302时钟芯片。
2.2.3电机的选择
方案一:
使用直流电机来带动窗帘的开合。
直流电机具有很好的启动特性和调速特性,并且转矩也比较大,维修较便宜。
但由于直流电机的转速较快,当给出停转信号时,由于惯性作用,很难立即停止,可能会导致窗帘损坏,并且直流电机的价格方面并不便宜多少,还具有碳刷。
方案二:
使用步进电机来带动窗帘的开合。
步进电机旋转的角度正比于脉冲数,并且当激磁绕组时,电机挺赚的时候具有最大的转矩。
同时,每步的精度在3%-5%,而且上一步的误差不会累计到下一步,所以具有较好的位置精度和运动的重复性。
另外,由于步进电机的速度较为缓慢,具有优秀的启停和反转响应。
从寿命上来讲,由于步进电机没有电刷,因此电机的寿命仅取决于轴承。
步进电机的缺点主要在于转速较慢,并且如果控制不当容易产生共振。
综合两中方案的优缺点,本次设计决定使用方案二。
2.2.4显示方案的选择
方案一:
采用点阵式数码管显示。
点阵式数码管由一个个发光二极管组成m行n列的阵,通常点越多其像素越高。
点阵式数码管一般应用于显示大型字体,用于本次设计有点浪费。
方案二:
采用LCD液晶显示器显示。
LCD液晶显示器是由两片平行的玻璃当中防止液态的晶体,中间有很多垂直和水平的细小电线,通过通电来控制杆状水晶分子的方向,将光线折射出来以达到产生画面的目的。
LCD具有很多的优点:
省点,机身薄,无辐射,画面较柔和不伤眼等。
方案三:
采用LED数码管显示。
LED数码管是一种能够将电能转换为光能的固态半导体器件。
它的优点主要是节能,并且可以工作在高速状态。
但是它的显色性很差,成本也较高,并不是很划算。
综上,最终决定采用方案二。
3系统硬件设计
3.1整体方案设计
本次设计的最小系统由单片机配合一些电容电阻以及晶振构成。
其余各模块围绕此系统展开,显示模块采用LCD液晶显示器,同时也可以显示该系统目前的状态属性,包括时间、光照强度、模式等基本信息;时钟模块采用DS1302时钟芯片,在断电的情况下,也可以保持时钟的连续动作;光敏模块采用光敏电阻和魔术转换芯片,将模拟量数字化并显示出来;窗帘的开合则采用步进电机来控制,开合的状态则采用LED灯的状态来表示。
对于个功能的实现需求则采用按键模块来控制,可以用来选择模式以及手动控制窗帘的开合。
3.1系统框图
3.2最小系统模块
3.2.1STC89C52单片机
(1)简介
STC89C52单片机是STC公司研发的一种具有8k字节系统可编程Flash存储器,兼并低功耗、高性能CMOS8位微控制器。
STC89C52在经典的MCS-51内核的基础上做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
(2)功能特性
■8k字节Flash
■512字节RAM
■3位I/O口线
■内置4KBEEPROM
■MAX810复位电路
■3个16位定时器/计数器
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
(3)引脚图
其管脚图如图3-2所示。
程序状态字PSW、存储器RAM和ROM、累加器、并行I/O接口P0~P3、地址指示DPTR、寄存器B、定时器/计数器以及时钟电路和复位电路等这些功能部件由内部总线连接在一起,组成单片机[2]。
图3-2STC89C52引脚图
各引脚的功能为:
VCC:
接电源
VSS:
接地
P1.0-P1.7:
8位准双向I/O口。
负载能力为3个LSTTS门;
RST:
复位端。
高电平有效,宽度在24个时钟周期宽度以上,是单片机复位;
RXD:
串行口输入端;
TXD:
串行口输出端;
INT0:
外部中断0输入端;
INT1:
外部中断1输出端;
T0:
定时器/计数器0外部输入端;
T1:
定时器/计数器1外部输入端;
WR:
片外数据存贮器写选通信号输出端;
RD:
片外数据存贮器读选通信号输出端;
XTAL2:
接外部晶体振荡器的一端。
片内是一个振荡电路反相放大器的输出端;
XTAL1:
接外部晶体振荡器的另一端。
片内是一个振荡电路反相放大器的输入端;
ALE/PROG:
地址锁存信号端。
访问片外存贮器时,ALE作低八位地址的锁存控制信号。
平时不访问片外存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。
ALE端负载驱动能力为8个LSTTL门。
该引脚有复用功能,为片内程序存贮器编程的编程脉冲输入。
其中,STC89C52单片机设有4个双向I/O口(P0、P1、P2、P3),每一组I/O口线都可以独立地用作输入或输出口,其中:
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
3.2.2最小系统电路
单片机的最小系统能够使单片机维持正常工作,一般由单片机、程序存储器、时钟电路和复位电路组成。
(1)复位电路
复位电路主要任务是为系统提供初始化设定,以保证系统电路能够安全稳定的运行,所以复位电路是整个系统必不可少的[3]。
图3-3为最简单的一种复位电路--上电复位。
RST为9引脚主要有着复位的功能,能与外部形成一个复位电路[4]。
当系统突然上电时,电容两端的电压不会瞬间改变,使得复位端出于高电平状态,之后,电容通过电阻充电,随后,RST变为低电平,当电容的充放电时间常数RC足够大,能保证在RST端得到超过两个机器周期的高电平时,单片机完成复位操作。
图3-3上点复位
(2)时钟电路
图3-4为时钟电路电路图,该电路用于产生单片机的基本时钟信号。
图3-4时钟电路
(3)最小系统电路图
STC89C52的最小系统由晶振电路部分、复位电路部分、电源电路等三个部分组成。
晶振电路的作用是给内部时钟一个固有的频率,当其频率上升时,单片机系统的运行速度也会加快。
在通常情况下,一般只需要一个晶振就可以是系统的各个部分保持同步。
电容的作用在这里是起振作用,帮助晶振更容易的起振,取值范围是15-33pF。
复位电路由10uF的极性电容C1和10K的电阻R3构成。
STC89C52单片机的复位输入引脚RESET为单片机提供初始化,当系统上电时,该脚处于高电平,持续的时间有电路RC决定。
典型的51单片机当RESET脚的高电平持续两个机器周期以上就将复位,所以适当组合RC的取值就可以保证可靠的复位。
电源电路采用5VUSB直接供电,可将USB插入电脑,手机,移动电源灯相关设备直接对其供电。
图3-5最小系统电路图
3.3液晶显示电路
3.3.1LCD1602简介
LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。
LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。
芯片的工作电压为4.5V-5.5V,电流为2.0mA,显示的电容为16*2个字符[5]。
3.3.2引脚功能
LCD1602引脚如图3-6所示。
图3-6LCD1602管脚图
1:
接地;
2:
电源正极;
3:
VL为液晶显示器对比度调整的端口,对比度的强弱由接电源的不同决定,对比度的调整可以通过一个10k的电位器;
4:
RS是寄存器选择,高水平的数据寄存器,低选择指令寄存器;
5:
RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作;
6:
使能端E,当E端由1至0时,液晶模块中的命令开始被运行;
7-14:
D0-D7为8位双向数据线,主要用于和单片机的P0口相连进行数据传递[6];
15:
背光源正极;
16:
背光源负极。
由于液晶显示在本次设计中用途有限且可有可无,不做过多说明。
3.4时钟模块
3.4.1DS1302简介
DS1302是由美国DALLAS公司推出的能计算秒钟、分钟、小时、日期、月份、星期、年份等实时信息[7],具有涓细电流充电能力的低功耗实时时钟芯片。
DS1302具有低功耗,高性能,引脚少,体积小等优点[8],当系统断电时,也可以正常运行。
我们可以用单片机往DS1302里面写入时间进行时间设置,也可以用单片机从DS1302中读取时间,读出来的时间也可以放在液晶上显示。
这样我们就可以实现一块电子表的功能了。
3.4.2引脚介绍
DS1302时钟芯片引脚如图3-7所示。
图3-7DS1302时钟芯片管脚图
Vcc2:
主电源;
Vcc1:
后备电源;
X1,X2:
32.768KHz晶振管脚;
SCLK:
串行时钟;
I/O:
数据输入/输出引脚;
GND:
接地;
RST:
复位线。
3.4.3工作原理
DS1302每次在读写程序前都需要先进行初始化,将SCLK端先置“0”,然后把RST端置“1”,最后在给予SCLK脉冲。
DS1302有12个寄存器,其中有7个寄存器以BCD码形式存放日历、时钟,其日历、时间寄存器及其控制字如图3-8所示。
READ
WRITE
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
RANGE
81h
80h
CH
10Seconds
Seconds
00-59
83h
82h
10Minutes
Minutes
00-59
85h
84h
12/24
0
10
Hour
Hour
1-12/0-23
AM/PM
87h
86h
0
0
10DATE
DATE
1-31
89h
88h
0
0
0
10Month
Month
1-12
8Bh
8Ah
0
0
0
0
0
DAY
1-7
8Dh
8Ch
10YEAR
YEAR
11-99
8Fh
8Eh
WP
0
0
0
0
0
0
0
-
91h
90h
TCS
TCS
TCS
TCS
DS
DS
RS
RS
-
图3-8DS1302寄存器图
图3-9为DS1302的控制字,控制字位7必须置“1”,若为“0”,则不能对DS1302进行读写数据。
对于位6,对程序进行读写时RAM=1,对时间进行读写时CK=0。
位1至位5指操作单元的地址。
位0是读/写操作位,进行读操作时,该位为“1”;进行写操作时,该位为“0”。
76543210
1
RAM
A4
A3
A2
A1
A1
RD
CK
WR
图3-9DS1302控制字
3.5光控电路
3.5.1光敏电阻概述
光敏电阻,是一种特殊的电阻,简称光电阻,是利用半导体的光电效应制成的一种电阻值随入射光的光敏电阻器强弱而改变的电阻器。
为了能够吸收更多的光能,光敏电阻器大部分都设计为薄片式,它有一个很重要的特点是他的阻值大小会随着周围光的强度发生变化,光照强度越大,阻值越小,光照强度越小,阻值越大,阻值大小与光照强度成反比的关系。
光敏电阻具有体积小、灵敏度高、稳定性好、质量轻等特点。
因此光敏电阻被用于很多光电控制系统,如路灯,照相机自动曝光装置,光电计数器等方面[9]。
3.5.2工作原理
光敏电阻的工作原理是基于内光电效应。
制作光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等。
光敏电阻的结构为在一玻璃底板上涂有半导体物质,两端装有金属电极,利用导线连上金属电极将光敏电阻连接到电路中。
在黑暗的环境中,它的阻值会很高;当其受到光照时,由于价带中的电子吸收了光子能量以至于成为自由电子,产生空穴,电阻率由于电子-空穴对的出现而变小,光生电子—空穴
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 窗帘 设计