☰
非接触测振新思路:声呐相位法结合LabVIEW实现高温设备振动测量
2026/10/3 12:22:38 网站建设 项目流程

去年接到一个挺棘手的需求:要测一台大型电机外壳的振动幅度,外壳表面温度常年80多度,加速度计贴上去胶根本扛不住,磁吸底座更是直接没法用。买激光多普勒测振仪?一台几十万起步,项目预算完全撑不住。后来查资料发现声呐测振的思路——用40kHz超声换能器做非接触测振,配合LabVIEW做信号解调和显示,最终在1米左右的测量距离上稳定测出了1mm级别的振幅振动。这套方案成本不到激光测振仪的零头,而且完全非接触,高温表面、运动部件、轻质结构都能测。这篇文章就把完整的方案从原理到实战拆开讲一遍,适合正在做振动测试、设备状态监测,或者想低成本实现非接触位移测量的工程师参考。

先说结论:用连续波相位法配合数字锁相放大,在LabVIEW里可以稳定提取出亚毫米级的振动位移信号。后面所有内容都围绕这个核心展开。

1. 为什么选声呐测振:非接触测量的需求分析与方案对比

1.1 什么场景必须非接触测振动

接触式测振最常见的就是压电式加速度计。优点是精度高、频响宽、技术成熟,但它的痛点也很明显:传感器要跟被测表面刚性接触,靠胶粘或磁吸固定。这一下子就排除了好几类场景:

  • 高温表面。一般的胶粘工作温度上限在100℃左右,磁吸底座本身对被测表面的材质有限制(非磁性材料用不了)。电厂管道、电机外壳、汽轮机缸体这类高温设备,接触式方案基本都要现场想办法做隔热,麻烦且不可靠。
  • 运动部件。正在旋转的轴、往复运动的连杆,接触式传感器要么装不上,要么装上去之后引出线会缠绕、折断。
  • 轻质柔性结构。薄膜、振膜、薄板这一类结构,传感器的质量会改变它本身的振动特性,你测到的已经不是这个结构真实工作状态下的振动了。
  • 洁净环境或特殊工艺场合。半导体设备、医疗设备内部,不允许引入可能掉屑、放气的传感器。

我在电机外壳这个项目里遇到的情况就是典型的高温+安装空间受限,接触式方案直接出局。

1.2 主流非接触测振方案横向对比

非接触测振的主流手段有激光多普勒测振仪、电涡流位移传感器、超声/声呐测振三大类。我做了个对比:

方案量程/精度成本量级环境适应性安装要求
激光多普勒测振仪精度nm级,带宽MHz级数十万起对被测表面反射率敏感,透明/镜面表面很难处理需要光路对准,设备体积较大,隔振要求高
电涡流位移传感器量程mm级,精度μm级数万只测金属导体,不适用于非金属传感器头要贴近被测面(通常1mm以内),且需要通孔安装
超声/声呐测振精度亚mm级,带宽KHz级(取决于超声频率)数千对材质要求低,金属/非金属/粗糙表面都能测;耐温取决于探头探头与被测面之间只需要留出几十厘米到几米的声程,对准要求低

激光测振仪什么都好,就是贵,而且对现场环境要求高。电涡流精度高,但要求被测物是金属导体,还要近距离安装,在很多现场根本凑不近。声呐方案精度在亚毫米到毫米量级,带宽不高但足够覆盖大多数机械振动关心的频段(几Hz到几kHz),加上成本低、对表面几乎没要求,是"够用且便宜"的最佳平衡点。

1.3 1mm振幅在声呐测量里的定位

40kHz是空气中超声换能器最常用的工作频率。这个频率下波长大约8.5mm(声速按340m/s算)。1mm的振幅大概是波长的12%左右——这个比例很关键。

如果振幅远远小于波长(比如微米级振动),相位变化就极其微弱,需要有很高信噪比才能解出来;如果振幅比波长大很多倍(比如厘米级振动),又容易遇到相位模糊、无法判断振动方向的问题。1mm正好处在相位法比较容易处理的范围里:相位变化明显到可以被可靠检测,又不足以触发相位卷绕到无法确认的情况。这也是我敢用声呐方案来测1mm振幅的根本原因。

2. 声呐测振的物理原理拆解:声波如何反映振动位移

2.1 连续波相位法的测振公式推导

最常见的声呐测距是脉冲回波法,但它有个局限:测的是距离,不是振动。要想测振动,得利用连续波的相位信息。

设发射探头发射连续正弦波:

s(t) = A·sin(2πft)

其中f是超声频率,典型值40kHz。声波打到目标表面后反射回来,接收探头收到的回波可以写成:

r(t) = B·sin(2πft - 4πd/λ)

d是探头到目标表面的静态距离,λ是超声波波长。这里有个关键细节:声波走的是往返路径,所以相位延迟里是2倍的传播距离,也就是4πd/λ,而不是2πd/λ。很多初学者在这个系数上栽过跟头,导致换算出来的位移整整偏小一半。

现在让目标表面发生振动,瞬时位移为x(t),那么瞬时距离变成d + x(t),回波相位也跟着变:

Δφ(t) = 4π·x(t) / λ

代入40kHz、λ=8.5mm,当x(t) = 1mm时:

Δφ = 4 × 3.1416 × 1 / 8.5 ≈ 1.48 rad ≈ 84.7°

也就是说,1mm振动对应的相位变化大约是85度。这个变化量对于锁相放大来说是一个非常充裕的信号,完全不需要超高灵敏度的前端。

2.2 为什么脉冲飞行时间法测不了1mm

有人会问:直接测声波往返飞行时间的变化不行吗?理论上是可行的,但算算数就明白了。1mm的振动对应往返距离变化2mm,声波飞行时间的变化量是:

Δt = 2×0.001 / 340 ≈ 5.9μs

40kHz超声的一个完整周期是25μs,5.9μs只是四分之一周期左右。要分辨这么小的时间差,采集卡的采样率至少要达到几MHz量级,而且还要面对脉冲上升沿不够陡、噪声引起的时间抖动等问题。实践中用脉冲法测到毫米级静态距离误差就不容易了,想测动态的1mm振动则基本不可行。

相位法完全绕开了时间测量的分辨率瓶颈,把问题转换成了相位测量——而相位测量在电子学里有极其成熟的方案,比如混频、锁相环、锁相放大。

2.3 锁相放大:从强反射噪声里捞回弱信号

实际测量场景里,接收探头拿到的信号往往不是干干净净的回波,而是叠加了环境噪声、其他反射体的混响、换能器自身串扰的混合信号。如果直接对接收信号做幅度触发或者过零检测,抖动会非常大。这时候需要锁相放大的思路。

锁相放大的核心操作是"相干解调":让接收信号和与发射信号同频同相的参考信号相乘,再进行低通滤波。

设接收信号为:

r(t) = B·sin(2πft - θ(t))

参考信号为:

s_ref(t) = 2·sin(2πft)

两者相乘后用积化和差公式展开:

r(t) · s_ref(t) = B·cos(θ(t)) - B·cos(4πft - θ(t))

第二项是2倍频分量,用一个低通滤波器就能几乎完全滤掉,剩下:

B·cos(θ(t))

再用参考信号的90度移相版本做同样操作,得到:

B·sin(θ(t))

两路结果做反正切,就得到相位θ(t)。由于B只影响幅度不影响角度,反正切运算自动消除了回波强弱变化对测量结果的影响,这在实际现场是非常大的优势——目标反射特性改变、轻微移动等带来的幅度波动,不会直接污染测量结果。

相位里包含静态距离带来的固定相位偏置和振动带来的动态相位两部分,测量振动时只需要把动态部分分离出来即可。这个"动态相位分离"在软件里做起来非常直接,后面第4章会细讲。

3. 硬件链路搭建:探头选型、信号调理与采集设备

3.1 收发分置探头比收发一体更适合连续波测振

市面上常见的40kHz超声探头有两种结构:收发一体和收发分置。收发一体的好处是安装紧凑、对准简单,但它有一个先天问题——发射时的高压驱动信号会直接串入接收通道,如果工作在连续波模式,这个串扰很难消除,会恒定的叠加在回波信号上,导致锁相输出出现固定偏置且稳定性变差。

所以我在项目里选了两只独立的40kHz压电陶瓷探头,一只专门发射,一只专门接收,斜对目标表面布置。收发分置之后,发射信号到接收探头的直接串扰大幅降低,虽然接收信号幅度比一体式方案小了一些,但信噪比要好得多。代价是安装时需要稍微调整两个探头的角度,让发射波束覆盖被测点、被测点反射的回波又能落到接收探头的波束范围内。对准的标准很简单:用示波器看接收探头输出,把静态回波调到最大幅度即可。

3.2 信号调理链路三段式设计

完整的信号链路从驱动到采集分三段:

第一段是发射驱动。LabVIEW里产生一个数字正弦波序列,通过DAQ卡的模拟输出端口送到功率放大级,再驱动发射探头。我用的功放是一块普通的AB类音频功放板,输出功率做到10W左右。40kHz对音频功放来说稍高于典型频段,但大多数功放的带宽都能覆盖,实测输出波形畸变不大。驱动电压越高,回波信号越强,但也要注意别超过压电陶瓷探头的额定驱动电压,我用的探头额定值是20Vrms,就把功放输出限制在15Vrms左右。

第二段是接收放大。接收探头输出的信号幅度通常在毫伏到几十毫伏量级,必须做前置放大才能进采集卡。我用了两级放大:前置级是仪表放大器,约10倍增益,主要作用是提供高输入阻抗,匹配探头的高阻抗特性;第二级是可控增益放大器,增益范围20dB到60dB,用来适应不同测量距离下的回波强弱变化。两级之间加了一级带通滤波器,中心频率40kHz,Q值设为5——实际调试中发现带通滤波对信噪比的提升比单纯放大要明显得多,它把低频振动噪声和超声频段之外的环境噪声都挡在了后面电路之外。

第三段是采集与同步。这里必须强调同步问题:发射正弦波信号和接收信号要由同一块DAQ卡同步采样。如果发射和接收分别用了两块不同步的卡,两路信号之间存在随机相位差变化,锁相解调出来会带一个随机抖动分量,极大干扰微振动测量。我用的NI USB-6343,采样率设置200kS/s,同步采集2通道(一路参考正弦、一路接收放大后的回波),每通道16位分辨率,足够覆盖测量需求。

3.3 采样率的最低要求与计算

这里补一个采样率的计算逻辑,属于做方案时容易凭感觉拍脑袋的环节。锁相解调要求采样率至少满足对40kHz载波进行有效数字化。根据奈奎斯特定理,采样率最低要80kS/s,但实际使用时频率分辨率、滤波器的边缘滚降都会消耗采样资源。我用200kS/s采样,好处是每个40kHz周期内能采5个点,软件做乘法、滤波之后相位提取的平滑性显著优于100kS/s以下的方案。如果被测振动频率上限是1kHz(机械振动里最常见的区间,电机、泵、风机基本都落在这个范围),200kS/s完全没有瓶颈。

4. LabVIEW程序实现:数字锁相提取相位差

4.1 程序总体架构:生产者消费者模式

LabVIEW程序的结构我直接采用了生产者消费者模式。这个模式在热词里频繁出现,确实是LabVIEW程序里最实用的架构之一。具体到测振场景,数据采集和信号处理的处理速度不匹配:采集卡以200kS/s的速率持续读数据,如果每读一段就同步做一次完整的相位计算和波形刷新,界面会卡顿,数据也会丢。用生产者消费者模式把采集循环和处理循环分开,生产者只负责从DAQ卡读数据、放进队列,消费者按照固定的帧速率(比如每秒50帧)从队列取数据、做相位提取、更新显示和记录。这个结构让采集不丢点、显示不卡顿,程序也更容易扩展——后面加频谱分析、报警功能都比较方便。

4.2 数字锁相的VI链路

核心信号处理链路由6个环节组成,按顺序走一遍就清楚了:

  1. 波形生成:用"Sine Waveform"函数产生40kHz参考正弦和它的90度移相版本。参考正弦用于I通道,余弦用于Q通道。

  2. 数据切片:从DAQ助手读入的连续数据按帧切段,每段长度选5000点,对应25ms时间窗。这个窗长能覆盖40kHz载波的上千个完整周期,滤波统计效果足够好。

  3. 乘法解调:参考正弦与接收波形逐点相乘,得到I路信号;参考余弦与接收波形逐点相乘,得到Q路信号。

  4. 低通滤波:对I、Q两路乘出来的信号分别做低通滤波。这里有个参数选择的关键点——低通截止频率必须覆盖被测振动频率范围,但又不能太高,否则滤不掉2倍频载波分量。我取截止频率100Hz,对1kHz以内的振动信号会造成幅值衰减和相位延迟,需要在校准时统一补偿。如果被测振动频率上限很高,可以相应提高截止频率,但不能超过40kHz的一半。

  5. 相位计算:滤波后的I和Q两路信号实时做"Atan2 (I, Q)"运算,得到瞬时相位。LabVIEW里直接可用"Atan2"函数。

  6. 相位展开:原始反正切结果落在-π到π之间,直接做差分会出现跳变。需要用相位展开算法把连续相位接起来。LabVIEW信号处理工具包里有Unwrap Phase VI可以直接用,也可以用简单的差分逻辑自己做:当相邻两个相位值之差超过π时,在后续相位上加减2π修正。

4.3 动态相位分离与基线漂移处理

解调出来的相位θ(t) = θ0 + 4π·x(t)/λ,其中θ0是静态距离决定的固定偏置。但实测中θ0并不完全固定——温度变化、空气扰动、探头微小位移都会让θ0缓慢漂移。如果直接把θ(t)代入位移公式,会发现测到的振动波形在基线上一路缓慢爬升,这就是基线漂移。

我的处理办法是在消费者循环里加一个高通滤波器,截止频率取1Hz。这个高通能有效消除θ0的缓变漂移,同时让正常频段的振动信号(通常20Hz以上)几乎无衰减地通过。这里有一个经验值:高通截止频率最好低于被测振动最低频率的1/10,才能在不损伤有效信号的前提下把漂移压干净。

4.4 界面布局的两个实用建议

界面我放了三个核心元素:振动位移波形图(横轴时间、纵轴位移mm)、相位原始曲线图(观察解调中间量是否正常)、幅值显示框(显示当前振动峰峰值和有效值)。调试时第三个元素非常救命,它能在不仔细看波形的情况下快速判断是否有信号、信号是否正常。另外给程序加了一个"参考相位归零"按钮——测量开始前在目标静止状态下按下,程序自动记录当前相位均值作为θ0基准并扣除,这样显示的位移曲线起始点就是零,读数直观得多。

5. 标定方法、误差分析与现场抗干扰实战

5.1 用激振器做已知振幅标定

相位变化和位移之间的公式关系虽然理论上非常明确,但实际测量中探头安装角度、目标表面反射特性、声波传播路径长度都可能导致公式中的系数偏离理论值。所以装机之后必须做一次标定。

我的做法是找了一台电磁激振器,在激振器顶杆上装一块金属平板作为反射靶,用一个高精度电涡流位移传感器(精度0.5μm)同时测量平板的实际位移。然后让激振器分别工作在0.1mm、0.5mm、1mm、2mm的名义振幅下,记录LabVIEW解算出来的位移读数。标定结果显示,1mm附近的测量值和参考值偏差在3%以内,这个偏差主要来自声速随温度的变化——标定当天室温下的实际声速和理论340m/s有偏差。标完之后把比例系数修正项写进程序里。操作建议是:标定时目标反射面尽量用和实际被测物材质、表面粗糙度相近的材料,这样标定结果直接可用。

5.2 误差来源逐项拆解

误差来源影响量级应对措施
温度引起的声速漂移温度每变化1℃,声速变化约0.6m/s,相位测量对应约0.2%的位移误差探头旁边放一个温度传感器,软件里根据实测温度实时修正声速
目标表面倾斜反射反射波方向偏出接收探头波束,回波幅度下降,信噪比恶化安装探头时用示波器观察回波峰值,反复微调两个探头角度
多径传播与混响周围墙面、地面反射形成驻波叠加,相位呈现空间纹波选开阔空间测量;探头加装吸声喇叭口;测量距离控制在1m内
采集噪声与量化误差16位采集卡理论上对应约0.005mm的量化噪声前置放大增益调高,尽量让回波信号幅值用满采集卡量程
相位模糊与跳变振幅接近λ/2(约4.25mm)时会出现整周期模糊本方案限于λ/2以内的振幅;超大振幅场景需降低超声频率或改用双频方案

5.3 现场实测遇到的三个坑

这个项目前后折腾了大概两周,有三个坑印象最深:

第一个坑是近场效应。探头靠目标太近(小于20cm)时,接收信号波形里会出现明显的包络起伏和畸变,锁相解调出来的相位波动特别大,怎么滤波都压不下去。后来查资料确认是近场区声场干涉造成的。解决办法是把测量距离拉到了40cm以上,波形畸变明显消失。所以声呐测振也不是越近越好,要给声场充分的建立空间。

第二个坑是目标表面的"拍频"干扰。调试时发现即使目标静止,相位信号里也有一段有规律的摆动。排查了很久才找到原因——车间里另一台设备的超声泄漏(来自某个超声清洗槽)以相近频率进入了接收探头,和测量信号产生了类似差拍的现象。这个干扰单靠带通滤波几乎滤不掉。后来给接收探头的喇叭口外面加了一层吸声海绵,同时把发射驱动信号幅度稍微提高,才把信噪比拉回到正常水平。现场环境里的同频干扰是声呐测振最隐蔽的敌人,遇到相位信号异常摆动时优先怀疑这个方向。

第三个坑是相位展开的临界状态。当振动幅度接近λ/4时,相位差分结果偶尔会误触发2π修正条件,波形上出现一个突兀的跳变尖峰。我把相位展开的阈值判断从单点判定改成了连续3个点趋势判定,同时输出端加了一个中值滤波器剔除孤立跳变点,问题解决。

5.4 一套可复用的调通检查流程

最后分享一个我自己整理的调通顺序,照着走基本能少走弯路:

  1. 静态检查:目标静止,观察解调相位是否平稳,峰峰值波动应小于0.02rad。
  2. 准静态检查:用手轻轻按压被测结构,观察位移曲线是否跟随按压方向正确变化。
  3. 多级幅值检查:用激振器分别输出0.2、0.5、1.0mm振幅,验证线性度。
  4. 频响检查:固定振幅不变,改变振动频率从20Hz到500Hz,观察读数是否稳定。
  5. 长期稳定性检查:连续运行1小时,观察零点漂移是否在0.02mm以内。

这五步全部通过,这套系统就可以放心用于实际测量了。

我在这个项目里最大的体会是:声呐测振方案最怕的不是信号小,而是参考信号不干净。只要发射和采集严格同步、带通滤波做到位、环境同频干扰排除干净,1mm级别的振幅测量对于锁相放大来说其实非常从容。如果后续要把方案扩展到大振幅或更高精度,可以考虑双频相位测量或者差频外差方案,但那是另一个层次的话题了。目前这套LabVIEW加40kHz超声探头的组合,已经是非接触测振里性价比极高的选择。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询