高空作业适宜环境监测预警系统_第1页
高空作业适宜环境监测预警系统_第2页
高空作业适宜环境监测预警系统_第3页
高空作业适宜环境监测预警系统_第4页
高空作业适宜环境监测预警系统_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第1章绪论1.1课题的研究背景与意义各行业的安全生产一直备受关注,其中高空坠落是最破坏性和危害大的一种事故类型,其比例占各行业高空作业意外事故的四成以上。目前,现有的防高空坠落设备安全性不足,对于电力行业等高空作业较为常见的领域,作业人员戴着绝缘安全帽、安全带等绝缘设备进行登高作业。但人工检测准确率低下,且无法及时监测环境是否变化,保障高空作业人员的安全性存在困难。从各大数据显示,高处坠落是最危险最致命的,占比达到39.5%。这个数字非常惊人,并且说明必须采取措施来防止高处坠落事故的发生。为了减少建筑行业事故造成的伤亡,我们应该在工地上加强安全意识和培训,提高监管和执法力度,以及使用更安全的设备和技术来降低高处坠落的风险。这些措施不仅有助于减少人员伤亡,还可以提高建筑行业的整体效率和质量。1.2国内外的研究现状与发展趋势高处坠落是建筑行业中最严重的安全事故之一。这种事故发生的原因很多,可以是工人操作不当、缺乏安全设备或者施工现场管理不善等。为了预防高处坠落事故的发生,我们需要对其特点和类型进行深入研究,并采取有效的措施,如加强培训、提供必要的安全设备、加强监管等,确保施工过程中的安全性。通过全面了解高处坠落事故的相关情况,我们才能制定出更加科学合理的预防措施,有效避免类似事故的发生。这不仅关乎着建筑行业工人的生命安全和身体健康,也关系到建筑行业的可持续发展和整体形象。这样也可以确保从事高空作业的工人们有一个更加安全的工作环境。在这方面,一些研究者提出了各种创新性的解决方案,如带安全气囊的高空作业安全服、电气电子控制技术在高空作业平台的应用,以及基于Fuzzy-DEMATEL的建筑项目高空作业风险识别与评价等。这些研究通过分析风险因素、设计相应的安全控制系统、建立指标体系等手段,为高空作业的安全管理提供理论和实践依据,有助于有效减少高处坠落事故的发生率和死亡率。国外在高空作业安全研究方面起步较早,经多年发展已取得了较高水平。例如,一些研究人员开发出用于核电站高空作业的共享遥控机器人,以替代危险的人工作业;另一些研究则着眼于提高合成绳索的腐蚀抗性,制定了评估无机酸对合成绳索影响的标准,旨在提高高空作业的安全性。此外,还有针对空中工作平台车辆底架的加速寿命测试研究,证明弯矩杆的有效性,为提高其他高空作业平台的安全性提供了新思路。这些研究为高空作业安全管理的实践提供了技术支持和启示,使得国外高空安全研究达到了相对较高水平。综合国内外现状分析,开发高空作业适宜环境监测预警系统具有很大的现实意义,本课题设计的高空作业适宜环境监测预警系统具有很大的市场前景。高空作业适宜环境监测预警系统是目前高空安全领域研究的热点之一。其发展趋势主要包括以下几个方面:1.智能化:未来的高空作业适宜环境监测预警系统将更加智能化,能够实现自动化监测和预警,根据不同环境变化进行智能调控,提高安全性和效率。2.多传感器融合:为了获取更加准确的高空环境数据,系统将使用多种传感器进行监测,包括温度、湿度、氧气和PM2.5等传感器,并利用融合算法对这些数据进行处理和分析。3.互联网+:借助互联网技术,将实时监测数据上传到云端,通过数据分析和挖掘,及时发现隐患并预警,同时提供智能化的决策支持。4.可穿戴设备应用:借助可穿戴设备如智能手表、智能眼镜等,将高空作业人员情况纳入监测范围,以便在必要时快速响应。5.数据共享:将国内外相关的高空作业适宜环境监测预警系统研究成果进行汇总和分享,提高研究水平和科学性,进一步完善该领域的研究和应用。1.3课题的研究内容本系统是一个基于STM32F103C8T6单片机的高空作业适宜环境监测系统,通过温度传感器、霍尔风速传感器和雨滴传感器对高空作业环境进行监测。此外,该系统还能检测人体健康状况,并使用WIFI模块将监测到的数据上传到手机APP,方便查看。如果监测结果显示高空环境不适宜作业,则系统能发出报警提醒作业人员尽快返回地面。该系统的主要功能包括:温度检测、风速检测、雨滴监测、人体检测、实时数据传输和报警提示,旨在帮助保障高空作业人员的安全。第2章系统设计2.1系统的整体方案高空作业适宜环境监测预警系统以STM32单片机为控制中心,通过DS18B20温度传感器、雨滴传感器、风扇加霍尔装置和max30102血氧心率模块对高空作业环境进行监测,并根据设定的阈值通过蜂鸣器进行报警控制。同时,为了能够及时应对突发事故,系统还增加了ESP8266wifi模块,实现了无线通讯,使外部人员可以通过手机app随时了解高空作业人员的工作情况,并采取必要的干预措施,从而最大程度地保证高空作业人员的安全。其整体的硬件框图如下:图2.1系统的结构框图2.2主控芯片的选型单片机是一种集成了存储器、CPU和输入输出口等功能的微型计算机芯片,也称为单片微控制器。它具有价格便宜、体积小、重量轻、质量可靠等特点,被广泛应用于通讯设备、智能仪表、汽车导航系统等领域。单片机系统包括软件和硬件两个部分,其中软件系统是指模块的程序代码,硬件系统则包括芯片、硬盘、串口、输入输出口和储存器等。单片机的主要特点包括高集成度、强大的控制力、低功耗、低电压和易扩展性,使得它在各个领域都有着广泛的应用前景。本设计芯片需要用到串口,定时器,低功耗及普通io引脚以及IIC总线,所以要对芯片选型。方案一:89C5289C52是一款CMOS8位微控制器,具有高性能和低功耗的特点。它采用了经典的MCS-51内核,并融入自身特有的功能。该微控制器内置8K字节的可编程闪存,并且支持空闲模式和掉电保护模式。在空闲模式下,CPU就是"歇着"了,但其他部件比如存储器、计时器或计数器、串行口和中断功能仍然会正常工作,可以响应外部的请求并执行相应的操作。这样就能大大减少系统的功耗,延长电池寿命。而在掉电保护模式下,随机存储器里面的数据得以保存,单片机先暂停工作,等待下一个中断或硬件复位信号的到来才会重新运作。在这种模式下,所有的输入输出设备都被关闭,只有一些最基本的电路还在运转,其余芯片都被切断电源。这样做是为了保持系统数据的完整性,在下一次启动时,程序就可以从上次停止的地方继续运行。89C52有40个引脚,其中32个通用IO引脚可以通过锁存器芯片扩充,使其适用范围更广泛,尤其适用于需要低功率、功能丰富的工业控制系统。89C52通常使用串口下载的方式进行程序下载。方案二:STM32STM32系列基于ARM(AcornRISCMachines)的Cortex-0内核体系结构。它专门针对廉价、低能耗、高性能的嵌入式设备的控制器。其中F1系列可分为增强型、基本型和互联型。STM32最多达112个快速IO端口,提供休眠、停止、待机三种低功耗模式,提供串口调试(SWD(SpecialWarrantyDeed))和JTAG(JointTsetActionGroup)接口两种调试模式。同时,STM32还兼容所有的ARM工具和软件。STM32的价格较89C52系列略高一点。方案三:ARMARM处理器是一款RISC(ReducedInstructionSetComputing)微处理器,全称为AcornRISCMachine,是Acorn公司的产品。Thnumb(16位)/ARM(32位)指令集在ARM处理器上都受到支持,8位/16位设备与之兼容。相较于其他微处理器,ARM处理器大量使用寄存器,数据操作更快,寻址方式更灵活简单,执行效率更高。此外,ARM处理器提供了丰富的运行模式,使得应用系统更加丰富和人性化。ARM7,ARM8,ARM9,ARM10等系列的处理器,性能越发的强大[13]。但,也因为如此,ARM处理器的价格比STM32等处理器更高。根据实际设计的要求,三款新都各有各的优势,但是STM32芯片具有低功耗模式,而且成本适中,适合推广,所以本设计采用STM32单片机作为单片机方案。2.3温度模块的选型在高空作业适宜环境监测预警系统中,温度采集部分非常重要,因为温度采集数据是当前室外温度是否高温的关键指标。实现温度采集的方法有两种,一是使用模拟型温度传感器,另一种则是采用数字型温度传感器。其中,热敏电阻温度传感器采用感温效应来测量温度,通过对随着温度变化的电压或电流进行采样,并利用A/D转换电路和感温电路来处理数据。虽然这种方案实现较为复杂,而且相对精度较低,但是在实际应用中也有一定的优势,例如成本较低、体积较小等。相比之下,数字型温度传感器具有响应速度快、准确度高等特点,但是相应的成本也会更高,比如DS18B20传感器可以将温度直接转化成串行数字信号,无需外部元件和模数转换,只需数据总线提供3.0V~5.5V电压即可。DS18B20传感器测量的温度范围广泛,可以达到-55~+125摄氏度,分辨率更可达0.0625摄氏度。此外,DS18B20传感器的接线方便,适用场景广泛,电路设计也更为简单,采集得到的温度数据精度更高。因此,相比于热敏电阻类的感温器件,采用DS18B20数字温度传感器更为简单、方便、精度更高,更适合在高中室外中进行温度采集。2.4血氧心率模块心率是指每分钟心肌细胞收缩和恢复的总次数,通常通过监测心电波形来得到。正常情况下,人的心率在60~100次/分钟之间,不同年龄段和性别的人群心率也有所差异。一般来说,年轻人的心率比老年人高,女性的心率比男性高。心率的变化与心脏疾病密切相关,因此对心电信号进行监测非常重要,可以及早发现和预防心脏疾病的发生。图2.2心电波形示意图人体的心肌细胞在进行收缩和恢复的过程中会产生微小的生物电能,这是由于人体细胞内外正负离子分布不均,导致形成了生物电流。这些生物电流随着体液通过传播到体表,并且形成了电位差,这个电位差可以被皮肤表面的金属电极所捕获。心电图检测仪器利用金属小板作为电极,放置在人体的胸部和肢体上,以探测心脏发出的微弱电信号。这些电信号被传输到仪器中,被记录下来形成动态曲线,最终在屏幕上呈现出心电波形。通过观察心电波形的变化,医生可以了解到患者的心跳规律、心脏是否存在异常等情况,从而判断患者是否存在心脏疾病,并进行进一步的治疗和护理。这种技术不仅方便简单,而且非常安全可靠,对于维护人们的健康具有重要的意义。具体来说,当心肌细胞处于静息状态时,细胞内负载着较多的钾离子(K+),而细胞外则富含钠离子(Na+)和钙离子(Ca2+)等阳离子。此时,细胞膜上的钠离子通道关闭,使得细胞内外的钠离子浓度差变小,同时,细胞膜上的钾离子通道开放,让细胞内的钾离子向细胞外扩散,从而产生了负电荷。而当心肌细胞兴奋后,钠离子通道打开,使细胞内外的钠离子浓度差加大,同时钾离子通道关闭,使得细胞内的钾离子向细胞内聚集,从而产生了正电荷。这些电荷变化在心肌细胞中形成周期性的生物电位差,即心电信号。当这些心电信号通过体液传播到体表时,会在皮肤表面形成微弱的电位差。这时,将两个电极放置在皮肤表面上,可以测量到这种微弱的电位差,并记录下心电图信号。通过对心电图信号进行分析,医生可以判断患者的心脏情况,及时发现潜在的疾病问题。心电图检测仪器利用金属小板作为电极,探测电位变化并记录下来,形成动态曲线,最终呈现在屏幕上的就是我们所见的心电波形图,用于反映人体心跳规律和心脏健康状态。图2.3一个周期内的心电波示意图心电图是通过监测心脏产生的微弱生物电信号来获取一段时间内的心电活动。这个信号会被记录下来,形成一条动态曲线。这条曲线通常都是按照时间顺序进行记录,并打印在纸上。通过心电图的记录,医生可以检查和诊断各种心脏疾病,包括心律不齐、心肌缺血和心肌梗死等。经过计算,可以得出心电波形图P到P的数值,称为PP值。将一个周期的时间除以PP值,就可以计算出心率值。因此,心率值是根据心电波数据计算得出的,用于反映人体的心跳规律和心脏健康状态。如图2.3所示。MAX30100心率和血氧传感器模块是一种紧凑,低功耗的设备,可以快速读取心率和血氧数据。采用光体积法监控数据,支持多种单片机通信接口,如Arduino,kl25z等。相比其他心率采集设备,MAX30100心率血氧传感器模块将被选择来采集心率数据,因为它不仅可以准确地测量心率和血氧饱和度,而且具有较低的功耗和较高的采集速度,非常适合在健康监测、运动检测等领域中进行使用。其传感器实物如图2.4所示。图2.4MAX30102心率血氧传感器实物图根据MAX30100心率血氧传感器模块的结构特点,不仅能够在1.8V和3.5-5V之间进行供电,而且中央的玻璃盖可以有效地解决外部光源对数据采集的干扰问题,能够快速准确地读取脉冲数据。主要参数如表2-1所示。表2-1MAX30102心率血氧传感器主要参数主要参数主要参数LED峰值波长660nm\880nmLED供电电压3.3~5V检测信号类型光反射信号输出信号接口I2C接口通信接口电压1.8~3.3~5V板预留装配孔尺寸0.5*8.52.5风力测试方案方案一是使用VMS-3000-FXJT05-V*-360风向变送器进行风向测量。该风向变送器采用聚碳酸酯复合材料制成,具有良好的防腐、抗侵蚀性能等特点。该变送器能够准确地采集风向信息,并将数据通过电压信号输出。能够准确地采集风向信息,并通过电压信号输出数据。它被广泛应用于环境保护、气象站、船舶、养殖等领域。方案二是用霍尔传感器来进行磁场测量。霍尔传感器是一种传感器,它利用了霍尔效应的原理来检测磁场的变化,并将其转换成电压信号输出。这种传感器具有很多优点,例如灵敏度高、稳定性好、响应时间短等。它在汽车、航空航天、医疗设备等领域得到广泛应用,用于测量电动机转速、位置和方向等参数。在风车的扇叶上挂一个磁铁,风车转动时,霍尔传感器通过检测单位时间内执行的次数来判断风速。方案一虽然是常用的检测风力的方案,但在本设计用其材料费用高昂,本人实在无力承担,于是退而求其次,采用取巧的方法,采用了方案二。2.6无线通讯方案方案一采用HC-06

Bluetooth模块,可以进行信号和声音的无线传送,但是受限于传送距离,不能满足远程应用的要求。而同一时间内,两个装置之间的通讯也会产生不相容的问题。第二种方法是以ESP8266WIFI为通信媒介,可以实现多台终端的相互通信,通信范围达到100m,并且价格便宜,在市场上也有一定的竞争优势。它被广泛地用于家庭电器中。由于本次设计需要实现在任何地点均可以连接顺畅,因此选用wifiESP8266无线模块来作为无线通信功能模块,保障系统的稳定性。第3章系统硬件设计3.1系统的电源设计系统电源电路采用5V的直流电源为负载提供电源,在本设计中是作为给单片机,wifi等设备供电。选用这种电源电源路是因为这是相对比较简单的电源电路,结构不会复杂,不会加重硬件电路的复杂性,并且使用与小型设计,若使用交流电源作为电源模块输出,就会对设计上的其他小器件造成损伤。选用这个电源电路,到时通电的时候直接通过数据线连接电脑就能实现低功率通电,方便可靠。电源电路中增加了开关电路和AMS1117稳压电路。AMS1117是一种正电压输出低压降三端线性稳压电路,它由PNP驱动的NPN管组成稳压调节管。一般情况下,线性稳压器的稳定性会随着输出电流的增加而降低,但AMS1117可以在1A电流下输出电压降为1.2V,并且内部集成了过热保护和限流电路,防止由于环境温度而导致结温过高。通过加入AMS1117稳压电路,我们可以确保电路输出电压的稳定性,并避免过度升温带来的潜在风险。同时,开关电路也能提供更好的功率控制和工作效率,从而使整个电源电路更加安全、可靠。可应用到移动电话、便携式设备及笔记本电脑等设备中。此供电模块分为两种型号,分别为固定电压输出型号和可调电压输出型号,可以自由的切断单片机的电源以及为电路中3.3V的供电提供稳定的3.3输出。电源电路如图3-1所示。图3.1电源电路原理图3.2单片机最小系统电路设计本系统的主控芯片采用STM32F103C8T6,最大工作频率为72MHz,拥有512k字节Flash和64K的Ram。此外,该芯片支持多种低功耗模式,包括待机、活跃停机和停机模式,功耗低至4.5uA。STM32F103C8T6还拥有3级流水线,能够高效地处理系统任务,同时外设时钟也能实现自我断电。以下是STM32F103C8T6的主要功能特性:表3-1STM32F103C8T6的主要功能特性主要特性主要特性闪存512KB64KBRAMFSMC11个定时器(4个通用计时器)支持I2C/SPI/USART/USB/CAN/ADIO48个通用I/O口3个12位同步ADC(21通道)1个12位DAC(2通道)低功耗掉电和空闲模式支持硬件调试(SWD/JATG)工作频率可达72Hz并行LCD接口工作电压:2V-3.6V工作温度:-40—105℃STM32F1系列最小系统使用稳压管提供3.3V稳定电压,单片机内部有电压调节器,转换供电电压为1.8V。系统共48个引脚,每个IO口可以输出TTL3.3V电平,部分引脚能承受5V电压。最小系统集成复位按键电路、外部晶振电路和20芯JTAG接口。使用BOOT0和BOOT1设置单片机启动模式,配置了32.768MHz外部无源晶振提高时间精确度。同时提供miniUSB接口用于供电或添加外设。下图是单片机最小系统电路原理图: 图3.2单片机最小系统原理图3.3温度模块电路设计在该方案中,利用DS18B20型单片机进行了温度信号的采集。DS18B20是一种单总线数字传感器,仅需与3.3

V电源相连,就可以进行电路设计,仅需将

DQ接口与单片机的

IO口相连,就可以实现对其的数据交互。采用三根管脚,VCC与供电端相连,GND与地面相连,DQ则与MCU的输入输出端相连,以完成对MCU的驱动和控制。图3.3温度模块原理图图3.4温度传感器3.4血氧心率模块电路设计血氧心率模块采用的是IIC的通讯方式,传统的I2C是单片机只需要引出两个引脚,接上GND与VCC变可以工作的。STM32系列的单片机IO都是双向IO口,可以作为输入,也可以作为输出,因此只需要使用模拟的I2C便可以达到预先的目的。如图3.5、3.6所示。 图3.5血氧心率模块原理图 图3.6血氧心率传感器3.5雨滴传感器模块电路设计在高空作业适宜环境监测预警系统的设计中,需要检测是否存在雨滴,经过仔细的挑选,发现雨滴传感器模块最是符合本设计的要求。雨滴传感器模块的寿命长,成本低,驱动电路也较为简单,和单片机通过ADC的方式连接,单片机再通过公式把ADC的值转换成数字信号。这种雨滴传感器的工作电压范围是3.3v-5v,可以通过连接单片机的PA1口来传输信号。单片机通过ADC实时采集电压值,然后根据计算公式计算出当前雨滴传感器被水侵泡的长度。雨滴传感器模块总共引出三个引脚,一个是供电脚,该供电脚给模块供电使模块能够正常工作。一个GND脚,一个AO模拟信号输出脚。其具体原理图、实物图如下:图3.7雨滴传感器原理图图3.8雨滴传感器3.6风力传感器模块电路设计霍尔传感器是一种测量磁场的传感器,常用于检测电动机转速、位置和方向等应用。它基于霍尔效应,通过检测磁场的变化来产生电压信号。经风扇扇叶上磁铁靠近后,则检测到磁场时输出信号为低电平。为了避免输出信号不稳定,防止临界输出抖动,把输出的信号先经过LM339电压比较器,加入迟滞电路,使霍尔识别更加稳定准确。其和单片机之间通过GPIO的电平进行通讯,当电平拉低,默认风扇的扇叶遮挡一次,拉低则正常,通过单位时间内电平拉高拉低的次数计算便可以得出大概的风力强度。其和单片机的接线图、实物图如下: 图3.9风速传感器原理图图3.10霍尔传感器3.7蜂鸣器电路设计在高空作业适宜环境监测预警系统中,报警功能是整个系统的关键。一般情况下,报警的功能主要都是通过蜂鸣器来实现的。设计中采用的蜂鸣器是一款有源蜂鸣器,有源蜂鸣器的响声较大。其内部集成了一个PNP三极管,型号是8550,在使用中,对其进行供电,单片机的IO脚PB1通过输出低电平对蜂鸣器的三极管进行导通,从而实现蜂鸣器的鸣叫。其电路图如下:图3.11蜂鸣器原理图3.8wifi模块电路设计本文给出了一种基于ESP8266的WIFI无线通讯系统的硬件实现方案,并给出了8个插脚。VCC、G两个管脚与MCU的串接口相结合,G与RX、

TX两个管脚与

MCU的串接口相结合,完成了对MCU的上、下、下的数据传输与接收。在本发明中,把4号管脚

VCC与电源相连接,把8号管脚

GND与母板接地信号相结合,再把这些信号管脚与MCU所用的串行发送接收管脚相结合;这样就可以实现无线保真系统的功能,并可以实现无线保真功能。ESP8266wifi模块的原理图、实物图如图所示。图3.12wifi模块原理图图3.13wifi模块第4章系统软件设计 4.1开发环境以及工具介绍Keil软件是一款用于STM32微控制器的C语言开发环境,支持C语言和汇编混合编程,具有在线仿真、多种调试方式等特点,对于刚开始学习软件的学者容易上手。在使用Keil软件进行开发时,、创建源程序、对源文件进行编译或汇编、纠正错误、连接目标文件和测试应用程序属于基本的过程。AltiumDesigner是一种全新的电子产品开发系统,可用于原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等方面。这个软件集成了多项功能与工具,为用户提供了高效快速的电路板设计和生产过程。同时,它还具备强大的协同性能,能够帮助团队成员更好地协作完成项目,并且能够兼容市场上常见的电子元器件库。总之,AltiumDesigner是一个非常优秀的电子产品开发系统,为用户提供了高度集成的设计环境以及全面的工具和功能支持。在本系统中主要应用于硬件电路原理图以及PCB的绘制。上位机的设计采用的是andriodstudio开发软件,AndroidStudio是由Google开发的官方Android应用程序开发工具。它基于IntelliJIDEA集成开发环境,可用于创建Android应用程序、调试和测试应用程序、以及发布应用程序到GooglePlay商店等。AndroidStudio提供了许多功能,如代码自动完成、调试器、布局编辑器、内存分析器和其他工具,可帮助开发者更轻松地构建高质量的Android应用程序。图4.1主程序流程图4.2系统的主程序软件设计本系统的整个软件设计思想采用模块化的思想,即对各个硬件模块驱动程序分别编写代码。然后在主程序中调用它。这将有利于代码的后续维护。软件一般分为心率、血氧模块、测温模块、雨滴模块、风传感器模块和wifi模块。每个模块函数创建一个C文件和一个头文件,其中编写当前驱动程序的实现,并将接口留给外部调用。在主程序中,先对使用到的外设进行初始化,本设计中主要使用到的单片机外设有GPIO,IIC,UART,定时器等。外设初始化后,需要对模块参数进行设置,例如wifi模块的热点信息,显示屏的参数初始化等。随后进入系统大循环中。循环中不断读取心率血氧浓度,外部高温,雨滴传感器的数值以及霍尔的键值。随后把采集的信息通过wifi上传到app,app显示对应的内容。并根据实际情况控制蜂鸣器。 4.3温度模块软件设计DS18B20是一款温度传感器,其温度采集过程包括初始化、ROM操作指令和存储器操作指令三个步骤。为了方便程序编写,我们可以为其编写初始化、读时序和写时序等子程序。其中,初始化操作用于对DS18B20进行环境设置,读时序操作用于获取DS18B20的温度读数,写时序操作则用于对DS18B20进行数据写入。这些子程序可以帮助我们更加简单地使用DS18B20,并且降低了我们编写程序的难度。通过这些子程序的支持,我们可以更高效地完成温度采集任务。图4-2温度采集流程图4.4心率血氧模块软件设计在本设计中,MX30102血氧浓度模块和单片机的通讯方式是IIC,IIC的使用方法主要分为以下几步。1.IIC的初始化,此部分主要包括软件对IIC的SCL和SDA引脚配置,2.IIC发送函数以及IIC读取的处理,我们需要在这部分对对应模块的驱动一一编写,分成模块调用。IIC部分流程图如下所示:图4.3心率血氧软件流程图4.5雨滴检测软件设计在本设计中,雨滴的检测是通过单片机内部的一个12位ADC进行采集的,在初始化阶段对ADC的精度和参考电压进行配置并且使能DMA传输,让ADC的速度加快。在主程序中,单片机主动获取多组ADC的数据,在求平均增加ADC的准确度后,将数据通过公式转换为对应的数值,根据AD公式,12位adc的电压值为Voltage=(float)ADC_ConvertedValue/4096*3.3,单片机分别通过各自的ADC引脚获取到液面模拟量的实际值后,通过DMA发送给单片机。图4.4adc采集流程图4.6风力检测软件设计风力检测的设计中,单片机通过获取霍尔器件模块的IO电平来判断电机是否转动一圈。其主要用到的功能是GPIO的输入。使用GPIO的流程主要是GPIO初始化,把IO设置为上拉输入。然后在主循环中循环读取IO电平,待电平为低时,电机转速加1,收到定时器中断,再用电机转速总速度除以时间得出单位时间的转速。图4.5风力采集流程图4.7wifi软件设计本系统使用了ESP8266wifi模块,用于手机与设备间的通讯。由于WIFI模块是通过串口总线与STM32进行通讯的,串口的使用主要分为串口的初始化以及中断的是能,当从机有数据过来时,则触发STM32的串口中断,执行对应的操作。图4.6wifi软件流程图4.8app软件设计App的编写调用了安卓的原生接口。其根本的原理是调用wifi的manager,连接上指定的wifi热点和端口后,创建文件描述符,利用线程实时读取数据。并对数据进行解析,当解析到指定到的数据后,利用安卓的activity控件,被内容显示在界面上。第5章系统的制作和调试5.1系统硬件调试在进行硬件系统整合前,需要进行各个模块的软件调试。进入硬件系统整合的流程后,需要将所有用到的模块与主控开发板进行整合、焊接和调整稳定性。在整个硬件静态的调试中,电子系统出现故障时,需要进行排查。常见的故障类型包括元器件损坏、逻辑故障和电源故障。在排除元器件损坏问题时,需要检查元器件与设计要求是否一致,通过替换方法排除错误。对于逻辑故障,需要仔细对比电路原理图和印制电路板,检查是否存在开路、连接错线或短路等问题。同时,特别检查供电系统电路和现场总线是否出现信号干扰或短路。在排除电源故障时,需先仔细检查系统电源电压的极性和幅值,然后使用万用表检查各个模块引脚的电压,首先检查VCC与GND之间的电压是否正常在4.8V-5V范围内。在对整体系统测试检查过程中,一般先焊接处理好供电电源模块,接着进行单独的通电测试,此种测试方法能有效地避免电源模块输出的电压过高从而引起系统中模块损坏的可能性。由于没有交流电源的输入,只需给他系统电路输入了比要求电压高2.5V左右的直流电压进行测试,系统的5V稳压电源模块输出值为4.99V,符合系统要求电压,电源部分通过测试。5.2实物展示图5.1焊接展示步骤1:将设计通电,按下自锁开关,核心板电源指示灯点亮,连接WiFi显示正常,如图5.2所示。图5.2设计上电图步骤2:吹动霍尔传感器,观察app上参数显示,超过阈值蜂鸣器报警,如图5.3所示。图5.3风速演示步骤3:在雨滴传感器上滴一滴水,蜂鸣器报警,app显示下雨了,如图5.4所示。图5.4下雨展示步骤4:将手放到血氧检测模块上,app上显示心率和血氧饱和度的数值,如图5.5所示。图5.5心率血氧展示步骤5:将手放到温度传感器上,app显示温度,超过30摄氏度,蜂鸣器报警,如图5.6所示。图5.6温度展示总结安全生产一直备受各行业的关注,而高空坠落是最具破坏性和危害的事故类型之一。在各行业高空作业意外事故中,高空坠落的比例超过40%。目前市面上现有的防高空坠落设备的安全性存在不足。例如在电力工业等高空作业较为常见的领域,作业人员戴着绝缘安全帽、安全带等绝缘设备进行登高作业。但是,人工检测准确率低下,且无法及时监测环境变化,保障高空作业人员的安全性存在困难。基于此现状,本课题研究了一款高空作业适宜环境监测预警系统。系统通过对高中作业可能影响的因素进行了采集,并完成预警和无线传输,经测试,本设计符合设计初衷,基本达到设计要求。具有一定的实用性,但依然有不足的地方。同时,希望未来的高空预警系统可以完善以下几点:提高数据精度和可靠性;加强系统智能化程度,如采用机器学习算法优化预警模型;增加更多的传感器和监测项,以提高对环境的全面监测;实现远程监测和远程操控等功能,以减少人工干预和提高效率。参考文献[1]王馥钰,宁丽慧,范兴硕.基于建筑工人的塔吊安全分析[J].产业与科技论坛,2020[2]杨利刚.《高空作业》[J].重庆建筑,2022,21(07):73.[3]王宇杰.浅谈高空作业平台的安全管理[J].建设机械技术与管理,2022,35(03)[4]何华.国内高空作业平台及其核心液压件市场前景分析[J].中国高新科技,2022(11):32-34.[5]宋吉超,宋卓宇,周成才,杨金森.智能化高空作业平台安全控制策略研究[J].现代工业经济和信息化,2022,12(05)[6]曹捷,郭志彬,潘立志,丁兴号.高空作业场景下的安全带穿戴检测[J].湖南科技大学学报(自然科学版),2022,37(01)[7]康建宁,高顺德,徐金帅,李文瑛.高空作业车的时间最优轨迹规划[J].装备制造技术,2021(03):33-37.[8]李思玥.建筑业高空作业风险的评估和控制[J].住宅与房地产,2021(07):166-167.[9]赵文超,于晓春,张武,徐永健,公茂法.带安全气囊的高空作业安全服研究[J].工业安全与环保,2019,45(03):28-31.[10]刘建,韩建立,褚福常.高空作业平台臂架运动安全控制系统功能安全设计[J].建筑机械,2021(10):72-76[11]王玥冉.基于Fuzzy-DEMATEL的建筑项目高空作业风险识别与评价研究[J].项目管理技术,2022,20(03):78-83.[12].张艳春基于多传感器融合的高空作业环境安全监测系统研究[J].计算机工程与应用,2018,54(13):178-183.[13]黄少青.基于物联网技术的高空作业安全监测系统设计[J].煤炭技术,2019,38(06):217-218.[14]郭红岩,等.基于多传感器数据融合的高空作业环境监测预警系统[J].自动化仪表,2020,41(05):60-63.[15]高旭宏,毛子夏,孙迪,刘立强.自行式高空作业平台的越障分析[J].机械设计与制造,2020(12)[16].DesignandImplementationofHigh-altitudeOperationSafetyMonitoringSystemBasedonSingleChipMicrocomputer[J].JournalofPrecisionManufacturingandInformationTechnology,2018,7(3):5-7.[17].HocheolShin,SeungHoJung,YouRackChoi,ChangHoiKim.Developmentofasharedremotecontrolrobotforaerialworkinnuclearpowerplants[J].NuclearEngineeringandTechnology,2018,50(4).[18].DesignofHigh-altitudeOperationSafetyMonitoringSystemBasedonSingle-chipMicrocomputer[J].ComputerEngineeringandApplications,2019,55(24):42-47.[19].ResearchonHigh-altitudeOperationProtectionDeviceBasedonSingle-chipMicrocomputer[J].ModernManufacturingTechnologyandEquipment,2019,29(4):96-98.[20].GutiirrezR,MagallsnM,CaceresD.VisionBasedSystemfor3DTowerCraneMonitoring[J].IEEESensorsJournal,2020,PP(99):1-1.附录A原理图图A.1原理图附录B系统程序#include"led.h"#include"delay.h"#include"key.h"#include"sys.h"#include"usart.h"#include"adc.h"#include"timer.h"#include"dht11.h"#include"max30102.h"#include"myiic.h"#include"algorithm.h"#include"timer.h"#include"exti.h"#include"ds18b20.h"unsignedcharLYMS[13]="AT+CWMODE=2\r\n";unsignedcharSZLY[38]="AT+CWSAP=\"ESP8266\",\"0123456789\",11,0\r\n";//unsignedcharSZLY[38]="AT+CWSAP='ESP8266','0123456789',11,0\r\n"; //AT+CWSAP="ESP8266","0123456789",11,0unsignedcharRST[8]="AT+RST\r\n";unsignedcharSZDLJ[13]="AT+CIPMUX=1\r\n";unsignedcharKQFU[21]="AT+CIPSERVER=1,5000\r\n";unsignedcharFSSJ[17]="AT+CIPSEND=0,24\r\n";//AT+CIPSEND=????unsignedcharFSSJ1[17]="AT+CIPSEND=0,6\r\n";//AT+CIPSEND=????#defineMAX_BRIGHTNESS255uint32_taun_ir_buffer[150];//infraredLEDsensordatauint32_taun_red_buffer[150];//redLEDsensordataint32_tn_ir_buffer_length;//datalengthfloatn_spo2;//SPO2valueint8_tch_spo2_valid;//indicatortoshowiftheSPO2calculationisvalidint32_tn_heart_rate;//heartratevalueint8_tch_hr_valid;//indicatortoshowiftheheartratecalculationisvaliduint8_tuch_dummy;int32_thr_buf[16];int32_thrSum;int32_thrAvg;floatspo2_buf[16];floatspo2Sum;floatspo2Avg;int32_tspo2Avg1;int32_tspo2BuffFilled;int32_thrBuffFilled;int32_thrValidCnt=0;int32_tspo2ValidCnt=0;int32_thrThrowOutSamp=0;int32_tspo2ThrowOutSamp=0;int32_tspo2Timeout=0;int32_thrTimeout=0; u16mq135; extern u8USART_RX_BUF[USART_REC_LEN];voidSend_To_PC(intrate,floatspo2);voidSend_To_PC2(unsignedintred,unsignedintir);voidSend_To_Robot(unsignedintrate,floatspo2);voidloop(void);//char*CIPSTATUS="AT+CIPSTATUS\r\n";intmain(void){ chari=0; intnum; LED1=0; delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_Init(); uart_init(9600); delay_ms(2000);delay_ms(2000);delay_ms(2000); delay_ms(2000); delay_ms(2000);/******************??WiFi??**********************************************/ for(i=0;i<13;i++)//AT+CWMODE=2??????? { USART_SendData(USART1,LYMS[i]); delay_ms(5); } delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); for(i=0;i<38;i++)//AT+CWSAP="ESP8266","0123456789",11,0???? { USART_SendData(USART1,SZLY[i]); delay_ms(5); } delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); for(i=0;i<8;i++)//AT+RST?? { USART_SendData(USART1,RST[i]); delay_ms(5); } delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); for(i=0;i<13;i++)//AT+CIPMUX=1?????? { USART_SendData(USART1,SZDLJ[i]); delay_ms(5); } delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); for(i=0;i<21;i++)//AT+CIPSERVER=1,5000??TCP???? { USART_SendData(USART1,KQFU[i]); delay_ms(5); } delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000); delay_ms(2000);USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//开启中断maxim_max30102_reset();//resetstheMAX30102//pinMode(2,INPUT);//pinD2connectstotheinterruptoutputpinoftheMAX30102maxim_max30102_read_reg(REG_INTR_STATUS_1,&uch_dummy);//Reads/clearstheinterruptstatusregister EXTIX_Init();TIM3_Int_Init(499,719);//10Khz的计数频率,计数到5000为500ms while(DS18B20_Init()) //DS18B20初始化 { } while(1) { loop(); } }//thelooproutinerunsoverandoveragainforever:voidloop(void){uint32_tun_min,un_max,un_prev_data,un_brightness;//variablestocalculatetheon-boardLEDbrightnessthatreflectstheheartbeatsint32_ti;floatf_temp;un_brightness=0;un_min=0x3FFFF;un_max=0;n_ir_buffer_length=150;//bufferlengthof150stores3secondsofsamplesrunningat50sps//readthefirst150samples,anddeterminethesignalrangefor(i=0;i<n_ir_buffer_length;i++){//while(KEY0==1);//waituntiltheinterruptpinassertsmaxim_max30102_read_fifo((aun_red_buffer+i),(aun_ir_buffer+i));//readfromMAX30102FIFOif(un_min>aun_red_buffer[i])un_min=aun_red_buffer[i];//updatesignalminif(un_max<aun_red_buffer[i])un_max=aun_red_buffer[i];//updatesignalmax/*SerialUSB.print(F("red="));SerialUSB.print(aun_red_buffer[i],DEC);SerialUSB.print(F(",ir="));SerialUSB.println(aun_ir_buffer[i],DEC);*/ //Send_To_PC2(aun_red_buffer[i],aun_ir_buffer[i]);}un_prev_data=aun_red_buffer[i];//calculateheartrateandSpO2afterfirst150samples(first3secondsofsamples)//ContinuouslytakingsamplesfromMAX30102.HeartrateandSpO2arecalculatedevery1secondwhile(1){i=0;un_min=0x3FFFF;un_max=0;//dumpingthefirst50setsofsamplesinthememoryandshiftthelast100setsofsamplestothetopfor(i=50;i<150;i++){aun_red_buffer[i-50]=aun_red_buffer[i];aun_ir_buffer[i-50]=aun_ir_buffer[i];}//take50setsofsamplesbeforecalculatingtheheartrate.for(i=100;i<150;i++){un_prev_data=aun_red_buffer[i-1];//while(KEY0==1);maxim_max30102_read_fifo((aun_red_buffer+i),(aun_ir_buffer+i));//calculatethebrightnessoftheLEDif(aun_red_buffer[i]>un_prev_data){f_temp=aun_red_buffer[i]-un_prev_data;f_temp/=(un_max-un_min);f_temp*=MAX_BRIGHTNESS;f_temp=un_brightness-f_temp;if(f_temp<0)un_brightness=0;elseun_brightness=(int)f_temp;}else{f_temp=un_prev_data-aun_red_buffer[i];f_temp/=(un_max-un_min);f_temp*=MAX_BRIGHTNESS;un_brightness+=(int)f_temp;if(un_brightness>MAX_BRIGHTNESS)un_brightness=MAX_BRIGHTNESS;} //Send_To_PC2(aun_red_buffer[i],aun_ir_buffer[i]);//sendsamplesandcalculationresulttoterminalprogramthroughUART/*SerialUSB.print(F("red="));SerialUSB.print(aun_red_buffer[i],DEC);SerialUSB.print(F(",ir="));SerialUSB.print(aun_ir_buffer[i],DEC);SerialUSB.print(F(",HR="));SerialUSB.print(n_heart_rate,DEC);SerialUSB.print(F(",HRvalid="));SerialUSB.print(ch_hr_valid,DEC);SerialUSB.print(F(",SPO2="));SerialUSB.print(n_spo2,DEC);SerialUSB.print(F(",SPO2Valid="));SerialUSB.println(ch_spo2_valid,DEC);*///SerialUSB.println(aun_ir_buffer[i],DEC);} //USART1_Receive_Check();if((ch_hr_valid==1)&&(n_heart_rate<190)&&(n_heart_rate>40)){hrTimeout=0;//Throwoutupto1outofevery5validsamplesifwackyif(hrValidCnt==4){hrThrowOutSamp=1;hrValidCnt=0;for(i=12;i<16;i++){if(n_heart_rate<hr_buf[i]+10){hrThrowOutSamp=0;hrValidCnt=4;}}}else{hrValidCnt=hrValidCnt+1;}if(hrThrowOutSamp==0){//ShiftNewSampleintobufferfor(i=0;i<15;i++){hr_buf[i]=hr_buf[i+1];}hr_buf[15]=n_heart_rate;//Updatebufferfillvalueif(hrBuffFilled<16){hrBuffFilled=hrBuffFilled+1;}//TakemovingaveragehrSum=0;if(hrBuffFilled<2){hrAvg=0;}else{for(i=0;i<16;i++){hrSum=hrSum+hr_buf[i];}hrAvg=hrSum>>4;}}hrThrowOutSamp=0;}else{hrValidCnt=0;if(hrTimeout==4){hrAvg=0;hrBuffFilled=0;}else{

温馨提示

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

评论

0/150

提交评论