3. 速度环原理:从物理到控制

速度环,说白了就是让电机按照你想要的转速转起来,而且转得稳、转得准。很多刚入行的工程师觉得速度环不就是个PI嘛,调调参数就行了。但我在项目里见过太多因为速度环没设计好,导致整个系统抖得像筛子一样的案例。嗯,这一节我们就把速度环的底细彻底讲清楚。

3.1 速度环的作用

速度环处在三环控制的中间位置。外面是位置环,里面是电流环。它的核心任务只有一个:让实际转速紧紧跟随给定转速。

具体来说,速度环要干三件事:

  • 抗扰动:负载突然变化时,速度不能掉太多,恢复要快。我记得有一次做数控机床主轴,刀具切入工件瞬间负载翻倍,速度环要是反应慢半拍,表面光洁度直接报废。
  • 稳精度:稳态运行时,实际转速和给定转速的误差要小。一般伺服系统要求速度稳态精度在0.01%以内。
  • 限保护:速度环输出限幅就是电流环的给定限幅,相当于给电机电流上了个紧箍咒,防止过流烧驱动器。

核心观点:速度环的性能直接决定了整个伺服系统的动态响应能力和稳态精度。位置环可以慢一点,但速度环必须快、准、稳。

3.2 速度环的数学模型

要设计控制器,先得知道被控对象长什么样。速度环的被控对象,是从电流给定到实际转速这一段。

我们一步步推导。先看电机本身的转矩方程:

Te = Kt * iq      (电磁转矩 = 转矩常数 × q轴电流)
Te - TL = J * dω/dt + B * ω   (运动方程)

其中:

  • Te:电磁转矩
  • TL:负载转矩
  • J:转动惯量
  • B:粘滞摩擦系数
  • ω:机械角速度

忽略摩擦(B≈0),把负载转矩看作外部扰动,拉氏变换后得到:

ω(s) / iq(s) = Kt / (J * s)

你想想看,这就是一个纯积分环节。但实际系统中还有电流环的延迟、采样延迟、PWM更新延迟。把这些小惯性环节合并,速度环被控对象的传递函数可以写成:

G(s) = Kt / (J * s) * 1 / (T_sum * s + 1)

这里的T_sum是等效小时间常数,一般取电流环闭环带宽的倒数加上半个PWM周期。我在实际项目中,T_sum通常取0.5ms到2ms之间,具体看开关频率和电流环响应速度。

经验之谈:很多教材把速度环对象直接当成纯积分,但实际调试时你会发现,忽略这个小时间常数,相位裕度算出来是90°,实际只有60°不到。这就是为什么仿真跑得通,上机就振荡的原因。

3.3 速度环的PI控制器设计

速度环最常用的就是PI控制器。为什么不用PID?因为微分项对噪声太敏感,速度反馈本身就有量化噪声,再加微分容易把系统搞得不稳定。我个人的习惯是:速度环只用PI,除非你特别清楚自己在干什么。

PI控制器的传递函数:

C(s) = Kp + Ki / s = Kp * (1 + 1 / (Ti * s))

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

3.3.1 工程设计方法

这里我推荐一种工程上最实用的方法——典型I型系统整定法。说白了,就是把速度环校正成一个典型的二阶系统,然后按最佳阻尼比来算参数。

开环传递函数:

G_open(s) = Kp * (Ti * s + 1) / (Ti * s) * Kt / (J * s) * 1 / (T_sum * s + 1)

令Ti = h * T_sum,其中h是中频宽。工程上一般取h=5。然后:

Kp = (h + 1) * J / (2 * h * T_sum * Kt)
Ki = Kp / Ti = (h + 1) * J / (2 * h² * T_sum² * Kt)

代入h=5,简化得到:

Kp = 0.6 * J / (T_sum * Kt)
Ki = 0.12 * J / (T_sum² * Kt)

注意:这套公式算出来的是理论值。实际调试时,我会先按这个值设进去,然后看阶跃响应。如果超调太大,适当减小Kp;如果响应太慢,适当增大Kp。Ki一般不动,或者微调。

3.3.2 参数整定的工程步骤

我在现场调试速度环时,一般按这个流程走:

  1. 先测转动惯量J:用加减速法,记录电流和加速度,算出J。没有条件估算时,可以用电机手册的转子惯量加上负载惯量。
  2. 确定T_sum:电流环带宽的倒数 + 0.5倍PWM周期。比如电流环带宽500Hz,PWM周期100μs,T_sum≈2ms+50μs≈2.05ms。
  3. 按公式算初值:代入J、T_sum、Kt,算出Kp和Ki。
  4. 空载阶跃测试:给一个转速阶跃,比如从0到1000rpm,观察响应曲线。
  5. 微调优化:根据超调量和调节时间,微调Kp。一般调2-3次就能找到合适的值。

曾经踩过的坑:有一次我按公式算完参数,空载跑得好好的,一加上负载就开始振荡。查了半天才发现,负载惯量比电机惯量大了一个数量级,而我用的J是电机转子惯量。记住:J一定要包含负载惯量!

3.3.3 参数对性能的影响

为了让你更直观地理解,我整理了一个表格:

参数 增大效果 减小效果 调试建议
Kp(比例增益) 响应变快,超调增大,可能振荡 响应变慢,稳态误差增大 先调Kp到临界振荡,再回退30%
Ki(积分增益) 消除静差更快,但容易超调 消除静差慢,稳态精度差 Kp调好后,从小到大加Ki
T_sum(等效延迟) 系统更稳定,但响应变慢 响应变快,但容易振荡 尽量减小,但受硬件限制

3.4 速度环的知识体系

下面这张图把速度环的核心逻辑串起来了,你可以对照着看:

速度环知识体系结构图 速度环知识体系 速度环作用 抗扰动 稳精度 限保护 数学模型 运动方程:J·dω/dt 转矩方程:Te=Kt·iq 延迟环节:T_sum PI控制器设计 典型I型系统整定法 工程调试微调法

3.5 实际调试中的几个要点

最后,分享几个我在现场总结出来的经验:

  • 先内后外:调速度环之前,确保电流环已经调好。电流环带宽至少是速度环的5-10倍,否则速度环怎么调都调不好。
  • 注意限幅:速度环输出限幅就是电流环的给定限幅。我一般设成电机额定电流的1.5倍,既能发挥性能,又不会烧电机。
  • 积分饱和:速度环输出长时间饱和时,积分项会一直累积,导致超调很大。一定要加积分限幅或者抗积分饱和处理。我常用的方法是:当输出饱和时,停止积分累加。
  • 采样频率:速度反馈的采样频率至少是速度环带宽的10倍。比如速度环带宽50Hz,采样频率至少500Hz。实际项目中我一般用1kHz到4kHz。

一个小技巧:如果你不确定参数是否合适,可以给一个很小的转速阶跃(比如50rpm),看响应曲线。好的响应应该是:上升快、超调小(<10%)、调节时间短(<50ms)、稳态无静差。如果曲线抖得厉害,先检查机械连接有没有松动,再检查速度反馈有没有噪声。

速度环的原理和设计方法就讲到这里。记住,公式是死的,系统是活的。多动手、多观察波形,你很快就能找到感觉。