2. 速度环数学模型:从电机方程到PI控制器的传递函数推导

做速度环调参,不懂数学模型,就像开车不看仪表盘——也能跑,但心里没底。这一章,我带你把电机方程到PI控制器的传递函数,一步步捋清楚。

说实话,我刚入行那会儿,也觉得数学推导太枯燥。直到有一次,一个伺服系统在低速时抖得厉害,我调了三天参数都没搞定。后来静下心来,把传递函数画了一遍,才发现是反电动势补偿没做对。嗯,从那以后,我再也不敢跳过数学模型了。

核心观点:速度环的数学模型,本质上是把电机的物理特性(转动惯量、阻尼、反电动势)和PI控制器的数学特性(比例、积分)用传递函数统一表达。你理解了它,调参就不再是“瞎蒙”。

2.1 直流电机的动态方程

我们先从最简单的直流电机开始。你想想看,一个电机转起来,受哪些力?

  • 电磁转矩:电流产生的驱动力,Te = Kt · i
  • 负载转矩:外部施加的阻力,TL
  • 阻尼转矩:轴承摩擦、风阻等,B · ω
  • 惯性转矩:转子加速需要的力,J · dω/dt

根据牛顿第二定律(旋转形式):

J · dω/dt = Te - TL - B · ω

其中:

  • J —— 转动惯量(kg·m²)
  • ω —— 角速度(rad/s)
  • B —— 阻尼系数(N·m·s/rad)
  • Kt —— 转矩常数(N·m/A)

再看电枢回路。电机旋转时,会产生反电动势 e = Ke · ω,其中 Ke 是反电动势常数(V·s/rad)。对于理想电机,Kt = Ke,这个后面会用到。

电枢电压方程:

u = R · i + L · di/dt + Ke · ω

这里 u 是电枢电压,R 是电枢电阻,L 是电枢电感。这两个方程,就是电机动态特性的“DNA”。

2.2 拉普拉斯变换与传递函数

把上面两个方程拉到复频域(s域)处理,会清爽很多。为什么要做拉普拉斯变换?因为微分方程变成代数方程,乘除关系一目了然。

假设初始条件为零,对两个方程做拉普拉斯变换:

J · s · Ω(s) = Kt · I(s) - TL(s) - B · Ω(s)
U(s) = R · I(s) + L · s · I(s) + Ke · Ω(s)

整理一下,从电压 U(s) 到转速 Ω(s) 的传递函数,需要消去中间变量 I(s)。

从第一个方程解出 I(s):

I(s) = (J · s + B) · Ω(s) / Kt + TL(s) / Kt

代入第二个方程,并令 TL(s) = 0(空载情况),得到:

U(s) = (R + L·s) · [(J·s + B) · Ω(s) / Kt] + Ke · Ω(s)

整理后,电机本体传递函数为:

Gmotor(s) = Ω(s) / U(s) = Kt / [(L·s + R)(J·s + B) + Kt·Ke]

个人经验:实际项目中,电气时间常数 τe = L/R 通常远小于机械时间常数 τm = J/B。所以很多时候,我们可以忽略电感 L 的影响,把电机简化为一阶惯性环节。但如果你做的是大功率直驱电机,L 就不能省了——我吃过这个亏。

2.3 PI控制器的传递函数

速度环最常用的控制器就是PI。为什么不用纯P?因为纯比例控制会有静差,你想想看,负载一变,转速就回不到设定值。积分项就是用来消除这个静差的。

PI控制器的时域表达式:

u(t) = Kp · e(t) + Ki · ∫e(t)dt

其中 e(t) = ωref(t) - ω(t) 是速度误差。

拉普拉斯变换后:

C(s) = U(s) / E(s) = Kp + Ki / s

写成更常用的形式:

C(s) = Kp · (1 + 1 / (Ti · s))

其中 Ti = Kp / Ki,称为积分时间常数。

参数 物理含义 增大效果 减小效果
Kp(比例增益) 对误差的即时响应强度 响应变快,但容易超调 响应变慢,稳态误差增大
Ki(积分增益) 对误差累积的消除速度 静差消除快,但可能振荡 静差消除慢,系统更稳定
Ti(积分时间) 积分作用的快慢尺度 积分作用减弱 积分作用增强

2.4 速度环闭环传递函数

把PI控制器和电机串起来,就构成了速度环的开环传递函数:

Gopen(s) = C(s) · Gmotor(s)

如果忽略电感 L(工程上常见简化),电机传递函数简化为:

Gmotor(s) ≈ Kt / (R · (J·s + B) + Kt·Ke)

令总等效阻尼 Beq = B + Kt·Ke/R,等效增益 Km = Kt/R,则:

Gmotor(s) = Km / (J·s + Beq)

开环传递函数:

Gopen(s) = Kp · (1 + 1/(Ti·s)) · Km / (J·s + Beq)

闭环传递函数(单位负反馈):

Gclose(s) = Gopen(s) / (1 + Gopen(s))

展开后是一个典型的二阶系统。它的自然频率 ωn 和阻尼比 ζ,直接决定了速度环的动态响应特性。

避坑指南:我曾经在一个项目中,直接套用这个简化模型去调一个低速大扭矩电机,结果系统一直振荡。后来发现,那个电机的电感 L 很大,简化模型忽略了 L,导致相位裕度计算严重偏差。所以,简化模型只适用于电气时间常数远小于机械时间常数的场合。拿不准时,老老实实用完整模型。

2.5 知识体系总览

下面这张图,把整个推导脉络串起来了。你可以把它当作本章的“地图”。

速度环数学模型推导框架 电机动态方程 PI控制器方程 拉普拉斯变换 拉普拉斯变换 Gmotor(s) C(s) = Kp + Ki/s 开环传递函数 Gopen(s) = C(s) · Gmotor(s) 闭环传递函数 Gclose(s) = Gopen / (1 + Gopen) 说明:从物理方程到闭环传递函数,每一步都有明确的物理意义和数学依据

2.6 从传递函数看调参方向

有了闭环传递函数,我们就能从数学上理解:为什么调 Kp 和 Ki 会有那些效果。

对于简化后的二阶系统,闭环传递函数可以写成标准形式:

Gclose(s) = ωn² / (s² + 2ζωn·s + ωn²)

其中:

  • ωn —— 自然频率,决定响应速度
  • ζ —— 阻尼比,决定超调和振荡

Kp 主要影响 ωn,Ki 主要影响 ζ。具体来说:

  • 增大 Kp:ωn 变大,响应变快,但 ζ 变小,超调增大,甚至振荡
  • 增大 Ki:ζ 变小,积分作用增强,静差消除快,但相位裕度下降,容易低频振荡

我的调参习惯:先给一个较小的 Ki(或者先设为零),只调 Kp 让系统达到临界稳定的边缘——就是刚刚开始持续振荡的那个点。记下这个 Kp 值,然后取它的 0.4~0.6 倍作为最终 Kp。再加入 Ki,从零逐渐增大,直到静差消除且不产生低频振荡。这个方法,其实就是 Ziegler-Nichols 整定法的变种,我用了十几年,屡试不爽。

当然,实际系统还有电流环延时、采样延时、滤波器等因素,会让模型更复杂。但有了这个基础模型,你至少知道:调参不是乱调,每个旋钮都有它的数学含义。