一种室内智能语音识别垃圾分类系统的设计
2021-11-25李继超贺晓倩权亚腾党康博
李继超,贺晓倩,权亚腾,党康博
(西安工业大学 电子信息工程学院,西安710021)
随着经济的快速发展,人们生活水平不断提高,我国垃圾产生量也在逐年递增。据统计,仅城市生活垃圾年产量超过2 亿吨,年增长率为8%~10%。我国的城市生活垃圾资源利用率不到5%,但是在国外却超过60%[1],面对愈演愈烈的“垃圾围城”现象,研究一种有效的垃圾分类方法已经十分紧迫。
针对垃圾的收集,国外市场开始出现智能垃圾桶[2-3],如美国的Transhbot[4]和BigBelly、芬兰的Enevo[5],大多基于实时监测、自动报警、液晶显示屏进行设计[6-8]。国内也进行了相关研究,主要分为感应性垃圾桶、 太阳能垃圾桶与商业广告垃圾桶,使得垃圾桶具有自动分类、报警和监测可用容量等功能,但尚无法满足自动识别分类的需求[9]。本文针对当前现状,设计了一个室内智能语音识别垃圾分类系统,该分类系统采用语音识别技术,指导扔垃圾者对可回收、厨余、有害和其他垃圾4 类垃圾进行正确的分类和投放,主动进行垃圾分类[10-16]知识的播报和宣导。其次,该系统有效避免垃圾分类错误导致的二次分拣等问题。综上所述,室内智能语音识别垃圾分类系统可以节约人力资源,自动化程度高,有良好的经济效益和社会效益。
本设计采用STM32F103ZET6 单片机为核心控制器,以翻盖垃圾桶实物为依托,配备智能语音库,实时处理采集的数据信息,包括语音指令、手部感应和容量检测信息等,实现在室内环境下,有效地进行垃圾种类的识别和回收。
1 系统总体方案
本文设计的室内智能语音识别垃圾分类系统具备语音播报、语音识别、串口通信、人机交互等功能。
本设计对原有脚踩垃圾桶进行机械改造,采用MG995,TBS2701 舵机(15 kg),以此控制垃圾桶桶盖的开关。当语音助手识别关键词含垃圾名称时,串口发送数据至舵机控制模块执行开盖操作。如果语音助手被唤醒,则会根据对话中的关键词判断垃圾的正确归属种类,打开对应的垃圾桶盖并且通过语音提醒使用者。当检测到垃圾桶已满时,对应的垃圾桶容量指示灯会常亮,同时语音提醒人们更换垃圾袋。功放模块也可宣传和普及正确的垃圾分类知识,帮助人们养成良好的垃圾分类习惯。管理员模式下,可通过按键控制对应垃圾桶盖打开或闭合,人为收集和更换垃圾袋。室内智能语音识别垃圾分类系统设计方案如图1 所示。
图1 室内智能语音识别垃圾分类系统设计方案Fig.1 Design scheme of indoor intelligent voice recognition garbage classification system
2 系统硬件设计
室内智能语音识别垃圾分类系统硬件设计包括供电模块、STM32F103ZET6 主控模块、通信模块、超声波感应模块、舵机模块、垃圾桶容量检测模块、工作选择模式模块、语音识别模块和控制按键等组成。
2.1 超声波测距模块
HC-SR04-1 是一款体积小,具有较宽工作电压的超声波测距模块,探测距离为1 cm~450 cm,采用该模块实现垃圾桶手部感应和容量检测等功能。该模块有4 个引脚分别为VCC,Trig,Echo,GND。VCC 与GND 分别为模块的电源和地接口;Trig 为触发端口;Echo 为接收端口。该模块的工作原理如下:STM32 通过Trig 端口提供至少持续10 μs 的高电平信号,模块接收到该信号后连续发送8 个40 kHz 的方波,并检测是否有信号返回,若检测到返回信号则通过Echo 口向STM32 发送高电平信号,高电平持续时间为超声波从发送到返回时间,可通过下面的公式计算距离:
距离=(高电平时间×声速(340 m/s))÷2
其接口电路原理如图2 所示。
图2 超声波感应模块接口Fig.2 Ultrasonic sensor module interface
2.2 舵机控制模块
舵机模块是一种集电机、 伺服驱动、PWM 信号接口为一体的伺服单元,用于需要精确位置控制的场合。
PWM 舵机的伺服系统由可变宽度的脉冲来进行控制,控制线是用来传送脉冲的。舵机的基准信号周期为20 ms,占空比有限范围0.5~2.5 ms。1.5 ms这个基准信号定义为中位信号,当脉宽给1.5 ms 时对270°舵机来说就是控制其处于135°的位置。舵机一般都有最大转动角度和最小转动角度,中间位置的定义就是从最大角度到最小角度的中间位置。不同舵机的最大转动角可能不相同,但中间位置的脉冲宽度是一定的,那就是1.5 ms。
舵机控制采用定时器计数方式控制,周期为20 ms,PWM 有效控制数值为500~2500 μs,270°舵机精度为270/2000=0.135°。
垃圾分类系统要进行机械改造,所以舵机的角度必须要精确。结合实际算出此垃圾分类系统舵机需要转过的角度为22°对应垃圾桶开盖的角度。如图3 所示。
图3 舵机角度计算示意图Fig.3 Schematic diagram of steering gear angle calculation
2.3 工作选择模式模块
工作选择模式模块主要由拨码开关来实现。拨码开关也称为DIP 开关,是一款用来操作地址的控制开关,采用的是0/1 的二进制编码原理。采用4 路拨码开关,一共有16 种编码方式。主要是当垃圾桶已满时,用来切换工作模式和管理员模式。切换到管理员模式之后,所有工作模式下的功能都已关闭,其电源模块电路如图4 所示。
图4 电源模块电路图Fig.4 Power module circuit diagram
2.4 语音识别模块
为通过声音的方式进行语音识别和人机交互,本设计采用LD3320 语音模块进行设计。LD3320 是一颗基于非特定人语音识别计数的声控芯片,集成了高精度的A/D 和D/A 接口,不再需要外接辅助的Flash 和RAM,可以实现语音识别、人机对话功能。语音识别ASR 技术,是基于关键词语列表识别的技术,只需要设定好识别的关键词语列表,并把这些关键词语以字符的形式传送到LD3320 内部。UART串口进行数据传输通信;板载5WD 类功放,可直接驱动4 Ω,3~5 W 喇叭,其端口及电路如图5 所示。
图5 语音识别模块电路Fig.5 Speech recognition module circuit
3 系统软件设计
软件系统包括语音播报模块、 语音识别模块、串口通信模块、人机交互模块、管理员模式模块。整体系统组成框架如图6 所示。
图6 整体系统组成框架Fig.6 Overall system composition framework
3.1 垃圾分类系统主程序设计
垃圾分类系统上电初始化完成后,首先播报当前垃圾分类系统的感应开盖语音提醒的开关状态,以及播报当前垃圾分类系统的工作模式。工作模式指的是语音交互、手部感应、垃圾桶容量检测等功能,非工作模式(即管理员模式)指的是管理员可按键控制各个垃圾桶盖的开启和闭合,完成旧垃圾袋的收取和新垃圾袋的更换。垃圾分类系统主程序流程如图7 所示。
图7 垃圾分类系统主程序流程Fig.7 Main program flow chart of garbage sorting system
3.2 语音助手主程序设计
语音助手上电之后,开始初始化系统时钟、GPIO、串口、定时器等相关资源,等待语音助手唤醒指令,如果听到唤醒指令,则发送唤醒状态串口指令至垃圾分类系统,同时播放“我在”语音。接着,检测10 s内是否有关键词口令(关键词:玻璃、鸡蛋皮、杀虫剂、骨头等),若没有,则直接进入睡眠状态,同时播放退出“好的,那我先溜了”语音文件;若有关键词,则立即匹配对应的关键词,发送当前关键词对应的串口识别码(二位十六进制数据),播放对应的语音文件(举例:“玻璃”对应的语音文件是“玻璃属于可回收垃圾”),垃圾分类系统接收到二位十六进制串口识别码后,立即打开对应垃圾桶桶盖。最后,此时语音助手程序返回等待关键词处,进入新的一轮等待。
任何时候,串口USART1 接收到垃圾分类系统发送的串口数据后,立即匹配对应的语音播放指令。语音助手程序流程如图8 所示。
图8 语音助手程序流程Fig.8 Voice assistant program flow chart
3.3 管理员模式下按键程序设计
进入管理员模式后,若没有按键按下时,则一直等待按键按下;当检测到有按键按下时,首先判断是否为1 号按键按下 (此处1 号是指厨余垃圾桶、厨余垃圾桶盖状态和语音文件对应的编号),如果是,再判断是否为第一次按下,如果是第一次按下,则立即打开1 号垃圾桶盖,同时播放1 号垃圾桶盖打开语音文件,打开1 号状态指示灯;如果不是第一次按下,则关闭1 号垃圾桶盖,同时播放1号垃圾桶盖关闭语音文件,关闭1 号状态指示灯。同理,2 号可回收垃圾桶、3 号有害垃圾桶、4 号其他垃圾桶的按键控制流程类似。按键模块程序部分流程如图9 所示。
图9 按键模块部分程序流程Fig.9 Part of program flow chart of button module
4 系统结果分析
在完成了系统的硬件电路设计和软件设计之后,对整个系统的功能进行了验证。本系统主要采用以STM32F103ZET6 和STM32F103RCT6 为微控制器,LD3320 语音芯片、超声波手部感应模块、容量检测模块、舵机控制模块、步进电机驱动模块、以及功放模块等构成。系统实物如图10 和图11所示。
图10 系统控制板实物图Fig.10 Physical picture of system control board
图11 垃圾分类系统实物图Fig.11 Physical map of garbage classification system
当手部感应垃圾桶盖位置时,HC-SR04 超声波传感器检测到阈值范围内有障碍物,此时STM32 对数据信息进行分析处理,对应的垃圾桶盖自动打开,并通过语音助手播放对应垃圾桶盖打开语音文件。手部感应测试结果如表1 所示。
表1 手部感应模块测试结果Tab.1 Hand sensor module test results
当语音助手检测到关键词出现时,立即匹配对应的关键词,播放对应的语音文件。针对不同的垃圾类别,分别模拟100 次实验,对应的语音识别测试结果如表2 所示,其中,测试对应的识别速度如图12 所示,可见,系统运行稳定后,每完成一次垃圾分类识别的时间约为0.90 s,具有良好的识别速度。
表2 语音识别模块测试结果Tab.2 Speech recognition module test results
图12 垃圾种类识别速度Fig.12 Speed graph of garbage type recognition
5 结语
本文所设计的垃圾分类系统是由舵机控制模块、手部感应模块、STM32 和LD3320 语音芯片控制板、功放外设模块、按键控制模块、功能状态指示灯模块、垃圾桶容量检测模块等7 大部分组成。本设计采用降压稳压处理、语言识别、串口通信、人机交互等技术,设计一套绿色环保、自动化管理及安全可靠的室内智能语音识别垃圾分类系统。
本垃圾分类系统目前虽然具有垃圾分类的基本功能,但是仍然有改进和完善的地方,比如增加对所投放的垃圾进行图像识别,分类错误时语音播报等扩展功能,使此作品更加的智能化,使垃圾分类更加人性化。