_基于STM32的智能垃圾筒设计与实现_文.docx

上传人:一*** 文档编号:68717969 上传时间:2022-12-29 格式:DOCX 页数:52 大小:1.29MB
返回 下载 相关 举报
_基于STM32的智能垃圾筒设计与实现_文.docx_第1页
第1页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《_基于STM32的智能垃圾筒设计与实现_文.docx》由会员分享,可在线阅读,更多相关《_基于STM32的智能垃圾筒设计与实现_文.docx(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、毕业设计(论文) 题 目 基于STM32的智能垃圾筒设计与实现 学 院 电子信息学院 线长度不足专 业 电子信息工程 学生姓名 王川兰 学号 159120512 指导教师 李翠锦 职称 讲 师 2019年 4 月 20 日 学生毕业设计(论文)原创性声明 本人以信誉声明:所呈交的毕业设计(论文)是在导师的指导下进行的设计(研究)工作及取得的成果,设计(论文)中引用他(她)人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人成果及为获得重庆工程学院或其它教育机构的学位或证书而使用其材料。与我一同工作的同志对本设计(研究)所做的任何贡献均已在论文中作了明确的说明并

2、表示了谢意。 毕业设计(论文)作者(签字): 年 月 日重庆工程学院本科生毕业设计 摘要 摘 要本设计实现了一种基于STM32的智能垃圾筒的控制系统,该系统实现了自动翻盖、火源检测、垃圾溢满和语音报警的功能。该系统包括以下五个模块,其中,主控芯片选择STM32F1O3C8T6型号,超声波模块使用型号为HC-SR04的传感器,人体红外模块使用HC-SR501型号,火源检测模块选择MQ-2型号和语音报警模块使用蜂鸣器。该系统的工作原理:传感器采集的信号经处理后传送给STM32单片机,单片机接收到信号后,调用相关程序做出反应,通过人体红外器检测到有人靠近垃圾筒时,则运用舵机工作原理使垃圾筒自动开盖;

3、当火源检测模块检测到有火源和超声波传感器检测到垃圾筒里的垃圾装满时,系统则会进行语音报警。本设计具有性能稳定、低成本、智能化和操作简单等优点,为隔离人和垃圾找到了一个可行的方法。关键词:STM32单片机 人体红外器 超声波传感器 智能化I重庆工程学院本科生毕业设计 ABSTRACT ABSTRACTThis design realizes an intelligent garbage can control system based on STM32. The system realizes the functions of automatic overturning, fire source

4、 detection, garbage overflow and voice alarm. The system consists of the following five modules: STM32F1O3C8T6, HC-SR04, HC-SR501, MQ-2 and buzzer are selected as the main control chip, HC-SR04 as the ultrasonic module, HC-SR501 as the infrared module, and MQ-2 as the fire detection module. The work

5、ing principle of the system is as follows: the signal collected by the sensor is processed and transmitted to STM32 MCU. When the MCU receives the signal, it calls the relevant program to react. When someone is near the garbage can detected by human infrared detector, the garbage can is opened autom

6、atically by using the rudder working principle; when the fire source detection module detects the active fire source and the ultrasonic sensor detects the garbage can. When the garbage is full, the system will give voice alarm. This design has the advantages of stable performance, low cost, intellec

7、tualization and simple operation, and finds a feasible method for isolating people and garbage.Keywords: STM32 Single chip microcomputer;Human infrared;Ultrasonic sensor;intelligentII重庆工程学院本科生毕业设计 目录 目 录摘 要IABSTRACTII1 绪 论11.1 课题研究的背景及意义11.2 国内外发展现状及趋势11.3 STM32的优势22 垃圾筒整体设计32.1 系统的方案比较32.2 系统的组成部分4

8、2.3 系统的步骤设计42.4 系统的设计要求43 系统硬件设计53.1 系统整体设计53.2 电源模块53.3 STM32单片机63.3.1 复位电路73.3.2 晶振电路73.3.3 USB接口电路83.3.4 下载电路83.4 舵机驱动93.5 液晶模块93.6 人体红外模块103.6.1 人体红外检测原理103.6.2 人体检测模块HC-SR501电路设计113.7 超声波模块123.7.1 超声波测距原理123.7.2 超声波测距电路设计123.8 火源检测模块133.8.1 MQ-2的概述133.8.2 MQ-2电路设计133.9 语音报警模块144 系统软件设计154.1 软件开

9、发环境154.2 软件程序设计154.3 人体红外程序设计164.4 超声波检测的程序设计174.5 火源检测的程序设计174.6 语音报警的程序设计185 系统调试195.1 测试平台195.2 测试方案225.3 测试结果分析226 结 语24参考文献25致 谢26附 录27重庆工程学院本科毕业设计 1 绪论 1 绪 论1.1 课题研究的背景及意义随着智能化技术的迅速发展,智能化对人们生产生活的影响也就越来越大,智能化势必成为未来社会发展的大趋势1。而伴随着人们走过了一个又一个时代的垃圾筒是一种隔离人和垃圾的容器,所以对其智能要求也越来越高,但就现实生活情况来看,我们在投放垃圾时还会跟垃圾

10、有亲密的接触,所以垃圾筒并没有彻底实现将人与垃圾隔离开来的效果,尤其是大型的商场、医院和城市,更需要垃圾筒将人和垃圾相隔离,但在现实中这些地方的垃圾筒都是手动或者是脚踏翻盖,严格意义上并没有达到隔离的作用,因此此课题的研究是十分有必要的。随着生活水平的提高,人们对周围环境美化的要求也就越来越高2,故而垃圾筒周围环境的美化也成了重中之重。由于垃圾筒周围又脏又臭,所以一直是我们远离的区域,究其原因有两个:一是手动或脚踏的垃圾筒因为与垃圾有近距离的接触,导致人们不管有没有把垃圾扔进垃圾筒里就离去,造成外面的垃圾变臭;二是垃圾装满没有及时清理,导致垃圾溢出,从而变臭。为了避免接触脏的垃圾盖和减少垃圾的

11、异味,所以设计了这款具有自动开盖和垃圾溢满报警功能的智能垃圾筒3。1.2 国内外发展现状及趋势在国外,因为欧美等国家早早的明白了垃圾筒对生活的重要性,所以在垃圾筒控制系统的设计和钻研方面就比我国要早上很多年,因此智能垃圾筒的问世也比我国早几年。从2006年08月美国纽约出现了被大家称为“大胃王”的太阳能垃圾筒到现在集太阳能、物联网、高效压缩机为一体的压缩性垃圾筒,在智能垃圾筒的设计方面上,国外取得了良好的成绩。在国内,智能垃圾筒的发展比较缓慢,大致可以分为3类:第一类智能垃圾筒是利用超声波测距技术或者是红外线测距技术检测是否有物体靠近,当有物体靠近垃圾筒时,运用拖动电机运转原理使得垃圾筒有自动

12、开盖的功能。第二类是如同“大胃王”一样的太阳能垃圾筒,它是内部装有太阳能装备,其电源来自于太阳能的转换。第三类垃圾筒跟第二类很相似,其内部也装有太阳能装备,但其太阳能设备只是为垃圾筒外面的广告灯提供电源而不是为了处理垃圾设计的,即便在商业价值上存在一定的作用,但在真正意义上也没有实现垃圾筒对垃圾的处理,故而我国在这块的研究还任重道远。通过对智能垃圾筒国内外发展现状的对比,发现不管是国内还是国外都没有研究出一种能够利用多功能控制系统直接分类垃圾,仍需要人类对垃圾进行分类的垃圾筒,因此在这方面的研究上,垃圾筒还有发展空间,并且未来随着社会的快速发展,人们因为生活水平再次提升,对垃圾筒的智能要求也会

13、越来越多,所以在人的需求和社会的发展的情况下,垃圾筒的未来功能只会越来越丰富,不会消失在我们的生活中。1.3 STM32的优势STM32是一款高性能的32位微控制器,STM32 MCU集高性能、实时性、数字信号处理、低功耗、低电压于一身,同时还具有高集成度和开发简易的特点。跟传统的51单片机比,STM32的优点如下:(1)STM32属于arm内核的一个版本,跟传统的51单片机进行比较,具有51单片机所没有的许多资源,如USB控制器等。(2)STM32单片机程序都是模块化,接口较简单些,因为它自身带好多功能,所以在运算方面,其工作速度大约是51单片机的几十倍吧。而51的本身功能少,需要外围元件多

14、,要求熟悉掌握电子方面的知识。(3)STM32互连型系列产品强化了音频功能,采用了一个先进的锁相环机制,完成了对音频级别的I2S通信。2重庆工程学院本科毕业设计 2 垃圾筒整体设计 页眉错误,下同2 垃圾筒整体设计2.1 系统的方案比较本次设计要求垃圾筒包括人体红外模块、火源检测模块、超声波模块和语音报警模块四个模块,实现自动翻盖、火源检测、垃圾溢满和语音报警四个功能,根据这些要求我想出了以下几个方案:1.垃圾筒本身方案方案一:购买带有自动翻盖功能的垃圾筒,其余功能由自己完成。方案二:购买不带自动翻盖功能的垃圾筒,自己动手制作,用舵机拖动垃圾盖翻盖。经过思考过后,选择了第二种方案,原因有二:一

15、是要求垃圾筒实现自动翻盖的功能,若是自带翻盖功能,则不算自己实现的;二是提高自己的动手能力。2.人体红外器的选择方案方案一:选择电荷均衡的热释红外传感器(此传感器输出的是电荷信号,完成阻抗变换)。方案二:选择型号为HC-SR501的人体红外传感器(此传感器是根据测距原理来感应人是否在感应范围内)。经过对比后,发现热释红外传感器虽然有功耗小、价格低廉和不发射任何辐射等的优点,但穿透力差且受温度影响较大,所以选择了灵敏度高,可靠性强且受干扰较小的人体红外传感器,故选择方案二。3. 电机的选择方案方案一:选择型号为28BYJ-48的步进电机。方案二:选择型号为futaba s3003的舵机。通过对比

16、,发现步进电机尽管具备迅速启停能力和正转反转控制灵活的特点,但步进电机的力很小,不能承受需要拉力大的物体,由于拖动垃圾盖的拉力需要很大,而舵机力大,所以选择方案二。4.语音报警的选择方案方案一:使用会说话的语音播报器。方案二:使用报警的蜂鸣器。通过慎重思考后,觉得对语音播报器的知识不够了解且不知道如何编程才能实现其功能,而对蜂鸣器知之甚深并对蜂鸣器的编程也足够了解,且蜂鸣器的成本较低,故选择方案二。5.供电的选择方案方案一:选择干电池提供电源方案二:使用充电的方式提供电源经过考虑后,认为干电池不能长期供电且废弃的电池容易造成环境污染,而充电供电可长期使用且不会造成环境污染,故选择方案二。烟雾检

17、测器一般都是选择对气体灵敏度高且低成本的MQ-2型号,超声波传感器都是使用性能稳定、测度距离精确的HC-SR04型号,所以这两块模块不用进行对比选择。2.2 系统的组成部分从整体结构来看,电路主要由六大部分组成,且这款智能垃圾筒是以STM32单片机处理器为重点,完成此次设计的全过程。六大组成部分分别STM32单片机、人体红外器、超声波模块、火源检测模块、语音报警模块和电源电路,通过软件编程对舵机进行掌控,实现智能垃圾筒自动打开和关闭的功能5。2.3 系统的步骤设计(1)了解并掌握主控芯片、人体红外器、超声波传感器、烟雾检测器和蜂鸣器等主要器件的控制原理与逻辑关系、采集步骤及驱动方法;(2)使用

18、Protel或Altium Designer绘制智能垃圾筒系统的原理图与PCB,原理图主要包含STM32F103C8T6单片机最小系统、超声波模块、火灾检测模块、语音报警模块等;(3)根据原理图手动焊接硬件电路板,连接、组装各个功能模块,实现硬件实物物理连接;(4)使用keil软件对智能垃圾筒各个功能进行程序编写,主要包括芯片驱动、数据采集和数据上传等相关功能程序;(5)将软件下载到焊好的硬件电路板中,测试、调试各项性能,直至所有功能全部实现。2.4 系统的设计要求电路的主体是电路的硬件,因为有它才有了电路的结构。电路的硬件部分结构清楚,使人明白易懂,作为电路的核心单元,主控芯片的作用是将各个

19、接口连接在一起,形成一个整体,所以要求掌握大量的硬件知识。为了实现垃圾筒的功能,使用Keil软件完成对电路硬件元器件的控制。而作为电路的思想,软件的作用是指挥着电路该如何的运作,所以对于电路来说,软件是非常关键的,为了实现相应的功能,软件设计对其进行程序代码的编写。电路正常进行工作的前提是要软件设计,它是为了使电路按照所编写的程序代码运行。因为对软件进行编程的语言是C语言类的,所以我们要熟练掌握C语言。24重庆工程学院本科毕业设计 3 系统硬件设计 3 系统硬件设计3.1 系统整体设计本次设计以STM32F103系列单片机作为主控芯片,工作电压为5V3,而且使用了人体红外器。本设计是为了便于实

20、现对垃圾筒的智能控制,让用户使用起来更为方便。整个电路可以分为:人体红外器(检测是否有人靠近垃圾筒),主控模块(主要是STM32F103C8T6芯片和电路板线路组成接受人体红外器等发出的信号,并做出相应的反应),舵机驱动模块(通过给舵机提供不同宽度的脉冲信号进而达到控制效果),火灾检测模块(检测是否有火源),另外还有超声波传感器检测垃圾筒里的垃圾是否装满,最后通过软件编程编写合理有效的控制程序,控制蜂鸣器鸣叫报警,实现相应的功能。其整体框图由图3.1所示。整个设计具有性能稳定、低成本和操作简单等优点。图3.1 整体框图3.2 电源模块 本次设计采取的供电方式是充电方式。STM32芯片的VDD引

21、脚的作用是提供外部电源,用于I/O和内部调压器。如图3.2所示,系统供电的电压为5V,经过一个正向低压降稳压器(型号为AMS1117-3.3V)将5V的电压降到3.3V,使STM32芯片的VDD引脚的工作电压为3.3V,使电容C2、电阻R2(阻值为330)和LED正常工作。使之构成一个电源电路。 图3.2 电源模块图3.3 STM32单片机单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种串口和中断系统、定时器、计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成

22、的一个小而完善的计算机系统4。而STM32是工业类型的单片机,在内存和处理速度远远超过51单片机5,同时还自带模数数模转换,多个串口,PWM等,在性能方面有很大的优越性,并且具有良好的严谨性、灵活性和可编程性,所以我们的首选是STM32系列的单片机。本次智能垃圾筒设计选择了工业型的STM32F103C8T6单片机,如图3.3所示:STM32F103C8T6芯片上总共有48个控制引脚,其中的使能控制引脚有四组共35个,PA组的控制引脚有16个(分别为PA0-PA15控制IO口),PB组的控制引脚有16个(分别为PB0-PB15控制IO口),PC组的控制引脚有两个(分别为PC13和PC15控制IO

23、口),PD组的控制引脚有3个(分别为PD0和PD1以及PD14控制IO口),其中PA9、 PA10控制IO口,以及 PA2、PA3控制IO口,都具备串口通信的功能,因此相比普通的单片机多出一组串口控制IO口,PD14和PC15控制IO口。以及PD0和PD1控制IO口,同样也用作单片机的外部晶振控制引脚和内部时钟控制引脚。BOOT0和BOOT1这两个控制IO口可用来对单片机进行启动配置。NRST控制IO口用作外部的复位电路连接引脚,STM32F103C8T6芯片上总共拥有十一个定时器、十三个通信接口。适用于各种应用控制,工业应用、报警系统等。图3.3 STM32单片机引脚图3.3.1 复位电路单

24、片机中的复位电路也有好几种方式(如,系统复位、上电复位等),本次使用的STM32F103C8T6芯片上使用的复位电路为上电复位。当单片机系统出现数据问题、或者需要把系统的当前状态恢复为初始状态时等等,都需要利用复位按键通过复位电路来实现系统复位。如图3.4所示:本次的复位电路由复位按键、电容、电阻以及芯片上的RST控制引脚组成,通过改变RST控制引脚的高低电平来触发复位,低电平触发有效。在电容充满电,复位按键没按下时RST输出为高电平,当复位按键被按下的时候,此时RST引脚处于一个接地的状态,因此RST引脚将输出一个高电平来完成复位触发。图3.4 复位电路图3.3.2 晶振电路STM32F10

25、3C8T6需要用到两个晶振电路,也就是外部晶振和内部晶振,而上面说到的单片机的运行频率为72MHz,就是由芯片上的内部晶振所提供的,晶振电路设计图如图3.5所示:内部晶振电路由8M的晶振和两个22P的电容以及芯片上的PD0、PD1控制IO口组成,单片机上的9倍倍频电路把从PD0、PD1控制IO口输入的晶振频率转变为72MHz。外部晶振电路由32.768K的晶振和两个15P的电容以及芯片上的PC15、PD14控制IO口组成,该电路主要为外部提供一个时钟频率。图3.5 晶振电路图3.3.3 USB接口电路STM32F103C8T6芯片上的USB接口电路在实际的应用中,既能用来为芯片提供所需的电源,

26、同时又能用作与外部的数据传输接口。STM32F103C8T6芯片上的USB接口电路如下:图3.6 USB接口电路图如图3.6所示,USB接口电路中的ID和GND引脚接地,VUSB引脚连外部输出的5伏电压,两个数据通信引脚分别为D-、D+。D-需要通过一个电阻(STM32F103C8T6芯片的工作电压电流较小,因此需添加一个R1的限流电阻来提供保护)接到芯片的PA11控制IO口,而D+分为三路输出,一路通过一个电阻(R3同理)接到芯片的PA12控制IO口,二路通过一个电阻(R4同理)接到芯片的PA8控制IO口,三路通过一个电阻接到STM32F103C8T6芯片上的3.3伏电压。3.3.4 下载电

27、路把软件上编写好的实物控制程序下载到STM32F103C8T6芯片上时,要用到下载电路来完成,这里需要通过一个J-LINK仿真器来把编写编译好的文件下载到单片机中。JTAG的下载电路如下:图3.7 下载电路图如图3.7所示,程序下载电路的VDD连电源正极,GND接地,TRST引脚接STM32F103C8T6芯片的PB5控制IO口,TDI引脚接芯片的PA15控制IO口,TMS引脚接芯片的PA13控制IO口,TCK引脚接芯片的PA14控制IO口,TDO引脚接芯片的PB4控制IO口,TEST引脚接芯片的NRST复位控制IO口。NC引脚不要用到,因此不用管。3.4 舵机驱动本次智能垃圾筒设计将利用舵机

28、来控制垃圾桶盖的打开与关闭,舵机电源线和地线用来提高工作所需电压,其电压一般为5V,控制线输入的是一个周期为20ms(即频率为50Hz)的方波脉冲信号(宽度可调)。舵机转轴的角度是随方波的脉冲宽度的变化而变化,角度变化和脉冲宽度呈正比关系,如图3.8所示:图3.8 角度与脉冲宽度变化图本次设计的舵机使用的工作原理:是控制信号(PWM信号)通过利用占空比的变化来改变舵机的位置6。简单的说,就是有人靠近人体红外器检测的范围内,通过舵机转动来拖动垃圾筒的盖子,使其自动开盖。3.5 液晶模块由于STM32单片机的芯片上提供有显示屏的接口电路,因此本次只能垃圾筒设计将利用一个0.96寸的OLED显示屏插

29、入到芯片上的显示屏接口,然后利用编写好的显示控制程序便能在OLED显示屏上显示出相应的参数信息。OLED是一种小体积的显示屏,分为带字库和不带字库两种,本设计所使用的就是带字库(GT20L16S1Y汉字库芯片)的0.96寸OLED显示屏,该种显示屏操作方便,因为内部自带有编码表,编写软件程序控制时,利用ASCII码(为简体中文编码)就可以调用并显示在屏幕上。OLED显示屏电路设计如下所示: 图3.9 OLED显示屏电路图如图3.9所示,OLED显示屏的反应性能良好,制作简单,且可以进行自发光功能。模块的能耗非常低,发光效率高,与普通显示屏的液体发光物质相比较,OLED显示屏为固态的发光物质,因

30、此在应用过程中的抗震性能强,同时在零下几十度的环境中也能正常工作。OLED显示屏的电源引脚接STM32F103C8T6芯片的3.3伏电压和地,CS1引脚为显示器的OLED片选引脚接PB1控制IO口,CS2引脚为显示器的字库选择引脚(通过该引脚来选择控制显示屏的字库)接PB10控制IO口,DC是命令操作控制引脚接PB0控制IO口,本次利用SPI通信来完成0.96寸OLED显示屏与单片机之间的数据通信,FSO、CLK、MOSI引脚为SPI通信控制引脚,FSO为数据输出引脚接PA4控制IO口,MOSI为数据输入引脚接PA7控制IO口,CLK为时钟输出引脚接PA5控制IO口。本次设计的液晶显示是用来显

31、示垃圾的高度,以此来检测垃圾筒里的垃圾是否装满,根据显示的垃圾高度提醒人们扔垃圾时小心,避免人在垃圾已满的状态下继续扔垃圾造成垃圾溢出的情况。3.6 人体红外模块3.6.1 人体红外检测原理人体红外检测器件,是以红外线为作为检测介质的人体感应元件,本次将使用人体热释电红外传感器来完成人体的监控,该传感器对移动的人体具有良好的检测性能,热释电红外传感器最主要的检测组成元件就是探测元,而探测元的两面一般都会各自延伸出一条电极,同时利用一个硅晶片在电极的两端形成两个电容,因为这两个电容是等效的,在电容产生极化的同时该电容的两端会生成正负两个不同的电荷。因此在没有检测到人体或者检测到的静止的人体时,传

32、感器中的正负电荷要么没变,要么产生的光电流相等形成互相消除的状态,使得传感器无信号输出,当检测到的人体在移动时,人体发出的红外波长在电容上所产生的红外线光电流便会打破当前的平衡状态,此时传感器便会输出信号。3.6.2 人体检测模块HC-SR501电路设计本次使用的人体热释电传感器为HC-SR501,HC-SR501模块是根据菲涅尔原理制作而成,不但能产生聚焦的功能同时还能让该模块对人体检测的灵敏度大大增强,使器件对人体产生的大约10UM的红外辐射非常的敏感。为了加强检测的稳定性能,在传感器的探测头上加了一层保护罩(菲涅尔滤光片),减少传感器来自外部的干扰。人体热释电传感器HC-SR501实物图

33、如图3.10所示:图3.10 人体红外器实物图HC-SR501人体红外传感器有着两种触发工作模式为可重复触发和不可重复触发方式7。可重复触发:该模式下当传感器的监控区域检测到有移动的人同时,就会触发传感器,HC-SR501传感器是一个通过高低电平来触发的器件,因此监测到移动的人就会通过电平输出端口输出一个高电平来完成一次触发,该触发具有一个延时的时长,也就是在这个延时的时长内只要人在监控的区域内进行活动,传感器便会一直的被触发,直到延时时长过后没有监控到人,电平输出端口才会输出一个低电平,进入待机状态。不可重复触发:该模式显而易见,就是刚好与上述的触发方式相反,该模式下监控到有移动的人,电平输

34、出引脚便输出一个高电平来完成传感器的触发,并在延时时长后(在此延时时长内传感器将不对监控区域内的活动人体进行重复的触发),电平输出引脚自动输出为低电平进入待机状态。本次HC-SR501人体红外传感器的电路设计图如下:图3.11 人体红外传感器设计图HC-SR501传感器的工作电源在5至20伏间,如图3.11所示,将传感器的电源接到单片机的5伏电源上,传感器的电平输出端口接到处理器的PA2控制IO口,处理器通过扫描PA2控制IO的电压信号来执行相应的触发功能。传感器模块上自带延时时长调节和检测距离调节电位器,延时时长可调节的范围在0.5至300秒,检测的距离调节的范围在3至7米。3.7 超声波模

35、块3.7.1 超声波测距原理本次智能垃圾筒设计将利用超声波传感器HC-SR04来完成桶内垃圾的堆放高度。超声波检测先由超声波模块上的发射器,发射出频率在40千赫兹的超声波,超声波在空气传播途中遇到障碍物后,该超声波会被反射回来,反射回来的信号被超声波传感器上的接收器进行接收从而完成一次距离的探测8。距离的计算,主要是根据发射器发射超声波时输出的高电平,一直持续到接收器接收到返回信号时,这个高电平持续的时间长,然后利用这个时间长乘以超声波在空气中传波速度,由于一来一回总共是计算了两次距离,因此探测的实际距离还要减去一半,就是本次超声波传感器检测到的距离。其测距原理如图3.12所示: 图3.12

36、超声波测距原理图3.7.2 超声波测距电路设计超声波传感器HC-SR04的电路设计如图3.13所示:超声波传感器HC-SR04有四个控制端口,分别是模块的两个电源控制端口和两个信号输出输入控制端,模块的正常工作电压为5伏,因此在电路的焊接过程中将模块的电源正负极端口接到5伏输出电路上,负极接到地,超声波发射的触发控制输入端口T接到处理器的控制IO口PB9,接收返回信号的响应输出端口E接到处理器的控制IO口PB8,先处理器控制IO口PB9输入一个10us的高电平,当IO口PB8接收的返回的信号时,此时处理器将计算出IO口PB9输入的高电平到PB8接收返回的信号之间的时间长。得到时间长后,利用公式

37、(持续的高电平时间(s)*340(m/s))/2=所测距离)得出距离。图3.13 HC-SR04传感器设计图本次设计使用的是型号为HC-SR04的超声波传感器,是根据垃圾的高度来检测垃圾是否装满,进而在垃圾筒里的垃圾装满时,提醒人们及时清理,避免垃圾溢出,造成周围的环境变臭9。3.8 火源检测模块3.8.1 MQ-2的概述烟雾传感器是用来检测环境空气中烟雾浓度含量的器件,广泛应用于对各种场所的烟雾浓度以及火灾防范等消防报警系统中。本次智能垃圾桶设计采用MQ-2传感器来完成当前环境的烟雾浓度检测,MQ-2传感器模块属于半导体器件,灵敏度很高且具有快速响应恢复,以及优异的稳定等优点。对家庭内以及工

38、厂等气体的泄露监测装置都非常的适用,同时能对甲烷、丙烷、酒精、液化气、烟雾等等进行探测。1、模块为双信号输出。2、模块的工作环境温度在-20至55摄氏度间都能正常的运行。3、模块所检测到的烟雾浓度结果会受到温湿度的影响。4、模块性能稳定,使用寿命长,驱动简单。5、模块的探测范围广对甲烷、天然气、液化气以及煤气等都有着良好的灵敏度。6、模块模拟量输出电压在0至5伏,烟雾浓度与输出的电压值成正比,输出的电压值越高说明检测到的烟雾浓度含量越高。3.8.2 MQ-2电路设计烟雾检测电路设计如图3.14所示:烟雾传感器MQ-2总共有四个控制端口,本次只需用到三个控制端口便能完成本次的烟雾检测,模块的电源

39、正极端口接5伏电源,模块的电源负极端口接地,还需用到模拟量输出控制端口,本次将模拟量输出端口接到处理器的控制IO口PA1,MQ-2传感器采用气敏材料,且导电率比较低的二氧化锡所制成,模块采集到烟雾浓度后,系统通过IO口PA1来读取检测到的烟雾电压信号,本次使用的处理器为STM32,该处理器具体引脚映射功能,因此处理器直接利用映射功能将PA1控制IO口赋予AD转换功能,无需设计外部转换电路,便能通过PA1控制IO口来完成湿度信息的读取,并转换为具体的百分比数字值,通过显示器就能呈现出来。 图3.14烟雾检测设计图本次设计使用烟雾检测器的作用在于检测是否有火源,方便提醒人们在垃圾筒里着火时能在第一

40、时间处理。防止因为垃圾着火而产生难闻的气味。3.9 语音报警模块蜂鸣器是一种一体化的电子发声器,本次智能垃圾桶设计需要利用蜂鸣器作为控制系统中的报警执行机构,本次使用的蜂鸣器为有源蜂鸣器,所谓的有源蜂鸣器是指该蜂鸣器的内部自带震荡源,蜂鸣器只要通电后就会发出响亮的声音,而无源的则需要利用外部的方波驱动才能发出响声10。有源蜂鸣器的工作发声原理图如图3.15所示:图3.15 蜂鸣器发声原理图为了使蜂鸣器能稳定的工作,本设计将利用一个S8550三极管来驱动蜂鸣器发出响声。当需要控制蜂鸣器发出响声时,只要给三极管输出一个低电平即可11。此次设计中的蜂鸣器是在检测到垃圾筒里的垃圾装满和有火源时进行语音

41、报警。其原理如图3.16所示:提供一个直流为5V的电压,通过一个三极管(型号为Q1)放大驱动电流并对驱动口输出驱动电平就能使蜂鸣器发出声音。 图3.16 蜂鸣器电路图重庆工程学院本科毕业设计 4 系统软件设计 4 系统软件设计4.1 软件开发环境单片机系统功能的实现,控制程序的编写是必不可少的12,软件开发平台是依据当前所使用的单片机型号来决定的。不同的软件开发功能不同,且开发时选择的编程语言不同时,开发软件也会不一样。本次智能垃圾桶设计使用的单片机为STM32单片机,因此只需通过电脑下载Keil5软件,即可用来完成对驱动程序的编写。Keil-C51软件可以说是当前一款非常强大的单片机C语言开

42、发环境,因此本次的开发语言将选用C语言来完成编写。Keil5软件强大的功能体现在库管理、宏汇编、C编译器以及带有一种强功能的仿真调试器等等方面,Keil5软件的窗口管理系统很灵活,开发过程中能使用多套的监视器,并能有效组织多个窗口为开发人员提供一个高效的开发程序。而之所以选择C语言为开发语言,一方面C语言非常适合Keil5软件的开发,另一方面相比汇编语言,C语言更加的便于理解和操作,同时在维护方面和跨平台的移植性方面以及结构性等方面有着更加的优势。4.2 软件程序设计智能垃圾筒设计需要编写的控制程序模块有主程序、烟雾检测程序、人体红外程序和超声波模块程序等。上电后,开始程序初始化,当烟雾传感器

43、检测到有火源时,将信号传送给STM32单片机,单片机接收到信号后,启动火源模块的程序做出反应,进行语音报警,延时后恢复到之前的状态;当人体红外器检测到有人靠近垃圾筒时,将信号传送给STM32单片机,单片机接收到信号启动相应模块的程序做出反应,打开垃圾筒,之后人体红外器检测到人离开垃圾筒时,单片机接收信号后启动程序关闭垃圾筒;当超声波传感器检测到垃圾筒里的垃圾装满时,将信号传送给单片机,接收到信号的单片机启动超声波模块的程序,进行语音报警。整体流程图如图4.1所示:图4.1 主流程图4.3 人体红外程序设计此模块以人体红外器为主。开始程序初始化(感应模块通电后有一分钟左右的初始化时间,在此期间模

44、块会间隔地输出0-3 次,一分钟后进入待机状态)13,人体红外器检测是否有人靠近垃圾筒,如果有人靠近垃圾筒,将信号传送给STM32单片机,单片机接收到信号后启动程序打开垃圾筒,如果没有人靠近,则保持原有状态。在检测到有人靠近并且打开垃圾筒的状况下,人体红外器还负责检测人是否离开垃圾筒,如果离开,则单片机在接收到人离开的信号后,启动离开部分的程序,使垃圾筒关闭,若人没有离开垃圾筒,则垃圾筒保持打开的状态,直至人离开。具体流程如图4.2所示:图4.2 人体红外模块流程图4.4 超声波检测的程序设计此模块以超声波传感器测距为主。开始程序初始化,超声波发出脉冲信号探测,开始计数信号往返的时间,根据往返时间得出距离(距离=往返时间*声速/2)。液晶显示距离(此距离为垃圾的高度),根据液晶显示的距离判断垃圾筒里垃圾是否装满,如果垃圾装满,则进行语音报警

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁