【基于单片机的智能垃圾桶分类控制系统设计与实现11000字(论文)】_第1页
【基于单片机的智能垃圾桶分类控制系统设计与实现11000字(论文)】_第2页
【基于单片机的智能垃圾桶分类控制系统设计与实现11000字(论文)】_第3页
【基于单片机的智能垃圾桶分类控制系统设计与实现11000字(论文)】_第4页
【基于单片机的智能垃圾桶分类控制系统设计与实现11000字(论文)】_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的智能垃圾桶分类控制系统设计与实现摘要科技在进步,时代在发展。在高速发展解决温饱,过上美好生活的时代,人们对于环保的概念不是很清楚,对垃圾的处理方式也不是很恰当,但现如今越来越多的人明白绿水青山才是人们最宝贵的财富。垃圾分类可以说是刻不容缓。本次毕业设计的主要内容是依据最新的环保需要用STM32系列单片机设计一款智能垃圾桶。该系统可以通过感应自动开关;可以对垃圾进行自动分类-用语音进行简单交流,对要扔的垃圾给予提示并自动打开相应的垃圾桶;可以在显示屏上显示垃圾桶里的温度,防止火险的出现;可以在手机app上对垃圾桶进行控制,方便人们的生活;溢满报警系统,提醒大家及时清理垃圾。该系统操作方便简洁,为人们在日常生活中处理垃圾提供了便利。关键词:智能垃圾桶;单片机;语音播报目录TOC\o"1-2"\h\u第一章绪论 PAGEPAGE5PAGE第三章硬件设计3.1控制模块STM32F103c8t6这个控制模块相当于是一个中心指导各个部件运行,外部指令下达,指令就会传到CPU内,内部做出相对应的反馈。在本系统中当用户走向垃圾桶,准备投递垃圾,但此时用户并不清待扔的垃圾属于什么垃圾。用户就可以对垃圾桶说“垃圾分类”来唤醒垃圾桶,语音传递到控制模块,控制模块做出的反应,然后就可以说出要扔的垃圾名称,垃圾桶会根据用户录制好的语音系统进行关键词识别并且完成分类后,会通过语音告诉要扔的垃圾属于哪一个垃圾桶,帮助使用者将垃圾扔到正确的垃圾桶。扔垃圾结束后,控制模块在预设的时间内进行停顿,然后借助舵机自动关上垃圾桶盖。如果垃圾桶内部装满,桶内的红外收发装置就会触发蜂鸣器报警,告诉人们不要再往里面投垃圾了。同时通过蓝牙模块将溢满信号传递至手机端APP,方便工作人员及时清理垃圾。垃圾桶内的温度还会通过数字温度传感器传递到CPU内,然后通过控制模块在显示屏上显示温度,倘若垃圾桶内的温度到达为危险值,桶内的数字温度传感器就会触发蜂鸣器报警,告诉人们要预防火灾的发生。STM32F103c8T6是一款基于ARMCortex-M内核STM32系列的32位的微控制器,属于一个微控制器,自带通信接口,可连接非常多的传感器,可以控制很多设备。它是性价比超高的单片机,功能强大。它的内核有高性能、低成本、低功耗和一流的外设等优点。在功耗和集成度方面也有不错的表现。STM32F103c8T6的特征:核心:采用32位Cortex-M3处理器。CPU具备处理模式和线程模式这两种运转形式,这两种运转形式全都具备单独的堆栈。内存:片上集成32-512KB闪存。6-64KB的SRAM内存。调试模式:串行调试和JTAG接口。可以拥有112个快速I/O端口,11个定时器,13个通信接口。STM32F103c8t6最小系统包含电源、晶振IO、下载IO、BOOTIO、复位IO。其中晶振IO分为主晶振IO和RTC晶振IO;下载IO是用于JTAG下载的IO,分为JTMS、JTCK、JTDI、JTDO、NJTRST;BOOTIO是用于设计系统的启动方式,分为BOOT0和BOOT1;复位IO(NRST)用于外部复位。STM32芯片架构简图如图3-1所示,STM32单片机引脚图如图3-2所示。图3-1STM32芯片架构简图图3-2STM32单片机引脚图与51单片机使用灵活既能对单片机内某些特殊功能寄存器的某位进行处理,还能进行位的逻辑运算;它具有其他单片机所不具备的乘法和除法指令,给编写程序提供了很大的方便;引脚好用,但在高电平时没有输出能力,运行速度慢,保护能力差,容易烧坏芯片相比REF_Ref8616\w\h[10]。STM32F103c8T6具有更加丰富的资源,它对里面的代码内容进行了封装处理,使其具有模块化,有着简单方便的接口,有着更多的内置功能,对外部电路的需求也有所降低,运转速度迅速,也有着更大容量。经过比较分析,STM32单片机系列用在本次设计中更适合,能够极大地提高语音识别垃圾分类的性能。3.2舵机SG90舵机:舵机可以说是此次设计的一个驱动器,采用金属连杆连接舵机与垃圾桶的盖子,其适用那些需要角度不断变化并可以保持的控制系统。其分为模拟舵机-需要不断的发送目的地PWM信号,才能旋转到指定位置和数字舵机-只需给一个目的地PWM信号,即可旋转到指定位置。在上面提到的PWM信号是指脉冲宽度调制。它的I/O口只有两种状态,那就是高电平,低电平。除了以上的内容用户还需要知道占空比-高电平占整个周期的时间就叫做占空比和PWM频率-PWM频率是指每秒钟信号从高电平到低电平再到高电平的次数。舵机的工作原理是:舵机内部有一个基准电压,微处理器产生PWM信号通过信号线进入舵机产生直流偏置电压,与基准电压作比较,获得电压差输出REF_Ref8897\r\h[11]。电机驱动芯片接收到电压差输出的值,读取判断是正或负决定是正还是反转。SG90是一个模拟舵机,要信号不断的给出才能到达心中预设的位置。到这个位置的动作并不能在一瞬间完成,需要时间,一般采用定时器加中断这个组合来执行它的偏转和停顿。舵机的优点有:内部结构紧凑,体积较小,适合此次小型智能垃圾桶的设计;安装简单,给用户的操作提供了便利;能够输出较大的力矩,抬起垃圾桶盖子的时候稳定性较好,不会让垃圾桶因不稳而晃动,从而将里面的垃圾弄的到处都是,影响家里卫生情况。比起其他的电机而言更适合此方案所以选择舵机作为系统的驱动电机。在舵机与垃圾桶的连接上选择了机械连杆作为连接,这样当家里电源出现故障时可以进行手动开关垃圾桶,不会让垃圾桶不能够运行。3.3语音模块在此次设计中,采用的是HLK-V20语音模块。语音识别对于垃圾分类的意识还相对淡薄的人们是很有帮助的。智能垃圾分类,帮助人们更便捷的分好垃圾,达到分类的效果;能够实现线上线下联通,垃圾桶的溢满情况能够通过蓝牙传递到APP上,在垃圾桶满后,触发蜂鸣器,从而传达给人们垃圾桶已经满的信息;减轻了人们的负担,也缩短了垃圾分类的时间,从而更方便快捷人们的生活。HLK-V20语音模块可广泛且快速地应用于智能家居、各类智能小家电、工业、医疗、物联网、汽车等需要语音操控的产品。HLK-V20核心芯片为高性能AI加速架构,以及硬件与算法的深度耦合联合,确保芯片远超通用芯片的性能。专用ASI以及面向AI的设计使得功耗大幅降低,做到了低功耗。模块采用32bitRSIC架构内核,并加入了专门针对信号处理和语音识别所需要的DSP指令集,支持浮点运算的FPU运算单元,以及FFT加速器,通过神经网络对音频信号进行训练学习,提高语音信号的识别能力,实现更多功能,方便客户定制化。新版语音模块HLK-V20支持150条语音指令可以随心定制语音指令。模块可作为系统主控HLK-V20可配合MCU的串口使用,识别语音指令后通过串口输出协议数据,MCU端串口接收语音模块串口数据后进行处理。模块可作为主控,运用在语音控制LED灯,语音控制继电器等场景。图3-3HLK-V20语音模块图3.4HC-05蓝牙模块HC-05嵌入式蓝牙串口通信模块具有两种工作模式:命令响应工作模式和自动连接工作模式。自动连接工作模式是指蓝牙模块自主地依靠已经设定好的方式进行数据的连接和传输;命令响应工作模式是指蓝牙能够通过手机给出的指令执行下达的AT指令。在设计中的控制模块STM32单片机的名为PI011的外部引脚输入电平,能够对蓝牙的工作状态进行一个转换。在此设计中添加蓝牙的原因是因为现代社会可以说是一个智能的社会,越来越多的家具已经进行智能化,拥有一个可以用手机控制的智能化的家可以说是每个人的梦想。并且每个人每天都离不开自己的手机,蓝牙可以使垃圾桶与手机相连接,方便人们查看垃圾桶的情况,能够使人们的生活更加便捷,提高人们生活的舒适感,还能帮助人们及时了解家里的信息,在外也能安心。3.5蜂鸣器模块蜂鸣器发声由振动和谐振装置组成。单片机有两种方式激发蜂鸣器发出警报:一种是PWM输出的方波来直接驱动,一种是利用I/O定时翻转电平就是利用定时器做一个定时形成一定的占空比产生驱动波形对蜂鸣器进行驱动REF_Ref9181\r\h[12]。蜂鸣器由三极管、蜂鸣器、续流二极管和滤波电容组成。蜂鸣器是发出声音的元器件,报警声是由它发出,在它两边加上直流电压或方波能够直接发声;续流二极管顾名思义就是提供续流;滤波电容作用是过滤波形,可以减少电流对其他部分的影响,也可改善电源的交流阻抗;三极管相对于蜂鸣器驱动电路的开关,基极的高电平使三极管饱和导通,蜂鸣器发声;基极的低电平使三极管关闭,蜂鸣器停止发声。3.6红外收发模块屏障物体距离的测量利用红外线测距原理,红外装置发出的信号在遭遇屏障物体时,根据不一样的距离,反射回来不同强度的信号。垃圾桶内的红外发射二极管向外部射出红外线。当射出的红外线没有接触到垃圾被反射回来或被反射回来但强度不够触发光敏三极管时,光敏三极管处于关断状态,模块输出高电平,二极管关闭;但垃圾到达检测高度时候,红外线被反射回来且强度足够大能触发光敏三极管,光敏三极管处于饱和状态,模块输出低电平,二极管点亮。红外收发模块的特色是REF_Ref8616\w\h[13]:采用TCRT5000红外反射传感器;检测距离:1mm-8mm适用,焦点距离为2.5mm;比较器输出信号干净;配备可以调节得精确周密地电位器用来调节其灵敏度;工作的电压范围是3.3V-5V;数字开关量输出。3.7显示屏OLED12864LED显示屏是一种新型的信息显示媒体,它是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕,所以每个像素点都是可以独立工作的。OLED有机材料,OLED屏幕几乎没有拖影,它还有以下几个优点REF_Ref8616\w\h[14]:厚度可以小于1毫米,较为轻便;抗震性能好,因为其是固态的,内部没有任何的液体物质;响应时间较短;低温特性好,在很低的温度下也能显示信息;制造工艺简单,成本更低;与LCD相比,其耗能更少;能够适应不同的基板。3.8温度感应模块DS18b20传统的温度感应模块大多是热敏电阻。热敏电阻传感器具有测量范围广的有点,但测量温度准确率低,对低于1℃的测出结果就不能保证准确性,必须要接口电路特地将模拟信号转为数字信号才能由微处理器进行处理REF_Ref9596\r\h[15]。数字式温度传感器DS18B20的芯片是集成芯片,采用单总线技术。它的优点有:受到干扰产生的影响小,测量温度准确;不用接转换器,使用简单;内部设计简单,元器件较少,制作成本低;在搭建电路模型时焊接电路更为快速。该温度感应模块具有体积更小、适用电压宽、经济实惠、封装方式可选择更小的等优点REF_Ref8616\w\h[16]。第四章软件设计4.1软件工具的介绍本次毕业设计软件编辑所用到的程序使KeilμVision5。由美国Keil公司研发的KeilMDK是支持ARM微控制器的一款IDE。MDK-ARM拥有着强大的KeilC编译器、宏汇编器、调试器、实时内核等组件。KeilMDK具有业行领先的ARMC/C++编译工具链,它集成了强大而且现代化的一些在嵌入式单片机开发过程中所要用到的许多编译工具,给开发人员创造了一个良好的平台,也给开发人员提供了很多的便利。4.2主程序的设计本次系统设计的主要功能结构为,当系统开启时进行初始化,各模块开始运行。首先语音模块唤醒垃圾桶,根据语音识别模块分辨垃圾的类型,打开相应的垃圾桶,经过一段时间后自动闭合。在此期间垃圾桶内的红外和温度感应模块感应到相应情况时会触发蜂鸣器报警。系统的主流程图如图4-1所示。主要代码如下:intmain(void){DelayInit();SG90_GPIO_Config();BUZZER_GPIO_Config();INFRARED_GPIO_Config();HC05_USART_Config();VIOCE_USART_Config();SG90_TIM_Config();OLED_Init();OLED_ShowStr(0,3,"init",1);DS18B20_Init();while(1){if(voice_rec!=VOICE_CMD_WAIT&&recCursor==0){voice_rec=parsingCmd(voice_rec);}if(hc05_data!=VOICE_CMD_WAIT&&hc05Cursor==0){hc05_data=parsingCmd(hc05_data);}if(checkGarbageTime>=4000){checkGarbageTime=0;garbageCheckFull();}}}图4-1主流程图4.3语音模块子程序设计通过唤醒词激发垃圾桶,说出设置好的垃圾内容,语言识别后打开垃圾桶,未识别到语言后关闭。主要代码如下:uint8_tparsingCmd(uint8_tcmd){if(cmd==VOICE_CMD_GARBAGE1_OPEN){garbage1_task=GARBAGE_STATUS_OPEN;}elseif(cmd==VOICE_CMD_GARBAGE2_OPEN){garbage2_task=GARBAGE_STATUS_OPEN;}elseif(cmd==VOICE_CMD_GARBAGE3_OPEN){garbage3_task=GARBAGE_STATUS_OPEN;}elseif(cmd==VOICE_CMD_GARBAGE4_OPEN){garbage4_task=GARBAGE_STATUS_OPEN;}图4-2语音模块流程图4.4舵机子程序设计为了将垃圾桶的盖子打开,需要将舵机的旋转角度设置为90°,为了将垃圾桶的盖子关闭,需要将舵机的旋转角度设置为0°。舵机控制的PWM为20ms周期,其中高电平为0.5ms,舵机处于0°,低电平为1.5ms,舵机处于90°。图4-3舵机流程图4.5垃圾满检测子程序设计垃圾桶内部装有红外感应器,当垃圾桶满的时候会遮住感应器,从而引发报警,提醒人们倒掉垃圾。主要代码如下:voidgarbageCheckFull(void){uint8_tdata=0x00;if(GPIO_ReadInputDataBit(INFRARED1_GPIO_PORT,INFRARED1_GPIO_PIN)==1){data|=0x08;}if(GPIO_ReadInputDataBit(INFRARED2_GPIO_PORT,INFRARED2_GPIO_PIN)==1){data|=0x04;}if(GPIO_ReadInputDataBit(INFRARED3_GPIO_PORT,INFRARED3_GPIO_PIN)==1){data|=0x02;}if(GPIO_ReadInputDataBit(INFRARED4_GPIO_PORT,INFRARED4_GPIO_PIN)==1){data|=0x01;}if(data==0x0f){BUZZER_OFF;}else{BUZZER_ON;}if(lastGarbageStatusData!=data){lastGarbageStatusData=data;Usart_SendByte(HC05_USARTx,data);}图4-4垃圾桶满检流程图4.6垃圾桶温度检测子程序设计垃圾桶外部装有温度感应模块,当温度达到28°时会触发蜂鸣器报警,提醒人们预防火灾的发生。主要代码如下:charstrTemp[5];floattemp=DS18B20_Get_Temp();sprintf(strTemp,"%.1fC",temp);OLED_ShowStr(0,3,strTemp,1);if(temp>28){BUZZER_ON;}}图4-5垃圾桶温度检测流程图

第五章系统调试5.1硬件测试硬件部分主要分类模块、微处理器、电源模块、HLK-V20语音模块、蓝牙模块、蜂鸣器模块、红外收发模块以及舵机SG90组成。硬件电路板的焊接是建立在仿真软件成功的基础之上的,尤其是在仿真时选择电容及电阻时,需要不断的调整,以确保元器件能正常工作。其次检查在焊接时是否因为失误从而使电路板存在有断路、短路、虚焊情况。最后当焊接好的电路板接通电源的时候,观察主要元器件是否工作,具体方法是通过万用表测量各个模块输出信号是否正确。5.2软件测试软件调试是在Keil中将程序进行搭建与运行,查询程序中的错误以便进行改正。(1)打开Keil软件,点击菜单中的Project中的NewProject,选择自己的单片机,然后点击菜单上的File,选择NewFile,在这个里面编辑程序,进行调试和编辑。图5-1建立Project(2)为了将编译生成的文件保存固定的文件夹中,选中Keil中的魔术棒,然后选中Output,点击SelectFolderforObjects选择OBJ文件夹,这样就会将编译后生成的文件保存到OBJ文件夹中。同时将CreateHEXFile选中,编译后会生成.hex文件,用于将程序下载到单片机板子上。图5-2编译输出设计(3)将头文件添入其中图5-3添加头文件选用STC_ISP软件将程序烧录到单片机上,实现智能垃圾桶与程序之间的连接。在烧录之前,要对该软件进行一些设置,例如将单片机的型号选为STM32F103c8t6,选择对于的COM端口,将后缀为hex的文件导入,最后点击下载烧录。图5-4烧录程序对话框5.3整机测试将系统的接线处接好,将USB供电线,插入电路板中间的单片机模块;USB供电线,接入电源,5V的充电宝、手机充电头、电脑等等;上电后,喇叭会提示欢迎语,说明语音模块正常,按下单片机模块上的复位按键;语音测试:语音唤醒词“垃圾分类”,唤醒成功系统会语音回复,用户有10s时间说出垃圾名称。系统识别垃圾成功后,语音提示垃圾类别,并且打开对应垃圾桶的盖子,3s后自动关闭盖子;垃圾桶溢满测试:按照第三点“语音测试”,打开其中一个垃圾桶盖子后,将一张纸巾盖在垃圾桶内的红外传感器上,使之触及到该垃圾桶的红外传感器;垃圾桶盖子合上以后,蜂鸣器发出警报声;按照第三点“语音测试”,打开其中一个垃圾桶盖子后,拿走纸巾,垃圾桶盖子合上以后,蜂鸣器警报解除;图5-5溢满测试垃圾桶温度测试:用手捂住垃圾桶旁边的温度感应器使其温度升高;当温度升到28°时蜂鸣器报警;手拿开后,温度降低,报警解除;图5-6温度显示蓝牙显示:下载相应的手机软件,手机打开蓝牙,选择HC-05蓝牙连接。这样在手机上可以控制垃圾桶的开关。当垃圾桶满了之后,手机上还能显示垃圾桶已满。图5-7蓝牙显示图系统完整安装完成,进行整体的功能测试,安装完成的系统如图5-6所示。图5-8系统整体图

结束语我通过对研究背景,研究意义和研究内容的分析与总结,决定设计出符合当下国情的智能垃圾桶。在上文详细描述的系统总体方案设计、硬件设计和软件设计中可以对这个系统有一个很好的认知。对系统进行软硬件测试后能够很好的了解他的性能,知道系统的缺点在何处。本文所设计的智能分类垃圾桶,由于个人能力有限,还有很大的进步空间。环保这一主题的畅行,为智能分类垃圾桶的发展完善提供了一个很大发展空间。智能分类垃圾桶的设计研究,要以环保、建设美好祖国为目标和需求为出发点,要便于现代垃圾分类清理工作和城市环卫工作,同时也要展望未来的发展趋势,跟紧潮流的发展。在此毕业设计的基础上,还可以做出以下精进:例如可以在系统上增加一些按键控制功能,以防语音控制系统出现错误而导致的垃圾桶系统失灵;可以联网通过大数据搜索来判断垃圾的归属等。

参考文献\t"/kns8/defaultresult/knet"李征,\t"/kns8/defaultresult/knet"徐逸凡.\t"/kns8/defaultresult/_blank"基于STM32智能垃圾桶的设计[J].\t"/

温馨提示

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

最新文档

评论

0/150

提交评论