智能宿舍家居监测控制系统设计_第1页
智能宿舍家居监测控制系统设计_第2页
智能宿舍家居监测控制系统设计_第3页
智能宿舍家居监测控制系统设计_第4页
智能宿舍家居监测控制系统设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

系统方案设计与分析2.1系统可行性分析2.1.1设计系统需求分析本次系统的设计旨在通过利用先进的物联网与传感器等相关技术,实现对数据的采集与设备的智能远程控制。系统能够监测宿舍内的烟雾、火焰等安全隐患,异常情况一旦检测到便立即发出警报,确保人身安全。系统可以自动调节宿舍环境,提升生活舒适度与便利性,如自动开启风扇、启动报警等。具备实时性、稳定性、安全性和易用性等性能特点,从而提升居住管理的智能化水平,大大增加了人们居住生活的安全与舒适度。2.1.2设计系统的经济性分析本次设计的系统使用到的模块大多已实现规模化生产,硬件设备的使用寿命较长,价格较为合理的,整体硬件成本在一个较低的价格水平范围内,对于大规模部署在居住环境中具有成本优势。设备状态智能调节,可以减少设备不必要的运行,从而节约能源,提升能源利用效率。对比于传统的管理方式,大大提高了管理效率,减少了人力成本投入,系统能够实时收集设备状态和环境数据,并上传至APP供查看,方便及时了解宿舍情况,做出及时的判断。2.1.3设计系统的社会影响系统的研发和应用促进了传感器和智能控制等技术在生活管理领域的应用,带动了有关技术的创新和发展,使的居住生活更加便捷和舒适。系统通过智能调节设备能耗,实现节能减排,避免不必要的能源浪费,有助于降低宿舍的碳排放量,减少对环境的危害,这符合当前全球倡导的绿色低碳生活理念,有助于推动社会的可持续发展。2.2系统硬件整体框图本设计通过整合多种功能模块构建该系统。系统的硬件构成部分主要由微控制器,多种环境传感器,显示与通信模块等组成。当系统接通电源后,各个模块依次进行初始化流程。其中,DHT11模块工作获取温湿度数据。与此同时,火焰传感器也会开启监测模式,对可能出现的火焰情况进行实时监控。烟雾传感器、空气质量传感器分别采集环境中的烟雾溶度和空气质量数据指标,风扇模块由继电器连接驱动,通过按键可以控制LED、风扇的运行状态,OLED显示屏模块负责显示环境监测的数据量和设备运行状态。采集的数据与设备状态可通过WIFI模块传输至服务器,在APP上进行同步显示,并且APP上可以设置温度阈值和空气质量阈值实现风扇的智能启停,设置烟雾阈值和火焰阈值实现自动报警,同时系统能够接收来自APP的控制指令,对灯光和风扇运行状态进行改变。系统整体硬件组成框图如图2.1所示。图2.1系统整体硬件组成框图2.3主控板的选择和论证方案一:将51单片机作为主控板。51系列单片机作为入门级芯片,它拥有8位CPU和较强的数据处理能力,支持基本的定时、串口通信功能,开发门槛低,适用于一些简单逻辑的控制场景。因具有硬件结构简单、易于上手、开发成本低且稳定等优点,在国内被广泛应用。缺点是I/O口和定时器资源有限,难以满足多功能模块集成的需求,工作频率较低,不能够满足系统对实时响应的速度要求。因此,采用51单片机作为主控板,在实现智能宿舍家居监测控制系统时,在性能和功能等方面上可能无法满足项目的全部需求。方案二:选择STM32F103C8T6最小系统板作为主控板。该芯片拥有出色的性能和低能耗特点,整合了丰富的外部设备资源,提供了多种外设接口,能够方便地与其他设备进行通信和数据传输,且具备完善的函数库与开发工具,便于开发者进行调试和开发工作,且有大量开源项目与教程资源,便于快速实现复杂功能开发。运行速度快并且稳定,最高可达72MHz,能够保证在设计过程中稳定运行,支持快速数据处理,满足多种传感器数据采集与需求分析。因此,能够满足智能宿舍家居监测控制系统实时监测和设备控制的功能要求。综合比较以上两种方案,考虑到智能宿舍家居监测控制系统需兼顾多传感器数据采集、设备控制、数据通信等复杂功能,对主控板的外设丰富度、数据处理能力、实时性要求较高,51单片机因外设局限、性能不足难以满足需求,为了满足和实现智能宿舍家居监测控制系统在功能上的需求,保证系统的稳定性和可扩展性,最终选择了具有强大性能和丰富外设接口的STM32F103C8T6作为智能宿舍家居监测控制系统的主控板。STM32F103C8T6实物如图2.2所示。图2.2STM32F103C8T6实物图2.4温湿度模块的选择和论证DHT11温湿度传感器以其稳定性、低功耗、开发简便、易于集成以及高性价比等优点,是智能宿舍家居监测控制系统中温湿度模块的理想选择。DHT11传感器功耗极低,这对于需要长时间运行的智能系统来说,可以显著降低能耗,延长系统使用寿。DHT11温湿度传感器采用的是单总线进行数据通信,连接简单,方便与各种微控制器进行集成,这降低了系统设计的复杂性和成本。选择其他高精度温湿度传感器,如SHT30,支持I2C通信,数据传输稳定,测量范围更宽,但成本较高,对主控通信资源占用更多,对智能宿舍场景而言,宿舍环境温湿度变化相对平缓,高精度优势难以体现,且增加硬件成本与开发复杂度,性价比不足。综合考虑后选择DHT11温湿度传感器,既能高效实现监测功能,又兼顾经济性与开发可行性,是智能宿舍家居监测系统的理想选择。DHT11温湿度模块实物如图2.3所示。图2.3DHT11温湿度模块实物图2.5烟雾模块的选择和论证本设计选用了MQ-2烟雾模块。模块具备低成本、易于集成、开发简便的特点。通过气敏材料电阻变化输出模拟信号,接触烟雾后短时间内就能响应,完全满足系统功能需求。且如果选择光学烟雾传感器通过光学散射原理检测,精度高、误报率低,适用于对烟雾检测要求极高的专业场所,缺点明显,成本高、体积大,通信协议复杂,开发难度大,性价比不足。因此,为了满足智能宿舍家居监测控制系统在烟雾监测方面的需求,同时兼顾成本、易用性和开发效率等多方面因素考虑,最终选择了该模块作为本系统的烟雾监测模块。MQ-2烟雾模块实物如图2.4所示。图2.4MQ-2烟雾模块实物图2.6显示模块的选择和论证在市场上,常见的显示模块包括OLED、LCD和TFT液晶屏等,这些显示模块在功能上都可以显示英文、数字、汉字和图片,但各自的优缺点不尽相同,需要根据实际的需求进行选择。方案一:选择LCD显示模块。LCD显示屏成本较低,显示精度较高且寿命长,但其视角范围窄,在不同角度观察时颜色与亮度会发生变化,响应速度慢,对于智能宿舍家居监测控制系统,难以满足实时动态数据清晰展示的需求。LCD的视角与响应缺陷会影响用户查看体验,不能满足居住环境下的多角度查看需求。方案二:选择TFT液晶显示模块。虽然TFT屏幕视角范围较大,能在不同角度观察时颜色都不会受到影响,但是使用能耗太高,并且刷新速率较慢,在需要实时动态显示数据的场景中适用性较差。方案三:选择OLED模块。该显示屏具有响应迅速、体积小、能耗低、画面显示清晰等特点,并且OLED模块在驱动上也更为简单,无需像LCD那样需要复杂的背光系统。这样在系统的设计和实现时更加方便。综合考虑了三种方案后,选择了OLED显示屏。因为OLED显示模块以其高清晰度、体积小、功耗低和驱动简单等优点,完全满足本课题设计的需要,在智能宿舍家居监测控制系统中具有明显的优势。OLED显示模块实物如图2.5所示。图2.5OLED显示模块实物图2.7空气质量模块的选择和论证本次设计选用的是MQ-135空气质量监测模块。根据系统环境监测的功能需求,该模块可对常见的空气污染物开展检测工作。对常见污染气体具备较高的感应灵敏程度,能够快速感知低浓度气体。具有较高的灵敏度、低成本、良好的稳定性等优点。因此,选择MQ-135空气质量模块,是智能宿舍系统的优选方案,即满足智能宿舍家居监测控制系统在空气质量监测方面的需求,又兼顾了成本、易用性和开发效率等多个方面因素。2.8通信模块的选择和论证方案一:选择蓝牙通信模块。蓝牙模块具有体积小、易于集到系统中的特点,且可以免费使用蓝牙协议。但是,蓝牙模块的数据传输量相对较小,通信距离较短,容易被障碍物影响通信质量。因此,该模块对本设计手机端进行的一些控制会带来一定程度的影响。方案二:选择WIFI通信模块。WIFI模块尺寸小、性能稳定可靠、内置多种接口以及TCP/IP协议,支持无线网络协议和TCP/IP协议栈进行信息传输。具有传输速度快、传输距离远和可实现一对多的通信等优势。通信协议非常灵活,支持多种通信协议和数据格式,便于系统快速开发和调试。结合设计需求综合考虑了以上两种方案,蓝牙模块由于于通信距离和数据传输量,无法满足功能需求,WIFI模块传输速度快,传输距离远,支持多设备接入、开发性价比更高,作为服务器和主控芯片之间的数据处理非常合适,能够高效地应对数据的接收与发送任务WIFI通信模块实物如图2.6所示。图2.6WIFI模块实物图2.9火焰传感器的选择和论证本设计选用的火焰传感器是基于LM393双电压比较器,结合红外发射与接收电路实现火焰检测。LM393是比较器芯片,能够快速比较输入信号与参考电压,实现对火焰的快速检测,能够及时检测到火焰,灵敏度还可以通过电位器进行灵活调节。考虑到成本、易用性和可靠性等多方面因素,是智能宿舍家居监测控制系统中火灾监测环节的理想选择,符合系统的整体设计要求。火焰传感器实物如图2.7所示。图2.7火焰传感器实物图2.10继电器模块的选择和论证在设计中风扇模块需要五伏供电,并且对风扇的控制是该系统要具备的功能需求。风扇功率相对较大需要考虑电气隔离方面的问题。继电器不仅能够提供电气隔离,还可以将控制电路与负载电路隔离开。因为选择的继电器模块的工作电压为5V,与风扇模块所需要的供电电压一致,可以不需要增加电平转换电路。因此选择了一路5V继电器驱动风扇模块。继电器模块实物如图2.8所示。图2.8继电器模块实物图

第3章系统硬件电路的设计3.1STM32F103C8T6主控模块在本次的智能宿舍家居监测控制系统设计中,选择了STM32F103C8T6作为系统的主控单元,主要是因为该模块集成了丰富的外设接口和强大的处理能力,有两个12位ADC,转换速度高达1μs,支持多达16个通道,适用于模拟信号的采集和处理,能够满足系统对环境数据的处理。配置了三个普通定时器和一个高级定时器,支持PWM输出与输入捕获功能,满足了系统中各种定时控制需求。两个I2C接口,连接OLED显示模块,确保实时数据显示。USART全双工异步串行通信接口,支持高达4.5Mbps的波特率,可以完成数据远程传输任务。该芯片拥有多种低功耗模式,可以在不同场景下灵活降低能耗。具备高效数据处理与逻辑运算能力,最高工作频率达72MHz,还支持看门狗定时器、RTC实时时钟等功能,进一步增强了系统的稳定可靠性能。在本次设计中,STM32F103C8T6作为系统的核心控制板,主要负责接收检测器收集到的数据,对数据进行处理和应用,确保各模块运行的准确性,让当前的数据信息正确无误的显示在OLED显示屏上。微控制器硬件设计连接图如图3.1所示。图3.1主控模块硬件设计连接图3.2火焰传感器模块本次设计将STM32单片机的PA0引脚与火焰传感器模块的AO引脚相连接,电源和地与STM32的电源和地正确连接。在微控制器引脚配置中,将PA0的模式设置为模拟输入模式,选择ADC1通道0作为火焰传感器数据采集通道。初始化ADC1的采样周期、转换规则等,使ADC1通道0对传感器的电压信号进行采样,接着将模拟量转换为数字量,传输给微控制器进行分析处理,实现对火焰信号的监测。火焰模块设计连接图如图3.2所示。图3.2火焰传感器模块设计连接图3.3OLED显示屏模块选择了0.96寸大小的OLED模块作为显示器。模块使用I2C协议与STM32单片机进行数据通信,采用软件模拟I2C协议进行,可以使用任意的管脚来实现,不需要依赖于特定的引脚进行I2C通信协议与硬件模块进行通信。并且软件模拟I2C的代码相对独立,可以在不同的硬件平台和芯片之间进行移植。将STM32单片机的PB13和PB14引脚分别与OLED显示屏模块的SCL和SDA引脚相连。正确将OLED显示屏的VCC电源引脚和GND引脚分别连接到微控制器的相应电源引脚和地线上,保证模块的正常供电和信号数的稳定传输。通过软件模拟I2C协议,实现I2C通信的起始信号、数据传输、应答处理及停止信号,进一步完成对OLED显示屏的初始化、指令写入和数据显示功能。主要是负责将主控板传输过来的火焰、烟雾、温湿度、空气质量等环境监测数据和灯光、风扇设备状态进行实时显示。OLED模块设计连接图如图3.3所示。图3.3OLED模块设计连接图3.4按键控制电路设计设计了三个按键分别是对灯光、风扇和触发WIFI模块进行配网。设计中PB0引脚对灯光进行控制,PA11引脚对WIFI模块配网进行控制。PB10引脚则是先通过对继电器控制进一步改变风扇运行状态。全部配置为外部中断触发模式,中断触发方式设定为下降沿触发,并依据实际需求合理配置中断优先级。经过这样设置,系统可以实时响应外部事件,完成LED灯、风扇控制以及WIFI模块配网功能要求,保证了系统实时性。由于机械按键可能会产生抖动信号,考虑到增加硬件消抖需要额外成本投入,本系统采用了软件延时消抖方法,在中断处理函数中实现去抖动逻辑。按键电路设计连接图如图3.4所示。图3.4按键电路设计连接图3.5烟雾传感器模块在本次系统设计中选择了MQ-2烟雾传感器模块用于环境烟雾监测将主控板的PA5引脚与MQ-2烟雾传感器模块相连接。PA5引脚支持ADC功能,将引脚模式配置为模拟输入模式,用于采集烟雾传感器的数据。且ADC1工作模式设置为连续扫描模式,这样可以满足设计监测数据的实时性。烟雾传感器模块设计连接图如图3.5所示。图3.5烟雾传感器模块设计连接图3.6温湿度模块模块采用的是单线通信协议,要求在数据通信过程中,需要严格遵循协议时序发送起始信号,按照既定的时序规范来接收数据。将控制板的PB12引脚与温湿度模块的DATA引脚相连结,先将获取到的数据进行校验,看获取到的数据值是否正确。以此,来保证数据的正确性。DHT11模块连接图如图3.6所示。图3.6温湿度模块设计连接图3.7空气质量传感器模块环境中空气质量的监测采用了MQ-135模块。设计中将STM32单片机的PA1引脚与空气质量模块的AO引脚连接。用ADC1的通道1进行模数转换以采集空气质量传感器的数据。并且为了满足数据实时性的要求把ADC工作模式设置为连续扫描模式,还启用了DMA转运配置了循环模式,这样可以将传感器采集到的数据快速进行传输。空气质量模块设计连接图如图3.7所示。图3.7空气质量模块设计连接图3.8报警模块在设计中将STM32单片机的PB8引脚配置为推挽输出模式,将其与报警模块的I/O引脚相连。根据实际需求设定烟雾和火焰的阈值,当监测到数值超出了烟雾或火焰对应设定的阈值时,系统将开启蜂鸣器进行报警功能。报警模块连接图如图3.8所示。图3.8报警模块设计连接图3.9WIFI通信模块本次系统设计中选用了ESP-01S模块作为负责WIFI联网功能的网络通信模块。运用微控制器的串口USRAT2来与WIFI模块进行连接,为了保证通信过程中信息传输的稳定可靠,需要对USART2的各项参数进行精准的配置。WIFI模块获取到数据信息后,会按照既定的通信协议,将这些数据进行格式转换处理,随后将其发送到手机APP界面上进行清晰直观的展示。不仅如此,用户还能在手机APP端下发控制命令,这些命令会被传回到系统中,进而改变系统执行设备的运行状态,实现远程控制的目的。WIFI模块设计连接图如图3.9所示。图3.9WIFI通信模块设计连接图3.10风扇模块在本次设计中是将主控板的PB7引脚设置为推挽输出模式,将PB7引脚与继电器的信号引脚相连接,通过输出高低电平来控制风扇运行状态。输出高电平时,风扇开始运转。输出低电平时,风扇停止运转。风扇模块设计连接图如图3.10所示。图3.10风扇模块设计连接图五邑大学本科生毕业设计(论文) 系统软件设计第4章系统软件设计4.1系统软件总体流程设计该系统设计的整体流程如图4.1所示。图4.1智能宿舍家居监测控制系统软件总体流程图根据设计功能要求,先把STM32单片机主控板的系统时钟和模块所用到的引脚配置好。进行程序编程把各个模块进行初始化,温湿度模块采集温湿度数据,烟雾模块持续监测烟雾浓度,空气质量模块动态获取环境质量参数,火焰模块监测环境是否有火焰,可以通过按键对灯光和风扇进行开关,OLED模块将监测到的环境数据和设备状态信息进行显示。WIFI模块负责将数据信息进行上传,在手机APP可以监测数据变化情况,可以手机APP远程控制设备运行状态。在系统运行过程中,各模块完成初始化收集数据与设备状态信息进行显示,同时能在手机APP上进行监测。通过在APP上设置温度或空气质量阈值对风扇进行自动开启,设置烟雾或火焰阈值实现自动报警。4.2程序代码的编写环境KeiluVision5软件开发界面如图4.2所示。图4.2KeiluVision5软件开发界面图在嵌入式系统开发中,选择合适的编程环境是比较重要的。在本次设计中编程语言选用C语言,采用KeiluVision5作为程序编写软件,KeiluVision5是嵌入式系统开发领域常用的编程软件,支持51系列、STM32系列等单片机编程。界面设计简单,具有容易上手的优势,即使是初学者也能快速掌握其基本操作,开始进行项目开发。对缩短开发周期、提高开发效率非常有帮助。KeiluVision5拥有较强大的调试能力,能够较好地实现参数测定、设计断点位置、单步、双步执行等功能。完成代码编码后,通过ST-LINK烧录器将程序烧录到STM32主控板中。ST-LINK烧录器操作简单,稳定可靠能够快速将编写的程序下载到目标芯片中。在程序编写时,将各子程序进行封装,进行模块化调用有利于提高代码的可维护性和可扩展性。在进行程序编程之前,需要对KeiluVision5进行运行环境配置。要根据实际所使用的STM32芯片型号,设置正确的芯片数据库,确保开发环境能够识别并支持该芯片的所有外设功能。4.3主要模块程序设计4.3.1温湿度模块程序设计DHT11模块的软件设计流程图如图4.3所示。图4.3DHT11温湿度模块工作流程图DHT11温湿度模块是单总线通信,通过单线传输数据来与控制器进行数据交换。开始时主机发送起始信号后,等待温湿度传感器进行响应,在规定的时间内没有检测到模块的响应信号,可能是数据获取失败,需要重新发送起始信号。成功响应后按照通信时序,依次接收传感器通过数据线按照40位的数据格式依次发送的每一位数据。全部数据接收完成后,使用软件程序进行数据校验,计算前四个字节的数值总和与校验值进行比对,相等说明数据接收没有错误,否则说明接收错误。确保接收到的数据准确性。4.3.2火焰传感器模块程序设计在本次设计中是通过把主控模块的PA0引脚配置为ADC1通道0对火焰传感器模块的数据进行采集。先把PA0引脚配置为正确的模拟输入模式,根据实际使用情况把ADC1通道0相关参数配置好,当火焰传感器模块数据采集完毕后,利用DMA对采集到的数据进行转运,这样可以确保数据的实时性。获取到数据后根据功能要求对数据进行处理和正确运用。火焰传感器模块的软件设计流程图如图4.4所示。图4.4火焰传感器模块工作流程图4.3.3OLED显示模块程序设计选用了OLED显示屏模块对系统信息进行显示。基于I2C通信协议,按照OLED显示屏模块的要求往设备的寄存器地址写出对应数据,根据系统功能的实际需求,通过发送不同的命令来控制显示内容和显示方式,对OLED模块进行初始化配置。配置完成后在此基础上把要显示的数据通过指令控制显示在对应的位置上。为了满足系统要求的数据信息显示实时性需求,在主循环中不断刷新显示数据。OLED显示屏模块的软件设计流程图如图4.5所示。图4.5OLED显示屏模块工作流程图4.3.4空气质量传感器模块程序设计在本次设计中把主控模块的PA1引脚与空气传感器模块的AO引脚相连接。把引脚配置为正确的模式,来采集环境质量信息。在设计时考虑到了系统要求数据信息的实时性需求,在配置ADC相关参数时,开启了连续和扫描模式,DAM配置了循环模式,对采集到的数据进行实时的转运,确保了数据的实时性。空气质量传感器模块的软件设计流程图如图4.6所示。图4.6空气质量传感器模块工作流程图4.3.5风扇模块程序设计在本次设计的功能需求中,启动风扇模块主要是当监测到温度数值和空气质量数值过高时自动开启风扇进行降温和通风。在设计中是通过继电器来对风扇模块进行控制,这样的话控制模块就可以通过改变引脚电平的高低来控制继电器的通断,以此来控制风扇的状态。风扇模块可以通过按键进行控制,显示屏模块和手机APP端都可以同步风扇模块状态进行显示,手机APP端可以下发指令对风扇状态进行控制。设计中可以根据实际情况需求,在手机APP端灵活的对阈值进行设置,当实际数值大于设置的阈值时,风扇模块就会自动开启。风扇模块程序设计流程图如图4.7所示。图4.7风扇模块工作流程图4.3.6按键模块程序设计本次设计中用到了按键模块可以对灯光和风扇模块进行控制。在设计中按键模块配置为外部中断触发模式,设置触发方式为下降沿触发,这样在用按键对设备进行控制时可以达到实时响应。当按键被按下时,按键模块的软件设计流程图如图4.8所示。图4.8按键模块工作流程图4.3.7WIFI模块程序设计在对通信模块进行软件程序编写时要注意,在使用前需要对模块进行烧录,还需要使用AT指令对WIFI模块进行校验和相关配置,配置成功后才可以正常通信。通信的基本步骤是先发送AT指令进行模块相关配置的初始化,连接指定网络。当连接成功后将要上传的数据信息按指定格式进行打包,再将数据包通过网络进行发送,接收端接收到后进行解包,把要显示的数据正确显示在手机APP上。手机APP端下发指令对设备进行控制步骤为先将数据进行打包发送,WIFI模块接收到数据包后进行数据解包从中获取有效的指定信息,再根据有效信息进行判断,让相对应的设备进行状态变化。WIFI模块的软件设计流程图如图4.9所示。图4.9WIFI模块工作流程图4.3.8烟雾模块程序设计在本次设计过程中将主控模块的PA5引脚与烟雾传感器模块的AO引脚相连。借助ADC1的通道5完成对烟雾传感器模块数据的模数转换,来获取烟雾感器的数据。在设计时,同样为了满足系统对数据信息实时性的要求,在配置ADC相关参数时,也开启了连续和扫描模式,将DAM设定为循环模式,确保采集到的数据能被及时转运,数据的实时性得到保证。烟雾模块的软件设计流程图如图4.10所示。图4.10烟雾模块工作流程图4.3.9报警模块程序设计在本次设计的功能要求中,启动蜂鸣器报警主要是当监测到火焰或烟雾数值高于设定的阈值时进行自动报警。在手机端APP上可以分别设置火焰阈值和烟雾阈值,当监测到环境中火焰或烟雾数值高于设定的阈值时蜂鸣器自动报警,APP界面信息进行同步更新。报警模块的软件设计流程图如图4.11所示。图4.11报警模块工作流程图系统调试5.1系统调试过程在本次设计过程中,系统的总体调试有两个部分。在设计上实现了软件代码采用模块化编写方式,硬件部分则实现了功能的模块化设计。在系统设计调试过程中,并不是将所有模块直接进行整合进行系统功能的整体调试,是将每个功能模块根据设计功能需求一个一个进行独立的测试,每个模块功能测试无误后,再将所有模块集成进行系统性联调。模块整合起来进行整体调试。这样当模块调试出现问题时,可以第一时间找出是哪个模块出现了异常情况,快速找到问题所在进一步及时处理相关问题。避免了当一个模块出现问题时,需要花费大量时间去排查问题,提高了调试的工作效率。5.2硬件调试硬件模块调试时,先查阅模块相关资料,明确各引脚功能,对硬件模块使用到的的单片机引脚做好标识。先将模块在面包板上进行电路搭建测试,使用杜邦线连接,对不同模块分别进行搭建测试,保证各个模块能正常运行,进一步将各个模块在面包板上进行整合,确保能实现预期功能,避免了在绘制好PCB板后电路出现问题,导致无法实现预期功能。本系统的硬件原理图设计和PCB图的绘制都是在嘉立创EDA上进行的。在原理图设计时要仔细核验模块间引脚的连接是否正确,设置好网络端口。在进行PCB图绘制时,选择合适的电路板尺寸绘制,将模块摆放在规划好的位置区域,布局排版要合理为电路走线留好空间,避免走线过密。PCB板制作完成后,按照原理图将各个模块焊接在PCB板上,焊接完成后进行总体调试,确保各个模块正常工作。在硬件调试过程中,原理图的设计和PCB图的绘制是非常重要的,合理的布局规划和模块化调试有利于提高调试效率,能够快速的找到问题所在进行解决。5.3软件调试在开始进行软件程序编写前,首先要去了解各模块的工作原理,查找模块相关手册资料,根据模块手册的内容要求去进行程序编写。本次系统的软件程序编程和调试部分同样是按照模块化编程来实现的,每个模块各自完成特定功能并单独封装。模块单独编写,这样方便修改和管理,在主程序中只要对使用到的模块进行声明,经过初始化之后就可以直接调用,使整个主程序结构更加清晰,有利于维护。模块化编程也有助于在编译出现错误时快速找到问题所在,提高调试效率。在软件调试过程中,还用到了串口通信,向电脑发送调试信息来对软件程序进行检查。在完成对各模块编程的独立调试后,通过下载器烧录到最小系统板中,进行整体系统的调试。5.4系统调试结果在完成了对软件和硬件部分的调试之后,就可以把整个系统整合起来进行整体功能的检查和调试,确保系统可以正确实现预期功能。先对实物的硬件模块焊接进行检查,在确保没有问题后将软件程序通过下载器烧录到最小系统板上,程序烧录成功后,把下载器与最小系统板的连接断开,将系统板接上电源,观察各模块是否都成功上电。在系统功能检测阶段,需逐项对每个功能模块开展多次测试,通过反复验证确认是否符合预设的设计标准。硬件上电图如图5.1所示。图5.1系统硬件上电图在给最小系统板接上电源后,观察到系统上所有模块都成功上电正常运行。在OLED显示屏上成功显示预先设定的模块信息名称和设备运行状态信息,说明OLED显示屏模块初始化成功。但是可以看到在OLED显示屏上仅仅只显示了预先设定的信息名称和设备运行状态信息,数据部分空白并没有将对应数据显示出来。这种现象是正常的,因为模块的初始化过程需要一定的时间来完成,系统刚刚上电时模块初始化过程还未完成,因此还没有实际的数据可以显示。系统硬件初始化如图5.2所示。图5.2系统硬件初始化图系统上电过几秒钟后,可以观察到OLED显示屏上成功显示完整的模块信息和对应模块的数据。说明此时模块初始化过程已经完成,系统将获取到的实时数据进行处理,把准确的数据传递到OLED显示屏上进行显示。当检查完系统各模块初始化成功,获取到的数据无误且成功显示在OLED显示屏上后。进一步是检查WIFI模块是否连接指定网络,成功将数据打包并进行传输,确保数据能够同步到手机端的APP上进行显示。打开手机端APP查看系统信息数据,可以看到信息数据成功显示。表明网络连接已成功,把数据依照指定的协议格式完成打包操作。将数据上传到至服务器,服务器将接收到的最新数据同步到手机端的APP上进行显示。通过多次观察可以发现,当OLED显示屏上数据发生变化时,手机端APP界面数据会进行动态更新,显示最新的系统设备运行状态和采集到的环境数据。手机APP界面图如图5.3所示。图5.3手机APP界面图检查完WIFI模块能成功将数据上传后,下一步是通过按键控制改变灯光和风扇运行状态,看看是否会在OLED显示屏上正确显示设备运行状态。按下灯光和风扇控制按键后,设备成功响应运行,设备状态信息正确的显示在OLED显示屏上。显示屏信息改变图如图5.4所示。图5.4显示屏信息改变图观察手机端APP界面,可以看到界面数据信息发生变化,系统灯光和风扇运行状态正确的在APP上进行显示。APP界面显示如图5.5所示。图5.5APP界面显示图图5.6手机APP界面报警图在手机端APP可以依据实际设定阈值,当烟雾监测数值超出所设阈值时,蜂鸣器便能自动报警。APP界面报警图如图5.6所示。在手机端APP上设置温度阈值,可以看到当温度数值大于温度设置阈值时风扇自动开启。APP设置界面图如图5.7所示。图5.7APP设置界面图可以看到当实际温度值高于设定的温度阈值时风扇自动开启,手机端APP上风扇运行状态正确显示,观察OLED显示屏上信息,风扇状态也正常显示。5.5遇到的问题和解决方案系统设计过程中,在硬件调试和软件调试时难免会遇到各种问题,在面对问题时需要我们找到相应解决问题的方法。问题1:对火焰传感器模块进行功能测试时数据异常,显示的数值错误不会根据实际情况发生正确改变。解决方法:首先对火焰传感器连接引脚进行检查,看连线是否正常。经过多次重新复查确定了模块引脚连接没有错误。用面包板搭建电路,单独对火焰传感器模块进行测试,看模块本身有没有问题。在对火焰模块进行单独测试发现数据能正常准确的显示,说明模块没有问题。进一步打开软件程序进行查看,发现是模块的相关模式通道配置错误,重新检查之后正确配置好相关参数。对火焰模块进行测试,观察可以发现模块显示数据正确。问题2:接通电源后,OLED显示屏没有数据信息显示。解决方法:首先对OLED模块引脚连接进行检查,重新焊接,防止因为焊接问题导致模块不能正常工作,重新焊接后还是不能正常显示。再对OLED模块程序进行检查,初次检查模块的代码没有问题。多次检查后发现模块代码编写没有错误,但是OLED模块初始化程序没有在主函数中进行调用,所以导致了OLED模块没有数据信息显示。在主函数中调用后,信息成功显示。问题3:手机端APP上数据不会实时更新,数据信息不会发生变化。解决方法:对WIFI模块程序进行检查,查看是否正确配置相关参数,连接的网络是否无误。检查发现模块相关配置没有错误,连接的网络没有问题。查找和阅读相关资料后发现数据不能在手机APP上更新,是因为对数据信息进行打包传输的协议格式编写出现了错误。查看了正确格式协议要求后,严格按照规定的格式协议,对代码重新编写。修改完成后,此时数据信息变化会在手机APP上进行实时更新,数据信息没有出现错误显示。结论本次设计是基于STM32单片机来进行设计的一款智能宿舍家居监测控制系统。以STM32最小系统板为控制核心单元,负责协调各模块的运行,各类传感器采集环境数据,显示模块显示数据信息,WIFI模块与APP进行网络通信,通过APP可以设置阈值,实现风扇自动启停和自动报警,可以通过手动按键控制LED和风扇状态。同时系统能够接收来自APP的控制指令,对灯光和风扇运行状态进行改变,实现远程控制。完成了对每个模块功能的设计,对比选择每个功能所需要的器件。主要工作内容如下:收集与毕业设计相关的国内外研究资料,全面了解相关知识和技术,了解这些技术在行业中的发展现状和技术上的新方向,确定设计的可行性。依据设计需求来挑选恰当的设计方案,按照功能需求,收集各模块相关资料,选定合适的元器件以及开发环境。先将模块用面包板进行系统搭建,进行系统功能的测试,验证系统方案是否切实可行。构思系统电路原理图并设计PCB布局,完成硬件电路板的焊接。查看各模块的通信协议,根据功能要求,结合硬件模块进行相

温馨提示

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

最新文档

评论

0/150

提交评论