版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的智能风扇设计与实现目录TOC\o"1-2"\h\u1826摘要 126588第1章绪论 138261.1课题研究的背景及意义 1152441.2国内外研究现状 116931.3课题的章节安排 320347第2章系统整体设计方案及选型 4247342.1系统整体设计方案 4277002.2系统各模块选型 517891第3章系统硬件设计 8223233.1STM32主控模块 8197403.2红外感应模块 979393.3温湿度检测模块 10150683.4电机驱动模块 11279893.5OLED显示模块 11214573.6WIFI模块 1214042第4章系统软件设计 14229664.1系统总体流程图 1479114.2WIFI模块程序设计 15207234.3温湿度检测模块程序设计 16217984.4红外感应模块与舵机程序设计 17235474.5显示模块子程序设计 1796984.6平台端数据处理 188942第5章系统调试 19311575.1硬件调试 19125605.2软件调试 19101425.3功能验证 2016134第6章总结与展望 2221704参考文献 2414218附录一:原理图 2631038附录二:PCB图 27摘要伴随着科技的不断发展,人们对生活质量的要求也在不断提高。传统风扇功能单一,使用不够方便。基于此,本文提出一款基于单片机的智能风扇的设计,该系统采用STM32单片机为控制核心,具有红外感应模块、温湿度检测模块、电机驱动模块、显示模块与WIFI等模块。本设计利用红外热释电传感器感应用户的位置,温湿度传感器检测环境温度,以WIFI模块作为主控制器与通信模块数据传输的桥梁,建立了单片机与手机的通信。该系统具有人工控制与智能控制两种控制模式,在智能控制模式下,风扇会根据检测到的环境温度自动调节风扇的转速,使环境温度保持在人体舒适的范围内,并且风扇会根据用户的位置实现风扇转向的自动跟踪。在人工控制模式下,用户可通过按键、手机app控制风扇转速。此外风扇还可以预设温度,高于预设温度风扇会自动开启,低于预设温度风扇会自动关闭。关键词:智能风扇;STM32微控制器;红外感应;温湿度检测;WIFI 第1章绪论1.1课题研究的背景及意义近些年智能家居逐步走进人们的生活[1],人们对于家居的要求已经不局限于传统的常见功能。人们可以看到越来越多的简便操作的家居[2],可以说智能家居是一种社会所推动的发展趋势。在智能家居中风扇越来越受人们欢迎,风扇会在炎热的夏天为用户降温解暑,如果人们处在自己所认为舒服的温度下工作、娱乐与休息,人们的工作效率、学习效率、睡眠质量都可以得到保证,有助于人们的身心健康。风扇体积小,价格低,能耗低,对环境与空气无污染并且所适用的场合与地点不受限制,在小城镇与农村居多的国内大部分地区,风扇在人们的日常生活中使用的更为普遍。在智能家居已经逐渐成为一种趋势的当今时代[3],用户对风扇的要求也在与日俱增,传统风扇已经无法满足用户对生活智能化、便捷化的要求。传统风扇具有的功能单一,一般只有通过手动调节机械档位来调速,不能根据环境温度的变化自动调节转速。传统风扇的转向功能有很大的局限性,不能跟随用户位置的移动而自动跟踪转向,在用户离开时风扇不会自动关闭造成资源浪费。一般的风扇都不能通过手机远程控制,需要人工调速。风扇在人们的日常生活使用普遍,所以用户需要一款智能风扇为生活带来更好的体验。智能风扇操作简单,智能功能多,会让我们的生活变得轻松。综上所述,设计一款智能风扇可以为人们的日常生活带来更多的便捷,也在社会发展与生产中起到很大的作用,具有重要意义。1.2国内外研究现状智能家居的概念由美国的EmilMathias在1950年提出,他通过各种器件对家庭设备进行了改进,虽然改进的效果不理想但是为美国进入钻研智能家居的时代起到了推动的作用。1984年,美国正式设计出第一套智能家居产品。伴随着科技发展的延伸,美国越来越多的厂家都加大了对智能家居的投入,其在智能家居领域的发展水平处在世界领先地位。德国,日本,韩国等国家在近些年也十分注重智能家居的发展,为推动智能家居市场发展起到了推动作用。中国在智能家居领域的起步较晚,相对落后。但是随着中国经济水平快速发展,经过了很快的时间,在智能家居领域上,在世界上就有了很重要的地位。在“十二五”计划中,国家把智能家居作为发展目标,我国全面发展智能家居,颁布各种政策,鼓励科学研究,我国相继研究出一系列智能家居产品[4]。风扇也是智能家居的一种,风扇的发展有着很长的历史,它可以在炎热的夏天为我们降温解暑,所以电风扇几乎是每家每户都会用到的电器。近些年,空调优秀的制冷效果越来越被人们喜爱,电风扇的市场开始逐渐衰退起来。但相比于那些智能家电,风扇也同样可以在炎炎夏日为人们带来凉爽,风扇不污染环境,能耗低,适用的场合不受限制,使用起来非常方便,随着社会的发展,电风扇也在不断发展。中国的第一台风扇是1916年生产的,它是老式家电,对于空调产品的一些冲击,电风扇被认为是时代尾巴的产品。电风扇的特点是价格比较低,安装容易。它是一种成熟的电器成员,在中国的市场上依旧很受欢迎。因此中国电风扇优化研究非常活跃,智能风扇已经进入市场,技术成熟。以后的研究会更加人性化,个性化,满足不同需求。目前也有许多学者对智能风扇系统进行了研究,梁娟设计了基于单片机的智能温控风扇[5]。该系统以AT89C51为主控模块,通过DS18B20为温度传感器检测环境温度,利用人体红外传感器检测用户位置,实现了风扇自动检测用户位置并根据环境温度自动调节转速。刘晶与等人设计了基于单片机的智能温控风扇[6]。该系统以AT89C51单片机作为主控模块,通过DS18B20温度传感器感知温变,实现感温调节。这款智能温控风扇在传统风扇的基础上添加了智能功能,但是智能功能单一不够多元化。李晓赫等人设计了基于STC89C52单片机的智能风扇系统[7]。该系统通过把STC89C52单片机作为主控模块,结合红外热释电传感器,DS18B20温度传感器,实现了风扇根据环境温度的高低自动调节风速,并可以通过感应人体信号控制风扇的启动与停止。这款智能风扇相比于传统风扇已经有了很大的进步,但是在功能上还是无法实现风扇跟随用户位置的改变而自动改变转向。刘国权等人设计了用APP控制的智能温控风扇系统[8]。该系统以AT89C52为核心,通过蓝牙实现对APP的控制,实现了通过手机APP控制风扇。戴南疆等人设计了基于单片机的智能跟踪风扇[9],该系统采用STC89C52单片机作为主控模块,通过热释红外传感器、温度传感器并结合超声波探头进行实时检测与调控。这款智能风扇用两个热释电传感器判断用户的位置信息,通过传感器实现风扇对人的自动追踪功能,当用户的位置发生变化时,风扇会在转台上自动跟随用户的位置变化而自动改变转向,并且这款智能风扇还具有驱蚊功能。戴南疆所设计的智能跟踪风扇系统已经在功能上已经实现了智能化,但是还无法实现通过手机远程控制风扇。厉俊设计了基于单片机的智能风扇[10],该系统采用AT89C52作为核心实现了温控功能。胡慧之设计了基于单片机的智能风扇[11]。该系统是以STM32F407为主控模块,该系统由温度检测模块、感应模块、蓝牙数据传输等模块组成。这款智能风扇有两个控制模式,在智能模式下,风扇会根据周围环境的温度自动调节风速。在人工模式下,用户可利用触摸屏与手机APP人为控制风扇转动速度。这个系统也同样具备人体感应功能,通过红外热释电传感器感应人是否在风扇的工作范围之内,如果人在范围内的话风扇正常工作,当人离开时,风扇会随即关闭。胡慧之所设计的这款智能风扇在功能上更加的智能化,虽然没有自动跟踪功能,但是已经可以实现通过手机去控制风扇的转速。市场上的智能风扇有些通过所采集到的环境温度采用PWM的模式自动调整风扇的转动速度[12]。有的风扇通过WIFI模块作用于通信模块OneNet物联网平台[13],实现用手机APP对风扇的远程控制[14]。综上所述,当前大部分智能风扇功能都相对单一,不够多元化。基于此,本课题以STM32单片机为主控模块,研究并设计一款功能全面的智能风扇。1.3课题的章节安排第一章主要的主要内容有研究智能风扇系统的背景及意义。第二章介绍了我们对于于智能风扇系统的思路,与智能风扇系统各模块选型。第三章介绍系统的硬件设计与各模块与单片机之间的联系。第四章介绍系统的软件的设计。第五章介绍了系统的硬件的调试、软件的相关调试与智能风扇的功能验证。
第2章系统整体设计方案及选型2.1系统整体设计方案本智能风扇系统基于单片机为主控模块,利用温湿度传感器来收集环境温度与湿度,红外热释电传感器感应用户位置,转向控制采用了数字舵机,风扇与舵机都是利用PWM进行调速与转向,利用驱动模块实现风扇和舵机的驱动。通过所采集到的环境温度采用PWM的模式自动调整风扇的转动速度[12]。通过WIFI模块作用于通信模块OneNet物联网平台[13],实现用手机APP对风扇的远程控制[14]。最终目标:(1)利用温度传感器实现环境温度的检测以及红外热释电传感器对周围人体进行检测;(2)对风扇的转速在一定条件下自动调整,检测用户位置实现风扇自动控制转向;(3)建立手机APP与单片机的之间通信,实现对风扇的远程控制以及显示本地系统的参数。本系统的系统框图如图1所示。图1系统框图红外感应模块中的两个热释电传感器来感应用户所在的位置方向,本系统的热释电传感器位置处在风扇左右两侧45°的位置,如果在热释电所覆盖的区域内感应到了用户的活动,风扇会立即自动启动。实现了用热释电传感器成功的完成了自动感应功能。当用户的位置左移或者右移,处在舵机上的风扇会自动地跟着用户的位置的变化而转向,这样人们在日常生活中不用频繁地挪动风扇的位置来获取凉爽的风,风扇会自动地跟随着人们移动,当人们在无意中走出了热释电传感器所覆盖的范围,风扇会立即停止转动,充分的利用了资源,不造成资源浪费,起到了节能的作用。温湿度检测模块中的温湿度传感器采集收纳用户附近的环境温度,通过所采集到的环境温度采用PWM的模式自动调整风扇的转动速度。WIFI模块是主控模块与通信模块数据传输的桥梁。系统相关信息通过显示模块进行数据的显示。2.2系统各模块选型2.2.1主控模块选型方案一:采用51系列单片机进行本次“物联网监控系统”课题的设计。方案二:采用ARM系列的STM32单片机进行本次“物联网监控系统”课题的设计。方案一的51系列单片机是一款8位单片机,51系列单片机内部拥有一套全部分的按位的操作系统,具有32个通用I/O口,此外,此款单片机价格低廉。因为单片机的速度对于运行相对较慢,且内部没有集成AD、EEPROM等功能,需要进行外部扩展,这会对系统造成一定影响,同时51系列单片机保护能力较差,当出现过压过流等问题,容易造成芯片烧坏。方案二的ARM系列的STM32单片机的制成是通过意法半导体集团的研制而成,这样的单片机价格比较便宜、性能相对较高、功耗相对较低,它的内核为Cortex-M3,芯片内部集成12位AD转换功能且内核最高工作频率为72MHz。通过本设计拟采用的STM32F103为例,这款芯片内部集成多路AD转换、多路通用定时器、多路USART接口以及512KB的Flash存储器,支持在线调试。综上所述,在考虑各种因素的情况下,本课题采用STM32F103型号的单片机进行本次“智能风扇”课题的设计。2.2.2显示模块选型方案一:采用LCD1602模块实现相关数据的显示。方案二:采用OLED模块[15]实现相关数据的显示。方案三:采用TFT-LCD显示屏实现相关数据的显示。方案一中LCD1602液晶的展现模块是一款字符形式的显示屏,可以一起显示32个字符,划分为2行16列,它是通过控制区域电压并且通过利用液晶的物理特性来进行显示,能够展现数字、字母及一些符号,然而不能用来展现汉字,此外,该模块引脚数目较多,常见的有16引脚,体积大,耗电高,显示内容简单。方案二中OLED液晶显示模块是诸多有机电激发光二极管构成,该模块具有自发光功能,无需背光源,其发光机制是有电荷通过有机电激发光二极管时,由于材料自身物理特性发出光亮,在通信模式主要有SPI、IIC模式,引脚数目少,节约MCU的I/O口资源,另外OLED液晶的显示模块主要具有体积小、功耗比较低、防震荡等优势。方案三中TFT-LCD显示屏又称薄膜晶体管液晶显示器,该显示屏显示效果虽然比以上两个方案好,但其体积偏大,控制原理复杂,引脚数目较多,并且价格昂贵。综上,在考虑诸多因素的情况下,本课题采用OLED模块进行本次课题“智能风扇”相关数据信息的显示。2.2.3温湿度模块选型方案一:采用DHT11温湿度传感器来检测室内环境的温度与湿度。方案二:采用SHT30温湿度传感器检测室内环境的温度与湿度。方案一中,输出数字信号的传感器是DHT11温湿度传感器,输出来的信号通过一些内部校准,在温度为0摄氏度至50摄氏度范围内的环境下,湿度测量范围为20%至95%,湿度测量误差为+-5%RH;温度测量误差为+-2摄氏度,工作电压范围在3.3V至5V之间。DHT11温湿度传感器在它的内部集成了一个NTC测量温度元的器件,此温湿度传感器具有成本相对较低,响应速度较快,抗干扰能力较强,信号传输距离较远等优势。方案二中,SHT20温湿度传感器是瑞士Sensirion公司生产的一款准确度高的传感器,其测量范围相对较大,测量精度相对较小,通信方式为IIC数字形式,但该型号响应时间较长,其中湿度响应时间甚至达到8秒,价格昂贵。综上所述,考虑到本设计的温湿度的测量范围、测量精度、测量环境以及性价比等因素,采用方案一中DHT11温湿度传感器进行室内环境检测。2.2.4与云平台通信选型方案一:采用W5500以太网模块与云平台通信。方案二:采用ESP8266-WiFi模块与云平台通信。方案一中,W5500以太网模块是WIZnet推出的全硬件TCP/IP以太网控制器,内部集成了TCP/TP协议栈,包括TCP、UDP、IPV4、PPPoE、IGMP、ICMP,模块支持8端口通讯,串行外设SPI,传输速率快,但布线复杂,便利性低下、灵活性欠缺等缺点。方案二中,WiFi模块的效果是凭借串口将数据转变为符合无线通信标准的数据信息,内置无线通信协议IEEE802.11协议栈、TCP/TP协议栈,本模块工作电压在3.3V和5V之间,拥护串口转WiFiSTA、串口转AP、串口转WiFiSTA+AP三种模式。ESP8266-WiFi模块无线传输速率最高可以达到11Mbps,工作温度在-40℃~125℃范围内,工作湿度在10%~90%RH范围内,符合当前气候室内工作环境,且该模块成本低、功耗低、性价比高。综上所述,通过对以上两种方案进行论证分析,在考虑到功耗、性价比、数据传输速率、灵活性等因素后,拟采用方案二中的WiFi模块作为与云平台通信的模块。第3章系统硬件设计3.1STM32主控模块3.1.1STM32F103C8T6微控制器本智能风扇系统所采用的主控模块是STM32F103C8T6微控制器。它是一款基于ARMCortex-M3内核的32位的微控制器,属于STM32系列。其程序存储器FLASH容量是64KB(64k×8bit),RAM容量是20KB(20k×8bit),2个12bitADC合计12路通道,37个通用I/O口,4个16bit定时器。它具有封装体积小,价格相对低廉,性能比8位单片机优秀,性价比高等引人瞩目优点。图2STM32F103RBT6引脚图3.1.2复位电路当设定的程序跑飞,不可以正常的运行时,就要通过手动来按键复位。STM32F103C8T6微控制器属于低电平复位,只要芯片复位引脚上大于10ms的低电平,MCU的程序计数器会恢复到000h地址,系统重新运行。如图3所示电路,当系统上电后,由于电容的滤波作用,NRST处的电压不会发生突变,MCU初始状态为低电平,上电后复位;电容由此来进入一个充电的状态,电压逐渐升高,如果电容进行的充电完毕后,NRST处电压为3.3V,单片机就会进入到一个正常的工作环境;当程序在无法去正常的工作时,能够通过按键进行手动的复位,此时NRST处变成低电平,MCU复位。图3复位电路原理图3.1.3晶振电路晶振的大小能够决定MCU的工作频率,现如今大部分MCU内部都集成有晶体振荡器,也会有部分的单片机里面没有集合晶振,如51系列单片机,需要外接晶振电路。STM32F103系列单片机内部集成8MHz的晶振,当系统上电后,系统默认优先使用内部晶振,如图4所示,在MCU硬件设计上,外部连接了8MHz的晶振和32.768KHz的晶振,能够调换到内外部晶振,系统的频率可以通过倍频到72MHz,32.768KHz的晶振主要为STM32F103V8T6提供实时时钟(RTC)。图4晶振电路原理图3.2红外感应模块选用两个HC-SR501红外热释电传感器来感应用户位置,利用单总线通信给MCU发送数据,从而进一步实现风扇根据人所在的位置完成自动转向功能。热释电接口原理图如图5所示。HC-SR501是基于红外线技术的自动控制模块,采用德国进口LH1778探头设计,高灵敏度,高可靠性,超低电压工作模式,广泛应用于各种感应电器设备。两个热释电模块的单总线引脚分别连接了MCU的PB11和PB3引脚。图5热释电接口原理图3.3温湿度检测模块本设计选用DHT11温湿度传感器,它是一款含有已校准数字信号输出的温度和湿度复合传感器,它采用特殊数字模块采集技术和温湿度传感技术,保证物品的可靠性和完美的长时间稳定性。传感器包括一个电阻式的感湿原件和一个NTC测温元件,并且和一个性能较高的单片机连接。所以这个产品就拥有质量好、响应的速度敏捷、性价比比较高的优点。DHT11传感器单总线制串行接口,可以将系统简单快速地整合起来,体积很小,功耗很少,是该类应用中最佳的选择。在电路设计上,一般在数据引脚上加一个上拉电阻,如图6所示,本款模块已经内置上拉电阻可直接与STM32微控制器连接,选用MCU中C9引脚与DHT11模块数据引脚连接。DHT11模块为3针单排引脚封装。如下表1所示。表1DHT11温湿度传感器模块引脚定义引脚编号引脚定义引脚功能1VDD供电正极2DATA单总线接口3GND供电负极图6DHT11原理图3.4电机驱动模块本系统采用L298N电机驱动模块为风扇提供驱动,选用MG90S舵机,它可以为了更好的为实现风扇的自动转向提供更好的帮助。舵机的设置操作一个20ms左右的时基脉冲,这个脉冲的高电平的部分大部分为0.5ms-2.5ms范围内的角度来控制脉冲部分,总间隔为2ms,旋转角度为180°。风扇采用直流无刷散热风扇,具有效率高,轻便等优点。驱动模块外接9V直流电源,风扇信号由连接MCU的PA7端口传送给L298N模块的INC接口,而风扇连接了L298N的OUTC和OUTD接口。舵机信号由MCU的PB6端口传送到L298N模块的INA接口,舵机的信号线连接L298N的OUTA端口,舵机的VCC和GND接口连接驱动模块电源输出端口。3.5OLED显示模块OLED是与CRT、LED、液晶技术不同的新型发光原理,OLED的显示屏是通过有机电发光二极管来制作成的显示屏。因为同时具备一些发光有机电激光发光二极管,不用背光源、含有好的对比度、厚度相对较薄、而且拥有宽阔的视角、反应速度敏捷、可用于挠曲性面板、拥有的温度范围广泛、结构和工艺简单的优点OLED显示屏在显示方面的特点有主动照明、宽视角、响应速度迅速、图形平稳、亮度大、色彩种类多、分辨率高,并且适应性十分全面。如图7电路图所示,OLED模块1引脚和2引脚接入系统GND和5V电源,引脚3和引脚4作为数据传输位连接MCU的PA1脚和PA2脚,引脚5加入MCU的PA3脚作为复位脚,引脚6作为数据接口连接PA4脚,第7个引脚连接了MCU的PA5脚。图7OLED原理图3.6WIFI模块ESP8266芯片是内置功耗很低的32位RISC处理器,使用功率消耗非常低的TensilicaL106芯片,CPU时钟速度最高可以达到160mhz。本模块密集聚合了天线开关与滤波器等无线频率模块,模块体积小。模块基本特性及功能如表2所示。表2ESP8266特性及功能表功能功能参数网络标准无线标准:IEEE802.11b、IEEE802.11g、IEEE802.11n无线传输速率802.11b:最高可达11Mbps802.11b:最高可达54Mbps802.11b:最高可达HT20,MCS7发射功率11~18dbm频率范围2.412GHz-2.484GHz天线板载PCB天线通信接口TTL电平工作湿度10%~90%RH工作温度-40℃~125℃WIFI工作模式WIFISTAWIFIAPWIFISTA+WIFIAP无线安全安全机制:WEP/WPA-PSK/WPA2-PSK加密类型:WEP64/WEP128/TKIP/AES用户配置AT+指令集,Web页面Android/iOS终端,SmartLink智能配置APP串口波特率110-921600bps(默认波特率115200)TCPClient5个固件升级本地串口,OTA远程升级ESP8266WiFi模块可以通过ESPAT命令为外部主机MCU提供WI-FI连接功能,它还可以作为运行独立的WI-FIMCU运行。我们可以容易的使用云连接、低功耗运行模式,以及包含WPA3在内的WI-FI安全支持等功能。在电路设计上,如图8所示,WiFi模块VCC引脚接入3.3V工作电压,GND引脚与系统共地。引脚4为串口发送引脚,与STM32核心板的A10(RXD)引脚相连接,引脚5为相关串口的接收引脚,与A9(TXD)引脚相连接,引脚7为复位引脚RST,引脚6为IO口,用于进入到一个固件的烧写模式,引脚3是使能引脚EN,由于本系统中,用不到引脚7和引脚6,因此在设计电路时,此引脚可以不予考虑,悬空即可。图8WIFI模块原理图
第4章系统软件设计4.1系统总体流程图本设计采用模块化进行,包括主控模块、红外感应模块、温湿度检测模块、电机驱动模块、OLED显示模块,WIFI模块等模块组成。各模块功能如下,红外感应模块能感应用户位置。温湿度传感器采集环境温度与湿度,显示部分采用OLED液晶模块。驱动模块为风扇和舵机提供驱动。主控模块为系统的核心模块,对各个模块协调控制。系统软件流程框图如图9所示。图9系统主程序框图初始状态下,当整个系统上电后,对OLED、DHT11、红外热释电、WiFi模块初始化,舵机复位。使其能够和STM32F103进行正常的数据通信。配置完成后,WiFi模块自动连接无线局域网,连接完成后DHT11开始采集环境温湿度,通过单总线通信把数据回传到MCU中,MCU对数据进行处理解析。完成以上工作后OLED开始显示当前数据。默认模式为模式0,风扇不工作;调整到模式1后,风扇就会进入到用户操控的手动模式,用手动的一些按键来对风扇控制开关,转速进行调整;调整到模式2后,风扇就会进入自动的模式,环境温度超过模式3设定的温度上限后那么风扇就会旋转;调整到模式3为模式2提供温度上限的调整;调整到模式4后,风扇打开,红外热释电检测周为是否有人,信号回传给到MCU,MCU发送相应PWM波给舵机,旋转至相应角度,实现风扇的自动转向。4.2WIFI模块程序设计ESP8266WIFI模块初始化过程中,其子程序流程图如图10所示。图10WiFi子程序设计流程图程序主要分为以下几步:(1)进入AT模式,检查WiFi模块是否有效,能否正常工作。(2)进入AT模式后,通过指令“AT+CWMODE=3\r\n”将ESP8266WIFI模块的工作模式配置为STA+AP模式。(3)上一步完成后,通过指令"AT+CWJAP=\"wjh\",\"wjh1418634936\"\r\n"将ESP8266WIFI模块需要连接的WiFi名称和密码配置完成。(4)通过指令"AT+CIPSTART=\"TCP\",\"\",876\r\n"进入TCP连接,EDP服务器地址为9/876。(5)配置TCP连接成功后,配置透传模式通过指令"AT+CIPMODE=1\r\n"完成,等待配置成功后,进入透传模式,至此ESP8266WiFi模块初始化成功。初始化成功后,系统进入自由模式。可利用手机平台和按键对系统进行操作。4.3温湿度检测模块程序设计DHT11它作为一款具有单总线型的数据进行传输的温湿度传感器,它的通讯为4ms左右,数据信息通过整数和小数的两部分来组成,结束一次传输数据包为40bit。DHT11子程序设计框图如图11所示。图11DHT11子程序设计框图总线空闲时为高电平输出,在初始化过程中,主机首先对总线进行拉低处理,即发送开始信号,拉低时间必需大于18ms,之后将总线的电平来拉高并延时一段时间,等待延时后,DHT11拉低单总线发送响应的信号,若完成响应,便可进入数据传输过程,当40bit数据传输完成后,总线在进行拉低后延时再拉高,使总线保持空闲状态。4.4红外感应模块与舵机程序设计红外热释电模块作为单总线型数据传输环境检测传感器,设置延时时间为2.5s。总线空闲时为低电平,检测到周围有人时,会往主机发送高电平,并保持一段时间,MCU接收到信号后给舵机发送PWM脉宽,实现风扇的自动转向控制。调整出模式4后,红外热释电总线连接MCU的I/O口会停止检测高电平,使MCU处于空闲状态。热释电与舵机子程序设计框图如图12所示。图12热释电与舵机子程序设计框图4.5显示模块子程序设计在本系统的显示程序设计中,主要包含两个部分,一部分是固定字符串的编写,一部分是动态数据的编写。系统采用的0.96寸OLED显示屏内置128*64个像素点组成,每行128个点,每列64个点,在显示字符的编写上利用取模软件。在取模时采用C51格式、阴码、逆向、列行式、十六进制扫描的设置对字符进行编写,在程序上,OLED液晶显示屏分成4行显示,第一行显示内容为“智能小风扇”作为设备名称;第二行主要显示学号;第三行主要显示传感器检测到的温度与湿度的大小;第四行主要显示系统模式和温度控制上限。4.6平台端数据处理4.6.1平台连接OneNET云平有不同的应用方法,考虑到系统的特点,选择EDP协议是为了在平台和设备之间保持长时间的联系。它主要包括的部分为:连接请求、传输数据信号、调控命令等部分。平台连接请求:在平台配置应用中,首先通过设备ID设备API地址关联API。具体方式如下:本系统中设备ID为:417912设备API地址为:/devices/4179124.6.2平台连接响应格式通过串行端口调试助手接收到的数据进行处理,具体的内容如下:如果连接成功则会接收到为“20020000”的数据;如果接收到的数据是“2002000940011C”,则验证失败-重新发送连接请求包如果可以接收信息数据为“20020009400114”则表示进行验证自己失败-协议分析错误如果收到的数据为"20020009400120",则表示验证失败-ID身份验证失败。系统发送心跳请求“C000”成功则回应心跳响应“D000”。4.6.3数据处理在数据上传格式上,为了更容易处理数据,并且由于温湿度均为数值格式,采用type=3的方式进行上传。在命令下发的数据信息格式上,由于技术操作命令一般企业不会超过100位,只需判断一个数据分析是否可以连续接收到2个00并且第三个数据大于0即可。
第5章系统调试在对硬件和软件设计完成后,通过搭建电路,烧写程序完成系统的初步设计,经过多次调试最终实现课题的任务以及要求,下面从软硬件两个方面对系统调试中出现的问题进行分析。5.1硬件调试在硬件调试中,主要分为以下几个步骤:(1)检查焊接过程中是否出现错误。在检查过程中发现个别元器件焊点不够饱满,通过电表进行测量,出现虚焊现象,容易导致电路出现断路、接触不良等问题。解决办法:对这些有问题的焊点重新焊接,使每一个焊点饱满、匀称,确保电路不断路,不短路。(2)通电测试。检查是否有元器件发热、不通电等问题,通过对元器件一个一个的排查,发现一开始购买的舵机消耗功率太大,自己设计的驱动电路带不动,因此更换了功率小些的舵机和新的电路驱动L298N后,调试无问题。至此,硬件调试完毕。5.2软件调试在软件设计上,很容易出现各种各样的问题,下面主要对设计过程中出现的主要问题进行分析:(1)在烧写程序时出现烧写不进去程序的问题,这也是大部分人员容易出现的问题,通过分析发现共出现两个错误:一是进行在线仿真时,由于仿真器不能提供电源,需要单独对系统进行供电,确保电路系统在有电状态下进行仿真,否则便会出现如图13所示错误;二是在仿真时keil5编程软件中芯片型号是否和实际系统板主控芯片是否一致,如果不一致,也会导致烧写程序出现错误,如图14所示,这是在烧写程序时出现的主要错误及解决办法。图13错误图例1图14错误图例2连接干电池作为电机驱动电源时,由于消耗较大,且所需电流较高。因此采取学生电源供电,保证系统的正常工作,连接平台后一有数据传输系统与平台的连接便会断开,判断问题出现在数据传输方面,对该部分的程序进行分析后发现,当一次数据传输完成后,没有清理本次数据,下一次数据又开始传输,导致格式出现错误,从而断开连接。重新对数据传输模块进行编程,及时清除寄存器上次传输数据,为加载下一次数据做好准备,从而解决该问题。软件调试完毕。5.3功能验证首先给智能风扇连接电源,ESP8266WiFi模块连接网络热点,连接成功后,OLED显示屏亮起,在显示屏上显示着当前模式、温度、湿度与预设温度。手动按下按键改变风扇工作模式,在工作模式一中按下加键,风扇风速加快,按下减键,风扇风速变慢。调制到工作模式三设定预设温度为28℃,然后调回至工作模式二,检测到环境当前温度为26℃,低于28℃风扇不会开启。调至工作模式四,风扇会根据用户位置的改变而改变转向,并可以通过手机APP调节风扇工作模式、转速大小、预设温度的高低,验证成功。实物如图16所示:图16实物图第6章总结与展望本文在基于对国内外研究的基础上对智能风扇的设计进行分析,设计了一款基于OneNET物联网云平台的智能风扇,用户可以随时通过登录手机端APP或者PC端网页查看家庭环境温湿度参数,同时还可以远程控制系统设备,在本设计中用户可以控制系统模式,温度上限的更改,极大的方便了用户对家中环境以及设备的掌控,整个系统以灵敏、轻巧、方便等优点呈现在用户眼前。在对系统制作以及论文的编写上,主要完成了以下几个方面:(1)分析并归纳了国内外在智能风扇方向的主要控制方式,如蓝牙、WiFi、zigbee等主流控制手段,对上述方式进行优缺点分析,最终选择WiFi作为本课题的研究方案。(2)确定课题后,在图书馆查阅相关资料,了解与课题有关的时代背景、研究意义、国内外发展现状。并阅读与智能风扇、物联网平台、无线通信相关的论文、期刊,了解别人的设计思路和方法。(3)确定系统方案,根据课题任务选择对应元器件,并分析各类元器件的选型优缺点,针对不同工作环境参数,选择各类元器件型号,同时确定系统数据传输方案。(4)搭建硬件电路,根据设计要求和任务,选择对应的元器件,同时查阅数据手册,确定电路连接,画出系统原理图和PCB,并根据所用元器件选择对应封装,保证实物与PCB一致,最后完成焊接和硬件调试。(5)根据设计要求,编写系统程序,按照模块化处理的方式,首先对各个模块进行编程,如OLED显示程序、DHT11温湿度程序、WiFi子程序等,最后再整合各个模块之间的联系,从而完成整个系统。(6)对系统进行调试与分析,主要包含两个方面:一是系统命令下发是否有效,在平台下发对应的开关指令,系统的模式切换和各项操作能否正确执行;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论