智能窗帘系统方案设计_第1页
智能窗帘系统方案设计_第2页
智能窗帘系统方案设计_第3页
智能窗帘系统方案设计_第4页
智能窗帘系统方案设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

基于arduino的智能窗帘摘

要随着科学技术和物联网的快速发展,人们的生活水平不断提高,自然而然对生活舒适度提出了更高的要求,智能窗帘行业进入了人们的视野,如何更好地实现智能化、人性化具有更重要的现实意义。本设计是采用以采用Arduino作为核心控制系统,通过BH1750光照传感器、DHT11温湿度传感器等来采集家居和办公等周围的环境信息,并将采集到的信息传送给Arduino控制系统,控制器通过对所接收到的数据信息进行分析处理,并自动调出预先存储的数据与设置的阈值进行实时比较,从而自动地控制相应的终端设备。同时,通过ESP8266WIFI无线传输模块将采集到的光照强度、温湿度等数据参数传输到OneNET物联网云平台网页版和手机APP客户端上,数据参数将实时地显示在网页平面与手机APP页面之上,供用户实时监控家居和办公等场所周围的环境。通过在不同情况下的多次实验测试,系统的稳定性、可靠性和数据无线传输的可靠性达到了设计的要求和预定的标准。关键词:Arduino;智能窗帘;OneNET;无线传输;步进电机

第二章智能窗帘系统方案设计2.1系统结构设计本智能窗帘控制系统主要利用OneNET物联网技术、无线通信技术、电机控制与拖动技术、C语言程序设计编程、自动控制技术等理论知识与研究方法,对该设计进行深入地研究。以“绿色环保,节能简捷”为设计原则,把用户体验感放在首位,使控制系统的设计更加人性化,实现家居和办公等场所周围环境与用户的自身需求相适应。图2-SEQ图2-\*ARABIC1智能窗帘控制系统结构框图如REF_Ref39437002\h图2-1所示,本智能窗帘系统采用Arduino作为核心控制系统,通过光照传感器、温湿度传感器等来采集家居和办公等场所周围环境的数据信息,并将采集到的数据信息传送给Arduino控制系统,控制器通过对所接收到的数据信息进行分析处理,并自动调出预先存储的数据与设置的阈值进行实时比较,从而自动地控制相应的终端设备使窗帘上升或下降。同时,通过WIFI模块将采集到的环境光照强度、温湿度等数据参数无线传输到OneNET物联网云平台网页版和手机APP客户端中,数据参数将实时地显示在网页平面与手机APP页面之中,供用户实时远程监测家居和办公等场所周围环境的数据信息。2.2智能窗帘系统应用的关键技术2.2.1Arduino平台Arduino平台是一个便捷灵活、方便入门的开放源代码的平台,由一名意大利教师基于开源的理念设计制作的。该平台包含各种型号的Arduino开发板硬件和ArduinoIDE软件。Arduino平台能通过各种各样的传感器来感知环境,通过控制灯光、电机和其他的装置来反馈和影响环境,同时,还能够开发出一些装置实现与PC机上软件的交互[3]。该平台以其可跨平台、简单清晰、发展迅速的特点成为全球最流行的开源平台之一。图2-SEQ图2-\*ARABIC2ArduinoUNO控制板本智能控制系统用的是ArduinoUNO控制板[4][5],如REF_Ref39521167\h图2-2所示。复位按键,按下它可以使Arduino重启,从头开始运行程序。USB接口,可以通过USB接口供电,电压5V,也可以实现与计算机之间的串口通信,也就是连接数据线后把电脑上编写的程序下载到板子上,也可以连接充电宝。可编程LED,信号指示灯,与13号引脚相连。串口状态灯,包括TX串口发送指示灯和RX串口接收指示灯。当使用USB连接到计算机且Arduino向计算机传输数据时,TX灯会亮,接收计算机传来的数据时,RX灯会亮。稳压芯片,作用是将输入Arduino的电压统一稳定成5V。ATmega16U2,作用是将USB接口转换为串口实现数据传输。ATmega328P-PU微控制器[6],它是整个板子工作的中央控制中心,程序下载到它里面,然后它告诉其他元器件该做什么。外接电源接口,通过DC电源输入接口供电,电压要求7-12V。电源接口,包括VIN电源接口与5V电源接口,

VIN端口供电为7-12V;5V端口供电为5V,当使用VIN或5V供电时必须连接GND形成闭合电路。外接电源接口与VIN端口是相连的。模拟接口,用于接收模拟量信号。TWI

接口,用于连接I2C接口的模块。数字接口,用于接收数字信号,其中“0和1”接口用于接收和发送串口数据,它俩是与ATmega16u2相连的;“~”接口即PWM接口,既可以数字输入输出也可以模拟量输出。ICSP端口,给ATmega16u2和ATmega328p烧写程序的端口[7]。对于初学者来说,ArduinoIDE非常容易掌握,但同时具有足够的灵活性。Arduino程序的开发可以通过C语言来完成,对开发者的编程语言知识的要求比较低,通过简单的学习之后,就可以进行程序编写和应用开发,甚至可以不需要编写程序使用积木块的编程方式就可以完成编程[9]。如REF_Ref39527013\h图2-3所示为Arduino编译界面,ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。Arduino有着众多的开发者和用户,因此可以找到众多的开源示例代码,非常方便程序的编写。图2-SEQ图2-\*ARABIC3Arduino编译界面因为Arduino的种种优势,越来越多的专业硬件开发者已经或开始使用Arduino来开发他们的项目、产品;越来越多的软件开发者使用Arduino进入硬件、物联网等开发领域。2.2.2OneNET平台目前,中国移动智能网络发展已经步入了一个新的阶段。5G网络和AI智能的发展加上工业化智能化的推进,物联网行业的发展必定势如破竹。物联网以智慧化和信息化为特征,提高社会的自动化水平,不仅很大程度上缩短了时间,而且大大地提升了效率。近年来,中国移动公司打造的OneNET物联网开放平台。与其他的物联网平台相比较而言,OneNET平台更具优势,更受市场欢迎,OneNET平台能够帮助开发者极其轻松地实现设备接入与设备连接,快速地完成产品的开发设计,并且可以为智能家居设备提供比较完善的物联网解决方案。OneNET平台作为数据存储、连接和分析的中心,能够适应各种通信和传感网络,面向智能家居、智能能源、智能工业、智能农业、智能物流等很多个领域开放。OneNET主要有以下功能优于其他互联网平台:(1)设备接入OneNET提供安全稳定的设备接入服务,支持包括LWM2M(CoAP)、MQTT、Modbus、HTTP、TCP等在内的多种协议满足多种应用场景的使用需求[10][11]。提供多种语言开发SDK,帮助开发者快速实现设备接入。支持用户协议自定义,通过上传解析脚本来完成协议的解析。(2)设备管理提供设备生命周期管理功能,支持用户进行设备注册,设备更新,设备查询、设备删除。提供设备在线状态管理功能,提供设备上下线的消息通知,方便用户管理设备的在线状态。提供设备数据存储能力,便于用户进行设备海量数据存储于查询。提供设备调试工具以及设备日志,便于用户快速调试设备以及定位设备问题。(3)数据及访问安全OneNET给用户们提供资源访问安全认证机制,并且支持用户们自定义密钥访问的权限,以最大的限度保证用户们设备以及应用层接入的安全性。OneNET平台提供TLS以及DTLS加密通道,保证用户数据的传输安全。支持用户采用私有协议以及私有加密方式进行数据传输,保证数据安全。分布式结构、异地双活等多重数据保障机制,提供安全的数据存储服务,支持安全的访问鉴权机制,有效降低密钥以及访问令牌被仿冒的风险。(4)丰富API支持开放的API接口,通过简单的调用快速实现生成应用。不断丰富的API种类,包括设备增删改查、数据流创建、数据点上传、命令下发等,帮助用户便捷的构建上层应用[12]。(5)应用集成工具提供消息队列MQ,便于用户应用系统快速获取设备数据/事件。提供HTTP推送服务,可以将数据以HTTP请求的方式主动推送至应用系统。支持简单规则配置,用户可自定义数据处理逻辑。(6)简易应用孵化工具为初创用户提供简易应用生成工具,快速实现的简单应用。提供丰富的图表展示组件,满足多场景使用需求。OneNET作为物联网平台,不仅可以实现各种终端设备的快速接入,而且可以提供相应的服务。还有用户能够根据自身的需求分析的结果选择适合的无线通信方式,因此,OneNET是一款非常适合智能控制系统的物联网平台。2.2.3无线传输无线传输技术(RadioTransmissionTechnology,RTT)是一种利用空间电磁波来传送信息的技术。19世纪80年代末,电磁波的存在首次被证实,德国物理学家赫兹通过实验发现电磁波可以在电子运动中自由传播,甚至是在真空中。如REF_Ref39872364\h图2-4所示为典型的无线传输的协议层结构,图中的无线传输协议的分层结构符合系统相互联系的标准。第一层是\o"物理层"物理层,第二层是\o"数据链路层"数据链路层,第三层是\o"网络层"网络层。图2-SEQ图2-\*ARABIC4无线传输协议层结构在物联网技术快速发展和5G系统积极展开的环境下,无线传输技术也随之快速地发展起来并且得到了广泛的应用。智能控制系统与以往采用的有线传输的方式不同,现如今大多采用更为方便快捷且占用空间极小的无线传输方式[13]。在无线传输技术中,无线短距离传输技术更加普遍。无线短距离传输技术具有低功耗,智能连接,支持复杂网络,覆盖范围增强,较高安全性,可建立临时性的对等连接等优点。现在比较成熟的无线短距离传输方式有WIFI技术、ZigBee技术[14]、Z-Wave技术、BlueTooth技术等,其技术参数对比如REF_Ref39956117\h表2-1所示。表2-SEQ表2-\*ARABIC1无线短距离传输方式技术参数对比传输方式WIFI技术ZigBee技术Z-Wave技术BlueTooth技术抗干扰能力一般一般高一般开发难度低低高低传输距离10-300m10-100m10-100m10-30m传输速度2.4G:1M-11M5G:1M-500M100kps-250kps50Mbps1M安全性中中高中性价比中中高低网络延迟1s1s1s1s组网方式无线路由器ZigBee射频蓝牙Mesh适用场景住户内外住户内外户内近距离由上表可以看出,各种无线短距离传输技术都有其各自的特点。通过对以上几种无线短距离传输技术的分析和比较,WIFI技术可以满足用户对传输速度、产品价格、传输距离、适用场景等的需求。再结合对智能窗帘系统的研究和分析,考虑到智能窗帘系统的所需要传输的数据量小,对带宽要求不高,要求网络实时性要好,接入便捷,并且后期维护简单方便等,因此,本课题智能窗帘控制系统决定采用WIFI技术。2.3本章小结本章给出了本课题智能窗帘控制系统的整体控制方案框图,提出了本课题智能窗帘控制系统中所涉及到的相关技术,并对这些技术进行了介绍和对比分析,为之后的智能控制系统的设计和实现,提供了一个背景叙述与技术铺垫。第三章智能窗帘系统硬件设计3.1硬件系统框架设计智能窗帘的控制系统是否能够成功,与其硬件系统的设计有密切的关系,因此,硬件的设计至关重要。在保障能够实现智能控制的功能的前提下,硬件设计应该越简单越好,这样才可以保证整个系统更加稳定的运行。智能窗帘控制系统的硬件组成如REF_Ref40864632\h图3-1所示。智能窗帘的硬件控制系统的Arduino主控单元、光照传感单元、温湿度传感单元、WIFI无线传输单元、5V直流电源、电机驱动单元、12V直流电源、步进电机、窗帘等组成。图3-SEQ图3-\*ARABIC1硬件系统框架设计本智能窗帘控制硬件系统由Arduino主控单元作为智能控制系统的大脑,对各个单元的传感器所采集的家居和办公等周围环境的数据信息进行分析处理,再通过软件程序来实现对窗帘的智能控制。光照传感单元用于周围环境的光照强度的监测并把数据信息传输给Arduino主控板,温湿度传感单元用于对周围环境的温湿度的监测并把数据信息传输给Arduino主控板,WIFI无线传输单元用于把Arduino主控板处理后的信息无线传输给OneNET物联网云平台网页版和手机APP客户端上,供用户可以实时地掌握家居和办公等周围环境的数据信息。电机驱动单元用于接收Arduino主控板的动作指令,从而控制步进电机对窗帘进行升降操作。3.2系统电源设计智能窗帘控制系统电源电路包括芯片供电电路和电机驱动供电电路两部分。芯片供电电路部分用于给Arduino主控单元、光照传感单元、温湿度传感单元、WIFI无线传输单元等供电,电机驱动供电电路部分用于电机驱动单元的供电。本智能控制系统需要5V和12V两种直流电压,经比较分析,决定采用智能控制系统电源电路并进的方式,一是为了提高智能控制系统的稳定性和安全性,二是可以降低智能控制系统的设计成本。智能控制系统电源电路过程如REF_Ref41142084\h图3-2所示。图3-SEQ图3-\*ARABIC2系统电源电路过程图由REF_Ref41142084\h图3-2可知,智能窗帘控制系统电源电路一开始接入的是家用交流电压220V,再采用整流滤波电路后可以提供可靠、稳定的直流电压。如REF_Ref41142445\h图3-3所示为单相桥式整流电路,通过整流电路图可以看出,首先交流220V电压通过变压器降至交流12V电压,然后把交流12V电压整流为直流5V和直流12V电压,为智能控制系统提供所需要的直流电压。图3-SEQ图3-\*ARABIC3单相桥式整流电路图3.3传感器选择3.3.1光照传感器光照强度数据信息的采集和转换,关系到整个智能窗帘控制系统的准确度和精度。在此提出了两种方案[15][16]。方案一:利用光敏电阻采集光照数据信息后转化为模拟信号,然后通过模数转换将模拟信号转化为数字信号。方案二:采用BH1750FVI光照传感器,可以将采集到的光照强度信息转化为可以直接输出的数字信号。方案一,电路性价比高,但是光照强度与光敏电阻阻值之间的函数关系复杂,很难比较准确的确定,且容易受到干扰,在模数转换的过程中存在一定的误差。方案二,电路简单,测量准确度高,具有很好的稳定性,且抗干扰能力强。综上所述,采用BH1750FVI光照传感器作为本智能控制系统的光照采集单元。图3-SEQ图3-\*ARABIC4BH1750FVI光照传感器结构图BH1750FVI光照传感器是一家日本公司推出的数字式IIC接口光照传感器,不区分环境光源,接近于视觉灵敏度的分光特性,其结构如REF_Ref41231775\h图3-4所示。该传感器的检测范围是1-65535勒克斯,测量精度为1勒克斯,工作电压为3-5V[17]。图3-SEQ图3-\*ARABIC5BH1750FVI光照传感器模块BH1750FVI光照传感器如REF_Ref41231894\h图3-5所示,该传感器有五个引脚,分别为VCC、SCL、SDA、ADDR和GND,引脚说明如REF_Ref41232060\h表3-1所示。表3-SEQ表3-\*ARABIC1BH1750FVI光照传感器引脚说明表引脚号名称说明1VCC供电电压源正极2SCLIIC时钟线3SDAIIC数据线4ADDRIIC地址线5GND供电电压源负极BH1750FVI光照传感器与Arduino主控板相连,当接收到信息采集器采集的光照数据信息后,Arduino主控板通过对光照数据信息的分析处理,就能得到室内具体的光照强度,进而对窗帘采取下一步动作。3.3.2温湿度传感器本智能窗帘控制系统温湿度检测单元采用DHT11温湿度传感器,如REF_Ref41252218\h图3-6所示。该传感器具有低功耗、响应速度快、稳定性高、抗干扰能力强、性价比高等特点。图3-SEQ图3-\*ARABIC6DHT11温湿度传感器模块DHT11温湿度传感器是一种温度和湿度复合的具有校准数字信号输出的传感器[18]。该传感器有四个引脚,分别为VCC、DATA、NC、和GND,引脚说明如REF_Ref41252345\h表3-2所示。表3-SEQ表3-\*ARABIC2DHT11温湿度传感器引脚说明表引脚号名称说明1VCC供电电压源正极2SCL串行数据,单总线3SDA空脚,悬空4GND供电电压源负极DHT11温湿度传感器采用专用的温湿度传感技术和数字模块采集技术,保障其具有比较高的可靠性和长期的高稳定性。该传感器由一个电阻式感湿元器件和一个NTC测温元器件组成[19]。该传感器参数特性如REF_Ref41252352\h表3-3所示。因为当温度在零摄氏度以下时,居住环境主要考虑的就是湿度和光照强度的问题,加上其极小的体积和超低的功耗,使之成为温湿度检测的最佳选择。表3-SEQ表3-\*ARABIC3DHT11温湿度传感器参数特性表工作电压输出形式测量范围测量精度分辨率温度湿度温度湿度温度湿度DC3.3-5.5V数字信号0-50℃20-90%RH±2℃±5%RH1℃1%RHDHT11温湿度传感器采用单一总线通信的方式,DATA引脚与Arduino主控板相连,用于两者之间的通讯与同步。当Arduino主控板没有和DHT11温湿度传感器交互时,总线处于空闲状态,因上拉电阻的作用,DATA引脚处于高电平状态;当Arduino主控板和DHT11温湿度传感器通信时,总线处于通信状态。总体通信流程:首先主机先发送开始信号,然后主机信号线拉高准备接收数据。最后开始接收数据。一次传送40位数据,高位先出[20],数据格式如REF_Ref41252544\h图3-7所示。图3-SEQ图3-\*ARABIC7数据格式数据前16位是湿度采集的相关数据,中间16位是温度采集的相关数据,最后八位是用来校验的。经过校验后,如果证明本次采集的温湿度数据正确的,Arduino主控板就可以使用这个温湿度数据;如果经校验证明是错误的,那么Arduino主控板就不进行采样。3.4ESP8266WIFI模块WIFI无线通讯模块可以实现大范围远距离的网络连接,只要在WIFI电波覆盖的有效范围内,就可以通过WIFI无线的方式将手机、电脑等联网设备的终端连接在一起,从而实现更多的物联网功能[21]。本智能窗帘控制系统选用ESP8266WIFI无线通讯模块来实现对整个智能窗帘控制系统进行无线WIFI连接,ESP8266WIFI无线通讯模块如REF_Ref41293139\h图3-8所示。图3-SEQ图3-\*ARABIC8ESP8266WIFI无线通讯模块ESP8266WIFI无线通讯模块有六个引脚,分别为VCC、GND、TXD、RXD、RST和IO-0,引脚说明如REF_Ref41293188\h表3-4所示。该模块具有抗干扰性能强、响应速度快、覆盖范围广、可靠性强、能耗低、穿透能力强等特点[22],用户可以在WIFI覆盖范围内随时地浏览网页和传输数据,非常适合舒适的家居和办公等场所需求。表3-SEQ表3-\*ARABIC4ESP8266WIFI无线通讯模块引脚说明表引脚号名称说明1VCC供电电压源正极2GND供电电压源负极3TXD串口发送4RXD串口接收5RST复位6IO-0低电平烧写模式,高电平运行模式ESP8266WIFI无线通讯模块是一个比较完整的WIFI无线传输设备,能够搭载软件应用。内置的高速缓冲存储器提高了系统性能,片上数据信息的处理和存储能力。Arduino主控单元与ESP8266WIFI无线通讯模块进行串口通信,实时传输各个模块检测的数据信息,通过OneNET物联网云平台网页版和手机APP客户端可以及时地查看到家居和办公等场所环境的数据信息,同时也可以自由地控制窗帘的动作。3.5电机驱动设计3.5.1步进电机的选择步进电机具有结构简单、运行可靠、控制方便、控制性能好等优点,被广泛应用于自动化仪器仪表、数控机床、智能控制设施、机器人等领域。随着步进电机的发展和变革,目前,市场上出现了不同结构形式的步进电机[23]。步进电机从其结构形式上可分为反应式步进电机(VariableReluctance,VR)、永磁式步进电机PermanentMagnet,PM)、混合式步进电机(HybridStepping,HS),各自的特点如REF_Ref41211411\h表3-5所示。表3-SEQ表3-\*ARABIC5各类型步进电机性能比较表类型步距角输出力矩自锁力矩绕组电感频率范围分辨率效率反应式7.5°一般无大窄高差永磁式7.5°/15°大有小一般差高混合式1.8°/1.2°/0.75°大有小宽高高由REF_Ref41211411\h表3-5可知,混合式步进电机具有输出力矩大、频率范围宽、分辨率高、效率高等特点,综合分析其动态性能明显优于反应式步进电机和永磁式步进电机。因此,本智能窗帘系统选择步距角为1.8°的两相混合式步进电机作为窗帘驱动设备。3.5.2两相混合式步进电机的工作原理混合式步进电机主要组成部分有机壳、端盖、定子部件和转子部件四部分[24]。每当输入一个脉冲信号时,步进电机所转动的角度就是步进电机的步距角,用θθ=式中:N为运行拍数;Z为转子齿数。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。当步进驱动器接接收到一个脉冲信号时,步进电机按设定的方向被驱动一个步进角。因此,两相混合式步进电机工作过程是当两相控制绕组按AABB或BBAA的次序轮流通电[25],每拍只有一相绕组通电,共四拍,则构成一个循环。当控制绕组有电流通过时,就会产生磁动势,因为永久磁钢的存在,二者产生的磁动势相互作用,产生电磁转矩,使转子产生步进运动。3.5.3两相混合式步进电机的驱动步进电动机的输入量为脉冲序列,输出量是其相应的位移量。正常运行的情况下,在做连续步进运行时,其旋转的转速与输入的脉冲频率有着严格的对应关系,因此,需要PWM控制技术通过对脉冲的宽度进行调制,来等效获得所需要的脉冲序列。PWM控制技术是利用电力电子开关器件的导通和关断作用,把连续变化的输入电量变成输出脉冲序列电量,并通过控制脉冲的宽度或周期来达到变幅和变频的目的,即通过改变脉冲的占空比获得所需的输出电压[26][27]。PWM控制技术原理简单易懂,容易控制和实现,完全可以满足智能窗帘控制系统的需要,因此,本智能控制系统选用PWM控制技术对输入脉冲序列进行调制。步进电机的驱动在整个智能控制系统中是非常重要的一部分。它能否正常工作直接影响到了整个智能控制系统的工作性能。步进电机的驱动方式也有很多种,比较常见的有恒电压驱动、恒电流斩波驱动以及细分驱动等[28]。驱动方式各方面的性能比较如REF_Ref41211663\h表3-6所示。表3-SEQ表3-\*ARABIC6各驱动方式的性能比较表驱动方式步距角运行性能启动性能平稳性效率可靠性恒电压驱动大一般一般差低低恒电流斩波驱动一般高一般好高低细分驱动小高高好高高由REF_Ref41211663\h表3-6REF_Ref41211411\h表3-5可知,细分驱动方式[29]具有运行性能高、启动性能高、可靠性高、效率高等特点,经综合比较考虑,本智能窗帘控制系统采用细分驱动方式。3.5.4电机驱动器选择根据以上叙述,本智能窗帘控制系统选用TB6600步进电机驱动器,如REF_Ref41515704\h图3-9所示,各端口说明已标注在上面。该电机驱动器是一款专业的两相混合式步进电机驱动器,输入电压为直流9-40V,可以驱动4、6、8线两相、四相步进电机,适合各种小中型自动化设备和仪器。具有过热、过流、欠压锁定、输入电压防反接保护等功能,接口采用高速光耦隔离信号输入,抗干扰能力强,体积小巧,方便安装。图3-SEQ图3-\*ARABIC9TB6600步进电机驱动器该步进电机驱动器具有八种细分可调,是以驱动板上的拨码开关选择设定的。用户可以根据细分选择表的数据设定细分数,如REF_Ref41515881\h表3-7所示,驱动板上拨码开关1、2、3、分别对应S1、S2、S3,“1”表示打开状态,“0”表示关闭状态。细分后步进电机步距角的计算公式为:步距角=电机固有步距角/细分数。如果一台固有步距角为1.8°的步进电机在4细分下步距角为1.8°/4=0.45°。表3-SEQ表3-\*ARABIC7步进电机驱动器细分设置表细分脉冲/转S1状态S2状态S3状态NCNV11112001102/A4001012/B400011480010081600010163200001326400000该步进电机驱动器的输出电流设置由拨码开关选择,电流大小设定如REF_Ref41516040\h表3-8所示,驱动板上拨码开关4、5、6分别对应S4、S5、S6,“1”表示打开状态,“0”表示关闭状态。表3-SEQ表3-\*ARABIC8步进电机驱动器的输出电流设置表电流/AS4状态S5状态S6状态0.51111.01011.51102.01002.50112.80013.00103.5000该步进电机驱动器输入端控制器、步进电机、电源接口有两种接法,共阳极接法和共阴极接法,用户可根据需要选择。本智能窗帘控制系统采用共阳极接法,分别将PUL+,DIR+,

EN+连接到控制系统的电源上,如果此电源是+5V则可直接接入,如果此电源大于+5V,则须外部另加限流电阻R保证给驱动器内部光藕提供8-15mA

的驱动电流。脉冲输入信号通过CP-接入,方向信号通过DIR-接入,使能信号通过EN-接入。系统接线图如REF_Ref41516131\h图3-10所示。图3-SEQ图3-\*ARABIC10系统接线图3.5.5窗帘升降的实现窗帘动作原理过程如REF_Ref41211995\h图3-11REF_Ref41211995\h图3-11所示。为了实现步进电机的简便运行控制,本智能窗帘控制系统以Arduino主控单元为控制核心,输出脉冲信号序列。通过PWM脉冲宽度调制技术的细分驱动方式,按事先确定的顺序控制各相的通断,来控制步进电机对窗帘动作的实现。此智能控制过程可靠性高,效率高,运行平稳且功耗小。图3-SEQ图3-\*ARABIC11窗帘动作原理过程图3.6本章小结本章主要介绍了基于Arduino智能窗帘控制系统的硬件设计思路和实现过程。首先,介绍了系统硬件整体框架设计,然后分别讲述了电源设计、传感器选择、ESP8266WIFI无线通讯模块和电机驱动设计的硬件选型、基本结构以及实用性等。第四章智能窗帘系统软件设计4.1软件系统构架基于Arduino的智能窗帘控制系统的软件功能是在Arduino主控单元与其他各个单元间数据的传输和指令的控制。各个传感器单元通过串口通信的方式把家居和办公等周围环境的数据信息传输到Arduino控制中心端,在主控中心再通过WIFI无线通讯单元将数据信息实时地传输给OneNET物联网云平台网页版和手机APP客户端上,供用户调用、查看和命令控制。智能窗帘控制系统信号处理软件总框图如REF_Ref41413606\h图4-1所示。图4-SEQ图4-\*ARABIC1系统信号处理软件总框图4.2OneNET物联网云平台设计4.2.1平台架构OneNET物联网云平台可以支持多种协议的设备接入方式,具有数据传输、数据存储、数据管理等功能[30]。该物联网云平台针对不同的应用场景和用途,提供给开发者专门的服务对设备进行搭建和管理。OneNET物联网云平台的资源模型如REF_Ref41413649\h图4-2所示,产品是用户的最大的资源集,且一个用户可以创建多个产品。产品下包括应用、APIKey、触发器以及设备等多种资源,设备下又拥有一个或者多个数据流。图4-SEQ图4-\*ARABIC2OneNET物联网云平台的资源模型图4.2.2平台搭建开发者首先使用OneNET账号,登录开发者中心,进入创建产品页面,按照提示填写产品的基本信息,就可以进行产品创建了。其中最为重要的是“设备接入协议”信息填写,本智能窗帘控制系统的OneNET物联网云平台采用的是HTTP协议。然后进入产品列表页面,就可以进行产品开发了。再创建设备,填写设备信息,设备上传和存储数据时,上传格式必须为key-value的形式,其中key即为数据流名称,value为实际存储的数据点。本智能窗帘OneNET物联网云平台数据流设置了光照强度、温度、湿度,开发者可以自定义数据流的数据范围,通过OneNET应用编辑器,开发者能够便捷地实现设备数据流的可视化。如果需要设备的相关数据和消息发送给应用服务器,还要设置HTTP推送功能。首先进入数据推送中的HTTP推送;然后添加全局推送,填写用于接收数据的服务器URL地址和自定义token,通过指定数据流,关联需要推送新增数据点的数据流;再根据需要设置推送的时间间隔和数量累计;最后设置应用服务器接收服务就可以了。数据推送过程如REF_Ref41413748\h图4-3所示,数据推送过程中提供了数据过滤和压缩的功能,过滤掉大量时间不敏感数据,压缩一定时间内的一定量的多包单数据,有效地提高了数据的实时性,同时也很好地减小了应用服务器处理的压力。图4-SEQ图4-\*ARABIC3数据推送过程图OneNET物联网云平台的操作鉴权以及权限管理需要APIKey,在访问该物联网云平台时,HTTP的请求信息的头域必须要携带APIKey字段。只有拥有APIKey才有对本开发者名下设备的最大管理权限,同时也拥有了通过API命令设置的权利。当开发者需要手动控制终端设备时,登录OneNET物联网云平台网页版和手机APP客户端,使用API命令设置的权限,通过Post方式来向云平台设备发送命令数据,用Getpost方式来获取当前终端设备的状态特值,窗帘打开状态设置为特征值“0”,窗帘关闭状态设置为特征值“1”,终端设备收到命令数据后执行命令数据,并向云平台设备反馈响应。本智能窗帘控制系统利用OneNET物联网云平台网页版和手机APP客户端实时远程监测和控制家居和办公等周围的环境。该智能窗帘控制系统设计的OneNET物联网云平台操作界面如REF_Ref41413975\h图4-4所示。图4-SEQ图4-\*ARABIC4OneNET物联网云平台操作界面4.3程序设计本智能窗帘控制系统使用ArduinoUNO作为主控板,软件开发开发环境是ArduinoIDE,采用C语言进行程序的编写,实现对窗帘的智能控制。Arduino主控单元与其他各个单元之间的数据通信主要有一个主流程和四个子流程。主流程主要是完成系统初始化操作和Arduino主控单元不断访问控制各个单元以及各个单元把数据反馈到Arduino主控单元,子流程是请求数据处理信号和相应子函数之间的功能通信。主程序是无限循环的,流程图如REF_Ref41466766\h图4-5所示,主要包括系统初始化、中断设置以及各个子程序的调用。详细程序见附录。图4-SEQ图4-\*ARABIC5主程序流程图4.4本章小结本章对智能窗帘控制系统的软件程序设计进行了介绍,首先从整体上描述了软件系统构架,然后详细地叙述了OneNET物联网云平台的设计过程,最后说明了一下软件开发环境和程序的编写。第五章智能窗帘系统测试5.1系统性能测试5.1.1系统的初步测试首先,将智能窗帘控制系统的硬件以Arduino主控板为中心,逐一添加无线传输、光照、温湿度、步进电机驱动等功能模块,并测试,最终完成硬件系统的初步搭建。然后,将编译成功的程序下载到Arduino主控板上,完成基本数据信息的采集和电机的正反转等功能。再进一步连接OneNET物联网云平台,实现数据信息的实时无线传输和界面数据的显示。随机进行了五组实验的测量,检验智能窗帘控制系统设计的OneNET物联网云平台操作界面的温度和湿度数据与实际测量数据的误差,比较结果如REF_Ref41563321\h表5-1所示。表5-SEQ表5-\*ARABIC1检测数据对比表实验温度/℃实际温度/℃绝对误差/℃实验湿度/%实际湿度/%绝对误差/%2525.20.23232.50.52625.90.13635.70.32828.10.14040.20.23232.30.34343.10.13332.20.24645.80.2通过检测数据对比表可以看出,实验温度与实际温度之间的差值在0.1-0.3之间,实验湿度与实际湿度之间的差值在0.1-0.5之间,误差比较小,在允许的范围内,达到了设计的要求。改变环境状态,操作界面的环境参数值也随环境改变,系统的初步测试成功。5.1.2手动模式和自动模式测试智能窗帘控制系统默认是自动模式。首先进行自动模式测试,软件程序中设置了环境参数的优先级,最高级为光照参数,其次为温度参数,再次是湿度参数。开始测试前先设置光照强度阈值为100勒克斯,温度阈值为23℃,湿度阈值为50%,通过各个传感器的检测和无线传输,智能窗帘控制系统设计的OneNET物联网云平台操作界面显示光照强度为126勒克斯,温度值为25℃,湿度值为36%,由于实际光照强度值大于阈值,所以步进电机正转打开窗帘。多次修改阈值测试,窗帘准确的执行了相应的动作指令。再进行手动模式测试,在OneNET物联网云平台网页版或手机APP客户端上点击窗帘开关键,系统会自动识别当前窗帘的状态,进而对窗帘采取下一步动作。如果窗帘是打开状态,那么系统将发出关闭信号,步进电机反转关闭窗帘;如果窗帘是关闭状态,那么系统将发出打开信

温馨提示

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

评论

0/150

提交评论