系统简介
随着科技的快速发展,人们对于现在的生活水平,空气环境,居住质量的要求越来越高。所以智能家居系统慢慢的步入了人们的视线。主要就是为人们的生活提供便捷。实现人们理念中的科技家园,智慧家园,绿色家园。而智能窗帘作为智能家居中的一个模块,它的发展潜能也是无可限量的。在此背景下,本文对智能窗帘控制系统进行了研究,希望能起到一定的指导意义。
本文通过对智能窗帘的控制系统进行了具体的叙述,详细的描述了智能窗帘的设计原理以及应用组装,为促进智能窗帘的广泛应用打下坚实的基础。在本文论文撰写的过程中,主要分为五部分内容进行叙述,第一部分,本文首先介绍了课题背景及意义,通过背景及意义来构思出整体的设计思想。第二部分详细叙述了方案的整体设计,选择STC89C51单片机对智能窗帘的控制系统进行设计,采用LCD1602液晶显示屏作为显示模块,采用步进电机来带动窗帘运动。第三部分是在硬件设计方面,智能功能的实现主要依靠于STC89C51单片机,对于外围电路的设计主要根据电机、按键以及光测电路等进行装置。在整个智能窗帘控制系统中,通过光照强度采集模块、步进电机模块、以及按键输入模块等达到自动与手动控制系统功能的实现。第四部分主要详细描述了智能控制系统中软件部分的设计,主要利用相关软件实现对系统程序的编程,进而保证系统各模块功能的实现,加强了系统内部各环节的联系。第五部分是硬件的组装与调试,在组装电路方面采用的是焊接的方法。在调试电路方面采用的是边安装边调试的方法,通过通电前检查、通电观察、单元电路测试、整机联调这四步使得全部电路的性能完全符合设计要求。最终得出一件基于51单片机的智能窗帘控制系统的实物,此实物支持两种模式,手动模式和光控模式。通过五个按键来进行切换模式、光阀值设置和开关窗帘等。
关键词:智能窗帘;单片机;步进电机
1绪论
1.1 课题背景及意义
对于智能家居而言,涉及内容较多,包括家电设备设施、网络、装修等,具备较为全面的智能服务系统,为主人提供舒适、便捷、高效以及安全的居住空间。同时,智能家居中包含的各种设备设施的建设,通过家庭网络的设置将其进行连接,包括窗帘、灯光、电器等,实现了家居智能的生活模式。总而言之,智能家居的实现打破了传统的生活模式,为人们提高了生活质量以及生活品质,促进了未来智能化科技的发展。
随着我国经济的快速发展,信息科技迎来了新的发展高潮,互联网行业、智能科技创新等得到越来越多人的重视,人们的生活与信息科技的联系越来越紧密,同时,人们生活水平的不断提高,也使得对居住环境提出了更高要求,智能家居打破了传统的生活方式,为人们提供了更舒适的居住环境,得到越来越多人的关注与喜爱。
随着我国市场经济的深化改革,各行各业迎来了新的发展高潮的同时,也面临着越来越多的挑战,同时,随着我国生态环保理念的推广,人们对低碳环保设计也提出了更高要求,正因为如此,家电设备的低能消耗,环保智能成为人们新的选择。鉴于此,在本文中,通过对智能窗帘的系统设计进行分析,促进窗帘智能化的发展,满足人民的需求。
当前,我国许多科技产品的实现都涉及到单片机的应用,在本文中,通过在窗帘智能化系统中,利用单片机实现控制,促进智能窗帘行业的发展。
1.2 国内外发展现状
与国内相比,国外一些发展较快的国家其智能窗帘的应用已十分普及,技术也较为成熟。对我国而言,虽然智能窗帘引入时间较早,但我国的相关技术还不够完善,价格高昂,应用率较低。随着我国科学技术的不断创新发展,人们生活水平的不断提高,智能窗帘引起了更多人的关注。截止目前,根据相关数据统计,我国已有180多种关于智能窗帘的相关专利技术,价格差距也逐渐拉大,几百至几千不等,供不同经济水平的消费者选择。
对于我国而言,智能窗帘的应用普及率较低,属于新兴产业,但随着我国科技水平的不断创新发展,智能窗帘迎来了新的发展高潮。在其行业中,从最初的几家企业,已经发展至如今的上百家企业,发展速度之快令人震惊。当前,智能窗帘控制系统的相关技术已然成熟,吸引了更多的知名企业参与其中,促进了智能窗帘市场的快速发展。
1.3 设计思想及基本功能
对于本次设计的智能窗帘控制系统而言,其功能较为全面,不仅仅包括电动操作控制,还增加了智能窗帘的自动化功能,可以通过阳光明亮程度进行自动控制,同时,为了降低整个系统成本,在此次设计的过程中,对于原器件的选择,尽可能的挑选性价比高的元件,对于系统路线的设置以简单合理为宜,以最低的成本设计最优的智能窗帘控制系统。
对于智能窗帘控制系统而言,其应具备的功能如下所示:
(1)手动控制功能:对于手动控制智能窗帘,主要通过按键操作,实现窗帘的开与关。
(2)自动控制功能;对于自动控制智能窗帘而言,主要是控制系统能够自动感知光线的变化,根据变化的强弱对窗帘实现自动打开与关闭的功能。
2系统总体方案设计
2.1 设计要求
(1)对单片机的功能以及开发要求较为掌握,同时,具有一定的编程能力。
(2)对在智能窗帘控制系统中,选择应用的单片机的内部构造以及相关设备的使用技术较为掌握。
(3)具备利用单片机设计系统的能力,同时掌握相关电路设计。
(4)对智能窗帘控制系统的原理和构造较为熟悉,便于开展设计工作。
2.2 系统控制器的选择
在本次智能窗帘控制系统的设计中,主要有两个方案可供选择:
方案1:在本次系统设计的过程中,其控制器可以选用DSP进行控制,对于DSP而言,其能够对信息进行大量的整理的一种微型处理器,其具有较为稳定的特点,不易受到外界环境和温度的影响,使用率较高,但DSP微处理器的价格较为昂贵,且运行需要依靠一定的电源。
方案2:在本次智能窗帘控制系统的设计中,对于控制器的选择可以选用单片机进行设计,其具有较强的稳定性、价格低廉、耗能低等特点,同时,单片机具有较强的运算能力,可以实现系统的编程,另外,单片机本身也具备一定的计数功能,能够实现智能窗帘的定时效果,满足人们的各种所需。
综上所述,在本系统控制器的选择中,选用方案2 进行设计。
2.3 显示方案的选择
对于智能窗帘的显示设计,本文主要有三个方案可供选择:
方案1:在智能窗帘的显示设计中,可以采用点阵式数码管进行设计,对于点阵式数码管而言,其装置较为复杂,较适合一些大型广告的设计,性价比较低,因此,不适合本文中的设计。
方案2:在此次控制系统的设计中,对于显示器件的的选择,可以考虑选择LED数码管,但因其运行的过程中,需借助移位寄存器,同时,不易对其进行相应的功能调试,因此,不适合本文中设计。
方案3:对于液晶显示屏而言,其具备较强较清晰的显示功能,性价比较高,应用较为广泛,因此,在本文中选择LCD1602液晶显示屏进行设计。
综上所述,在显示方案设计中,选用方案3进行设计。
2.4 电机的选择
对于电机的选择设计,本文主要有二个方案可供选择;
方案1:在本文智能窗帘控制系统电机的设计中,通过采用直流电机实现窗帘的打开与关闭,执行速度较快,效率较高,但存在一个问题,当对窗帘下达转停命令后,因直流电机的转动速度较快,使得窗帘在得到停转命令后,仍会继续转动,窗帘的框架容易造成损坏。
方案2:对比方案1,在方案2中,选择步进电机实现对窗帘的操控,避免出现方案1中停转的问题,同时具备价格低廉,性价比较高的优势。
综上所述,在电机选择设计中,选用方案2进行设计。
3系统硬件设计
3.1 整体方案设计
本系统将会使用型号为STC89C51的单片机芯片来作为核心设备,在辅以其它器件如电阻、电容等完成整个系统的搭建,使之形成单片机组成的最小应用系统。对此,其中器件组成还涵盖了应用于显示模块的1602液晶设备,它能够感应光照强度大小等等;其中光照检测电路的设计主要应用到了光导光以及模数转换芯片ADC0832,主要作用是将一定值域范围内的模拟量用数量值显示;窗帘则可以通过步进电机设备取代模拟产生的效果,与此同时,还会为其配备LED灯,目的是为了判断窗帘当前是处于打开还是关闭的一个状态;此外,在设计中,将会在输入设备端配备5个端口按钮,以便灵活调整时间和调节光强度大小等。最后,本文将会用到5V的电源线,具体结构框架显示如下3.1所示:
3.1 系统框图
3.2单片机控制系统
本系统所使用到的STC系列的单片机,由美国STC企业研发,该单片机的内核是8051,简称51单片机。该系列单片机涵盖的模块非常之多,其中包括Flash程序存储器、A\D、UART、等等,和其它同系列内核的单片机相比,功能完成满足,而且兼容性很强。
具体功能及其参数参考如下:
1.STC89C5xRC对应Flash空间:4KB\8KB\15KB;
2.工作所能接受到的频率范围:040MHZ,相当于普通8051的080MHZ;
3.内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;
4.内部存储器(RAM):512B;
5.中断源:8个;
6.通用异步通信口(UART)1个;
7.定时器\计数器:3个16位;
8.工作电压:3.8~5.5V;
9.通用I\O口:32\36个;
10.有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;
11.外形封装:40脚PDIP、44脚PLCC和PQFP等;
单片机控制系统由三部分组成。第一部分便是时钟模块,在本文所采纳的型号为STC89C51单片机中,有一个输入端(XTAL1)与输出端(XTAL2)异向的放大器,即是反向放大器,并且具有放大器增益功效,该功能便和时钟电路共同组成了时钟方式,而由于工作时,时钟产生条件不同,因而有两种时钟构成方式,分别是内、外部时钟,在综合考量之下,本文将选择内部时钟。
采用内部时钟电路结构设计时,有必要在它的两个端口中,即输入、输出端口为其设置一个容量为30pf的电容,使其能够产生周期性的震荡电流,构成震荡电路。而晶振频率的选择范围则在1.2MHZ~12MHZ之间,考虑到本次单片机系统设计对时钟要求不高,因此可以使用晶振频率高达12MHZ的电路,如下3.2设计所示:
图3-2-1 时钟模块电路图
第二部分便是复位电路,复位电路存在的意义便是对整个电路起到一个保护的效果,由于复位电路对于整个时钟电路来说影响不大,不会影响系统的正常运行与稳定性,从而在一定程度上降低了死机、程序出错等情况。通常来说,复位操作普遍存在两种,一种是手动按键复位,是通过在单片机输入端RST所处的位置设置高电平,并在这其中设计复位按钮,即可进行手动启动复位操作,完成复位功能。还有一种便是上电复位。由于本文在系统设计过程中需要不断的进行手动调试,同时还会遇到很多问题,因而考虑到随时有复位可能,所以本文将会选择操作更为便捷的手动按键复位。其电路效果如下图3.3所示:
图3.3 复位电路电路图
元器件清单
单片机STC89C51 1片
晶振12M 1个
独石电容30pF 2个
电解电容10uF 1个
电阻1K 1个
电阻10K 2个
排阻10K 1片
按键 5个
1602液晶 1个
1602液晶座子 1个
电位器10K 1个
芯片ADC0832 1片
芯片DS1302 1片
芯片ULN2003 1片
芯片座 40脚 1个
芯片座 16脚 1个
芯片座 8脚 2个
3mm 红LED灯 1个
排针 5脚 1个
光敏电阻5516 1个
纽扣电池 1个
电源开关 1个
电源座 1个
9*15洞洞板 1张
导线 若干
电源线 1根
步进电机 1个
原理图
**
**
3PCB图
4软件设计
4.1 程序语言及开发环境
C语言综合了汇编语言和高级语言的特点,在一九七二年由美国人推出,一九七八年后,在众多微型机上都需要应用到C语言。它的数据处理能力极强,可用于系统开发以及软件的编写。它的应用范围广泛,在很多软件设计上都有它的足迹,比如说嵌入式系统。
Keil这款软件可以提供很多功能,他可以把这些功能都集合在一个开发环境下面,具有比较完美的兼容性。Keil具有高效性,对于生成的目标代码逻辑严谨,拥有紧凑的汇编代码,容易理解。当进行程序较复杂的设计时,使用Keil软件具有相当大的优势。
4.2 程序流程图设计
如下图所示就是系统流程图,首先是系统的初始化,接着就是一个循环过程,读取并显示时间,把这些数据显示于显示屏中,接下来就是读取关照强度,将其数据显示于液晶显示屏中。完成以上操作就可以用按键进行扫描,有手动模式和光控模式,不同的模式对于窗帘控制的操作也不一样,当系统检测到按键操作,则会进行相对应的处理。手动模式只需要操作操作按钮即可,光控模式需要对光照进行判断,若是它超过了设置的安全值时,就会关闭窗帘,若是在安全裕度之内,则开启窗帘。这样就相当于完成了一个流程。
图4.1软件流程图
4.3 1602液晶程序设计
显示器与单片机可以用到两种方式进行连接,第一种是采用8位的数据总线,另外一种是利用四位数据线进行两次输送。进行设计时,需设计控制和外界的接口,然后可以建立起一些对应的联系,对于运存的有效管理,驱动也可以进行有效地控制。并且还能配置数据。在驱动过程中,要完全依照控制器的相关规范,通过对LCD的驱动来显示数据信息。控制器当中还具有各种ASCII字符库和能扩容的汉字库。LCD 1602液晶模块当中存在字符发生内存设备,所保存的点阵字符图形数量共有160个,每个字符与代码相对应,就像这里面的英文字母就有其自己相对应的代码,当在程序中的地址中写入它所对应的代码,就可以显示出这个字母。液晶显示前需定位首个字符,程序自动往后,一位一位完成,比如说“max”,就是先定位m,然后a,最后才是x,全部结束才算完成任务,数字也是一样的,比如说“567”,就是先定位5,然后6,最后才是7,当全部都完成过后即可算完成任务。都是以从左到右的顺序进行,直到末尾才算完成。
5硬件组装与调试
5.1 元器件的选择与测量
在本次课题研究中所使用到的元器件有数模转换芯片、R、L、C、按键、单片机和液晶显示屏等等,通过在网上或者图书馆搜索相关资料,熟悉每个元器件的使用方法,最后再进行焊接。在电子元器件店铺可以买到这些元器件,使用时需要注意元件正负极和额定电压,了解系统的引脚顺序。通常我们可以用万用表测量电阻大小,也可以用色环去读取。关于电阻和晶振,他们的数据会标记在本身外壳上。使用长正短负的原则去判断原件正负极,如若某些原件不好判断,可以通过网上搜索资料进行解决。
5.2 元件的焊接与组装
组装电路有以下几个方法,分别为插接和焊接,对于这些方法需要注意以下几点:
(1)为保证所使用元器件良好,需要在组装前测量所有元器件。
(2)为保证焊接具有良好的布线,需要同样的集成电路组装方向。
(3)在组装时需要将元件标签立于易于观看的地方,注意元件正反向,比如说二极管和电容,这样方便进行调试和检查。组装时对于元件的正负极需要格外注意,因为关系结果的成败。
(4)焊接中的排线进行简单化,连线从集成电路芯片周围通过,尽量减少重叠线路,避免从元件上方通过。
(5)先拟草图,然后进行组装,可以更加方便快捷的完成工作。布局合理,组装方法正确,不仅可以让整个电路更加美观,还可以在今后检查和调试工作简单化。
5.3 电路的调试
电路的调试主要是指代系统的改进、调整系统和系统测试。对于工作状态和电路参数的测量就是测试,调整就是在参数符合基本要求的前提下修正参数,让该设计参数符合标准。调试前为了能够保障工作顺利,需要拟定仪器、调试步骤、测试项目和调试方法等等。
有两种种调试方法,分别为边安装边调试和焊接完再调试。前者按照原理框图,把电路分成单元进行调试和安装,以这个为基础,逐步扩大调试安装范围,全部都整理完成后进行整机调试,这种方法使用较为方便,使用的人较多。后者是全部元器件都焊接完成后进行调试。这种方法只适合不负责的电路系统,用的人较少。系统调试可分为以下四个步骤:
首先为首通电前检查。若是焊接完成,需要根据原理图,检查线路是否正确连接,电路中是否多连了线路或者是少连了线路。电路中是否出现了短路。查看元器件引脚数目与原理图中的数目是否一致,尽可能直接测量元器件引脚,方便测量出接触不良之地,可以用数字万用表和指针式万用表进行测量检查。
接着就是通电进行观察,在检查完全没有故障之后接通电源(接通电源之前需要先把电路上的各个开关先打开)。当电源接通之后,先观察一下电路是否有故障,电路中的元器件是否有烧坏,整个电路是否有异常,电路是否有开路、短路等现象出现,整个电路是否存在漏电现象。若是有,则先解决问题,若是没有问题,就可以直接测试电路功能。
然后就是调试单元电路。调试时需要确定调试基本要求,按照电路图中的信号流向作为调试顺序,也就是说后面调试信号的输入是前面调试信号的输出,把整个电路分模块调试。从而使得电路的调试更加简单方便。
最后是整机联调。若是调试完每个单元电路,就需要调试整体电路,虽然说每一个单元电路都是好的,但是每个单元电路联合起来就有可能会存在问题。整体调试主要是对动态性能进行观察和测量,再将所测得的结果与标准指标进行对比,从中找出问题所在,针对这些问题找到相对应的解决办法,及时修正电路参数,一直到电路性能符合要求为止。
总结
即将面临毕业的压力,而写论文也是衡量我们在大学所学成果的标准之一,通过对论文里面的知识点的收集和理解能够在一次的温故我们所学的知识,为了更好的完成毕业设计,不得不深入的去研究这个行业的相关知识,还有控制方面的知识,而在此过程当中,对于我们专业知识的深度也有了一个更深入的了解,对于今后找工作也有着非常大的帮助。在设计时所需要的问题,我们不得不通过各种途径去搜集资料。然后再进行深入的研究。此外,我还自学的PCB作图以及KEIL软件,虽然在设计的过程当中也有走过很多弯路,但有些事情还是要自己走过一遍,才能知道自己那里有不足。这不仅有助于积累经验,而且对于自己的性格也是一个很好的沉淀。在自己沉下心来做一件事情的时候,得到的感受其实是非常不一样的,即便是失败,但也不是空手而归的。
通过几个月的努力我终于完成了此次的设计,在设计的过程中,不可避免的会遇到问题,而我只能通过询问老师还有寻找同学的帮助,调用一切可以利用的资源来完成此次设计。在此也非常的感谢班上的同学,为了解决我的问题,我经常要跑到宿舍去请教,有时候还需要先给我辅导理论知识,然后再教授我相关知识的运用,经常往复的要去询问他们,而通过此种练习方式,我的技术得到了非常大不平的提升在其中,令我印象最深刻的就是AD软件制图。在以前对于使用AD软件制图这个概念并不深刻,还有很多地方也不会使用,有时候经常一个原理图出来了,工作也就完成了,并不知道要去进行规则性的检查,只是画出一个图之后,就有一种特别沾沾自喜的感觉 。感觉自己好像已经充分的会使用这款软件了,不过在通过此次的毕业设计之后,我对于AD软件的使用已经熟悉很多了,了解封装和PCB布线。PCB设计时,第一步需要对规则进行设计,接着才是是地线与信号线等等。之后就是学习KEIL软件的使用了,先收集其相关的知识,而后再下载keil5版本,版本已经是最新的版本了。那么使用起来会顺手一些,此外,将keil2用来编辑51单片机发现非常的顺手。