语音智能储物柜设计
2020-12-14潘益玲
潘益玲
(河源职业技术学院,广东 河源,517000)
储物柜是一种储存物品的装置,传统的储物柜用机械锁控制实现,现有的储物柜或是利用人机交互、网络通信和视频监控等技术实现[1],或是利用二维码或密码实现,或是利用上位机、下位机实现或是基于互联网的卡片式实现[2-4],控制和操作都不方便。随着AI 技术的不断发展,人们对储存物品的智能化和便利性提出了新的要求。设计一个语音控制的智能储物柜,以IAP15W4K58S4单片机为控制核心,以SYN7318 语音芯片为语音交互核心,对麦克风传入的语音词条与命令进行语音识别,实现语音控制储物柜的存储物品、语音查询物品、语音控制取物,能储存多个物品,并实时记录显示存储的物品名称和存储的位置,控制精确,性能稳定、语音交互简单方便,解放了人们的双手,给存取物品带来了极大便利。
1 系统整体设计
储物柜控制系统主要由电源模块、语音识别交互系统、储物柜电机控制系统、显示反馈系统四部分组成[5]。
电源模块的作用是为IAP15W4K58S4 单片机、SYN7318 中文语音交互模块、压力传感器、数码管。提供5V 工作电压,为SYN7318 中文语音交互模块中的部分电路提供3.6V 工作电压,为OLED 显示屏提供3.3V 工作电压。
语音识别交互系统以IAP15W4K58S4 单片机为控制核心,通过UART 接口通信方式与SYN7318 语音芯片交互接收与发送数据帧[6],IAP15W4K58S4 解析完成后,控制电机模块启动,进而存取物体。语音交互系统使用时以“百灵”为识别名,开启语音唤醒功能,通过扬声器,以声音的形式播出唤醒语音段及提示。
储物柜电机驱动器接收到单片机IAP15W4K 58S4 发送过来的控制信号后,驱动电机执行相应的弹出和关闭置物柜动作,储物柜放置有传感器检测是否有物体,限位开关控制柜子开合的位置。
显示反馈系统采用OLED 和数码管实时显示物品所在的储存柜以及储存柜是否为空柜,并在数码管上闪烁及语音播报。
系统整体框图如图1 所示。
图1 系统整体框图
2 硬件电路设计
整体硬件电路由电源模块、单片机最小系统、语音交互系统、电机驱动系统及显示反馈系统五部分组成。
2.1 电源模块
电源模块主要为单片机、语音芯片、电机及其驱动器、OLED 及数码管等硬件提供工作电源。LM2596S DC-DC 降压电源模块是降压型电源管理单片集成电路的开关电压调节器,能够输出3A 的驱动电流,同时具有很好的线性和负载调节特性。固定输出版本有3.3V、5V、12V,可调版本可以输出小于37V 的各种电压[7-9]。使用三个LM2596S DC-DC(即可调版本),分别输出5V、3.6V、3.3V 工作电压,分别为IAP15W4K58S4 单片机、SYN7318、压力传感器、数码管提供5V 工作电压;为SYN7318 中文语音交互模块提供3.6V 工作电压,为OLED 显示屏提供3.3V 工作电压。原理图如图2 所示。
图2 LM2596S DC-DC 降压电源模块原理图
2.2 单片机最小系统
IAP15W4K58S4 单片机作为语音智能储物柜的大脑,控制着系统中不同模块的工作。该单片机采用了增强型8051 内核,拥有4K(4096)字节的SRAM 空间,具有4 组高速异步串行通信端口UART、CCP/PWM/PCA、增强型PWM 等外设功能,相比普通51 单片机功能更强大,使用更方便,由于IAP15W4K58S4 单片机内部集成了时钟晶振和复位电路,只需将单片机与电源和地连接即可构建最小系统[10]。单片机最小系统与其他各个模块的连线接口电路如图3 所示。
图3 单片机最小系统与其他模块连接端口图
2.3 语音交互系统
SYN7318 中文语音交互模块如图4 所示,是语音智能储物柜的重要组成部分,以“百灵”为识别名,开启语音唤醒。SYN7318 通过麦克风接收到语音指令(如:我要放手机、我要拿手机、手机在这吗?),语音合成后将指令发送给IAP15W4K58S4单片机,单片机再对指令作出一系列处理之后,给SYN7318 中文语音交互模块发送语音合成指令,使SYN7318 中文语音交互模块通过扬声器播报出相应的语音[11]。原理图如图5 所示。P2 为SYN7318提供5V 电源,TX、RX 是通讯口,SYN7318 通过TX、RX 与单片机相连。CHIPRST 端口为复位按钮,R/B、REC 为语音模块电源指示灯、通讯指示灯。
图4 SYN7318 中文语音模块
图5 SYN7318 中文语音交互模块原理图
2.4 电机驱动系统
语音智能储物柜由两个储物柜组成,每个储物柜配置一个电机、两个限位开关。储物柜的进出推动由步进电机完成;当电机到达预定位置,接通限位开关控制电机停止转动。两个步进电机用TB6612 FNG 驱动[12],如图6 所示,电机接在AO 和BO 口,驱动器PWM 脉冲由单片机产生,电机正反转控制信号通过AIN1、AIN2、BIN1、BIN2 端口实现。
图6 TB6612 FNG 模块电路图
其中一个储物柜为单物品储物柜,另一个为多物品储物柜,可存储多个物品。储物柜是否有物品由压力传感器判断,压力传感器(HX711AD 模块)安装在储物柜里面,当有物品存入时判别是否存入,当取出某物时判别某物是否取出或者储物柜是否为空,将该储物柜的状态发给IAP15W4K58S4 单片机。
2.5 显示反馈系统
储物柜的货物状态使用OLED 显示屏进行显示,使用IIC(4SPI、3SPI)型号。当储物柜存储物品时,OLED 将在存储的位置标注上该物品的名称;当取物品时,如果该物品已经完全被取出,OLED会将该物品所储存位置与名称清除。其原理图如图7 所示。
图7 0.96 寸OLED 模块原理图
为了方便使用者快速了解物品所在位置,还设计了一位数码管显示。当使用者使用语音智能储物柜的存储、查询、取物等功能时,搜索到的物品所在储物柜的编号将在数码管中闪烁5 秒。
3 软件程序设计
系统微处理器采用IAP15W4K58S4 单片机,编程采用模块化设计,系统程序由主程序和一系列的子程序构成。主程序负责系统的初始化及各子程序的调用[13]。各子程序包含有串口初始化、语音合成、存物、取物、显示、查询物品、语音播报等程序,主程序流程图如图8 所示。
图8 主程序流程图
4 系统测试
硬件电路搭好后,将编好的程序录入IAP15W4K58S4 单片机,通电对两个柜子进行测试。语音输入“百灵”,进行语音初始化,即唤醒功能,语音识别模块通过扬声器,以声音的形式播出唤醒语音段及提示,麦克风采集到语音后经过合成串口传递给单片机后,控制储物柜及显示模块动作,从而完成语音存物、语音取物、语音查询。通电测试播报和OLED 屏显示内容如表1 所示。多次测试的成功率如表2 所示。
表1 储物柜功能测试
表2 通电测试成功率一览表
由测试结果可知,语音储物动作灵敏,语音指令识别率达94%,存物取物和语音查询准确率高,均值达95.56%,语音交互存取方便,语音查询快捷高效。
5 结语
本文介绍了应用单片机结合语音芯片进行语音控制的方式来实现物品的存取,查询,具有语音交互简单,存取便利、价格低廉等特点。系统以SYN7318 语音芯片为语音交互核心,对麦克风传入的语音词条与命令进行语音识别、语音合成后,与IAP15W4K58S4 单片机控制芯片进行通信,通过串口进行语音数据的传递,从而控制电机拖动储物柜进出,实现物品的存储,并记录存储的物品名称和存储的位置,在OLED 屏上实时显示,数码管辅助闪烁显示物品存储的位置。当语音查询物品时,储物柜也能进行语音播报,并闪烁显示查询物品所在的位置。经过多次测量,储物柜性能稳定,使用效果较理想。如果升级语音系统,加入声纹检测,使储物柜可判别每个人的声纹即可增加其安全性,防止物品被盗。