APP下载

基于STM32的语音分类垃圾桶设计

2020-12-23杨帆秦智鹏

武汉工程大学学报 2020年6期
关键词:垃圾桶语音驱动

杨帆,秦智鹏

1.武汉工程大学电气信息学院,湖北武汉430205;

2.湖北省视频图像与高清投影工程技术研究中心,湖北武汉430205

随着经济社会发展和物质消费水平大幅提高,我国生活垃圾产生量迅速增长,环境隐患日益突出,已经成为新型城镇化发展的制约因素[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所示。

图1系统结构框图Fig.1 Diagram of system structure

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 detection

2.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 2

2.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 alarm

3 软件部分设计

在软件设计中,选用了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 program

4 系统连接与调试

4.1 垃圾桶设计

垃圾桶整体模型设计图及具体模块位置如图6所示,包括了桶盖部分以及桶身部分。

图6垃圾桶整体设计图Fig.6 Overall design drawing of trash can

4.2 垃圾桶桶身控制模块实物连接

垃圾桶桶身部分由语音模块,桶内电机模块、LED、电机驱动模块以及STM32处理器组成,通过语音模块接收信息驱动桶内电机转动对应垃圾桶内桶至桶口,连接图如图7(a)所示。

4.3 垃圾桶桶盖控制模块实物连接

垃圾桶桶盖部分由压力检测模块(位于桶盖内侧)与桶盖步进电机组成,电机带动桶盖旋转,位于内侧的压力传感器在桶内垃圾满至桶盖时会进行垃圾桶满溢检测。连接图如图7(b)所示。

图7垃圾桶控制模块连接图:(a)桶身,(b)桶盖Fig.7 Diagrams of control module connection of trash can:(a)body,(b)cover

4.4 垃圾桶语音识别功能测试

系统上电后,通过串口调试助手以及电机实物转动情况观察电机旋转角度与方向。分别对近距离状况下的垃圾桶语音识别功能进行语音测试,本设计中的垃圾桶种类关键字为“干垃圾”、“湿垃圾”以及“有害垃圾”。在说出“干垃圾”时,桶盖步进电机旋转打开桶盖,同时桶身步进电机动作带动内桶旋转干垃圾桶对应桶口,10 s后桶盖电机反转关闭;在说出“湿垃圾”时,桶盖电机正常工作,桶身步进电机反转120°,此时湿垃圾桶对应桶口,10 s后桶盖电机反转关闭;在说出“有害垃圾”时,桶盖电机正常工作,桶身步进电机再次反转120°,此时有害垃圾桶对应桶口,10 s后桶盖电机反转关闭。语音识别功能正常。

对语音感应模块识别距离进行测试,选取每隔2 m测1次数据。测试结果如表1所示。

表1语音模块调试结果Tab.1 Results of voice module debugging

由表1可知,语音识别模块可以正常完成垃圾分类的识别工作。

4.5 满溢检测功能测试

对箱满检测功能进行测试,在说出关键字,语音识别成功后,电机开始动作,对压力传感器施加小于500 g的压力时,LED灯不会亮起,在施加超过500 g的压力后,电机动作完毕的同时,LED灯会常亮警报,提醒用户箱内垃圾已满,工作过程如图8所示。

图8垃圾桶满溢LED报警图Fig.8 LED alarm diagram of full trash can

4.6 调试结果分析

在4 m以内,垃圾桶可以对用户说出的正确关键字立刻做出反应,电机可以准确进入工作,4~6 m垃圾桶开始出现接收延迟,用户以正常行走速度接近垃圾桶可以及时投放垃圾,距离8 m开始已经出现无法接收信号的情况。该情况对于垃圾桶工作条件而言属于可接受范围。调试结果说明垃圾桶可以在一定范围内对用户的投放信息做出优良控制,并且可以在电机动作过程中检测到箱满时做出有效警报。

5 结论

本文设计的语音分类垃圾桶与市面上常见的热释红外垃圾桶相比,避免了因用户经过垃圾桶时自动开关的误操作,并且通过桶盖电机的动作以及压力检测模块可以更有效地利用桶内空间。不足之处在于缺乏机械加工导致整体垃圾桶组装不到位。

猜你喜欢

垃圾桶语音驱动
数据驱动世界。你得懂它 精读
基于模糊PI控制的驱动防滑仿真系统分析
垃圾桶等
投进垃圾桶的信
谁最厉害?
屈宏斌:未来五年,双轮驱动,砥砺前行
飞进垃圾桶
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器