基于STM32的外加式电梯语音交互按键系统
2022-08-15贾志成周婕妤陈韶晗贺连彬
贾志成, 田 祺, 周婕妤, 陈韶晗, 贺连彬
(吉林大学 a. 生物与农业工程学院; b. 机械与航空航天工程学院, 长春 130022)
0 引 言
面对目前国内外严峻的疫情局势以及传统的电梯防疫方式耗时耗力、 隐患不断的艰难困境, 民用电梯大规模智能化升级改造的需求急剧增长[1], 基于各类用户与电梯信息交互方式的新式智能化电梯应运而生。在现有的智能化电梯设备市场中, 非接触式智能化按钮更换方案, 外加空气屏幕终端方案和利用手机APP、 蓝牙等移动设备的呼梯方案等占据大部分的市场份额。其中智能化按钮更换方案需要采用开轿厢改装, 鉴于电梯属于《特种设备目录》范畴, 其改装权限的获取尤为困难; 而外加空气屏幕终端方案具有高昂生产与更换成本; 利用手机APP、 蓝牙等移动设备的呼梯方案则由于其操作繁琐、 无法满足所有人群(特别是中老年人群)的应用需求[2-4]。
经调研解决该问题所需满足的创新概念和民生需求, 并结合当前日益成熟且逐渐被大众接受的智能语音交互技术, 笔者设计了基于STM32的外加式电梯语音交互按键系统。该系统借助LD3320A、 SYN6288等完成语音交互, 并借助步进电机、 舵机等实现机械按键, 该非接触电梯按钮系统避免了“人-物-人”式交叉感染, 所采用的精简外加式安装方案使其成为不影响原电梯手动按键使用的辅助按键装置。这对解决现有公共民用电梯的普及性智能改造, 完善当前国内外防疫局势和提升公共设施卫生安全和智能化水平具有重大意义[5-6]。
1 系统总体方案设计
系统主要由语音交互和机械按键2部分组成。语音交互由单片机(STM32F103RCT6)、 语音识别模块(LD3320A)和语音合成模块(SYN6288)构成。STM32经开发设计的上位机保障相关功能的所需程序编译, 实时接收LD3320A由音频信号转化的数据信息, 以固定的运算步骤和交互逻辑, 向SYN6288传输数据进而合成语句代码, 由外接扬声器播报。系统整体原理框图如图1所示。
图1 系统整体原理框图
机械按键由两个步进电机和一个舵机组成, 依靠STM32产生的对应PWM(Pulse Width Modulation)信号驱动, 配合传动机构使按键器件在电梯按键面板上精确定位, 并完成单次按键运行后各器件的复位过程。整个系统实时运行过程, 以STM32为控制和数据传输核心, 链接信号输入和音频、 动力输出元器件, 实现该按键装置的人机交互。
2 系统硬件设计
2.1 语音识别电路设计
系统采用LD3320A语音识别模块, 布局有LD3320芯片和相应布线、 数据接口。其中LD3320芯片是一款语音识别专用芯片, 该芯片集成了语音识别处理器和一些外部电路, 包括AD(Analog to Digtal Convert)、 DA(Digtal to Analog Convert)转换器、 麦克风接口、 声音输出接口等[7]。其语音识别的操作顺序为: 语音识别用初始化(包括通用初始化)→写入识别列表→开始识别, 并准备好中断响应函数, 打开中断允许位。模块定义的SCK、MI、MO、CS、RST、IRQ接线口直接与STM32的PB0、PC5等相对应即可, 大幅降低了硬件电路的设计难度和生产成本。语音识别模块接口电路如图2所示。
图2 语音识别模块接口电路图
2.2 语音合成电路设计
SYN6288通过异步串口(UART: Universal Asynchronous Receiver/Transmitter)通讯方式, 接收待合成的文本数据, 实现文本到语音(或TTS(Text To Speech)语音)的转换[8]。支持GB2312、GBK、BIG5和UNICODE内码格式的中英文文本, 并通过发送控制标记调节的16级音量调节、 6级词语语速调节, 内置10 bit推挽式(push-pull)、 可独立供电的功放, 进行数模DAC输出; STM32主控制器和SYN6288语音合成芯片由UART接口连接, 控制器通过通讯接口向SYN6288语音合成芯片发送控制命令和文本, SYN6288语音合成芯片将接收到的文本合成为语音信号输出, 输出的信号经功率放大器放大后连接到喇叭进行播放。功能上与语音识别模块相配合完成人机交互过程中回答词条的播报。语音合成模块的电路原理如图3所示。
图3 语音合成模块电路原理图
2.3 微处理器单元电路设计
以STM32F103RCT6为适配代表的微处理器主控芯片系列工作于-40~+105 ℃的温度范围, 供电电压2.0~3.6 V, 图4给出了芯片原理图[9-10]。
图4 STM32F103RCT6主控芯片原理图
为保证正常功能模式下按键器各单元的功耗要求, 在按键系统内部安置独立的内置电源为单片机等实时供电。考虑其额定电压略低于其他机械器件常规所需的5 V供电电压, 应使用配用合理的降压元件保障芯片运行的电路环境。
2.4 机械按键电路设计
由于在STM32接收轿厢环境内的音频信号, 传输回复语句经编译后的代码至SYN6288的过程中, 对LD3320A接收内容进行分析, 获取用户所需楼层信息后, 驱动机械按键完成对相应楼层按钮精确定位并实现模仿人手进行的按键动作。该系统的机械按键由两个步进电机和一个按键舵机组成, 两个步进电机分别控制可移动按键平台(底部安装按键舵机)在横向、 纵向的精确定位与复位移动。为保障上述工作流程的实施, 单片机、 电源均需要与该机械按键完成对应电路连线, 如图5所示。
图5 机械按键部分电路接线原理图
3 系统软件设计
3.1 系统总体软件设计
该语控按键系统的软件采用C语言编程, 在整体软件设计过程结束后, 检查符合所设计的编码规则与执行逻辑并经调试各项参数后, 通过串口烧录程序软件ISP进行STM32完整程序的烧录。在实现语音交互满足正常生活对话逻辑、 机械按键流畅准确地代替手指完成按键的同时, 保证两者的合理且高效的配合, 完成人机交互过程, 总体程序流程如图6所示。
图6 总体程序流程
3.2 上位机软件的开发与设计
通过语音交互按键系统的专用上位机软件的开发与设计, 能有效保障按键器程序运行的规范性与稳定性, 借助上位机可更简易的实现按键器针对不同电梯面板环境、 不同语音对话内容情景的系列化应用。这要求上位机首先要满足最基本的词条设置, 示例如图7所示, 该系统在未被唤醒时处于低耗的休眠状态, 保障内置电源极低的电量消耗, 一级口令为唤醒语句, 二级口令指示目的楼层, 同时确定对应指令串口回复, 驱动其他元器件完成运行; 其次要支持各项参数的设置, 包括: 各楼层按键依次对应横纵向步进电机运行时间、 转速, 舵机按键运行角度、 转速和步进电机运行加速度等。
图7 上位机词条设置示例
4 系统实现
4.1 硬件组装与实物安装
笔者设计的外加式电梯语音交互按键系统的硬件结构及其渲染图如图8、 图9所示, 主要硬件包括: 1. 壳体、 2. 底板、 3. 语音识别模块、 4. 语音合成模块、 5. 单片机、 6. 电源、 7. 步进电机、 8. 舵机、 9. 支杆(9-1为横向支杆、 9-2为纵向支杆)、 10. 移动平台(10-1为横向运动部分、 10-2为纵向运动部分)、 11. 端部固定块、 12. 橡胶传动带、 13. 按键杆, 图10为样机实物。完成硬件组装且测试机械传动部件正常传动后, 将按键器实物底板固定在电梯按键面板处即可, 如图11所示。
图8 按键器硬件结构图 图9 按键器结构渲染图
图10 按键器样机实物图 图11 按键器样机安装
4.2 样机测试及评价
在完成实物组装、 样机安装及程序调试与烧录后, 为检验机械运动结构及软件运行逻辑的合理性与稳定性, 对其有关按键器运行效率、 休眠与运行状态的耗电量, 模拟日常生活场景功能进行试用, 语音口令的识别准确性等多个相关方面进行测试并统计、 记录结果。结果分析表明, 该样机能正常满足日常生活中的按键需求, 但存在轿厢内过于嘈杂时的口令误识、 多人同时使用时楼层信息储存与处理逻辑不完善等问题, 需要后续进行试用调研进行补充、 解决存在问题并定时检修系统和设备。
5 结 语
笔者提出一种基于STM32的外加式电梯语音交互按键系统, 该系统由语音交互和机械按键2部分组成, 其中语音交互以STM32F103RCT6为控制核心, 通过LD3320A语音识别模块获取用户所需楼层信息, 调用预设回复语句依靠SYN6288语音合成模块完成语音交互过程, 并开发设计上位机设置识别词条和播报语句。机械按键使用步进电机、 舵机等部件实现。设计的软件、 电路与硬件可满足预计的功能要求, 既利用语音识别、 语音合成技术, 实现无接触的智能化电梯按键过程。该系统在很大程度上解决了现有民用电梯改造过程中传统开轿厢改造安装的权限获取困难和病毒通过公共设施间接接触而传播等问题, 并大大降低了改造成本, 对智能化电梯的普及推广和智能语音交互技术的应用拓宽有很强的实践意义。