基于嵌入式的便携式现场动平衡测量装置研究及应用

known 发布于 2025-08-25 阅读(240)

摘" 要:文章对常见的软支撑卧式动平衡机的振动信号进行了深入研究,基于嵌入式系统并结合高效能的数字信号处理优化函数,设计了一款便携式动平衡机测量装置。以STM32F407微处理器作为主芯片,通过ARM公司的标准化软件接口,完成对振动信号的波形解析,最终将结果用小体积的LCD液晶屏来显示。经在实际工厂测试验证,系统运行稳定,可用于现场动平衡测试,测量精度符合行业标准。

关键词:嵌入式技术;数字信号处理;动平衡机

中图分类号:TP216" " 文献标识码:A" " 文章编号:2096-4706(2024)21-0158-06

Research and Application of Portable Field Dynamic Balance Measuring Device Based on Embedded Technology

WANG Xinhao, ZHANG Congpeng

(North China University of Technology, Beijing" 100144, China)

Abstract: This paper deeply studies the vibration signal of the common soft-supported horizontal dynamic balancing machine, combines with the high-performance Digital Signal Processing optimization function based on the embedded system, and designs a portable dynamic balance measuring device. It uses STM32F407 microprocessor as the main chip, and completes the waveform analysis of the vibration signal through the standardized software interface of ARM. Finally, the results are displayed on a small LCD screen. Through the test and verification of actual factory, the system runs stably and can be used for field dynamic balance tests, and the measurement accuracy meets the industry standard.

Keywords: embedded technology; Digital Signal Processing; dynamic balancing machine

0" 引" 言

转子在刚生产或经过长期使用过后时,会因为加工误差或磨损导致转子质心偏离旋转轴线而产生不平衡质量[1-3],不平衡质量会使转子在旋转过程中产生离心力从而导致旋转设备振动,这样的振动会缩短机械设备的寿命,还可能引发人身伤害[4]。解决转子不平衡问题的方法就是动平衡技术,不过目前市面上仍有多数动平衡产品采用研发周期较长的模拟电路进行运算,这些硬件电路成本高、占用空间大,并且与其适配的上位机软件需要使用计算机屏幕完成显示,这更增加了测量装置的金钱和空间成本。因此,本文设计了一款基于嵌入式系统的便携式现场动平衡测量装置。

该装置结合了ARM处理器和基于嵌入式设备的DSP库函数,在有限内的存空间中完成大运算量的数字信号处理任务,完成对动平衡机振动信号的波形处理,通过双面平衡原理,将不平衡量的解算结果用液晶屏直接呈现到装置表面。系统具有低成本、高性能、多功能、可携带、精度高等优势,便于测试人员在不同测量环境下的正常使用。

1" 系统整体方案设计

通过对动平衡机行业中最为普遍一类机型的要求分析,动平衡机对转子上不平衡量的解算方法大部分都基于双面平衡原理[5],这使得该类机器拥有至少两个同方向的振动传感器来分别检测两个支承摆架的振动,以及一个光电传感器来作为基准信号完成转速和相位的计算。根据以上技术需求,系统的整体方案设计可分为以下3个部分:

1)设计采集电路采集两路振动信号和一路光电脉冲信号。

2)将振动信号由STM32F407微处理器完成滤波、提取有效波形、计算相位、解算不平衡量等步骤。

3)将解算结果通过总线协议显示到装置的LCD显示屏上。

系统具体实现流程如图1所示。

2" 系统硬件设计

2.1" 主控芯片

STM32F407VGT6拥有192 KB SRAM和高达1 MB的FLASH存储空间,其包含的FPU单元的ARM Cortex-M4处理器使得嵌入式设备在数字信号处理领域也能表现出色,特别是在需要处理大量数据和复杂的函数运算中,这款微处理器提供了广泛的外设接口和较大的存储容量,为后续与其他硬件设备的通信和DSP优化函数的搭建建立充足的条件基础。

2.2" 振动信号采集电路设计

在动平衡领域中,振动传感器可分为力传感器、和位移传感器两大类[6],其通常以差分信号的形式将支承摆架的振动通过压电效应传输出去,振幅精度一般在微伏以内,所以传感器对信号采集的分辨率要求较高,本系统采用的模数转换芯片是德州仪器生产的ADS1256芯片,其提供了24位的高分辨率,采样率可以从2.5 SPS调节到30 kHz SPS[7],精度和采样率均足以满足对振动信号的采集要求。对于电压信号来说,该芯片可以灵活进行调节8路单端输入和4路差分输入,并且芯片内含可编程增益放大器(PGA),其适应性可以应对大部分市面上的传感器输出模式。

由于ADS1256是精度极高的A/D转换器,其外围电路设计需要严格满足芯片的供电需求,图2为ADS1256的典型应用电路。在实际应用中,需要对电源和接地线路的布置需格外关注。为了确保电源稳定性,在模拟和数字电源的输入端并联使用小型陶瓷电容与较大的钽电容或其他陶瓷电容,重要的是要将电容放置尽可能靠近输入端,并确保小型电容离ADC更近。对于VREFN和VREFP引脚,它们需要一个干净、稳定的电源,这可以直接从模拟电源AVDD获得,或通过分压方式获得,抑或使用独立的低噪声、低温漂的参考电源。此外,为了限制高频噪声的干扰,输入端通常需要配置RC低通滤波器,并尽量缩短输入线。在接地设计上,建议模拟和数字电源共用接地点。若ADS1256使用不同的接地网络,应采用单点接地方法,确保模拟地(AGND)与数字地(DGND)间无电压差异。

2.3" 光电信号采集电路设计

动平衡机转子的基准信号测量和转速测量需要通过光电传感器来完成。在转子上某一位置贴一张反光片,光电传感器每照射到反光片便会产生一次响应,响应以脉冲信号的形式从传感器的输出线输出,微处理器将得到的脉冲信号作为基准信号来完成后续的计算。每产生一个脉冲信号代表转子转动了一圈,对脉冲信号时间间隔的计算便可得出转子的转速。由于大部分光电传感器的信号输出电压过大,不能直接接入MCU的I/O引脚,那么就需要进行电压隔离。本文选用HCPL-0531高速数字隔离器,这种隔离器设计用于电气隔离和信号传输,尤其适用于高速通信和控制系统,足以完成本装置的光电数字信号采集任务。由于该光耦芯片可以提供两路输入输出,在电路设计中将两路合为一路进行测量,原理图如图3所示。

2.4" 显示屏模块设计

综合考虑本装置硬件电路布局的面积,采用1.8寸彩色TFT高清IPS LCD液晶屏作为显示模块,其具有低功耗,全色彩,发光效率高,售价低廉等特点,这使得它在电子产品领域中被广泛应用于便携式、穿戴等场景。该模块电路图如图4所示。SCL引脚和SDA引脚与单片机IIC外设的SCL和SDA对应引脚相连接,通过IIC通信协议实现显示数据的传输。

3" 系统软件设计

软件设计包括对MCU外设的编程和数字信号处理算法的编程。通过上述对系统硬件的规划,涉及的硬件外设有SPI、TIM、IIC,这些常用外设可以通过STM32CubeMX软件来完成快速编程。STM32CubeMX是针对ST公司产品的图形化软件配置工具,可以对STM32型号的芯片完成各种常用外设的软件配置,并生成完整的keil工程文件。

数字信号处理算法可以在STM32CubeMX生成的keil文件中继续设计,本项目中用到的数字信号处理算法包括快速傅里叶变换(FFT)、FIR数字滤波器、经验模态分解(Empirical Mode Decomposition, EMD)方法。其中快速傅里叶变换和FIR数字滤波器都可以在DSP库中被直接调用并运行,而经验模态分解方法并没有可以直接调用的函数。经验模态分解方法将较为复杂信号分解成可数多个的本征模态函数(Intrinsic Mode Function, IMF),从复杂信号分解出的各个本征模态函数中包含了特征信息,即原信号在不同时间的局部特点[8]。在进行IMF分解的过程中,需要完成极值检测和绘制包络这两个步骤,其中极值检测程序相较来说容易实现,而绘制包络程序恰巧可以使用DSP库中的样条插补函数来完成,该函数正是基于经验模态分解所需要的三次样条插补方法来实现包络的绘制。所以对于嵌入式设备来说,只要能够合理地规划内存,同样也可以在单片机上运行经验模态分解算法。

3.1" 数据采集软件设计

ADS1256模数转换芯片与微处理器通过SPI协议进行通信,光耦隔离信号会被STM32F407内置的高级定时器TIM1的I/O作为输入捕获信号处理。在软件上实现动平衡机摆架振动信号的采集和转子转速信号的采集便是对单片机的SPI外设和TIM外设的编程。通过设置SPI的分配系数来将外设的通信速率和ADS1256的30 kHz采样率进行同步,这样使得在执行每一帧采集代码后,返回的采集值不会产生失真现象。通过配置高级定时器1的输入捕获功能,便可以在每次接收到光耦脉冲信号时进行时间间隔计算,得出转子转速。随后将采集到的波形依次进行快速傅里叶变换、FIR低通滤波、EMD分解,然后使用双面平衡原理算出不平衡量的幅值和相位,最后通过IIC向LCD传输显示数据。如图5所示为整体系统软件设计框图。

3.2" 基于嵌入式系统的DSP算法

ARM公司开发的Cortex-M4处理器全面了提高数字信号的控制效率,集成了DSP扩展,支持多种DSP指令集,以及拥有一个可选的单精度浮点单元(FPU)。基于这个内核,许多公司推出了自己的MCU,例如本系统中使用到的意法半导体公司的STM32F4系列。ARM公司还提供了Cortex Microcontroller Software Interface Standard(CMSIS),这是一种独立于供应商的硬件抽象层,它为所有基于Cortex处理器的设备提供统一且简化的软件接口[9]。CMSIS的一个重要组成部分是CMSIS DSP库,它专门用于数字信号处理,使向量处理、矩阵运算、三角函数计算、滤波功能、统计函数和傅里叶变换等操作变得更加高效和便捷。

动平衡机摆架的振动信号在通常情况下都会混叠有不同频率的干扰信号或噪声,在软件编程中,需要对信号进行数字滤波处理以得到我们所需要的频率。对于动平衡机摆架振动的时域信号,我们可以使用快速傅里叶变换将其转化为频域信号,然后去除高频噪声和干扰频率,最后提取出我们后续所需要的有效波形。编程中,可以通过DSP库中的FFT算法函数来完成,其格式如下:

1)Void arm_cfft_f32(amp;arm_cfft_sR_f32_len1024,FFT_IN, 0, 1);

2)Void arm_cmplx_mag_f32(FFT_IN, FFT_OUT, FFT_SIZE);

其中FFT_IN为变换前的时域波形数组,FFT_OUT为变换后的频域波形数组,两个数组均必须为float型,且数组大小必须为1 024,这一参数取决于在arm_cfft_f32()函数中对第一个形参的配置,需要与输入数组的大小相同。

不过对于动平衡机有效波形的提取,更多情况下使用的是经验模态分解法,在2021年底,ARM最近更新的DSP库支持了样条插补函数,其在经验模态分解法中的绘制包络步骤中起到了重要作用,样条插补主要通过下面两个函数实现:

1)Void arm_spline_init_f32(arm_spline_instance_f32 *S, arm_spline_type type, const float32_t *x, const float32_t *y, uint32_t n, float32_t *coeffs, float32_t *tempBuffer);

2)Void arm_spline_f32(arm_spline_instance_f32 *S, const float32_t *xq, float32_t *pDst, uint32_t blockSize);

Void arm_spline_init_f32()函数中,第1个参数是arm_spline_instance_f32类型结构体变量;第2个参数是样条类型选择:ARM_SPLINE_NATURAL 表自然样条,ARM_SPLINE_PARABOLIC_RUNOUT表示抛物线样条;第3个参数是原始数据x轴坐标值;第4个参数是原始数据y轴坐标值;第5个参数是原始数据个数;第6个参数是插补因数缓存;第7个参数是临时缓冲。在Void arm_spline_f32()函数中,第1个参数是arm_spline_instance_f32类型结构体变量;第2个参数是插补后的x轴坐标值;第3个参数是经过插补计算后输出的y轴数值;第4个参数是数据输出个数。

在经验模态分解步骤中,需要检测波形的极值,对于运算资源紧张的嵌入式设备来说,优化内存是一项必不可少的工程。在进行经验模态分解之前,我们需要对信号进行低通滤波,这样就能使波形的细节部位变得光滑,从而在代码中减少波形数组的极值数量,极大程度地减轻了计算内存负担。对于低通滤波,程序中采用DSP库中的FIR滤波器,使用MATLAB软件调配滤波器的主要参数,通过以下两个函数完成滤波功能:

1)Void arm_fir_init_f32(amp;S,BL,(float32_t *)B,pState,block_Size);

2)Void arm_fir_f32(amp;S, FIR_IN + (i *block_Size), FIR_OUT + (i *block_Size), block_Size);

第一个函数用于FIR的初始化,参数包括实例、滤波器系数的个数、滤波器系数地址、缓冲状态地址、每次处理的数据个数。其中滤波器系数的个数和滤波器系数地址是只读类型数据,并不会占用单片机的SRAM空间,这两个参数来自MATLAB中通过设置对应FIR滤波器所生成的.h文件中。第二个函数用于FIR滤波,参数包括实例、源数据地址、滤波处理后的数据地址、每次处理的数据个数。

在完成所有数字信号处理代码的准备工作之后,通过合理分配内存资源和正确管理不同任务之间的调度,便能灵活使用DSP函数完成对输入信号的波形提取,具体处理流程如图6所示。

4" 运行结果分析与结论

本装置对某工厂的圈带式软支撑动平衡机设备进行测量,现场对设备进行调整以适配本设计中基于嵌入式系统的测试电路板。对于现场设备的振动信号进行采集和数据保存,使用串口调试的方式将处理前后的波形显示到电脑上进行对比,如图7为其中一个摆架的原始振动波形。

首先经过FIR滤波器进行预处理,如图8所示。通过放大波形可以看到各个尖峰部分变得光滑,整段波形不再有斜率不存在的情况,这说明我们通过DSP库函数设置的FIR低通滤波器对高频有明显的衰减。处理过后,整段波形的极值数量大大减少,极大程度上节省了后续经验模态分解时的内存需求。

如图9为预处理后的波形经过经验模态分解后的各个IMF波形,每个IMF波形都对应于其各自的实际物理意义[10]。其中IMF3就是进行双面平衡解算时所需要的波形,可以看出来其光滑程度非常好,并且还原了振动幅值随时间的变化关系。通过分解结果来看,证明了这种方法可以有效地将信号中的有用部分和噪声分离开来,通过选择合适的波形来抑制或去除噪声。相比于快速傅里叶变换,经验模态分解在时域上的表现更能保留原始的振动信息,这也是在动平衡信号处理领域中对设备精度有着重要影响的方面。接下来对IMF3波形进行相位计算,通过将重量为1 g的配重块放置在转子的不同角度来测试相位计算的精度,测试结果如表1所示。

通过实验验证本设计基于嵌入式技术的动平衡机数据采集及信号分析系统有着良好的精度,能够满足系统的设计要求。

5" 结" 论

该装置对工业中常见的圈带式软支撑动平衡机测试系统进行优化,基于嵌入式技术提出了轻量,便携的设备制造方案,不仅实现了对振动信号的精确采集,并且通过CMSIS提供的DSP数学库在单片机中完成复杂的数字信号处理算法,最终可以正确计算出不平衡量的相位和重量并进行配套LCD屏幕显示。该系统性能不俗,并且功耗与成本极低,测试表现符合行业标准,在此基础上可以进一步拓展动平衡相关的要求和功能。

参考文献:

[1] 关勇.基于嵌入式开发的动平衡测试系统的设计与研究 [D].长春:吉林大学,2016.

[2] 陶利民.转子高精度动平衡测试与自动平衡技术研究 [D].长沙:国防科学技术大学,2006.

[3] 徐娟,罗轶超,张利,等.在线动平衡中振动信号提取方法研究 [J].电子测量与仪器学报,2012,26(11):972-976.

[4] 王玥.转子高精度动平衡机系统设计与研究 [D].西安:西安电子科技大学,2021.

[5] 刘钊,丁小浪,陈龙安.软支撑动平衡系统设计 [J].中国工程机械学报,2015,13(5):418-421.

[6] 张传艺.高精度网络化新型动平衡机研究与开发 [D].杭州:浙江大学,2017.

[7] 苟佳杰.水声信号采集系统设计与实现 [D].杭州:杭州电子科技大学,2023.

[8] 田立武,沈晓萍.嵌入式脉搏波呼吸频率检测系统的研究与设计 [J].现代信息科技,2021,5(18):48-50+55.

[9] 赵星.基于STM32及DSP库对脉搏波进行傅里叶变换的方法 [J].现代计算机,2021,27(28):112-115+120.

[10] 时世晨.EEMD时频分析方法研究和仿真系统设计 [D].上海:华东师范大学,2011.

作者简介:王馨皞(1999—),男,汉族,河南济源人,硕士在读,研究方向:嵌入式系统开发;张从鹏(1975—),男,汉族,河南平顶山人,教授,博士,研究方向:智能装备技术、机器视觉与图像处理

标签:  信号 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor