智能玩具车语音控制系统设计

2022-10-11 07:37:16洪育坤陈燕邓翔宇陈科亨王静
电子设计工程 2022年19期
关键词:语音输入蓝牙小车

洪育坤,陈燕,邓翔宇,陈科亨,王静

(新疆师范大学物理与电子工程学院,新疆乌鲁木齐 830054)

随着计算机和微电子技术发展的突飞猛进,智能化技术开发程度逐渐增强,影响的范围不断扩大,智能小车的研究在我国也成为了新兴领域。由于能够在人类无法工作的环境下运行,智能小车成为了各个电子竞赛以及大学生创新创业项目的重点关注对象,智能化的研究开始受到各个高校的重视。

采用51 单片机和LD3320 语音芯片结合的方式制作智能车[1-2],由于STC89C51RC 等8 位单片机本身处理速度慢,功能接口数不多,中断较少,性能不佳,因此采用凌阳16 位单片机SPCE061A[3-5],其数据处理能力较强,在性能上超过51 单片机,但使用前需要进行音频的训练,流程繁琐。

文中使用了STM32F103C8T6单片机加上LD3320的方式。STM32F103C8T6 为32 位单片机,处理速度比8 位的51 单片机和凌阳16 位单片机快,本身具有多种功能的接口,能实现更多的模块组合。LD3320的特点是不用事先训练音频,简化了繁琐的设计步骤。该项目整体设计满足智能玩具设计的四个基本原则[6]。

1 系统硬件设计

系统硬件主要分为两大部分:遥控器硬件部分和智能小车硬件部分。系统主要由STM32F103C8T6单片机、LD3320 语音识别模块、HC-05 蓝牙模块、L298N 电机驱动模块、SYN6288 语音合成模块、HCSR04 超声波测距模块、舵机等构成。整体系统硬件结构框图如图1 所示。

图1 系统硬件结构框图

2 系统模块具体设计

2.1 遥控器结构模块

2.1.1 LD3320语音识别模块

LD3320可以动态编辑语音识别的关键词列表[7],具有对语音输入进行自动录音,并自行判断和内部设置词条是否相同,将最终结果传输给单片机的功能。自动语音识别技术(ASR)[8-9]为LD3320 语音识别芯片内部所采用的核心技术。模块原理图如图2所示,可通过内置的咪咕头[10]或者外接麦克风接收外来语音,进行语音的输入,并可通过对寄存器的设置来更改识别的距离和灵敏度。该芯片可以通过出厂就被设置好的数据进行中文拼音的识别,将各个字的拼音连在一起就能实现词或句的识别。优点是无需经过训练便可直接识别语音,缺点是由于本身存储空间的影响,可设置的词条仅为50 个[11-12]。

图2 LD3320原理图

STM32 单片机的SPI 口与LD3320 进行连接,由于LD3320 只能识别中文关键字,故用中文谐音的关键字替代英文关键字进行识别,且英文单词发音差异较大,因此对部分英文语音输入增加识别关键字。关键字设置如表1 所示。

表1 语音识别字库

当语音输入关键字时,LD3320 进行识别,并通过SPI 口传输已设关键字所对应的指令至STM32 单片机。例如,若语音输入“小车”,则STM32 打开中文相关配置的指令识别功能——后续只识别中文,而语音输入“car”则进入英文相关配置的指令识别功能——后续只识别英文,增加程序的运行速度。采用一级词条进行唤醒和关机,二级词条实现控制的方式提高识别的效率和准确度[13]。

2.1.2 HC-05蓝牙模块

系统采用一种高性能的蓝牙串口模块HC-05,能有效实现透明传输。HC-05 在空旷地带能够稳定传输信号的距离为10 m。

HC-05 具有命令响应工作模式和自动连接工作模式两种工作方式。该设计主要利用自动连接工作模式中的主、从模式。主模式下HC-05 启动后在一定范围内自动搜索其他设备的蓝牙信号;从模式下HC-05 启动后不自动搜索,等待其他设备蓝牙搜索到它后才进行蓝牙连接。

为实现蓝牙远程控制小车的功能,利用HC-05主、从模式,将遥控部分的蓝牙设置为主模式,小车的蓝牙设置为从模式,实现两种模式下蓝牙的自行建立连接并进行指令的传输。通过CH340 芯片与电脑连接可设置蓝牙的主、从模式、地址与连接密码等功能,令主从蓝牙双方建立相互连通的地址与相同的密码,但不进行绑定,方便当语音无法正常使用时,用其他设备进行控制。

通过STM32单片机的USART串口连接蓝牙指令[14],编写程序对蓝牙接收的指令进行中断处理,用case语句对小车行进控制指令进行选择。

2.2 小车整体结构模块

2.2.1 避障模块

超声波模块HC-SR04 具有发送和接收超声波功能,舵机SG90 通过识别STM32 单片机输入的占空比不同的脉冲宽度调制(PWM)波信号,来调整转动角度。将超声波模块HC-SR04 安装在舵机模上方,由舵机SG90 控制超声波模块的测距方向。小车在移动过程中,HC-SR04 超声波模块持续发射超声波信号,当前方4 m 内出现障碍物时,超声波信号被障碍物反射,被接收端接收,实现一次测距。STM32 单片机完成超声波从发送到接收的计时,根据时间长短及声音的传播速度计算出距离,反复测试五次后(五次总时长低于0.1 ms)求得平均值。

当测距平均值小于50 cm 时,小车停止,超声波模块继续测距。随着舵机SG90 转向,超声波模块测距方向变化且保持持续不间断测距,根据后续检测到的距离判断小车避障行为。

2.2.2 L298N电机模块

L298N 是一种双路全桥式电机驱动芯片,驱动能力强,可应用在直流电机的控制中,L298N 的四个输入端口IN1、IN2、IN3、IN4[15]与STM32 单片机的定时器连接,输入PWM 信号,控制L298N 输出至电机的电压占空比,不直接给L298N 进行供电。L298N对电机的供电功能是通过外接入的电压实现的,该模块支持输入6~24 V 外部供电,系统采用12 V 的供电输入。L298N 模块原理如图3 所示。

图3 L298N原理图

12 V 供电给四个输出端口OUT1、OUT2、OUT3、OUT4。其中OUT1、OUT2 端口通过并联控制两个左轮,而OUT3、OUT4 通过并联控制两个右轮。STM32通过调节PWM 波的幅度大小来控制L298N 输出电压的大小,进而控制两侧车轮,当两侧车轮转速一致时,小车可正常前进或后退,当转速不一致时,实现差速控制转向,即一侧车轮转速低于另一侧车轮转速时,小车就达成了转向的目的。小车加速与减速原理相同,只要调整全体输入的PWM 占空比便可实现。

3 系统软件设计

通过KEIL5 软件,应用STM32 单片机官方的固件库进行程序的编辑,并用ST-LINK 编译器进行程序的写入,完成软件设计。具体流程如下:先通过LD3320 进行输入语音的识别,当识别到设置好的关键词时,主模块遥控部分将语音信号对应的指令通过蓝牙通信方式发送给从模块小车部分的蓝牙输入。蓝牙接收到指令后,无论是否为控制小车的指令,小车上的语音应答模块SYN6288 都会进行相应的回复,对输入进行反馈。当控制指令为停止时,小车停止移动且小车的避障部分不做反应,当为其他控制指令时,小车进行自动避障,然后继续执行原蓝牙传输的指令。流程图如图4-5 所示。

图4 遥控程序流程图

图5 小车程序流程图

4 系统测试

4.1 小车和遥控端实际接线图

小车和遥控端实际接线图分别如图6、图7所示。

图6 小车实物图

图7 遥控端实物图

4.2 语音接收精准度测试

在安静环境下,系统的识别率可稳定达到85%[16-20],显然这个测试结果不够完善,没有列出安静环境的判定声音范围,也没有说明LD3320 模块影响识别率部分的硬件设置。该文测试流程如下:

1)将0x35(mic 增益寄存器)设置为0x43,使之在小于50 cm 的距离内,识别较高。B5 寄存器设置为60(默认值),即超过600 ms 不发音时系统会自动认为识别完成。

2)在安静的地方(杂音小于10 dB)进行语音信号识别功能测试。设置软件播放白噪声,同时播放录制好的可识别关键字语音。实际实验中,将遥控器结构模块放置于距离音源20 cm 处,在遥控器结构模块放置的同位置用手机APP(噪音噪声检测仪)检测声音的分贝大小。

由于人说话声音为60 dB 左右,且个体的差异和20 cm 的传输损耗对测量结果有所影响,故以60 dB为中心,测试语音输入分贝大小(S)不同的情况下使LD3320 无法响应的最低白噪声分贝(N),并计算出二者的比值(R)。根据式(1)绘制出表2。

表2 白噪声对语音输入的影响

R=S/N(1)

计算出语音输入大小与白噪声比值的平均值约为1.66。故当大于57 dB 的语音输入时,语音输入声音大小在白噪声的2.11 倍以上能完全识别,当大于58 dB 的语音输入时,语音输入声音大小在白噪声的1.66 倍以上能完全识别。

5 结束语

文中采用STM32 单片机和LD3320 等模块的组合,设计了一套智能玩具车语音控制系统,实现了双语识别、远程传输和自动避障功能。对LD3320 模块的语音和噪声的输入比例进行了计算,得出了相应结论:确定输入语音大小为58~68 dB 时,其与白噪声比值在1.66 倍以上可完全识别,并列出了具体实验数据。由此可根据使用环境的噪声大小确定应当输入语音的大小。各个模块工作正常,运行稳定,达到预期效果。

项目仍存在不足之处:语音识别与现阶段联网的AI 识别差距较大,避障功能还不够完美。下一步将考虑从算法和硬件方面入手,增大识别关键词容量,提高识别成功率和灵敏度,制作出功能更为强大的智能玩具车。

猜你喜欢
语音输入蓝牙小车
蓝牙音箱的直线之美
工业设计(2022年7期)2022-08-12 13:18:58
大车拉小车
快乐语文(2020年36期)2021-01-14 01:10:32
自制小车来比赛
科学大众(2020年17期)2020-10-27 02:49:02
刘老师想开小车
文苑(2018年22期)2018-11-19 02:54:18
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
语音输入法,会异化新闻文本吗?
传媒评论(2018年6期)2018-08-29 01:14:36
语音输入,如何才能“出口成章”?
传媒评论(2018年6期)2018-08-29 01:14:36
两轮自平衡小车的设计与实现
电子制作(2018年8期)2018-06-26 06:43:02
一种基于离线语音输入技术的检测数据记录系统
电子测试(2018年11期)2018-06-26 05:56:14
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器