基于STM32的语音交互振动监测系统开发
Development of Voice Interaction Vibration Monitoring System Based on STM32
DOI: 10.12677/csa.2026.162062, PDF, HTML, XML,   
作者: 张 强:西南林业大学机械与交通学院,云南 昆明;盛冬发*:西南林业大学土木工程学院,云南 昆明
关键词: 振动监测语音交互STM32LoRa通信Vibration Monitoring Voice Interaction STM32 LoRa Communication
摘要: 传统振动监测系统在中小型工业场景中部署多节点时,常存在结构冗余、协同响应慢等问题,影响监测的有效性与运维效率。为此,本研究设计了一种基于一主多从架构、支持语音交互的振动监测系统,选用STM32F405RGT6作为核心控制单元,构建“主机集中管控–从机分布式采集”体系,整合PKG-100压电振动传感器、E22-400T22D LoRa通信模块及ASRPRO离线语音交互模块,实现振动信号实时采集、边缘端异常预处理及多节点数据可靠交互。该系统结构紧凑,待机电流低于50 mA,适用于电池供电场合,并可扩展至10个从机节点,能够较好满足中小型工业设备多位置振动监测的需求,在兼容性与可扩展性方面具有较好的实用性。
Abstract: When traditional vibration monitoring systems are deployed with multiple nodes in small and medium-sized industrial scenarios, there are often problems such as structural redundancy and slow collaborative response, which affect the effectiveness of monitoring and operational efficiency. To this end, this study designed a vibration monitoring system based on a one master multi slave architecture that supports voice interaction. STM32F405RGT6 was selected as the core control unit, and a “centralized control of the host and distributed acquisition of the slave” system was constructed. The PKG-100 piezoelectric vibration sensor, E22-400T22D LoRa communication module, and ASRPRO offline voice interaction module were integrated to achieve real-time vibration signal acquisition, edge end anomaly preprocessing, and reliable interaction of multi node data. The system has a compact structure with a standby current of less than 50 mA, suitable for battery powered applications, and can be expanded to 10 slave nodes, which can better meet the needs of multi position vibration monitoring for small and medium-sized industrial equipment. It has good practicality in terms of compatibility and scalability.
文章引用:张强, 盛冬发. 基于STM32的语音交互振动监测系统开发[J]. 计算机科学与应用, 2026, 16(2): 328-336. https://doi.org/10.12677/csa.2026.162062

1. 引言

振动监测是中小型工业生产中保障设备安全运行、控制运维成本的核心技术手段。当前工业领域应用的振动监测多采用集中式架构,在多节点部署时易出现核心节点负载过载、部署时线缆铺设成本高、后期新增监测节点难度大等问题,且多数系统需专业人员通过上位机操作,运维门槛较高,难以满足中小企业的实际应用需求。现有研究普遍缺乏适配工业现场的便捷交互机制,没有兼顾工作人员现场运维的实操需求,依赖上位机的传统交互模式提升了运维门槛。针对上述技术瓶颈,本文提出语音交互式振动监测方案,集成具备离线运行、抗干扰能力强、响应迅速特点的语音交互模块,支持工作人员通过语音指令完成设备状态查询操作,无需依赖上位机或复杂操作流程,适配工业现场多干扰、快响应的运维场景;为中小型工业设备多节点振动监测提供技术可行、运维便捷的实现方案。

2. 系统总体结构与功能介绍

本系统采用语音交互一主多从分布式架构,核心控制单元选用STM32F405RGT6单片机,整个系统按功能划分为主机管控单元与从机采集单元两大部分,两者通过LoRa无线通信模块建立数据传输链路,最大可支持10台从机并行接入部署。该架构设计借鉴了分布式监测的核心优势,张博智在研究中指出,分布式架构可有效解决集中式架构核心负载过载、扩展受限的问题,显著提升多节点监测的灵活性[1];栾泳立等则通过边缘计算与振动监测的融合设计,验证了“前端采集–后端管控”功能拆分模式的可行性,为本文架构设计提供了重要参考[2]。该拆分模式能够有效分散单节点工作负载,避免单核心节点故障导致整个系统瘫痪,同时提升系统的扩展灵活性;如新增监测节点,只要添加从机单元并配置通信参数,不必重构整个系统。图1所示为系统整体架构示意图,清晰呈现了各单元的组成模块及数据交互路径。

注:图中包含主机管控单元(主控模块、语音交互模块、LoRa主机模块、报警模块)、从机采集单元(主控模块、振动采集模块、LoRa从机模块)及供电模块,明确各单元的连接关系与数据流向。

Figure 1. Overall architecture diagram of the system

1. 系统整体架构图

3. 核心模块选型与设计

3.1. 主控模块选型与电路设计

3.1.1. 主控芯片选型

系统主从机均选用STM32F405RGT6作为核心微控制器。该芯片基于ARM Cortex-M4内核,最高主频168 MHz,集成浮点运算单元(FPU)、1 MB Flash存储器及192 KB RAM,支持轻量化边缘算法的运行,适用于振动信号的实时异常检测[3]

Figure 2. Pin distribution diagram of STM32F405RGT6 chip

2. STM32F405RGT6芯片引脚分布图

芯片内置SPI、I2C、UART等多种常用通信接口,可直接与振动传感器、LoRa模块、语音交互模块等外设连接,无需外接接口芯片,有助于简化电路设计。其工作温度范围为−40℃至85℃,能够适应工业现场常见的温度波动与恶劣环境,保障系统长期可靠工作。芯片的引脚功能与外部模块连接关系参见图2

3.1.2. 核心控制电路设计

主控电路以STM32F405RGT6芯片为核心构建,主要包含电源供给电路、复位电路及时钟电路三个关键组成部分,各部分电路协同保障主控芯片的稳定运行:

(1) 电源电路采用AMS1117-3.3 V稳压芯片搭建稳压电路,将外部输入的5 V电压转换为3.3 V稳定电压,为STM32单片机及周边外设模块供电。为保障供电稳定性,限制回路最大电流,避免电流过载损坏芯片;并联10 μF电解电容,滤除输入电压中的高频纹波与瞬时波动。图3为电源电路原理示意图,清晰呈现了核心元件的选型参数、连接关系及保护设计逻辑。

Figure 3. Schematic diagram of the power supply circuit

3. 电源电路原理图

(2) 复位电路包含上电复位和手动复位相结合两种方式。NRST引脚通过10 kΩ电阻上拉至3.3 V电源,并联0.1 μF电容接地,构成复位电路;该引脚连接手动复位按键,供用户主动复位。相关电路原理与元件参数见图4

Figure 4. Schematic diagram of the reset circuit

4. 复位电路原理图

(3) 时钟电路有高速与低速两路外部晶振。高速晶振频率为8 MHz,其负载电容为30 pF,分别连接至PH0/OSC_IN和PH1/OSC_OUT引脚并接地,为系统主时钟电路。低速晶振频率为32.768 kHz,以15 pF电容接入PC14与PC15引脚,用于实时时钟或低功耗模式。芯片内部设有RC振荡器为备用时钟源,外部晶振异常时自动切换,确保系统稳定工作。具体电路连接与元件参数见图5

Figure 5. Schematic diagram of the clock circuit

5. 时钟电路原理图

主控电路设计简洁,元件选型通用,降低硬件制作成本与故障概率,适配工业现场长期稳定运行需求。

3.2. 振动采集模块选型与设计

振动采集单元采用PKG-100压电式振动传感器,适用于中小型工业设备的低频振动监测,满足工业现场精度要求[4]。传感器输出0~5 V模拟信号,可直接送入STM32F405RGT6的ADC引脚,无需外接信号调理电路,电路支持多路信号采集扩展,相应连接方式与元件参数见图6

Figure 6. Schematic diagram of vibration acquisition circuit

6. 振动采集电路原理图

3.3. 通信模块选型与设计

主从机间的数据交互采用E22-400T22D LoRa无线通信模块实现。该模块工作于433 MHz频段,在开阔环境下通信距离可达1.2 km,能够覆盖一般中小型工业厂房的监测范围[5]。针对工业现场电机、变频器等强电磁干扰源较多以及监测节点分布较分散的特点,该频段所受干扰相对较小,模块本身具备较强的抗干扰能力。模块支持半双工通信,提供IP65防护等级,可适应粉尘、水汽等恶劣环境。其与主控芯片通过UART接口连接,通信波特率可配置(1200 bps~115,200 bps,默认9600 bps),并内置CRC-16校验机制,保证数据传输的准确性。此外,模块工作电流低于80 mA,功耗较低,适合电池供电的从机设备,有利于延长系统续航时间。模块引脚定义及与主控芯片的连接方式见图7

Figure 7. Pin and circuit connection diagram of LoRa communication module

7. LoRa通信模块引脚与电路连接图

通信电路设计中,LoRa模块的TX引脚连接STM32F405RGT6的PA3引脚,RX引脚连接PA2引脚,实现双向数据传输;模块的AUX引脚(状态指示)连接PB0引脚,用于监测模块工作状态;天线接口选用SMA接口,可外接外置天线,提升通信距离与抗干扰能力;主机端LoRa模块与从机端模块采用相同配置,通过设置不同地址码实现多节点通信,避免数据冲突。

3.4. 交互与报警模块选型与设计(主从协同)

3.4.1. 主机语音交互与报警模块

语音交互模块选用ASRPRO核心板实现离线语音交互与报警功能。模块可在本地存储100多条定制指令及语音反馈内容,无需网络支持,响应时间小于300 ms,满足实时交互需求[6]。以UART接口(TX/RX)与主控芯片通信,用5 V供电,工作电流小于100 mA,功耗较低。其音频接口有MIC+、MIC− (连接驻极体麦克风)和SPK+、SPK− (驱动扬声器)。模块的引脚定义与连接方式如图8所示。

Figure 8. Pin diagram of ASRPRO voice module

8. ASRPRO语音模块引脚图

运维人员可用语音发出指令(如“汇报1号机状态”等),模块识别后经UART接口将指令上传至主控芯片,主控执行对应操作并触发语音播报反馈结果。当主机接收到异常信息(含设备ID与错误代码)时,模块进行报警播报,例如:“警告!2号从机振动异常,错误代码101,振动幅值超标,请及时处理”。系统预设4类关键错误代码(对应不同振动异常类型,见表1),以辅助运维人员快速定位故障。

Table 1. Definition table of vibration abnormal error code

1. 振动异常错误代码定义表

错误代码

对应异常类型

判定依据

101

振动幅值超标

振动信号峰值 > 预设阈值(可通过主机语音指令调整)

102

振动频率异常

振动主频偏离设备正常频率±10%

103

采集模块故障

传感器无信号输出或信号幅值恒为0

104

通信链路异常

从机连续3次传输数据未收到主机应答

3.4.2. 从机本地报警模块

从机本地报警模块采用微型有源蜂鸣器实现振动异常的现场预警。该蜂鸣器工作电压为3.3 V,声压不低于85 dB,外形尺寸为8 mm × 5 mm,具有体积小、功耗低(工作电流 ≤ 20 mA)和响应迅速的特点,适合从机紧凑型封装要求,不影响整机安装布局。

Figure 9. Schematic diagram of the slave buzzer alarm circuit

9. 从机蜂鸣器报警电路原理图

报警电路以STM32F405RGT6的PB5引脚作为控制信号输出端,通过1 kΩ电阻驱动NPN三极管S8050的基极,三极管发射极接地,集电极连接蜂鸣器负极;蜂鸣器正极经100 Ω限流电阻接至3.3 V电源。电路中设有反向保护二极管,用于防止反向电流冲击主控芯片。

当从机端识别出振动异常时,PB5输出高电平,三极管导通,蜂鸣器以2.4 kHz频率持续报警,同时系统启动异常信息封装与上报流程。该蜂鸣器报警电路的具体设计如图9所示。

3.4.3. 主从报警协同逻辑

主从机报警模块通过LoRa通信实现协同联动,完整流程如下:

(1) 异常触发:从机振动采集模块采集信号,经推理判定为异常后,立即触发本地蜂鸣器报警(持续报警至异常解除或主机应答);

(2) 错误代码封装:从机主控根据异常类型匹配对应错误代码,封装成“设备ID + 错误代码 + 校验位”的16字节数据包(格式:前4字节设备ID,中间2字节错误代码,后10字节CRC-16校验码),确保数据传输可靠性;

(3) 数据传输:通过从机LoRa模块将数据包无线传输至主机,采用优先级传输机制(异常数据包传输优先级高于正常监测数据),避免信道拥堵导致报警延迟;

(4) 主机解析与语音报警:主机LoRa模块接收数据包后,经主控芯片解析设备ID与错误代码,调用ASRPRO语音模块预设语音,播报报警信息(如“警告!3号从机检测到振动幅值超标,错误代码101,请及时处理”);同时主机PB6引脚输出高电平,触发红色LED指示灯闪烁(辅助预警,频率1 Hz);

(5) 应答反馈:主机播报完成后,立即通过LoRa模块向对应从机发送应答数据包,告知从机“异常信息已接收并播报”;从机接收应答后,自动将本地蜂鸣器从连续鸣响切换为间歇鸣响模式(1秒响/1秒停),既保留现场预警功能,又避免持续报警造成噪声干扰;

(6) 异常排查与状态同步:运维人员根据主机语音播报及LED指示,定位异常从机并排查故障;故障排查过程中,从机持续采集振动信号并上传状态数据,主机实时更新监测状态;

(7) 异常解除与报警停止:当从机检测到振动信号恢复正常,立即停止本地蜂鸣器报警,并向主机发送“异常解除”数据包;主机接收后,停止LED闪烁,通过语音模块播报“XX号从机异常已解除,恢复正常监测”,整个协同报警流程闭环。

该协同逻辑通过“从机本地预警 + 主机精准播报”的双重机制,兼顾现场响应速度与远程运维便捷性,错误代码的标准化传输及CRC-16校验保障了异常信息的准确性,优先级传输机制可确保报警响应的及时性,完全适配工业现场实时监测需求。

3.5. 边缘处理算法设计

从机STM32芯片承担核心边缘处理任务,仅通过确定性信号处理流程完成ADC数据采集、预处理及异常判决,确保实时性与可靠性,具体流程如下:

3.5.1. ADC采样参数设定

选用STM32F405RGT6内置ADC1通道(PA0引脚)对接PKG-100传感器,采样参数经优化设定为:采样率1 kHz (即每1 ms采集1个数据点),采样位数12位(量程0~3.3 V,对应振动幅值0~5 g),采样触发方式为定时器触发(定时器2定时1 ms),采用DMA传输模式(ADC数据自动存入内存缓冲区,不占用CPU资源)。单从机单次连续采样数据量为1024点,对应采样时长1.024 s,兼顾数据完整性与实时处理效率。

3.5.2. 信号预处理流程

预处理分为滤波去噪与频域转换两步,均在STM32内部完成,具体实现如下:

(1) 滑动平均滤波:针对工业现场电磁干扰导致的高频噪声,采用窗口大小为16的滑动平均滤波算

法。计算公式为: y n = 1 16 i=n15 n x i ,其中xi为原始ADC采样值, y n 为滤波后值。该算法计算量小、实时

性强,可有效滤除100 Hz以上高频噪声,同时保留振动信号核心特征,避免信号失真。滤波后的数据存入专用缓冲区,供后续FFT运算调用。

(2) FFT频域转换:采用STM32固件库中的CMSIS-DSP库,对滤波后的1024点时域数据进行快速傅里叶变换(FFT),转换为512点频域数据(频率分辨率0.9766 Hz)。FFT运算精度为单精度浮点型,运算耗时 ≤ 2 ms (168 MHz主频下),不影响后续异常判决的实时性。通过FFT可提取振动信号的主频、谐波分量等频域特征,为频率异常判决提供依据。

3.5.3. 异常判决逻辑与阈值设定

基于“时域幅值 + 频域主频”双维度判决逻辑,结合设备校准参数设定阈值,具体规则如下:

(1) 时域幅值判决:首先计算滤波后1024点时域数据的峰值 A max 与有效值 A rms ,若 A max > 预设幅值阈值(默认2.5g,可通过主机语音指令调整,范围0.5~5 g),或 A rms > 1.5 g,判定为幅值超标(对应错误代码101)。阈值设定依据为:参考中小型工业电机(功率1~5 kW)正常运行振动幅值范围(≤2 g),预留25%安全余量,避免误报警。

(2) 频域频率判决:通过FFT结果提取主频 f 0 (幅值最大的频率分量),与设备校准主频 f cal (设备正常运行时实测主频,由运维人员通过语音指令录入)对比,若 | f 0 f cal |/ f cal >10% ,判定为频率异常(对应错误代码102)。10%偏差阈值源于电机转子不平衡、轴承磨损等常见故障导致的频率偏移范围,经多次校准验证可有效识别故障。

(3) 信号失真判决:计算时域信号的峰值因子(峰值与有效值比值,正常范围2~3),若峰值因子 > 3.5,判定为信号失真(对应错误代码103),提示存在异常冲击(如零件松动、碰撞等)。峰值因子计算无需额外运算,基于时域幅值数据即可推导,兼顾效率与准确性。

(4) 判决容错机制:为避免瞬时干扰导致误报警,设定连续3次采样周期(共3.072 s)均满足同一异常条件时,才触发报警流程;若单次异常后后续采样恢复正常,则判定为瞬时干扰,不触发报警,提升判决可靠性。

4. 结论与展望

4.1. 结论

本文针对传统振动监测系统在中小型工业多节点部署中存在的结构冗余、协同滞后、运维复杂等问题,设计了一套基于一主多从架构的语音交互振动监测系统,主要研究成果如下:

(1) 构建“主机集中管控–从机分布式采集”的架构,实现功能拆分与协同,支持10台从机并行扩展,新增节点无需重构系统,扩展灵活性强,解决了传统集中式架构负载过载、扩展困难的问题;

(2) 完成核心模块选型与电路设计,基于STM32F405RGT6主控芯片,整合PKG-100传感器、LoRa通信模块及ASRPRO语音模块,设计了高适配性接口电路,加入反接保护、滤波抗干扰等设计,可保障系统稳定工作;

(3) 设计主从协同报警机制,结合错误代码标准化传输与优先级通信,实现“本地预警 + 主机精准播报”的双重预警,配合离线语音交互,降低运维难度,提升故障响应效率;

(4) 搭建微型试验台(如图10所示),试验台的底板固定设计保障了设备安装稳固性,多模块集成布局验证了系统结构紧凑性,为中小型工业设备多节点振动监测提供了技术可行、成本可控、部署便捷的解决方案。

Figure 10. Miniature test bench

10. 微型试验台

4.2. 展望

本文仅完成硬件系统的设计,后续可从以下方面进一步优化与拓展:

(1) 硬件优化:采用多层板设计,进一步缩小从机体积,适配小型精密设备的监测需求;

(2) 应用拓展:将系统适配不同类型工业设备(如泵体、风机、机床等),优化异常识别算法,丰富错误代码类型,提升系统的通用性与适配性;探索多参数监测扩展,新增温度、湿度等监测指标,实现设备综合状态监测。

NOTES

*通讯作者。

参考文献

[1] 张博智. 基于分布式光纤传感的高效振动监测方法研究[D]: [硕士学位论文]. 天津: 天津大学, 2023.
[2] 栾泳立, 董胜利. 基于边缘计算的船舶动力设备振动监测系统设计[J]. 上海船舶运输科学研究所学报, 2024, 47(3): 22-27.
[3] 黄双根, 张韩杰, 黄俊仕, 等. 基于STM32的稻田土壤有效磷检测的介电传感器设计[J]. 沈阳农业大学学报, 2025, 56(6): 140-152.
[4] 张永芳, 王霞, 邢志国, 等. 面向机械装备健康监测的振动传感器研究现状[J]. 材料导报, 2020, 34(13): 13121-13130.
[5] 李权接, 赵延明, 张泽瑞, 等. 基于LoRa无线通信的分布式桥梁监测系统设计[J]. 传感器与微系统, 2021, 40(1): 104-106+109.
[6] 潘震宇, 钟益明, 孙颖楷, 等. 语音交互与智能控制技术在供暖系统中的应用研究[J]. 日用电器, 2025(6): 16-23.