基于STM32的智能窗帘设计_第1页
基于STM32的智能窗帘设计_第2页
基于STM32的智能窗帘设计_第3页
基于STM32的智能窗帘设计_第4页
基于STM32的智能窗帘设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要智能窗帘控制系统是一种方便快捷的智能环境监测与调节的家居系统。随着智能化家居产品的产生与广泛应用,越来越多的智能化家居系统应用于人们的住宅设计中,作为智能家居系统的一部分,智能窗帘控制系统的功能越来越多,能满足不断升级的新型住宅需求,并实现它的实用价值。本文基于ARM-STM32单片机的数据处理和通讯控制功能设计了一套智能窗帘控制系统。重点分析研究了窗帘与单片机之间的通讯控制技术。该系统集手动控制、远程控制、声控以及光控等为一体,并可根据需求设置窗帘开合时间,实现对窗帘的半自动控制和自动控制功能。本设计的控制系统主要包括:光强及温湿度检测模块、电机驱动模块、多模式切换模块、远程控制模块、语音识别模块等部分。可以实现对窗帘的自动及半自动控制且该系统具有成本低廉、抗干扰能力强、灵敏度高等特点,克服了传统窗帘功能单一,智能化程度不高的缺点,能够实际应用在百叶窗等一系列窗帘的控制中,具有一定的推广价值和应用前景。关键词:STM32;智能窗帘;温湿度检测;语音识别;远程控制;

目录TOC\o"1-2"\h\z\u引言 11.1课题背景及其意义 11.2国内外的研究状况 21.3本文的主要研究内容 21.4论文结构安排 31.5本章小结 3 42.1整体电路的确定 42.2主控制器方案选择 42.3温湿度模块方案选择 52.4远程控制模块方案选择 62.5按键电路方案选择 72.6语音控制模块方案选择 72.7显示屏方案选择 82.8光照强度模块方案选择 82.9超声波测距模块方案选择 92.10本章小结 9第三章硬件电路的设计 103.1系统整体设计 103.2主控电路 103.3电源电路 113.4按键电路 123.5ESP8266WIFI远程控制模块 123.6LM393光照强度检测模块 133.7DHT11温湿度检测模块 143.8LD3320语音控制模块 153.9电机驱动电路 163.10OLED显示屏模块 163.11HC-SR04超声波测距模块 173.12本章小结 18第四章系统软件的设计 184.1编程语言选择 184.2单片机程序开发环境 184.3系统主程序 194.4温湿度检测模块程序 204.5远程控制模块程序 214.6按键电路程序 224.7OLED显示屏程序 234.8语音控制模块程序 244.9超声波测距模块程序 254.10本章小结 25第五章系统设计与调试 265.1温湿度测试数据分析 265.2光照强度采集测试数据分析 275.3语音控制距离测试 275.40.96寸OLED显示屏显示测试 285.5远程控制测试 295.6本章小结 29第六章总结与展望 316.1总结 316.2展望 31致谢 33引言1.1

课题背景及其意义随着现代科技的不断飞速发展,智能化技术正以难以想象的巨大速度逐步渗入社会各个领域中。窗帘作为一种日常家居用品,正在迅速发生前所未有的技术变革,尤其是在自动化控制领域,对传统窗帘控制系统有了新的技术要求。这些改进的技术不仅为传统家居控制带来了新的经济增长点,也提出了新的科研课题。当前,大部分家用窗帘依旧采用手动扣环钢丝挂在墙上,只有很少的住户使用智能化或电子遥控窗帘。这主要由于智能窗帘的生产成本远比传统手工窗帘要高出不少,再加上现在的智能窗帘大多并不能满足用户的需求,而人们又觉得用人工关开门窗并没有耽误什么时间,所以智能门窗并没有在人类的日常生活中进行广泛应用。也就是由于这样,智能窗帘在人类的日常生活当中才有着更大的发挥空间。但是,如果真要进一步提高智能窗帘的普及程度,就必须我们研发出功能模块全、智能水平高、造价成本低,并且适合于每个家庭的智能自动控制门窗。从智能窗帘的控制方式来说,主要可以包括:光照强度控制、定时控制、语音控制、红外遥控等。但是,在人们的生活中,噪音管理往往会由于噪音而显得很难进行。所以大部分智能窗帘并不选择声控的方法,但语音控制确实是一种方便且智能的控制方式。若能以低廉的价格、清晰的结构、高灵敏度、远距离控制、定时控制和光感控制相结合的智能窗帘系统,将会有很大的发展空间。本课题从智能窗帘的实用性和智能化控制系统的应用价值出发,以窗帘为研究对象,研制一款智能窗帘。本系统在进行多个测试目标和控制模块共同作业的同时,还必须采用多种接口规范与MCU相结合,并通过MCU进行数据的加工,从而达到实时测量和监控的目的。而利用单片机来完成家居产品智能化的控制,不但便于信息的采集而且对产品的管理也十分简易。该方案具有柔性好等特点,能够极大地改善各个组件与芯片之间的协同性能,极大地提升了整个应用程序的可用性。本课题的开发系统充分发挥STM32的优势,以STM32为主要控制单元,以其软体和软体两部分构成了整个系统。该硬件部分由单片机扩展的存储器、输入/输出装置、多种界面、接口、相关周边电路或组件构成,这些电路可以满足MCU的控制需求;软件包括多种工作流程和管理程序,这些都是通过单片机的应用系统来完成具体的控制函数。最终,结合用户的需求,实现了这种智能窗帘,不仅方便了人们的日常使用,也能为消费者采购智能窗帘多一种选择。如今人们对室内设计智能化的要求也越来越高,方便与舒适的智能窗帘对于现代快节奏的人们生活来说,是适应现代化办公和生活环境的需要,是人们生活水平提高的一个标志[1]。随着各行业公司对研发智能窗帘的投资可以看出发展前景十分广阔,也预见其在未来市场会占有很大空间。1.2

国内外的研究状况在欧洲,一些发达国家,窗饰智能化已经成为了时尚家居的一大标志,其智能便捷的特点使其引领国内窗饰市场的潮流。电动窗帘早已广泛应用,10年前电动窗帘开始进入我国,在此后短短几年时间里,生产商由最初的几家增加到如今的百余家,发展十分迅速[2]。目前,我国遥控自动窗帘系统生产厂商、分销商、集成商已形成相当规模,不少国内知名企业纷纷涉足遥控自动窗帘系统行业,比如小米旗下的米家、公牛电器、美的、TCL王牌等,并涌现出一些影响力比较大的智能家居生产厂商,如北京科创者科技有限公司、深圳市苏米科技有限公司、北京美琪阁力有限公司、深圳绿米联创科技有限公司、宁波杜亚机电技术有限公司等。智能窗帘的应用范围也得到了扩展,除了办公楼、酒店、演播厅、教学楼等大型公共场所以外,自动窗帘产品还走进了普通家庭,得到了用户的诸多好评,展示了其巨大的应用潜力[3]。随着智能窗帘热潮的在全球范围内蓬勃发展、电子信息技术的飞速发展和人类生活水平的日益改善,窗帘的智能化程度也日益增强,智能窗帘势必作为未来家居风潮与发展的新方向,在不久的将来,缺乏智能窗帘控制的居室也必将落伍。据调查表明,中国国内目前的电动窗帘产品已经申报了一百七十多个国家的专利,虽然它们的技术原理基本相同,但一般售价都在第五百至数千元左右,且它们的共同缺陷是价格高、灵活性差、不能实现自动控制。1.3本文的主要研究内容本文首先分析了国内外智能电动窗帘的研究现状、技术特点以及在智能家居方面的实际应用情况,总结了智能电动窗帘的特性。设计了以嵌入式芯片STM32F103C8T6单片机为主控的智能窗帘控制系统,完成了系统整体硬件电路的构思及采购、焊接和调试。本设计智能窗帘控制系统可以接收来自PC机串口调试助手或者手机app通过WIFI远程发出的控制命令,完成对步进电机的控制模拟窗帘的打开关闭。通过试验证明了本文设计的智能窗帘控制系统具有操作简单方便、功耗低、性能稳定、可扩展性强等优点。具体的研究内容如下:(1)WIFI远程控制窗帘工作,显示屏实时记录室内环境变化并根据环境变化比如光照强度控制窗帘的开关,以此应对不同天气下窗帘的开关状态。(2)利用智能语音识别技术,实现对窗帘不同模式下开关状态的控制。使用STM32F103C8T6内部定时器,控制窗帘的开关时间。(3)制作模型模拟实物,测试系统各功能能否按照理论结果运行。对实验结果进行分析总结,分析误差和模拟失败的原因。再查阅和学习相关软硬件资料进一步完善相关功能,达到设计要求。在软件程序编写方面,对ST公司3.5固件库进行了深入的学习和研究,从51MCU直接对寄存器进行控制的编程方式逐步转变为利用固件库的函数接口来间接地控制STM32的寄存器,通过对STM32进行了详细的分析,学习和了解了STM32串口通信的通信模式,并编制了功能函数来实现对智能窗帘进行远程控制的目的。基于上述的硬件与软件基础上,设计出一种智能的家庭窗帘控制系统,通过手机app实时发出控制指令,在一定距离的无线辐射下,实现对窗帘的自动控制。最后,对整个智能窗帘控制系统的各个模块进行性能测试,得到了科学的测试数据,完成测试报告各项数据的记录。通过测试后发现了系统的不完善部分,并经过深入的学习和研究,完成了整个系统结构的设计。1.4论文结构安排第一章总体介绍了智能电动窗帘的背景,对国内外智能窗帘的发展研究状况进行总结,进一步分析了本文设计的智能窗帘控制系统应用的可行性。第二章分析了当前智能窗帘的主要应用技术的发展背景,根据整个控制系统的主要设计方案的特点,设计出了整个控制系统的主要智能硬件控制系统,并提供了硬件系统及电路原理图,采购必需的元器件,完成整个系统的焊接及电路测试。第三章根据人们的不同需求,设计出两种控制方式:按键控制技术和无线通信控制技术。完成无线模块硬件电路的设计焊接调试。第四章使用KeilMDK集成开发工作环境,根据ST公司3.5固件库的程序设计方法,并按照相应的硬件要求,来进行用软件编写系统项目程序的全过程。完成了控制系统接受来自于上位PC机和移动手机app,发出不同的控制指令。第五章进行了系统测试与实验结果分析。测试系统各个模块对数据的采集是否有误。记录多次实验数据,并对实验结果数据加以分析和汇总,对数据有误的地方进行改进。第六章总结和展望,对本设计的涉及的所有研发设计工作都做了全面总结,并从实际产品的角度和未来发展趋势剖析了智能窗帘控制系统在将来可进行提升优化的发展方向。1.5本章小结本章主要介绍了智能窗帘的研究背景和意义、传统窗帘的发展历程和存在的不足。此外,详细阐述了本系统研究的意义和目的,与传统智能窗帘的突出优势和创新之处。本章通过对系统整体电路以及现今用户对智能窗帘的需求,来确定本设计所需实际功能。通过对比各个模块电路的设计方案及要求,综合考虑各方面的优缺点进行最终的方案选择,并对各个方案进行了相关描述。2.1整体电路的确定随着科技的快速发展,形形色色的家庭电子设备也日趋智能,随着人类对日常家居生活质量的要求不断提高,智能家居产品也在近几年得到了飞速发展[4]。本文设计的智能窗帘控制系统,使用STM32F103C8T6单片机作为系统主控,具备WIFI远程控制、利用室外光照强度控制、智能人声语音控制、超声波测距警示、温湿度模块电路实时显示室内温湿度、定时开关、一键拆卸等一系列功能。根据用户对智能窗帘功能的需求,本设计的控制系统主要包括:光照强度控制、电机驱动模块、按键电路、远程控制模块、语音控制等部分。总体设计思路框架图如图2-1所示。图2-1系统整体设计框图2.2主控制器方案选择系统主控芯片的选择关系到整个系统所要实现的功能能否实现,是系统的核心控制单元。目前市场上应用比较广泛的有51单片机和32单片机,现就对这两款微控制芯片进行系统分析,根据实际需求和功能进行选择。方案一:采用ATC89C51单片机51单片机最早是由Intel公司所开发的一款八位单片机,其拥有经典的架构和完备的总线专用寄存器管理、多逻辑位计算功能和丰富的控制指令系统,堪称一代经典之作。其微型的可编程数码控制器,分别使用了二个控制八位的可编程数字编码器的Flash和八位的高性能系统CMOS的CPU,和其他单片机比较,它具有成本较低廉、功耗较小的特点,控制电路简单且使用方便。但也存在缺点:(1)功能受限,如AD、EEPROM等基本功能都必须靠扩展,同时加大了硬件和软件的负荷。(2)虽然I/O脚使用简单,但高电平时无输出能力。(3)I/O脚的使用虽然简单,但在高电平下却没有输出能力,且运算速率也太慢。(4)51单片机自身的保护能力差,芯片易损坏。方案二:采用STM32F103C8T6单片机由ST厂商推出的STM32系列单片机,是一款性价比超高的系列单片机,应该没有之一,功能及其强大。拥有专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M内核;同时具有一流的外设,1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等[5]。具备功耗低和集成度高的优点。功能特点如下:(1)采用ARM32位Cortex-M3CPU内核,最高工作频率72MHz,1.25DMIPS/MHz,单周期乘法和硬件除法。(2)存储器:片内集成了512KB的Flash存储器,64KB的SRAM存储器。(3)时钟、复位控制和电源工作:2.0-3.6V的电源供电和I/O连接的驱动电流,POR、PDR和可编程的电流检测器(PVD),4-16MHz的晶体振荡器,内嵌在出厂时调校的8MHzRC震荡集成电路,内置40kHz的RC振荡电路,用作CPU时钟速度调整的PLL,内带校准的RTC的32kHz的晶体振荡器。(4)调试模式:串行调试(SWD)和JTAG接口,最多高达112个的快速I/O端口、最多多达11个定时器、最多多达13个通信接口。STM32系列微控制具有更高的实时性能、更快的处理速度以及更多的内置外设,且能够在最大程度上集成整合,更易于产品的开发,使其快速进入市场,是完全适合本设计的控制器。经分析对比,STM32单片机运行速度比STC89C51单片机快很多,且具有众多片上外设,故本设计选择STM32F103C8T6单片机作为主控制器。2.3温湿度模块方案选择方案一:采用SHT20温湿度传感器模块SHT20型温度、湿度测量系统是以数码感应技术为基础,其工作性能可靠,使用寿命长。采用全量程定标,双线型接,可与微处理器联接,大幅度减少开发周期;精简周边线路,减少成本。另外,它具有微型化、响应快、能耗低、可浸没、抗干扰能力强、温湿一体、同时具有较广的温度和湿度测量范围,具有较高的价格优势,适用于各种场合。在0-100%RH下可进行水分测定。该方法具有约±3%RH的精度;温度测量范围:-40~125℃、温度测量精度约为±0.3℃。工作电压:2.1-3.6V,采用DC电源供电。方案二:采用DHT11温湿度传感器模块本设计使用DHT11温湿度传感器的数字温湿度一体感应器模块,它含有已经标定的数码信号,并使用了独特的数字模组和温度传感技术,保证了本系统的可靠及持久稳定运行。该感应器主要由电阻型温湿度传感器元件和温度检测器件所构成,并由一组B位的高功能微处理器相连。且拥有优异的质量、极迅速的反应、较强的抗干扰能力,以及较高的性价比。DHT11的每一种感应器,都是在极为精密的温湿度传感器标定室中完成温度标定。校正系数通常是以程序的形式储存于存储器中,而当对测量信息进行处理时,可以再调用这些校正系数。另外,由于它使用了单线串行接口,大大简化了对软件系统的整合工作,使系统集成更加简便快捷。而凭借它超小的体积和相对较小的耗电量使其成为各工作环境中的优先选择。综上考虑,本设计中选择采用DHT11温湿度一体传感器模块检测室内温湿度,并实时上传显示屏反映温湿度信息。2.4远程控制模块方案选择本系统实现远程控制方式大概有三种可行方案,有线连接、蓝牙技术和WIFI技术远程控制,基于本设计的要求,不考虑有线连接。方案一:采用BC-26远程通讯模块BC-26远程通讯模块是移远通信开发设计的一款基于全网通的远程通信模块,BC-26远程通讯模块自带MQTT协议,用户仅需在MCU程序中写入调用程序即可实现数据上传服务器,与ESP8266WIFI模块不同的是BC-26远程通讯模块不需要连接WIFI无线网络[7]。其通信网络是利用了运营商网络,只要在手机信号基站覆盖的地方就能将数据信息上传至服务器,不会受本地局域网的制约,同时不会受到距离的影响,可以做到远距离控制。方案二:采用ESP8266WIFI模块ESP8266WIFI模块是一款物联网WiFi芯片,其内部电路简单,但性能较为稳定,利用ESP8266WIFI模块连接WIFI无线网络,配合MQTT协议可连接阿里云服务器,实现数据上传和接收,ESP8266WIFI模块有三种工作模式,通常我们利用AT指令,对其进行控制,使用ESP8266WIFI模块连接服务器时,有一个必要前提就是需要连接WIFI无线网络,所以ESP8266WIFI模块适用于一些智能居家设备的控制。方案三:采用蓝牙远程控制蓝牙远程控制技术,是一个可以支持双设备之间实现短一段距离通讯的技术,它最大传输速率为0.3-50kpb,由于速率比较慢,最大传输距离也仅为10m左右,通过两个同时支持蓝牙通信技术的装置,就能够完成实时短一段距离传输,并且使用成本也较高,主打低功耗性能,利用蓝牙设备能够有效简化移动终端通信的简化。综上所述,结合系统设计的实际需求分析,蓝牙主导短距离传输,并且速度也相比于无线宽带较慢,可能会造成数据延迟传输的后果,WiFi不具备以上的缺点,并且对人体无害,而BC-26远程通讯模块虽然能在智能家居上使用但考虑到所需功能和经济,本设计采用选择ESP8266WiFi模块远程控制。2.5按键电路方案选择方案一:选择独立式按键输入此方案每个键值对应一个I/O口,当按下某个按钮时,其对应键值发生改变,从低电平转为高电平或从低电平转到高电平,产生输入信号,进一步实现相应功能,且各个按键独立作用。方案二:选择矩阵键盘输入矩阵键盘通过占用单片机8个IO信号端口实现扩展按键信号编码功能,即可实现一种扩展式的按键信号编码中断功能,当按下按键产生中断请求时,CPU转向自动执行矩阵键盘信号扫描子程序并自动标识出键号,完成输入的作用。综上所述,若结合系统设计的功能分析,由于所需完成的功能并不多,故所需的键盘数量不宜过多,而且独立键盘比矩阵键盘编程更简便,因此使用独立按键。2.6语音控制模块方案选择语音识别技术是近年来信息技术领域重要的科技发展技术之一,为实现科技智能化提供了很大的便利。目前家居领域也出现了语音识别控制各种家居产品,为人们提供了更方便快捷的生活环境[8]。随着物互联的蓬勃发展,对家居产品的智能控制管理将会得到越来越大的应用,而语音作为一个自然简单的手段也是一个高效简单的控制方法。语音识别技术,是让机械经过辨识与理解过程将声音信息转化为一定的语言或指令的技术。语音识别目前主要运用于车载联网、智慧翻译、智慧家庭、自动驾驶、车载导航等方面。方案一:采用隐马尔可夫模型(HMM)的方法语音训练模块的重要功能就是对多次收集和获得的语言特征标准向量进行概率统计分析,从而获得讲话人的最佳语言特征标准向量,避免由于讲话人的个人情绪、环境等原因,造成语言特征参数的提取过程不正确,影响效率。因此,该模式一般包含了概率计算、参数评估等过程,用隐马尔可夫模型实现[9]。该算法主要使用于大量识别命令,要求更多的模型训练数量、较长的练习时间和识别时间以及很大的存储空间。方案二:采用LD3320语音识别模块LD3320语音识别模块采用LD3320语音识别芯片,它集成语音信号的采集以及语音信号的识别为一体。最多可识别50个预内置命令。可以识别所有普通话,芯片中有语音识别处理器。该处理器能够快速、稳定地完成任务。它需要提前录入并存储用户的语音,这样就能够识别用户的语音做出对应的动作,识别准确度相当高。综上所述,结合对语音控制的具体要求以及本人知识储备,本设计并不需要特定人声识别控制,且操作越简便越好。所以本设计采用LD3320语音识别芯片作为语音识别电路的主控芯片。2.7显示屏方案选择方案一:采用LCD电容触摸屏电容式接触屏的基本原理是利用人体的电流传感器实现的,只需通过人体轻轻触摸就可以识别。电容式触摸显示屏也可以实现多触点操控,当外部的气温与相对湿度出现变化或是当与外部环境间的电荷出现变化时,都会导致电容式触控显示屏产生漂移而使屏幕的显示效果丢失,而电容式触摸显示屏在用戴拳套的双手或手持不导电的物品接触时不会反应。电容式触摸屏幕的外表很易损坏,即使是不小心磕碰屏幕造成可见损坏,电容式触摸显示屏就不能正常工作。方案二:采用LCD电阻屏电阻式触摸屏的工作原理是通过压力传感工作的,使用任意物品触摸都可以。电阻式触摸屏是一种触摸式传感器,它是将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压[10]。这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置电压,同时读回屏幕触摸点的触摸电压。电阻屏的最外层是薄膜,需要将其按下去以达成压力的传感,较电容屏而言不易摔坏。相比于电容屏,电阻式触摸屏的性价比高。方案三:LCD1602液晶显示屏LCD1602显示器液晶显示模块是专门用于显示字母、数字元、符号等的点阵型液晶显示模块。具有使用寿命长,抗干扰能力强等特点,但LCD显示屏需要背光、功耗较高。方案四:采用OLED显示屏OLED显示器拥有自然发亮的特点能够自行发亮,不要求背灯光,所以拥有耗电量少,屏幕显示的数据比较稳定直观,清晰度高优点。更加适合于小系统、模块的电源有3.3V,也有5V、模块的电路大小也不需进行调整、OLED屏有多种操控命令、能够调控OLED的光度、反差度、开关升压电路等命令、操控方式简单、功能丰富可表示汉字、ASCIl、图形等等[11],且OLED屏几乎不存在视角盲区,但LCD材质的屏幕的显示响应速度会随温度的降低而变慢,从而会造成拖影,影响观看效果。综上所述,由于三者发光材料的不同,在不同的环境中OLED的显示效果好且经济便捷。OLED更能满足本设计要求并且其显示更加稳定,抗干扰能力更强、功耗低且价格也比较实惠,因此,本设计选择OLED显示屏。2.8光照强度模块方案选择方案一:采用光电传感模块虽然光电传感器面对光照的检测反应灵敏度高,但容易受环境的影响,环境适应性差,在不密封的环境很容易就失去其检测效果。温度影响其响应速度不快,而且器件价格较为昂贵。方案二:采用光敏电阻模块它是利用光信号转变为电信号的一种传感器,在没有光照下呈现高阻状态,对光照强度具有敏感性。光敏电阻采用环氧树脂胶封装可靠性好、光谱特性好、灵敏度高、反应快、体积小[12]。光敏电阻传感器产品在一般状况下应用于对反射光的光强测试、使用光强做控制,光敏电阻主要由感光半导体材料所制成,在弱照明状况下,光敏电阻的阻值能够超过10兆欧,而在高照明状况下,光敏电阻的阻值则会变成数百欧,或者更小。方案三:采用BH1750数字型光强采集BH1750数字型光强采集模块是一种不区分光源的数字光照强度传感器,其使用的通讯协议为IIC,检测分辨率高达六万多流明,并且其支持较大范围的光照强度数据采集,较多情况下应用于手机、电脑、液晶电视等电子设备的外界亮度光线检测。通过比较,选用方案二,利用光敏电阻传感器,此方案体积小可以使电路更简洁,且其灵敏度高、反应快、光谱特性好、驱动能力强,能实现比较精确的光照检测,所需成本较低。2.9超声波测距模块方案选择方案一:采用红外测距红外测距速度较快,但是当阳光存在时就不准确,因为阳光中也含有红外线,所以在接触面不同的情况下反射回去的光强也不同,例如:黑色的面接收到的数据相对较多,而白色数据就较少,在此情况产生测出距离不准确,然而考虑到在本设计中需要在阳光下使用,故不考虑红外测距。方案二:采用超声波测距超声波传感器有效探测距离较广,相对其他测距方式此测距较短,但也足够满足本课题要求。超声波在正常工作时受周围环境影响较小,在应用场合中较为普遍,特性比较稳定,检测高度准确,高精度,盲区少。通过比较选择方案二,本次用到的测距不用特别远,超声波的测试距离即可,考虑到各种天气环境影响,测距需要在多种环境条件下保持稳定,测距距离准确,所以选择超声波测距的方式。2.10本章小结本章首先介绍了智能窗帘控制系统的设计功能,讲述了本设计的系统框架结构。根据要求,确定了各个模块的选择方案,以及对整个系统进行了简单的介绍,接着按照各个模块的选择进行电路的设计以及整个系统的完成。

硬件电路的设计本章对智能窗帘控制系统的硬件框图组成、相关模块的工作原理以及电路设计进行介绍。在确定好各个模块的选择方案后,对所使用到的模块进行分析和系统电路的搭建是本系统硬件部分的重中之重。3.1系统整体设计本设计在充分考虑智能窗帘控制系统结构特点的基础上,设计了基于单片机STM32F103C8T6为主控器的智能窗帘控制系统的硬件电路,其功能模块主要包括:光照强度检测模块、ESP8266WIFI模块、DHT11温湿度传感器、语音识别模块,按键电路、超声波报警模块等。利用C语言编写程序,通过软硬件结合的方式实现对窗帘的智能控制。该智能系统可以用移动手机app发送控制命令,随时完成窗帘的控制及应对相应环境的智能控制等。系统框架如图3-1所示:图3-SEQ图3-\*ARABIC1系统硬件结构图3.2主控电路在整个智能窗帘控制系统的总体设计当中,控制器设计是最为关键的,智能窗帘的所有功能都在控制器的统筹协调前提下完成,而控制系统设计的策略则决定了整个系统的功能特征与可扩展性。本系统选用STM32F103C8T6原理图作为主控制芯片,选择此款控制芯片能够提供给外围硬件电路更多的接口,更有利于扩展所需外围电路。具体设计过程中,各模块硬件以及软件部分力求相对独立,给日后的产品更新和后续升级带来了便利。STM32F103C8T6主控芯片的主要优势在于,芯片封装体积较小,成本价格相比较于同系列的RCT6、RBT6等更低,但且成本低性能好[13],是小型项目设计的性价比首选。通过对单片机课程的研究表明STM32单片机相比于8位的51系列单片机性能更好,STM32F103C8T6主控芯片性能更稳定,且该芯片资源足以承担本设计的程序和控制功能。STM32F103C8T6芯片内部含有48KBSRAM、256KBFLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI通信接口、2个IIC通信接口、5个串口、1个USB口、1个CAN、3个12位ADC数模转换器、1个12位DAC、1个SDIO接口及51个通用IO口。配置一些IO口外设使用,用于各个模块与主控芯片STM32F103C8T6原理图之间的连接。通过单片机从IO口输出的高低电平来控制一些设备的开关。STM32F103C8T6原理图芯片除了向外传输信号之外,还会接收一些模块传输过来的信号,从而做出反应执行相应的语句控制着整个系统。STM32F103C8T6单片机芯片接口原理如图3-2所示:图3-2STM32F103C8T6主控原理图3.3电源电路本设计的供电电路是5V直流供电,在市电进入电路之前,通过变压器把电压降低。过了变压器就会通过一个降压稳压电路。通过7805稳压三极管把电压再次降下来,将电压降到主控电路和外设所要求的5V直流电压。供电电路如图3-7所示。图3-7电源电路3.4按键电路本设计按键电路采用独立式按键电路,它是指每个独立按键占用一个I/O输出端口线并且各个按键之间互不影响。该控制电路不仅具有信号接口灵活,又有使用方便,适用于按键数量少的应用电路。按键电路图如图3-6所示。图3-6按键电路3.5ESP8266WIFI远程控制模块本次设计采用了ESP8266-12FWIFI模块实现了远程控制,而ESP8266-12FWIFI模块也是一种大众所使用的WIFI无线模块,它不但在体积上较小在功能上还非常强,可以直接把用户的物理设备连接到WiFi无线网络上,从而完成两者的互联网或局域网通信,实现联网功能[14]。ESP8266WIFI模块是一款物联网WiFi芯片,其内部电路简单,但性能较为稳定,利用ESP8266WIFI模块连接WIFI无线网络,配合MQTT协议可连接阿里云服务器,实现数据上传和接收,该模块有三种工作模式,通常我们利用AT指令,对其进行控制,使用该模块连接服务器时,有一个必要前提就是需要连接WIFI无线网络。其重要的产品参数如表3-3所示:表3-3ESP-12F产品重要参数模块型号ESP-12F说明SPIPALAH9Mbit支持接口UART/GPIOUART/HSPI/I2C/I2S/GPIO/PWM串口速率4608000bps支持300~4608000bps,默认115200bps频率范围2.4GHz2400~2483.5MHz工作电压/电流3.3V3.0~3.6V,电流约为80mA工作温度工业级-40°~+125°AT支持内置智能化处理可通过AT指令命令读取ESP8266-12FWiFi模块核心处理器是ESP8266芯片,在较小尺寸封装系统中整合了业内世界领先的TensilicaL106超小功耗的32位微型微控制器,并具有16位精简模式,主频支持80MHz和160MHz,支持RTOS,集成Wi-FiMAC/BB/RF/PA/LNA于一体,含板载天线。且支持国际标准的IEEE802.11b/g/n协议,具有完整的TCP/IP协议栈[15]。可利用该模块为已有的设备增加联网功能,也可以构建自己的网络控制器。WIFI远程控制电路原理图如图3-5所示。图3-5ESP8266-12FWIFI模块通信电路3.6LM393光照强度检测模块本设计的光照采集电路使用的是光敏电阻传感器模块,它使用了灵敏型的光敏电阻感应器,通过比较器进行输出,信号干净杂波少,波形好,最大驱动能力可超过15mA。可以使用电位器来调节需要检测的光线亮度。工作电压范围在3.3V-5V之间。它的输出形式为DO开关量输出(0和1)和AO模拟量输出(电压),采用宽电压LM393比较器[16]。其引脚定义如下表3-2所示:表3-2光敏电阻传感器模块的引脚定义引脚号名称说明1VCC供电电压源正级2GND供电电压源负极3DOTTL开关信号输出4AO模拟信号输出光敏电阻模块对周边自然环境光线较为敏感,普遍用来测量周围环境的光线的光照强度的变化来触发单片机或继电器模组等。在周边环境光照强度达不到设定的阈值范围时,DO端提供高电平,当外界环境光照强度超过设定阈值时,DO端提供低电平;DO输出端可与单片机直接通过串口相连,通过单片机来检测高低电平,由此来检测周围环境光照强度的改变;DO输出端也可以直接控制驱动继电器模组,从而组成一个光控开关。小板的仿真模拟量输出AO和AD模块相连,再利用AD转换,就可以得到所要检测环境光照强度的精准数据。光照强度检测电路图如图3-4所示。图3-4光敏电阻传感器电路图3.7DHT11温湿度检测模块本设计采用DHT11温湿度检测模块来实时检测室内温度和湿度变化。它具备紧凑体积小、超低功耗、响应迅速、高性能、抗干扰能力强等优点。并采用独特的一线端口连接,数字量输入输出直接将温湿度转成串行数字信号给单片机获得精确的温湿度数据。它还应用了专门的数码模块实时采集技术和温湿度传感器技术。传感器中包含了一组电阻式感湿元器件和一组NTC测温元器件,并与一个高性能B位MCU相连接,数据处理更迅速[17]。该模块还具有品质优良、性能卓越、响应快、抗干扰能力强、性价比高等优点。每个DHT11传感器均在极精密的温湿度校验室中完成了校正。校准系数通常以程序的形态存在于OTP存储器中,而感应器内部在测量信息的过程中要使用这种校正系数。单线制串行接口,使控制系统的实现工作更为简单方便。而且,它还具有超小型的体积、很低的功率。其重要技术参数如表3-1所示:工作电压直流3.3v~5v温湿度测量范围0—100%RH湿度测量精度±2%RH温度测量范围-40℃—80℃温度测量精度±0.5℃响应时间湿度<5s、6s<温度<20s工作电压DC5V图3-3DHT11温湿度检测电路图3.8LD3320语音控制模块本次设计采用了LD3320语音识别模组,它含有16个单片机IO口,包括有一个八位的IO扩展端口、一个定时器、一个外部中断,可为嵌入式单片机设计的最小系统完成控制。本系统设计的语音识别电路和主控制器之间采取了串口通讯的方法,以便获得通过语言标识的指令,来实现对窗帘的控制功能[18]。LD3320语言辨识模块使用LD3320语音辨识芯片,该芯片集成语音信号采集、识别算法于一体。能够识别所有普通话的中文,且在芯片内部内置设有语音识别处理器,此处理器能够迅速而又稳定的进行非特定人语言识别,但需要提前录制保存所使用的语言,并能够识别所使用的语言并进行相关的控制,因此辨识的精确度超高。语音识别模块电路图如图3-8所示。图3-8语音控制电路3.9电机驱动电路本设计采用EG-530AD-2F加减速轮构成减速电机来模拟及控制门窗开关状态,该电机有2个输入信号,A为高电平B为低电平的有效时间内,电动机正转模拟门窗开启,反之窗帘则关闭。当所有输入都是低电平时,电动机停止运转。具体电路如图3-9所示。图3-9电机驱动电路3.10OLED显示屏模块本设计采用0.96寸OLED显示屏,在硬件连接上通过串行SPI接口方式连接。从硬件上就是在单片机上选取2个普通的IO口充当串行时钟线和双向数据线,然后再连上OLED上的相应端口,当然用硬件IIC也是可能的,只是需要改变OLED的驱动库函数,VCC只能接3.3V或5V,而GND接电源负极。程序上,就选用了对应的四脚的IIC驱动OLED的例程,修改管脚,在重新调用了OLED初始化函数之后就能够运行OLED的另一个API函数[19]。本设计的显示器部分使用的是0.96寸OLED显示器屏,而0.96寸OLED显示器屏的清晰度是128×64,即横向由128个发光二极管组成,纵向由64个发光二极管组成,在显示控制方面,0.96寸OLED屏幕一次只能控制垂直方向的八个发光二极管亮灭,因此在显示过程中垂直坐标方向可选的坐标为0至7共8位,水平方向可选的坐标为0至127共128位。0.96寸OLED屏幕有两种接口协议,一种是7针脚的SPI协议,另一种是4针脚的IIC协议,在本次设计中使用的是4针脚的IIC协议的0.96寸OLED屏幕,4针脚的IIC协议包括VCC、GND、SCL/SCK、SDA,VCC和GND分别为电源口和接地口,SCL/SCK是IIC通信中的时钟控制脚,SDA是IIC通信中的数据控制脚。0.96寸OLED显示屏原理图如图3-10所示。图3-10OLED显示电路3.11HC-SR04超声波测距模块本模块使用了HC-SR04作为测距报警工具,其测试的方法是利用连接引脚Trig控制设备发送一个10us以上的高电平信号,在信号发出时就能够进入定时器计数,之后在接收口自动检查有没有信号返回。如果产生了低电平的有效信号,则代表着此段信息已经传送完毕,而完成后的引脚Echo将会再产生一次高电平,电平长度为超声波测试技术的往返时限之和。因此只需要测量出高电平所维持的时限,就能够通过公式确定测量距离,测试距离的公式如下式3.1,超声波模块电路图如下图3-11所见:测试距离=(高电平*声速(340m/s))/23.1图3-11超声波电路3.12本章小结本章系统的介绍了智能窗帘所要实现具体功能的步骤,包括系统的硬件框图组成、模块工作原理及电路设计。并且对所需要得模块进行了系统的分析,对各个电路的设计和组成也进行了相应的描述。系统软件的设计一个完整操作系统的构成分为硬件操作系统和软件应用系统。第三章,简单性的阐述了系统的整体软硬件功能集成电路结构以及软件系统的总体软硬件功能架构,软件系统的具体功能还必须通过软件程序中烧录单片机来实现软硬件平台化。本软件系统设计环境使用ARM为主要控制中心,采用目前较火的STM32F103C8T6单片机,软件开发环境则采用了目前STM32单片式微型计算机的主要系统软件,KeiluVision5byARM。4.1编程语言选择整个系统的程序更为复杂,计算更为繁琐,并且采用浮点的数量更多,因此使用C语言对本系统进行编程。在STM32系列单片机中,使用C语言具有以下优点:不要求了解与处理器有关的命令集以及有关的寄存器结构。拥有指定变量的组合,使程序更加简单易读。用户可以自由设定关键字和操作函数,使程序易于识别记忆。缩短程序调试时间,使程序更容易开发利用。为用户提供了许多标准的例程,使程序更容易二次开发。用户可实现模块化编程后整合到新的程序中。4.2单片机程序开发环境本操作系统设计使用目前较为普遍的嵌入式开发环境KeiluVision5byARM编写程序,软件为用户提供简易单完整的开发环境界面,支持C/C++语言开发且编译速度极快,为使用者缩短了软件开发时间。如下图4-1所示:图4-1KeiluVision5开发界面图4.3系统主程序系统的整体软件设计主要实现对温度、电压、电流信息的采集,将采集到的物理量通过STM32单片机ADC模数转换后使用OLED显示屏显示,单片机输出控制信号实现继电器及各模块数据检测的功能。软件程序主要分为语音识别控制模块编程、键盘控制程序、OLED显示屏程序、温湿度检测程序及WIFI远程控制程序等。系统主要程序流程图如图4-2所示:图4-2系统流程图4.4温湿度检测模块程序本设计通过DHT11的温湿度检测模块收集环境温湿度数据,并首先进行DHT11端口的初始化,判断是否收到主控发出的指令脉冲,接收后发出检测指令,通过AO口将模拟电压信号传输至主控制部分。主控制器部分利用ADC模数转换器,将室内温湿度模拟量转换为数字量。主控制器利用室内温湿度数字量判断计算出实时室内温湿度。温湿度检测模块程序流程图如图4-3所示。图4-3温湿度检测程序流程图4.5远程控制模块程序核心模块使用ESP8266WIFI模块远程通讯模块自带阿里云MQTT协议,该模块与阿里云服务器配对将室外室内温湿度信息实时上传服务器,再通过网络显示在用户手机端,同时也可以远程控制窗帘开启或关闭,以及模式选择;在使用ESP8266WIFI模块之前,首先需要用AT指令集配置网络及地址;其次要与MQTT服务器建立TCP连接,注册阿里云物联网平台,配置好属于自己的物联网设备,记住设备的三元组,将三元组定义在头文件中;通过预先设定好的标识符,依次将温度、湿度、光强等指数信息上传各项环境数据信息至阿里云物联网平台。配置阿里云云智能APP,分别配置四个开关接口,用于控制系统的窗帘的开启与关闭,实现远程控制。本设计用到的ESP8266-12FWIFI模块进行联网数据传输,根据资料了解到ESP8266是通过串口进行通讯,程序设计流程图如图4-4所示:图4-4远程控制流程图本设计的采用ESP8266-12F的WIFI模块是一种大众使用的WIFI无线模块,它不但体积小功能强,而且可以直接把使用者的物理装置连接到WiFi网络上,从而达到与互联网或局域网通讯,达到物互联的功用。ESP8266WIFI模块是一种物联网的WiFi芯片,其内置电路结构非常简单,且性能比较稳定,可以使用ESP8266WIFI模块直接接入WIFI或无线,配合MQTT协议可连接阿里云服务器,实现数据上传和接收,该模块有三种工作模式,通常我们利用AT指令,对其进行控制,使用ESP8266WIFI模块连接服务器时,必要前提就是需要连接WIFI无线网络。4.6按键电路程序在使用按键进行操作时,当按下按钮后,按键的机械触点具有弹性作用,出现机械抖动的现象,因此注意在程序上要加上去抖动的程序,防止机械抖动引起单片机与之相连的I/O口电平发生跳变,所以该系统在程序中在按键后延抖动期间加上了10ms的软件消抖动延时处理。键盘在上电后被设定为上拉模式,同时该键所在I/O口也变成了高电平,而在按下键后按时,同时该键所在I/O口也变成低电平仍然有效,通过程序扫描边可以知道相应的键值。如图4-5为按键控制程序流程图:图4-5按键程序流程图4.7OLED显示屏程序本设计所使用的显示屏为0.96寸OLED显示屏,显示屏会实时显示工作的模式及相关数据信息。要想在OLED显示屏上面显示数字和汉族,需要先从取模软件上面对所需要的汉字和数字进行取模。取模的软件还需要进行相应的设置。首先取模,将取模得到的字体模型数组存入oled.h文件中。然后对IO口进行初始化,将IIC端口设置到相应的IO口出。再写入显示汉族和显示数字的函数。最后在主函数中设置显示的汉字和数字还有显示的位置。本系列所使用的OLED显示器通过IIC端口的形式,与STM32嵌入式单片机设备实现了通讯,IIC由SDA数据线与SCL的时钟连线构成,当SCL线电平较高时,SDA线电平由高变成低,并开机传输数据信息;SCL线电平为低时,SDA的电平就由低转高,结束了传输的信号。OLED显示屏程序流程图如图4-6所示。图4-6OLED显示屏流程图4.8语音控制模块程序本设计的语音识别模块使用LD3320语音识别芯片,该芯片将集合语言信息的收集和辨识算法集于一身。利用串口通讯的方法可以把已识别到的语音信息经过串口方式发送给单片机实现,并执行相关指示。语音识别控制程序流程图如图4-7所示。图4-7语音控制模块流程图4.9超声波测距模块程序通过超声测距原理可得超声波程序流程图如图4-2所显示,控制口提供了10us以上的高电平脉冲信号,整个系统便能产生8个40khz的超声脉冲,在模块内部实现了频率环路,定时器开始工作,检测到有回波下降沿触发,停止定时器工作,从而计算出超声波距离。图4-8超声波测距模块流程图4.10本章小结本节详细描述了系统的各个模块的设计过程中,模块重点的程序理解及说明其编译步骤。本章重点是利用整体的系统流程图和不同模块的程序流程图对本设计的系统设计概念加以说明,并运用流程图的方法加强对不同模块程序软件设计的认识。系统设计与调试系统的设计和调试工作关系到整个硬件系统能否稳定运行。在硬件制作和软件开发周期中,智能窗帘控制系统各个具体功能的完善实现必须依靠实际的调试。而且硬件部分往往是能够作为一个软件在执行过程中的基础,软件的调试通常能够保证支持整个硬件的正常工作和运行。本系统制作前期先在网上查阅资料结合书本课程及所学到的知识进行资料整合,确定本系统设计的最佳选择方案。设计好硬件电路的组成及连线后,查找所用硬件相关资料及相关例程,使用Keil5软件开发平台编写系统程序代码。绘制好电路后仔细检测各个模块走线是否正确,将系统电子器件集成在板上,做出了实物并进行硬件调试。在完成了硬件集成电路的设计技术与相应软件开发工作后,便对温湿度采集模块、光照强度采集电路、按键控制电路、超声波报警电路、显示电路等各个模块进行调试测试,最后成功完成了智能窗帘控制系统的设计。5.1温湿度测试数据分析本系统采用DHT11温湿度采集模块对室内环境温湿度采集。测试过程:对室内温湿度完成实时采集,分别对温度和湿度进行六组对照测试结果分析,用室内空调控制温度,实现测试的六种不同的温度,再用室内加湿器加湿实现不同的室内湿度,测试在不同的温度、湿度情况下,传感器的工作情况是否稳定,测得数据是否准确。测试数据如表5-1、5-2所示。表5-1温度测试测试次数实际温度值(摄氏度)测量得温度值(摄氏度)误差比(%)11918.52.6%220200322214.5%423224.3%526260629276.8%表5-2湿度测试测试次数实际湿度值(%RH)测量得湿度值(%RH)误差比(%)140%38%2%250%50%0360%60%0470%69%1%580%79%1%690%88%2%误差分析结果:在测试前查询资料,可知DHT11温度、湿度采集模块的温度采集范围为-20℃至60℃,当温度为25℃时,温度采集精度为±2℃,而湿度采集范围为5%至95%,当温度为25℃时,温度采集精度为±5%,本次测试进行了多组测试,测试结果温度的误差范围在2℃以内,湿度的误差范围在2%以内,经过分析在实验过程中造成温度、湿度产生了误差的主要原因有:(1)光敏电阻传感器内部响应时间有延时;(2)光敏电阻传感器出现迟滞现象;(3)光敏电阻传感器随着使用时间的增长出现了漂移现象。5.2光照强度采集测试数据分析本系统采用的是光敏电阻传感器进行光照强度的采集。光照强度测试过程:完成室外的光照强度采集,利用一天中的不同时间段不同的光照强度,对光敏电阻采集光照强度做了六组对照实验,测试使用光量子计采集室外光照强度。测试光敏电阻传感器在不同光照强度情况下工作的稳定度及采集的光照强度数据。光照强度采集到的数据数值,如表5-3所示:表5-3光照强度采集测试数据表测试次数测试时间实际值(lx)测量值(lx)误差(%)16:00150014910.6%29:00180017880.67%312:00200019980.1%415:00180017980.1%518:00150014980.13%619:0060583.3%误差分析:光敏电阻传感器模块测试过程中,影响产生光照强度误差的最大因素是在夜晚光照强度较弱的情况。当外界环境光照强度偏高时,测量得到的光照强度值与实际光照强度值的误差基本都在0.7%以内,当外界环境光照强度较低时或者为夜晚弱光情况时,测量得到的光照强度值与实际光照强度值的误差会偏大,误差范围在4%到10%之间。通过实验,总结出实验过程中造成光照强度产生了误差的原因有:(1)弱光条件下光敏电阻阻值变化不大;(2)光敏电阻受到了环境温度的影响。5.3语音控制距离测试对语音识别部分的语音识别准确率经过了检测后,本设计选用的LD3320语音识别模组。具体测试操作如下:用手机录音保存语音“温馨模式”“朦胧模式”“阳光模式”“一键拆卸”共四条语音。然后用手机在不同的距离下用相同声音按顺序播报各个语音,反复播十次,并计算了正确识别率和错误识知率,测试数据如表5-1所示。表5-1语音家居语音识别率实验序号距离/m实验次数正确率(%)误差(%)10.2100100%020.510097%3%3110094%6%41.510089%11%5210083%17%误差分析:(1)声源距离语音识

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论