第三章 振动测试与信号分析

做液冷系统这么多年,我越来越觉得振动测试是个「良心活」。你测出来的数据好不好看,很多时候不取决于你花了多少钱买设备,而取决于你懂不懂传感器、懂不懂信号处理。这一章,我就把我在振动测试和信号分析上踩过的坑、总结的经验,掰开揉碎了讲给你听。

3.1 加速度传感器选型

选传感器,说白了就是选「眼睛」。眼睛不好使,后面分析得再漂亮也是白搭。

3.1.1 传感器类型

市面上常见的加速度传感器主要有三种:

  • 压电式(ICP):我最常用的类型。自带电荷放大器,信号稳定,抗干扰能力强。适合做模态测试和FFT分析。
  • 电容式(MEMS):便宜、体积小,但低频响应好。我一般用在泵体振动监测上,测个趋势还行。
  • 应变式:精度高,但贵。说实话,液冷系统里用得不多,除非你做精密研究。

我的个人习惯:做模态测试时,我首选ICP传感器。为什么?因为它不需要额外供电,直接接数据采集卡就能用。有一次我在现场忘了带电源模块,还好带的是ICP传感器,不然那天就白跑了。

3.1.2 关键参数

选传感器,你盯着这三个参数看就够了:

参数 推荐值 说明
量程 ±50g ~ ±500g 液冷系统振动一般不大,50g够用。但锤击法测试时,冲击峰值可能到200g以上,我建议选±500g的。
频率范围 0.5Hz ~ 10kHz 液冷系统的结构模态一般在2kHz以内,但为了看高频噪声,10kHz是底线。
灵敏度 10mV/g ~ 100mV/g 灵敏度越高,信号越干净。但量程会变小。我一般选50mV/g的,折中。

避坑指南:我曾经在选传感器时只看量程,忽略了频率范围。结果测出来的数据在500Hz以上全是噪声,后来才发现传感器的谐振频率只有2kHz。嗯,从那以后我选传感器必看频率响应曲线。

3.2 FFT频谱分析

FFT,说白了就是把时域信号变成频域信号。你想想看,时域信号就像一段录音,你听到的是「嗡嗡嗡」的声音,但不知道是哪个频率在响。FFT一出手,你就能看到「50Hz有峰值、120Hz有峰值」,问题一目了然。

3.2.1 FFT的基本原理

我不跟你讲傅里叶变换的数学公式,那个你查书就行。我只说工程上怎么用:

  • 采样率:至少是最高分析频率的2.56倍。我习惯用2.56倍,不是2倍。为什么?因为抗混叠滤波器需要过渡带。
  • 频率分辨率:Δf = 采样率 / FFT点数。分辨率越高,越能看清两个相近的频率。我一般设1024点或2048点。
  • 窗函数:这个很重要。我常用的有:
    • 汉宁窗:最通用,适合连续振动信号。
    • 矩形窗:适合冲击信号,比如锤击法。
    • 平顶窗:适合校准,幅值精度高。

我遇到过的情况:有一次做泵体振动分析,FFT图上总有一个莫名其妙的49.8Hz峰值。我以为是泵的转速频率,但怎么算都对不上。后来才发现是市电50Hz的工频干扰,因为没加窗函数,频谱泄漏把50Hz的能量扩散到了49.8Hz。加了汉宁窗后,问题就解决了。

3.2.2 代码示例

下面是我常用的Python代码,做FFT分析用:

import numpy as np
import matplotlib.pyplot as plt

def fft_analysis(data, fs):
    """
    data: 时域信号
    fs: 采样率 (Hz)
    """
    n = len(data)
    # 加汉宁窗
    window = np.hanning(n)
    data_windowed = data * window
    
    # FFT
    fft_data = np.fft.fft(data_windowed)
    fft_mag = np.abs(fft_data[:n//2]) * 2 / n
    
    # 频率轴
    freq = np.fft.fftfreq(n, 1/fs)[:n//2]
    
    return freq, fft_mag

# 使用示例
fs = 2560  # 采样率
t = np.arange(0, 1, 1/fs)
signal = np.sin(2*np.pi*50*t) + 0.5*np.sin(2*np.pi*120*t)
freq, mag = fft_analysis(signal, fs)

plt.figure(figsize=(10, 4))
plt.plot(freq, mag)
plt.xlabel('频率 (Hz)')
plt.ylabel('幅值')
plt.grid(True)
plt.show()

小技巧:做FFT之前,一定要先做去直流处理。就是把信号减去它的平均值。不然0Hz处会有一个大峰值,把其他频率都淹没了。我习惯用 data = data - np.mean(data) 这一步。

3.3 时频域特征提取

FFT只能告诉你「有什么频率」,但不知道「这些频率什么时候出现」。时频分析就是解决这个问题的。

3.3.1 时域特征

时域特征,说白了就是看信号本身的统计量:

  • 峰值:最大振动幅值。我用来判断有没有冲击。
  • 均方根值(RMS):振动能量的大小。液冷系统振动标准一般用RMS值。
  • 峭度:信号分布的尖锐程度。峭度大于3,说明有冲击成分。我在轴承故障诊断中经常用。

3.3.2 频域特征

频域特征,就是从FFT结果里提取的关键信息:

  • 峰值频率:最大幅值对应的频率。一般是泵的转速频率。
  • 边频带:主频率旁边的微小频率。我在项目中遇到过,边频带往往预示着调制现象,比如齿轮啮合问题。
  • 谐波:基频的整数倍。谐波多,说明非线性问题严重。

3.3.3 时频图(Spectrogram)

时频图,就是把信号切成一段一段,每段做FFT,然后拼在一起。横轴是时间,纵轴是频率,颜色深浅代表幅值大小。

from scipy.signal import spectrogram

f, t, Sxx = spectrogram(data, fs, nperseg=256)
plt.pcolormesh(t, f, 10*np.log10(Sxx), shading='gouraud')
plt.ylabel('频率 (Hz)')
plt.xlabel('时间 (s)')
plt.colorbar(label='功率谱密度 (dB)')
plt.show()

实战经验:有一次我分析一个冷板振动问题,FFT图上只有一个50Hz峰值,怎么都找不到原因。后来做了时频图,才发现50Hz的幅值在每10秒会突然增大一次。顺着这个线索,我找到了一个间歇性接触不良的管路支架。你看,时频图有时候比FFT更管用。

3.4 模态测试锤击法

模态测试,说白了就是「敲一下,听一听」。你敲一个结构,它会有自己的「固有频率」和「振型」。锤击法是最简单、最常用的模态测试方法。

3.4.1 锤击法的原理

你用锤子敲一下结构,结构会产生自由振动。加速度传感器记录下这个振动信号,然后通过FFT分析,就能得到结构的频响函数(FRF)。频响函数的峰值,就是结构的固有频率。

我常用的锤击法流程是这样的:

  1. 布点:在结构上画网格,每个网格点就是一个测点。
  2. 安装传感器:一般固定一个参考点,然后移动锤击点。或者固定锤击点,移动传感器。
  3. 锤击:用带力传感器的锤子敲击。每次敲击要干脆利落,不要连击。
  4. 采集数据:记录力信号和加速度信号。
  5. 计算FRF:FRF = 加速度FFT / 力FFT。

我曾经犯过的错:刚开始做锤击法时,我总想「多敲几次取平均」,结果敲出来的数据乱七八糟。后来才明白,锤击法要求每次敲击的力大小和方向尽量一致。不一致的话,平均反而会引入误差。我现在的方法是:每个点敲3次,如果3次FRF曲线重合度好,就取平均;不好,就重新敲。

3.4.2 锤击法的关键参数

参数 推荐值 说明
锤头材质 橡胶/塑料/金属 橡胶头适合低频(<500Hz),金属头适合高频(>2kHz)。我一般先用橡胶头试。
采样时间 0.5s ~ 2s 要保证振动衰减完。我习惯看时域信号,等幅值降到初始的10%以下再停止采集。
触发方式 上升沿触发 力信号超过阈值时开始采集。阈值我设成最大力值的10%。

3.4.3 模态参数识别

得到FRF曲线后,你需要识别出模态参数:

  • 固有频率:FRF峰值对应的频率。
  • 阻尼比:用半功率带宽法计算。阻尼比 = (f2 - f1) / (2 * fn),其中f1和f2是峰值下降3dB对应的频率。
  • 振型:把所有测点的FRF幅值和相位画出来,就能看到结构在某个频率下的变形形状。

我的习惯:识别模态参数时,我不用自动算法。为什么?因为自动算法经常把噪声峰值也识别成模态。我都是手动看FRF曲线,一条一条地确认。虽然慢,但准确。你想想看,模态参数错了,后面的结构修改方案就全错了,那代价更大。

3.5 本章知识体系

下面这张图,是我自己总结的振动测试与信号分析的知识框架。你照着这个思路走,基本不会跑偏。

振动测试与信号分析知识体系 加速度传感器选型 FFT频谱分析 时频域特征提取 关键参数 量程:±50g ~ ±500g 频率范围:0.5Hz ~ 10kHz 灵敏度:10mV/g ~ 100mV/g 关键参数 采样率:2.56倍分析频率 频率分辨率:Δf = fs / N 窗函数:汉宁/矩形/平顶 特征类型 时域:峰值/RMS/峭度 频域:峰值频率/边频带 时频图:Spectrogram 模态测试锤击法 锤头材质选择 橡胶/塑料/金属 FRF计算 加速度FFT / 力FFT 模态参数识别 频率/阻尼/振型

这张图你看懂了吗?从传感器选型开始,到FFT分析,再到时频域特征提取,最后落到模态测试。每一步都是环环相扣的。传感器选错了,FFT分析就是白做;FFT参数设不对,时频特征就是错的;时频特征没搞明白,模态测试就是瞎敲。

好了,这一章的内容就到这里。振动测试和信号分析,说白了就是「用数据说话」。你测出来的数据好不好,取决于你懂不懂原理、会不会选参数、有没有经验。我希望你学完这一章,能少走一些我当年走过的弯路。


专注资料整理