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 参数整定的工程步骤
我在现场调试速度环时,一般按这个流程走:
- 先测转动惯量J:用加减速法,记录电流和加速度,算出J。没有条件估算时,可以用电机手册的转子惯量加上负载惯量。
- 确定T_sum:电流环带宽的倒数 + 0.5倍PWM周期。比如电流环带宽500Hz,PWM周期100μs,T_sum≈2ms+50μs≈2.05ms。
- 按公式算初值:代入J、T_sum、Kt,算出Kp和Ki。
- 空载阶跃测试:给一个转速阶跃,比如从0到1000rpm,观察响应曲线。
- 微调优化:根据超调量和调节时间,微调Kp。一般调2-3次就能找到合适的值。
曾经踩过的坑:有一次我按公式算完参数,空载跑得好好的,一加上负载就开始振荡。查了半天才发现,负载惯量比电机惯量大了一个数量级,而我用的J是电机转子惯量。记住:J一定要包含负载惯量!
3.3.3 参数对性能的影响
为了让你更直观地理解,我整理了一个表格:
| 参数 | 增大效果 | 减小效果 | 调试建议 |
|---|---|---|---|
| Kp(比例增益) | 响应变快,超调增大,可能振荡 | 响应变慢,稳态误差增大 | 先调Kp到临界振荡,再回退30% |
| Ki(积分增益) | 消除静差更快,但容易超调 | 消除静差慢,稳态精度差 | Kp调好后,从小到大加Ki |
| T_sum(等效延迟) | 系统更稳定,但响应变慢 | 响应变快,但容易振荡 | 尽量减小,但受硬件限制 |
3.4 速度环的知识体系
下面这张图把速度环的核心逻辑串起来了,你可以对照着看:
3.5 实际调试中的几个要点
最后,分享几个我在现场总结出来的经验:
- 先内后外:调速度环之前,确保电流环已经调好。电流环带宽至少是速度环的5-10倍,否则速度环怎么调都调不好。
- 注意限幅:速度环输出限幅就是电流环的给定限幅。我一般设成电机额定电流的1.5倍,既能发挥性能,又不会烧电机。
- 积分饱和:速度环输出长时间饱和时,积分项会一直累积,导致超调很大。一定要加积分限幅或者抗积分饱和处理。我常用的方法是:当输出饱和时,停止积分累加。
- 采样频率:速度反馈的采样频率至少是速度环带宽的10倍。比如速度环带宽50Hz,采样频率至少500Hz。实际项目中我一般用1kHz到4kHz。
一个小技巧:如果你不确定参数是否合适,可以给一个很小的转速阶跃(比如50rpm),看响应曲线。好的响应应该是:上升快、超调小(<10%)、调节时间短(<50ms)、稳态无静差。如果曲线抖得厉害,先检查机械连接有没有松动,再检查速度反馈有没有噪声。
速度环的原理和设计方法就讲到这里。记住,公式是死的,系统是活的。多动手、多观察波形,你很快就能找到感觉。