
今天写一个设计,关于采油机震动监测:

https://iopscience.iop.org/article/10.1088/1742-6596/2813/1/012002
柴油机的振动信号蕴含大量故障信息,准确采集振动信号可为柴油机状态监测提供可靠的数据支持。本文设计了一种基于高性能Zynq芯片的柴油机振动信号采集系统。该系统选用IEPE压电加速度传感器采集柴油机振动信号,并设计了一个信号调理电路,利用差分信号的特性滤除信号传输过程中的干扰,并调节信号的电压幅值,以确保其满足AD转换模块的输入电压要求。考虑到AD7771优异的性能,选用其作为AD转换芯片,并完成了外围电路的设计。最后,在Multisim 14.1软件中建立了信号调理电路的仿真模型,验证了系统的良好性能,并开发了上位机软件用于监测柴油机的故障信息。

信号链拓扑

测量参数
对象:柴油机振动信号。振动里包含大量工况和故障信息,用来做状态监测和诊断。
柴油机→IEPE 加速度计→恒流源→差分调理→AD7771→Zynq(PL+PS)→上位机故障诊断
做一块 集成信号调理 + 多通道同步采集 + 上位机监测 的板卡,而不是传统“调理板 + 采集卡分离”的方案(那样布线麻烦、成本高)。
传感器:IEPE 压电加速度计 CA3010A-10
ADC:ADI AD7771(8 路同步 24-bit ΔΣ ADC)

主控:Xilinx Zynq-7000(XC7Z020)

做一套基于 Zynq+AD7771 的 8 路 IEPE 柴油机振动采集系统,集成调理、采样、通讯和上位机诊断。
按 GB/T 7184-2023 标准,柴油机常规振动严重度评价频率范围:2 Hz–1 kHz;柴油机低频振动为主,且低频加速度幅值较小 → 易被噪声淹没。

文中选择 CA3010A-10 IEPE 单轴加速度计,主要参数:
灵敏度:10 mV/g
动态量程:±500 g
频响:1~10 kHz(其实比 1 kHz 要宽很多,为后续高频故障分析留余地)
满量程输出:±5 V
输出阻抗 < 100 Ω
IEPE 是低阻抗电压输出,内部有电荷放大器,抗干扰能力比“纯电荷输出”传感器好很多;只需要两根线(信号+电源共线),工程布线简单;量程和灵敏度都能覆盖柴油机从正常到故障的振动范围。
这一部分是全文的“模拟精华”。

用 TI 的 XTR111 做“电压→电流”的精密恒流源;供电 24 V,输入控制电压 2.5 V,通过 SET 电阻设定输入电压与输出电流比值:
通过 R225、R222 组合选择,使输出电流设为 4 mA,作为 IEPE 的激励电流→ 这一步就是构成标准的 “4 mA IEPE 激励”,保证传感器正常工作。

看 Figure 3 的“输入信号减法电路”:
运放:OPA277UA,±12 V 供电。
传感器两根线:
SENSOR_VIBRATION_VOUT_1 → 接运放正输入(+)
SENSOR_VIBRATION_VCC_1 → 接运放负输入(–,也就是恒流源侧)
电路要点:
前级保护:输入线上串电阻 + 钳位二极管,可抗 ±30 V 过压,防止插拔/浪涌烧坏 OPA277。
电容用途
C310:串在负输入一侧,用来隔离恒流源 DC 分量;
C299 与反馈电阻 R238 并联:构成高频补偿,防止运放自激、抑制高频噪声;
C305、C322:对地的退耦/滤波电容,进一步滤掉高频干扰。
差分抑制干扰
两根 IEPE 线缆通常做成 绞合对线,外界电磁干扰以“共模”的形式耦合到两根线上;运放做减法:
其中 V3、V2 是两线电压。
共模干扰(V3≈V2 部分)被抵消,只留下真正的振动信号(两线电压差里的 AC 成分)。
同时“缩小”振幅:通过合适选择 R238/R245,使输出振幅缩小 4 倍;这样既降低后级 ADC 的压摆要求,也留足余量防止过载→ 这一级等效于:共模干扰抑制 + DC 移除 + 适当增益/衰减 的前置运放。

Figure 4:单端转差分电路。
运放:OPA2277UA,双运放结构。
一路作为电压跟随(buffer):输出 ADCURRENT_A_P;
另一路作为反相器:输出 ADCURRENT_A_N。
两路输出:
幅值相等、相位相反 → 形成差分信号;共同叠加了 ADC 提供的 VCM 共模电压,让信号摆动在 ADC 允许的共模范围内。
VCM 的来源:
AD7771 提供一个 VCM 引脚;由 ADC 内部参考和电源生成,单电源 3.3 V 情况下:
这一级做的事情:
把前面减法运放输出的单端信号 VOUT,变成 围绕 1.65 V 共模、差分摆动的信号对;完全匹配 AD7771 的“差分、伪双极性输入”要求;同时差分传输又增强了对数字噪声/共模干扰的抗性。
振动有效频段约:2 Hz–1 kHz;
按 Nyquist:fs ≥ 2·fmax;工程上常取 3~5 倍。
文中选的是 8 通道同步采样,每通道 12.8 kSPS。
对 1 kHz 信号,采样倍率 ≈ 12.8 倍,非常宽裕;若未来扩展到 5 kHz 甚至 10 kHz 的高频故障,也有余地。
列出的关键规格:
24-bit 分辨率
8 路同步 Σ-Δ 转换器
SNR ≈ 95 dB、THD ≈ –109 dB 级别
双极输入 ±1.8 V
最大 128 kSPS / 通道
支持高分辨率模式(高 OSR)与低功耗模式
结合应用看:
柴油机振动频段不高,对带宽要求不苛刻,但希望动态范围尽可能大 → 24-bit ΔΣ 很合适;8 路同步采样,满足多点同时采集(发动机多个测点);AD7771 内部带 PGA(1/2/4/8),可以根据传感器输出幅度选择合适增益。

Figure 5 里给出了典型连接:
电源:
Analog 3.3 V 单电源,模拟地 AGND;数字 3.3 V,和 AGND 共地;内部 2.5 V 参考,VMID/VCM 输出 1.65 V(作为前端共模)。
模拟输入:8 路差分输入 AIN0~AIN7,直接接到 OPA2277 的差分输出;选择“真差分”模式以获得最佳抗干扰性能。
接口:数据输出有 “高速串行口” 和 SPI 控制口两套:高速口直连 Zynq PL(FPGA 部分),用于高速采样数据流;SPI 用于寄存器配置、模式控制、校准等。
用 Multisim 14.1 做了信号调理部分的仿真。

用函数发生器(5 V、100 Hz 正弦)模拟 IEPE 输出;用两台虚拟示波器:一台测减法电路输出(单端);一台测最终差分输出(送 ADC 的那一对)。
仿真结果:

减法电路输出
幅值变为 1.25 V(缩小 4 倍),频率仍为 100 Hz;说明增益设计正确。
差分输出
A/B 两路信号振幅相同、相位相反;差分值反映真实振动信号;调理电路能 有效滤除干扰 + 调整幅度到合适范围 + 输出规范差分信号。
采样和带宽配置挺保守:目标频段只有 1 kHz,采样 12.8 kSPS,OSR 足够大;AD7771 本身可以做到 128 kSPS,远超需求;这样好处是:噪声性能更好、抗混叠更加轻松。如果要扩展到高频故障(喷油脉冲、齿轮啮合等),完全可以继续抬高 fDATA。
调理电路重视“传输线抗干扰”,思路是对的:两线绞合 → 共模干扰为主;运放减法 → 把共模干扰扣掉;之后再做差分驱动 ADC → 抗数字地噪声/EMI;这强干扰场景很关键。
AD7771 的性能对这个应用是“富裕”的柴油机振动信号本身噪声和随机性很大,95 dB SNR + 24-bit 分辨率完全够用,更多是为动态范围留余量。
如果要做更高端的状态监测(比如轴承高频故障、包络解调),可以把采样率开到 64/128 kSPS,配合合适的模拟前端和数字滤波。
说明一下假设:论文没有给出具体 R/C 数值,我用了一套“符合文中描述 + 柴油机 2Hz~1kHz 应用”的合理参数,搭了一个等效两级模型: 一级:OPA277 减法 + AC 耦合 + 低通(带宽 1 Hz~20 kHz,增益 0.25) 二级:OPA2277 单端→差分驱动 AD7771(带宽到 50 kHz,增益 1)


第一张图:Abstracted conditioning chain: magnitude response
黄色:Stage1(OPA277 减法)
1 Hz 以下明显衰减(高通特性),把恒流源的 DC 和极低频漂移滤掉;20 kHz 附近开始滚降(低通),抑制高频噪声;通带内增益 ≈ –12 dB(0.25 倍),对应论文说“缩小 4 倍”。
蓝色:Stage2(OPA2277 差分驱动)
从几十 Hz 到 10 kHz 左右基本 0 dB(增益 1);50 kHz 左右开始下降,代表驱动带宽有限。
绿色:总传递函数(到 AD7771 输入)
1 Hz 以下是高通上升段;1 Hz~20 kHz 基本平坦在 –12 dB 左右;20 kHz 以后整体向下掉。
也就是说,这个等效模型把调理电路表达成一个:
带宽约 1 Hz~20 kHz 的准平坦带通 + 约 –12 dB 总增益 → 完全覆盖柴油机 2 Hz–1 kHz 的振动频段,并给高频留一些余量。
第二张图:Conditioning chain noise spectral density (simplified model)
假设:
OPA277 输入噪声 ≈ 8 nV/√Hz
OPA2277 输入噪声 ≈ 8 nV/√Hz
把电阻热噪声等 lump 成 Stage1 输入等效 6 nV/√Hz→ Stage1 等效输入噪声 en1 ≈ 10 nV/√Hz,Stage2 en2 ≈ 8 nV/√Hz。
按“每级噪声乘上对应传函”的方式算:Stage1 噪声:通过 H1+H2,到 ADC 输入端;Stage2 噪声:只乘 H2,到 ADC 输入端;两者功率谱相加,得到总 V²/Hz;取平方根就是 nV/√Hz。
图上可以看到:2 Hz 以上,总噪声密度在 ~8–9 nV/√Hz 左右比较平;到 20 kHz 以后,随着低通滚降,噪声密度也开始下降。
脚本最后算了一下 2 Hz~10 kHz 这一段的积分噪声:
Integrated conditioning noise from 2.0 Hz to 10.0 kHz:
Stage1 contribution ≈ 0.239 µV_rms
Stage2 contribution ≈ 0.792 µV_rms
Total conditioning ≈ 0.827 µV_rms (at ADC input)
也就是说,在这个简化模型下:调理电路本身在 2Hz~10kHz 带内只贡献 ~0.83 µV RMS 的噪声(折算到 AD7771 输入端)。而 AD7771(类似 LHA5278H 那类 24bit ΔΣ)的自身等效噪声通常在 几 µV 量级,所以整体系统噪声仍然主要由 ADC + 传感器决定,调理电路不会成为瓶颈。
这和文章的设计意图是对齐的:前端主要负责幅度调整 + DC 隔离 + 抗干扰,噪声水平做到“明显低于 ADC 自噪声”就够。
完整链路分成四个部分:
柴油机振动 → IEPE 加速度计 → 恒流源 → 减法电路 → 单端→差分 → AD7771 → Zynq → 上位机
其核心目标只有三个:把 IEPE 的高压偏置(+12V/+24V)抹掉,只留下振动 AC;把差分信号有效保真地送到 ADC 的差分输入;整个带宽、噪声、动态范围都满足振动分析需求
IEPE 的输出为:
Vbias ≈ 10–12 V(来自恒流源)
S = 灵敏度,例如 10 mV/g
a(t) = 加速度(振动量)
采集系统目标是把 DC 部分去掉,只保留:
XTR111 提供:
目标:2–4 mA,典型 4 mA。
只需决定:V_ctrl(一般来自 2.5V DAC 或电阻分压);R_SET(几 kΩ 到几十 kΩ)
这一段是论文信号链的核心模拟部分:
IEPE 两线 → 减法放大器 → 输出 AC 信号(缩小 4 倍)
输入为两根线:
SENSOR_VIBRATION_VOUT
SENSOR_VIBRATION_VCC(恒流源端)
两根线通常是一样的 DC 偏置,因此减法电路:
论文中设置:
目的是去掉相同偏置电压(12V)来抑制共模干扰(绞线可以让电磁噪声以 V3≈V2 耦合),将 IEPE ±5V 的信号变成 ADC 适合的 ±1.25V
文中目标:1 Hz 级别
作用:去掉 IEPE 输出的 DC 和低频漂移,防止放大器饱和
柴油机振动频段从约 2 Hz 起,因此:
是合理的设计。
低通截止频率:
论文设置大约:
Stage1(OPA277):20 kHz
Stage2(OPA2277):50 kHz
原因:
柴油机振动关注 <1 kHz;留余量到 10 kHz(高频能量、故障侧频);不希望宽带噪声放大到太高频率(避免推入 ADC)
运放 A 输出:
运放 B 输出:
AD7771 的差分输入信号为:
而共模电压:
单电源时
AD7771 只能接受:
差分驱动可极大提高抗干扰;让信号围绕 VCM 居中,避免负压
一级衰减 1/4:
差分驱动后:
即 IEPE 的 10 mV/g 等效到 ADC:
带宽:
低端:1 Hz(高通)
高端:20–50 kHz(低通)
实际振动有效带宽:2–1000 Hz
噪声输出:
其中:
:Stage1 输入等效噪声(运放 + 电阻热噪声)
:Stage2 输入噪声
:各级频率传函
噪声积分:
仿真的结果(2 Hz~10 kHz 区间):
Stage1 ≈ 0.239 µV_rms
Stage2 ≈ 0.792 µV_rms
Total ≈ 0.827 µV_rms
这说明调理电路本身噪声远低于 AD7771(几 µV);调理电路不会成为瓶颈;IEPE 传感器噪声(如 10~100 µg/√Hz)反而会成为主导部分
AD7771 的 FIR 滤波器:
如果选 12.8 kSPS:
和柴油机振动(1 kHz)完全匹配。
但如果未来做 10 kHz、20 kHz 的机械故障诊断,可把 fDATA 提高到:
32 kSPS
64 kSPS
128 kSPS
对应 FIR 通带分别扩到:
14 kHz
28 kHz
56 kHz
带宽:
一级噪声:
二级噪声:
总噪声:
等效加速度量程:

噪声预算(2 Hz–1 kHz 频带)
=== Full Signal Chain Noise Budget (2 Hz – 1 kHz band) ===
Sensor noise @ADC input : 4.739 µV_rms ( 0.95 mg_rms)
Conditioning noise @ADC input: 0.830 µV_rms ( 0.17 mg_rms)
ADC intrinsic noise : 0.790 µV_rms ( 0.16 mg_rms)
---------------------------------------------------------
Total chain noise : 4.875 µV_rms ( 0.98 mg_rms)
对应柱状图可以直接看出:
传感器噪声 ~0.95 mg
调理电路噪声 ~0.17 mg
ADC 自噪声 ~0.16 mg
总噪声 ~0.98 mg(几乎被传感器主导)
也就是说,在 2–1000 Hz 这个柴油机振动频带里:系统已经做到“ADC + 调理都比传感器更干净”,真正限制分辨率的是传感器本身。
=== Dynamic Range ===
ADC full-scale (diff) : ±1.20 V → ±240000 mg
Total noise (1σ) : 0.98 mg
Dynamic range (FS / noise) : DR ≈ 104.8 dB (ENOB ≈ 17.12 bits)
这里假设:AD7771 满量程差分 ±1.2 V;前端总增益 G_total = 0.5 V/V(10 mV/g → 5 mV/g 到 ADC)
于是:满量程加速度 ≈ ±240 g(±240000 mg);2–1 kHz 频带里的噪声 ≈ 1 mg_rms;动态范围 ≈ 105 dB,等效 17 bit 有效位数
也就是:在这条链上,理论上可以分辨出 不到 1 mg 级别 的振动变化,而满量程还能容纳两百多 g 的冲击,是非常宽的动态范围。
怎么一堆仿真没有实物测试,这和我水文章一样???