库伦阻尼模拟器 返回
振动工程模拟器

库伦阻尼模拟器 — 干摩擦自由振动

质量-弹簧系统在干摩擦作用下的库伦阻尼自由振动可视化。与粘性阻尼不同,振幅线性衰减并在有限时间停止,学习不动区域导致的停止偏移。

参数设置
质量 m
kg
弹簧常数 k
N/m
动摩擦系数 μ
初始变位 x_0
m

重力加速度 g = 9.81 m/s² 固定。摩擦力 F_d = μ·m·g,方向与速度相反。停止判定为 |ẋ| < ε 且 |k·x| ≤ F_d。

计算结果
自然振动频率 f_n
1 周期振幅衰减 Δ=4F_d/k
停止周期数 N_stop
停止时间 T_stop
时间响应 x(t)

蓝实线=变位 x(t) / 橙破线=线性包络线 ±(x_0 − 2F_d·n/k) / 灰色带=不动区域 ±F_d/k / 黄竖线=停止时刻

相平面 (x, ẋ)

纵轴=速度 ẋ / 横轴=变位 x。与粘性阻尼的对数螺旋不同,半周期内中心在 ±F_d/k 离散跳跃的分段螺旋。

理论·主要公式

库伦阻尼自由振动是运动方向反向的恒定大小摩擦力F_d = μ·m·g作用的非线性系统。每半周期摩擦项符号切换,可视为分段线性振动。

运动方程(sgn为符号函数):

$$m\ddot{x} + k\,x + F_d\,\mathrm{sgn}(\dot{x}) = 0,\qquad F_d = \mu\,m\,g$$

自然角振动频率和周期。库伦阻尼中振动数不变:

$$\omega_n = \sqrt{k/m},\qquad T = \frac{2\pi}{\omega_n}$$

每周期振幅衰减(线性):

$$\Delta x = \frac{4\,F_d}{k} = \frac{4\,\mu\,m\,g}{k}$$

不动区域(进入此区停止)和停止周期数:

$$|x| \le \frac{F_d}{k},\qquad N_\text{stop} \approx \frac{x_0\,k}{4\,F_d} - \frac{1}{4}$$

库伦阻尼模拟器简介

🙋
什么是"库伦阻尼"?我在教科书中见过粘性阻尼…
🎓
简单说,就是一个弹簧连接的质量在桌面上滑动,桌面和质量之间有干摩擦力——这样的振动就叫库伦阻尼。用公式写就是:$m\ddot{x} + k x + F_d\,\mathrm{sgn}(\dot{x}) = 0$,$F_d = \mu m g$。粘性阻尼中阻尼力与速度成正比($c\dot{x}$),而库伦阻尼的摩擦力大小恒定,方向与速度相反。看上面的时间响应图。
🙋
啊,我看到了!包络线不是指数的,而是直线!
🎓
对!这就是最大的特点。粘性阻尼的振幅按指数 $e^{-\zeta\omega_n t}$ 衰减,"数学上永远不会停止"。而库伦阻尼每个周期的振幅衰减量是 $4F_d/k$,总是同样的量。所以线性衰减,在有限时间内完全停止。实际机械"啪"一声停下来通常就是这样的情况。
🙋
"不动区域"是什么?图上那个灰色的带状区域?
🎓
很有趣!当质量在某一瞬间停下来,弹簧要把它拉回的力 $|kx|$ 如果比摩擦力 $F_d$ 小,摩擦力就能完全抵消,质量动不了。条件是 $|x| \le F_d/k$。所以振动不会在原点停止,会在这个区域里某处停下来。这叫"停止偏移"——它是精密定位的大敌。
🙋
所以相平面图的螺旋也跟粘性阻尼不一样?
🎓
完全对。粘性阻尼的相平面是光滑的对数螺旋,收敛到原点。库伦阻尼的运动方程每半周期摩擦符号就切换一次,是"分段线性系统"。半周期的螺旋中心会在 $\pm F_d/k$ 之间跳跃——看起来像阶梯状螺旋,每圈的中心位置都在变,最后落进不动区域。模拟器的相平面图就能清楚地看到这个过程。

常见问题

每半周期内摩擦符号切换,但各半周期内的振动是"弹簧+质量+恒定偏移"的简谐运动。只要以 ±F_d/k 作为新的平衡点,复原力保持不变,所以 ω_n = √(k/m) 恒定。粘性阻尼则不同,阻尼项线性进入运动方程,导致特征值为复数,衰减固有振动数 ω_d = ω_n·√(1−ζ²) 小于 ω_n。库伦阻尼不改变周期本身,只改变包络线。
运动方程变成 m·ẍ + c·ẋ + k·x + F_d·sgn(ẋ) = 0,振幅衰减呈现"指数×(指数−偏移)"的形式,既不是纯指数也不是纯直线。初期接近线性,充分衰减后转向指数,呈现过渡特性。停止仍在有限时间内发生,停止位置在不动区域 |x| ≤ F_d/k 内。实际机械响应测量中,从能量耗散量来分离两种阻尼的贡献。
符号函数含有非线性、不连续性,不能用线性振动论的叠加原理。常用方法有:(1)分段线性解法——每半周期解线性ODE再接续;(2)等价线性化(调和线性化)——用等效粘性阻尼逼近第一傅里叶分量;(3)数值时间步进法(Runge-Kutta、速度Verlet)。本模拟器采用数值积分方式,为避免数值发振,将 sgn(ẋ) 在 |ẋ| < ε 处替换为 0。
有很多应用。代表例有:层叠叶片弹簧(板间摩擦)、地震摩擦阻尼器(X形支撑夹摩擦垫块)、机械表脱进机(平衡摆保持恒定振幅)。干摩擦相比粘性阻尼的优点是,只要法向力不变,阻尼力就稳定,温度和速度依赖性小。缺点是停止偏移、不动区域、粘滑现象(工作台送轴)等非线性效应会破坏精密定位,需要伺服补偿。

实际应用

汽车悬架叶片弹簧:卡车和公共汽车的叶片弹簧是多片钢板堆叠,板间干摩擦与粘性减振器并联工作。设计时通过板数、接触面积、润滑状态调节摩擦力 F_d,使1周期振幅衰减 4F_d/k 达到目标值,改善乘坐舒适性。

地震防灾摩擦阻尼器:在制振建筑中用X形钢支撑夹高摩擦垫块,地震变形时垫块相互滑动产生履历环(hysteresis loop)消耗能量。库伦阻尼速度无关,小地震和强余震都能提供稳定的减振力,特别适合低层建筑加固。

机械表脱进机:摆锤+游丝的自由振动中,脱进机齿与游丝的微小干摩擦会产生库伦阻尼,使摆幅下降。为保持恒定振幅,主发条每半周期给予"踢动"补充能量。这是库伦衰减有限性的反向利用——靠周期能量补充维持恒幅。

工作机床进给轴的粘滑(stick-slip):滑动导轨在低速进给时会出现"卡住→突然跑"的粘滑振动。这是库伦摩擦的静摩擦/动摩擦差异与轴刚性的组合产生的自励振动,严重破坏加工精度。对策包括换成滚动导轨、油静压导轨或速度前馈补偿,效果验证需要用到"不动区域"和"停止偏移"的概念。

常见误区和注意事项

最普遍的误解是"库伦阻尼最终也会在 x=0 停止"。实际上,若弹簧力 $|kx|$ 不超过摩擦力 $F_d$,质量就无法启动,停在不动区域 $|x| \le F_d/k$ 内(通常不在原点)。这个"停止偏移"在精密定位机械上直接导致位置误差,必须用伺服闭环补偿。模拟器提高摩擦系数 μ 会清晰显示停止位置远离原点。

第二常见的错误是混淆"半周期衰减量"和"一周期衰减量"。半周期减少 2F_d/k,一周期减少两倍即 4F_d/k。若搞反了,停止周期数 $N_\text{stop}$ 的估计会偏离一倍,导致仿真时间设置错误。模拟器的统计卡片显示的是 4F_d/k,即完整一周期的衰减。

最后,sgn(ẋ) 的数值计算容易在 ẋ=0 处震荡。直接用 sgn(ẋ) = ẋ/|ẋ| 当 ẋ 跨越 0 时会剧烈振荡,即使 Runge-Kutta 也出现数值噪声。解决办法:(1)设速度阈值 ε_v(典型 1e-4 ~ 1e-6),|ẋ| < ε_v 时 sgn=0;(2)判定停止条件时完全冻结动态 |ẋ|<ε 且 |kx|≤F_d。本模拟器用 ε_v=1e-4,这个值太大会早停,太小数值震荡——是实现中的实际权衡。

使用指南

  1. 用质量滑块(slM)在0.5~5kg范围内设定振动系统质量
  2. 用弹簧常数滑块(slK)在1~100N/m范围调整弹簧硬度
  3. 用摩擦系数滑块(slMu)在0.01~0.5范围输入库伦摩擦
  4. 用初始变位滑块(slX0)在±50mm范围设定初始振幅
  5. 运行仿真后,干摩擦线性衰减曲线显示,自然频率f_n和停止时间T_stop自动计算

具体计算示例

评估机械工作机床主轴轴承支座系统的库伦阻尼:质量m=2kg、弹簧常数k=45N/m、摩擦系数μ=0.15、初始变位x0=30mm的情况下,干摩擦力Fd=μmg=0.15×2×9.81=2.94N。1周期振幅衰减量Δ=4Fd/k=4×2.94/45=0.261m,自然频率fn=√(k/m)/(2π)=√(45/2)/(2π)≈1.07Hz。停止周期数N_stop=x0/(2Δ)≈30/0.261≈57.5周期,停止时间T_stop≈57.5/1.07≈53.7秒。

工程应用注意事项