在微型泵、阀和压力传感器组成的液路中,一个很常见的现象是:泵已经启动,压力却没有立即建立;阀切换后,传感器读数缓慢爬升;控制器继续提高 PWM,随后又出现过冲。
这不一定是泵的响应慢。液路里残留的气泡会被压缩,相当于给系统加入了一个“弹性储能元件”。本文用一个简化的一阶模型,估算气泡体积对压力建立时间的影响。
1. 把液路看成阻力与顺应性的组合
对于圆管内的充分发展层流,管路可以先近似成液阻 R。气泡则提供气体顺应性 C_g。在等温、小扰动条件下:
C_g ≈ V_g / P_abs
其中:
V_g:气泡体积,单位 m³;P_abs:气泡工作点的绝对压力,单位 Pa;C_g:压力每变化 1 Pa,气泡可以吸收或释放的体积。
当液阻与气体顺应性串联时,可以得到近似时间常数:
tau = R * C_g
它与电路中的 RC 时间常数很相似。tau 越大,压力响应越慢。
2. 用 Python 比较不同气泡体积
下面假设管路等效液阻为 2e13 Pa·s/m³,入口压力发生阶跃变化,比较 5、20 和 50 μL 三种残留气泡。
import numpy as np
import matplotlib.pyplot as plt
R = 2.0e13 # hydraulic resistance, Pa*s/m^3
P_abs = 101_325 # absolute pressure at operating point, Pa
P_step = 30_000 # pressure step, Pa
bubble_ul = [5, 20, 50]
t = np.linspace(0, 40, 600)
for volume_ul in bubble_ul:
Vg = volume_ul * 1e-9 # uL -> m^3
Cg = Vg / P_abs
tau = R * Cg
pressure = P_step * (1 - np.exp(-t / tau))
print(f"{volume_ul:>2} uL: tau = {tau:.2f} s")
plt.plot(t, pressure / 1000, label=f"{volume_ul} uL, tau={tau:.2f}s")
plt.xlabel("Time (s)")
plt.ylabel("Gauge pressure (kPa)")
plt.title("Pressure build-up with trapped gas")
plt.grid(alpha=0.3)
plt.legend()
plt.tight_layout()
plt.show()
理论结果约为:
| 气泡体积 | 时间常数 tau |
|---|---|
| 5 μL | 0.99 s |
| 20 μL | 3.95 s |
| 50 μL | 9.87 s |
一阶系统达到最终值 95% 通常需要约 3 × tau。因此,同一条液路中,50 μL 气泡可能让压力稳定时间接近 30 秒,而不是瞬间完成。
3. 为什么控制器容易出现过冲
如果压力环的积分项调得很快,而液路因气泡产生数秒延迟,控制器会在压力尚未建立时持续增加 PWM。气泡压缩完成后,这部分累积输出会推动压力超过目标值。
调试时可以依次检查:
- 先用透明管段或脱气流程确认是否存在残留气泡;
- 记录泵 PWM、压力原始值和阀状态,不只看滤波后的曲线;
- 比较有气泡与完全排气后的阶跃响应;
- 在机械液路确认后,再调整积分限幅、抗饱和和控制周期。
4. 模型没有包含哪些因素
这个模型用于数量级判断,不是整机验证的替代品。实际液路还可能包含软管弹性、膜片泵脉动、阀腔死体积、过滤器、接头局部损失、液体黏度变化,以及气泡溶解和温度变化。
另外,R 不应凭感觉指定。可以先根据管径、管长、流量和黏度估算直管液阻,再把阀、弯头、过滤器和针头作为额外压损评估。用于初步复核时,可参考 FOREACH 流体阻力与压降计算器。
5. 一个实用的台架验证方法
在相同泵速、阀状态和液体条件下,分别做“充分排气”和“人为加入已知气泡体积”两组压力阶跃测试。对每条曲线记录达到最终压力 63.2% 的时间,这个时间可近似看作 tau。
如果实测时间常数随气泡体积近似线性增长,说明顺应性模型抓住了主要矛盾;如果差异很大,则应继续检查软管弹性、泄漏、泵曲线与传感器滤波。
说明:作者参与 FOREACH 的微型泵、阀和液路组件相关工程工作。本文用于分享可复现的建模与验证方法,不构成具体产品选型结论。