《武汉工程大学学报》 2020年06期
693-697
出版日期:2021-01-30
ISSN:1674-2869
CN:42-1779/TQ
基于STM32的语音分类垃圾桶设计
随着经济社会发展和物质消费水平大幅提高,我国生活垃圾产生量迅速增长,环境隐患日益突出,已经成为新型城镇化发展的制约因素[1-3]。2015年9月,中共中央、国务院印发《生态文明体制改革总体方案》,将制定垃圾分类制度列为一项重要改革任务[4-5]。2016年12月,习总书记提出了“要加快建立分类投放、分类收集、分类运输、分类处理的垃圾处理系统,形成以法治为基础、政府推动、全民参与、城乡统筹、因地制宜的垃圾分类制度,努力提高垃圾分类制度覆盖范围”[6-8]。遵循减量化、资源化、无害化的原则,实施生活垃圾分类,可以有效改善城乡环境,促进资源回收利用,加快“两型社会”建设,提高新型城镇化质量和生态文明建设水平,对于培养社会的资源环境意识,不断提升中华民族整体的文明素质具有重要的意义[9-10]。当今社会,无论从各个方面而言,只有达到全民参与的程度才能达到预期的效果。推动民众参与垃圾分类、正确认识垃圾丢弃的方法是每个人应尽的义务与责任。本文将垃圾分类与智能感应相结合,设计了一种基于语音感应控制的分类垃圾桶,并通过利用电机动作和检测方式改善了垃圾桶的使用空间,优化了人们日常生活中的垃圾投放。1 语音分类垃圾桶总体设计整个系统总体主要分为两个部分,由57步进电机(以下称1号电机)以及HX711压力检测模块组成的桶盖部分;由STM32单片机、TB6600电机驱动器(2个)、XL6009升压模块、LED、LD3320语音识别模块以及第二个57步进电机(以下称2号电机)组成的桶身部分。垃圾桶以STM32单片机为核心,通过LD3320语音识别模块采集和分析声音信息,并将结果传输至单片机,单片机通过将该信息与设定的关键词对比判断用户是否具有投放意图,结果匹配时驱动1号步进电机打开桶盖,同时与当前分类桶所对应的关键词对比判断是否需要驱动2号步进电机旋转不同的分类桶至桶口。通过HX711压力检测模块实时检测当前所使用的分类桶垃圾是否达到桶盖处,在桶内垃圾堆积后接触桶盖内侧的压力检测模块时,检测模块开始受到压力并将信号传输至单片机,单片机将该压力值与设定值比较判断分类桶是否已达到箱满,当达到箱满时驱动LED灯常亮。系统总体框图如图1所示。2 硬件模块设计2.1 电压转换模块采用了XL6009升压模块,该模块使用了第二代高频开关技术的XL6009E1为核心芯片,升压效果好,可以输入3~32 V,输出5~35 V,并供给电机使用。该模块的输入端直接与开发板上的VCC以及GND相连,输出端与电机驱动模块相连用以供给驱动,连接图如图2(a)所示。2.2 压力检测模块设计采用了HX711压力检测模块[11]。该模块配置于垃圾桶桶盖内侧,用于检测垃圾桶内用户最近一次投放垃圾后垃圾桶是否已经装满,在投放动作结束时若该分类桶垃圾未满溢至桶盖处,模块不会检测到挤压力;若垃圾已堆积到桶盖处,在桶盖关闭挤压桶内垃圾的过程中压力检测模块会收到来自桶盖和桶内垃圾的上下侧的挤压力,若在挤压动作过程中受到的压力大于500 g,单片机则会驱动LED灯常亮提醒用户更换桶内垃圾。模块与主控芯片的PB0、PB1连接,连接图如图2(b)所示。图2 系统结构:(a)电压转换模块,(b)压力检测模块Fig. 2 System structures: (a) module of voltage conversion, (b) module of pressure detection2.3 电机驱动模块选用2个57步进电机作为桶盖转轴以及分类桶转轴,选用TB6600驱动器完成驱动工作[12]。驱动器分别与主控芯片的PC2、PC0、PC7、PB13、PB14、PB15相连接,通过输出改变TB6600控制端电平,驱动电机正、反转动。本设计采用共阴极连接法,电机驱动模块与控制器的连接如图3所示。图3 电机驱动模块原理图:(a)1号驱动模块,(b)2号驱动模块Fig. 3 Schematic diagrams of motor drive module:(a) drive module 1, (b) drive module 22.4 语音识别模块语音播报模块选择了LD3320模块[13-14]。其内部固化有高效的非特定人语音识别搜索引擎模块和完整的非特定人语音识别特征库,以及专门为语音识别而做的硬件优化和加速设计[15]。模块配置与桶体外沿。用户在投放垃圾时,说出含有投放垃圾种类的语句后,语音识别模块通过采集8 m以内的声音实时进行频谱分析并提取特征匹配关键字,当采集到设定关键字后LD3320将信息发送至处理芯片。该模块与主控芯片的PA3、PA5、PA6、PA7、PB10、PB11、PB12连接,连接图如图4(a)所示。2.5 LED报警模块按键模块配置于桶身显眼处,当不同类别的垃圾桶箱满后,light emitting diode(LED灯)会常亮报警。模块连接如图4(b)所示。图4 系统结构:(a)语音识别模块,(b)LED报警模块Fig. 4 System structures: (a) module of speech recognition, (b) module of LED alarm3 软件部分设计在软件设计中,选用了STM32F103RCT6作为主控芯片,搭配使用成熟的C语言,基于Keil5平台进行设计。上电后控制程序初始化,系统进入待机状态。当用户需要投放垃圾时,说出投放的垃圾种类,语音识别模块接收声音信息后识别关键字,传输信号至STM32处理器,处理器通过对比接收的信号驱动1号电机旋转,桶盖打开,同时判断此时对应的分类桶是否为用户需要投放垃圾的对应桶,若不是则驱动2号电机旋转使对应垃圾桶分类桶至桶口,有害垃圾桶对应电机0°角,干垃圾桶对应电机120°角,湿垃圾桶对应电机240°角。用户可以在10 s内投放垃圾,10 s后桶盖关闭并继续向内旋转5°角挤压桶内垃圾,若此时桶内垃圾已经达到桶盖处,压力检测模块会同时受到来自桶盖内侧与垃圾顶端的挤压力,当该挤压力超过设定值(500 g)时,STM32处理器驱动LED灯常亮报警,提醒用户及时更换该内桶垃圾。程序流程图如图5所示。图5 系统程序流程图Fig. 5 Flowchart of system program4 系统连接与调试4.1 垃圾桶设计垃圾桶整体模型设计图及具体模块位置如图6所示,包括了桶盖部分以及桶身部分。[顶端配置LED灯报警模块][未对应桶口的其余分类桶][桶内步进电机][对应桶口的分类桶][桶身集合有STM32单片机LD3320语音识别模块等其余模块][桶盖步进电机][HX711压力检测模块]图6 垃圾桶整体设计图Fig. 6 Overall design drawing of trash can4.2 垃圾桶桶身控制模块实物连接垃圾桶桶身部分由语音模块,桶内电机模块、LED、电机驱动模块以及STM32处理器组成,通过语音模块接收信息驱动桶内电机转动对应垃圾桶内桶至桶口,连接图如图7(a)所示。4.3 垃圾桶桶盖控制模块实物连接垃圾桶桶盖部分由压力检测模块(位于桶盖内侧)与桶盖步进电机组成,电机带动桶盖旋转,位于内侧的压力传感器在桶内垃圾满至桶盖时会进行垃圾桶满溢检测。连接图如图7(b)所示。[ a ][ b ]图7 垃圾桶控制模块连接图:(a)桶身,(b)桶盖Fig. 7 Diagrams of control module connection of trash can : (a) body, (b)cover4.4 垃圾桶语音识别功能测试系统上电后,通过串口调试助手以及电机实物转动情况观察电机旋转角度与方向。分别对近距离状况下的垃圾桶语音识别功能进行语音测试,本设计中的垃圾桶种类关键字为“干垃圾”、“湿垃圾”以及“有害垃圾”。在说出“干垃圾”时,桶盖步进电机旋转打开桶盖,同时桶身步进电机动作带动内桶旋转干垃圾桶对应桶口,10 s后桶盖电机反转关闭;在说出“湿垃圾”时,桶盖电机正常工作,桶身步进电机反转120°,此时湿垃圾桶对应桶口,10 s后桶盖电机反转关闭;在说出“有害垃圾”时,桶盖电机正常工作,桶身步进电机再次反转120°,此时有害垃圾桶对应桶口,10 s后桶盖电机反转关闭。语音识别功能正常。对语音感应模块识别距离进行测试,选取每隔2 m测1次数据。测试结果如表1所示。表1 语音模块调试结果Tab. 1 Results of voice module debugging[距离间隔 / m\&语音识别情况\&电机旋转情况\&0\&感应灵敏,识别速度迅速\&正常运作,控制效果好\&2\&感应灵敏,识别速度迅速\&正常运作,控制效果好\&4\&感应灵敏,识别速度迅速\&正常运作,控制效果好\&6\&接收出现延迟1 s左右\&延迟动作,效果不佳\&8\&未做出回应\&控制效果极差\&]由表1可知,语音识别模块可以正常完成垃圾分类的识别工作。4.5 满溢检测功能测试对箱满检测功能进行测试,在说出关键字,语音识别成功后,电机开始动作,对压力传感器施加小于500 g的压力时,LED灯不会亮起,在施加超过500 g的压力后,电机动作完毕的同时,LED灯会常亮警报,提醒用户箱内垃圾已满,工作过程如图8所示。图8 垃圾桶满溢LED报警图Fig. 8 LED alarm diagram of full trash can4.6 调试结果分析在4 m以内,垃圾桶可以对用户说出的正确关键字立刻做出反应,电机可以准确进入工作,4~6 m垃圾桶开始出现接收延迟,用户以正常行走速度接近垃圾桶可以及时投放垃圾,距离8 m开始已经出现无法接收信号的情况。该情况对于垃圾桶工作条件而言属于可接受范围。调试结果说明垃圾桶可以在一定范围内对用户的投放信息做出优良控制,并且可以在电机动作过程中检测到箱满时做出有效警报。5 结 论本文设计的语音分类垃圾桶与市面上常见的热释红外垃圾桶相比,避免了因用户经过垃圾桶时自动开关的误操作,并且通过桶盖电机的动作以及压力检测模块可以更有效地利用桶内空间。不足之处在于缺乏机械加工导致整体垃圾桶组装不到位。