2. 摩擦模型基础:库仑摩擦、粘性摩擦、Stribeck效应

各位工程师朋友,咱们开始聊摩擦模型。说实话,摩擦这东西,看着简单,做起来真让人头疼。我在调试伺服系统时,最怕的就是低速爬行——电机在那抖啊抖,位置精度全毁了。后来我才明白,搞不定摩擦,就搞不定低速性能。

今天咱们把摩擦模型掰开揉碎了讲。你理解透了,后面做补偿就顺了。

2.1 库仑摩擦:最朴素的摩擦力

库仑摩擦,说白了就是干摩擦。两个接触面相对滑动时产生的阻力。它的特点很鲜明:大小恒定,方向永远和速度相反

数学表达式很简单:

F_c = μ_c * F_n * sign(v)

其中:

  • F_c — 库仑摩擦力
  • μ_c — 库仑摩擦系数
  • F_n — 正压力
  • sign(v) — 速度方向的符号函数

嗯,这里有个坑。sign函数在速度为零时是不连续的。你想想看,电机刚启动时,速度从0变到正,摩擦力瞬间跳变。这个跳变,就是低速抖动的根源之一。

关键点:库仑摩擦只和速度方向有关,和速度大小无关。哪怕你跑得再快,库仑摩擦力还是那么大。

我在做龙门铣床的伺服驱动时,遇到过一个问题:电机正反转切换时,总有一个明显的过冲。后来排查发现,就是库仑摩擦的跳变引起的。当时我用了前馈补偿,效果立竿见影。

2.2 粘性摩擦:速度越快,阻力越大

粘性摩擦,你可以理解为润滑油带来的阻力。速度越快,油膜被剪切得越厉害,阻力就越大。

数学表达式:

F_v = B * v

B是粘性摩擦系数,v是速度。这是个线性关系,好处理。

但实际系统中,粘性摩擦往往不是纯线性的。我见过不少设备,低速时粘性摩擦很小,高速时却急剧增大。为什么会这样?因为油膜在高速下会发热,粘度变化了。

我的经验:做参数辨识时,别只测一个速度点。至少测3-5个速度点,把粘性摩擦的曲线拟合出来。否则你的模型误差会很大。

粘性摩擦的好处是——它连续、可导。不像库仑摩擦那样有跳变。所以从控制角度看,粘性摩擦相对友好。

2.3 Stribeck效应:低速区的"怪坡"

Stribeck效应,这是摩擦模型里最精彩的部分。也是让无数工程师头疼的地方。

简单说:在速度从零开始增加时,摩擦力不是单调上升,而是先下降再上升。就像你开车起步,刚松刹车时感觉车很"黏",稍微动起来反而滑溜了,再加速阻力又变大。

这个"先降后升"的曲线,就是Stribeck曲线。

F_s = F_c + (F_s - F_c) * exp(-(v/v_s)^2)

其中:

  • F_s — 静摩擦力(最大静摩擦)
  • F_c — 库仑摩擦力
  • v_s — Stribeck速度(特征速度)

你看这个公式,当v接近0时,F_s ≈ F_s(静摩擦);当v很大时,exp项趋近0,F_s ≈ F_c(库仑摩擦)。中间那段下降,就是Stribeck效应。

注意:Stribeck效应是负阻尼的来源。负阻尼意味着系统可能自激振荡。我在调试一个精密转台时,低速下总有一个5Hz左右的抖动,查了三天,最后发现是Stribeck效应引起的负阻尼。

2.4 三种摩擦的对比

摩擦类型 与速度关系 连续性 主要影响
库仑摩擦 恒定,仅与方向有关 不连续(速度过零时跳变) 启动冲击、换向过冲
粘性摩擦 线性(或非线性)正比 连续 高速阻力、稳态误差
Stribeck效应 先降后升 连续但负斜率 低速爬行、极限环振荡

这张表我建议你存下来。做故障排查时,对照症状找原因,效率高很多。

2.5 完整的摩擦模型

把上面三种合在一起,就是经典的LuGre模型简化版:

F_friction = F_c * sign(v) + B * v + (F_s - F_c) * exp(-(v/v_s)^2) * sign(v)

这个模型,基本覆盖了大多数工程场景。我个人的习惯是:先用这个模型做离线辨识,把F_c、F_s、B、v_s四个参数标定出来。然后在线运行时,用查表法做前馈补偿。

避坑指南:我曾经在参数辨识时,只用了匀速段的数据,结果Stribeck参数完全没辨识出来。后来加了低速扫描(0.1rpm到10rpm),才把曲线拟合好。记住:Stribeck效应发生在极低速区,你的测试点必须覆盖这个区域。

2.6 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你看一眼,心里就有谱了。

摩擦模型知识体系 摩擦模型 库仑摩擦 粘性摩擦 Stribeck效应 F = μ·F_n·sign(v) 大小恒定,方向与速度相反 速度过零时跳变 F = B·v 线性正比于速度 连续可导,易于补偿 先降后升曲线 低速区负阻尼 引起极限环振荡 完整模型:F = F_c·sign(v) + B·v + (F_s-F_c)·exp(-(v/v_s)²)·sign(v) 四个关键参数:F_c, F_s, B, v_s

这张图把三种摩擦的关系和特性都标清楚了。你调试时遇到低速抖动,先看是不是Stribeck效应;遇到换向过冲,先查库仑摩擦的补偿参数。按图索骥,效率翻倍。

一个小建议:刚开始做摩擦补偿时,别追求完美模型。先把库仑摩擦和粘性摩擦补偿好,能解决80%的问题。Stribeck效应,等你有余力再处理。我当年就是太贪心,一上来就想搞定全部,结果调试了两个月没进展。

好了,摩擦模型的基础就聊到这儿。记住:模型是工具,不是目的。你的目标是让电机跑得稳、跑得准。模型再漂亮,解决不了实际问题也是白搭。


公众号:蓝海资料掘金营,微信deep3321