第二章 运动控制系统基础:伺服电机与驱动器、编码器与反馈信号、电流环/速度环/位置环架构
各位同学,咱们今天聊聊运动控制系统的底子。说实话,很多刚入行的工程师喜欢一上来就调PID参数,结果越调越乱。为什么?因为没搞懂系统是怎么搭起来的。我当年也犯过这个错,后来被一个老前辈点醒——你得先知道信号怎么流,环怎么套,再去碰那些增益系数。
2.1 伺服电机与驱动器:执行器的灵魂
伺服电机,说白了就是能精确控制位置和速度的电机。它跟普通电机最大的区别在哪?带反馈。你给个指令,它跑完了还会告诉你「我跑到了没」。我习惯把伺服系统比作一个听话的士兵——你喊「向左转」,他转完之后会喊一声「报告,转完了」。
驱动器呢?它是电机的大脑。负责三件事:
- 解析指令:把控制器发来的脉冲或总线命令转成电机能懂的电流信号
- 功率放大:把弱信号放大到能驱动电机转起来的强电流
- 保护机制:过流、过压、过热,哪样不对立马停机
关键参数速查表(我选型时必看的几个):
| 参数 | 说明 | 我的经验值 |
|---|---|---|
| 额定转矩 | 连续工作能输出的最大力矩 | 留20%余量 |
| 峰值转矩 | 短时能输出的极限力矩 | 不超过3秒 |
| 转子惯量 | 影响响应速度 | 负载惯量比3:1以内 |
| 编码器分辨率 | 反馈精度 | 至少17位 |
嗯,这里要注意:驱动器和电机最好用同一家的。我见过有人混搭,结果调了两个月都没跑顺,最后发现是通讯协议不兼容。别省那点钱。
2.2 编码器与反馈信号:系统的眼睛
没有反馈,运动控制就是开环瞎跑。编码器就是系统的眼睛,它告诉控制器「你现在在哪」。常见的编码器分三类:
- 增量式编码器:只告诉你动了多少,不告诉你绝对位置。断电就丢位置。适合成本敏感的项目。
- 绝对式编码器:一上电就知道自己在哪。多圈绝对值还能记住转了多少圈。我搞精密定位必用这个。
- 正余弦编码器:输出模拟信号,精度极高。但处理电路复杂,一般用在高端伺服上。
避坑指南:我曾经在一个项目里用了增量式编码器,结果每次断电重启都要回零。客户嫌麻烦,最后全换成绝对值了。如果你做的是需要断电记忆位置的应用,直接上绝对值,别犹豫。
反馈信号怎么传?常见的有:
- 脉冲+方向:最传统,两根线搞定。但频率高了容易丢脉冲。
- RS-422/485:差分信号,抗干扰好。适合长距离。
- BISS-C / SSI:高速串行协议,现在主流。我最近的项目都在用BISS-C,延迟低,可靠性高。
你想想看,如果编码器信号被干扰了,系统会怎样?轻则抖动,重则飞车。所以屏蔽线、双绞线、接地,这些基本功一定要做好。我见过一个案例,现场怎么调都抖,最后发现编码器线跟动力线走同一个线槽——这不找事吗?
2.3 电流环/速度环/位置环:三环架构
这是运动控制的核心。三环嵌套,从里到外分别是:电流环 → 速度环 → 位置环。为什么这么设计?因为越靠内的环,响应越快。
2.3.1 电流环(最内层)
控制电机的转矩。说白了就是控制电流的大小和方向。电流环的带宽最高,通常能做到1-5kHz。我调电流环的时候,习惯先让电机堵转,然后给一个阶跃电流指令,看响应波形。超调量控制在5%以内就算合格。
// 电流环PI控制器伪代码
float current_error = current_ref - current_fb;
float current_p_out = Kp_current * current_error;
current_i_out += Ki_current * current_error * dt;
float current_output = current_p_out + current_i_out;
// 限幅处理
if(current_output > Vmax) current_output = Vmax;
if(current_output < -Vmax) current_output = -Vmax;
2.3.2 速度环(中间层)
控制电机的转速。它把电流环当作执行器。速度环的带宽一般在100-500Hz。我个人习惯先调好电流环,再调速度环。为什么?因为内环不稳,外环怎么调都没用。
注意:速度环的积分项容易引起超调。我曾经在一个高速主轴项目里,积分时间常数设得太小,结果一启动就震荡。后来把积分时间放大了3倍,稳了。记住:速度环的积分时间一般比电流环大10倍以上。
2.3.3 位置环(最外层)
控制最终的位置。它给速度环发指令。位置环的带宽最低,通常20-100Hz。位置环的增益不能设太高,否则系统会尖叫——真的会发出声音,我亲耳听过。
三环的整定顺序,我总结了一个口诀:先内后外,先P后I,先稳后准。具体步骤:
- 电流环:只加P,调到临界震荡,然后加I消除静差
- 速度环:同样先P后I,注意速度反馈的滤波时间常数
- 位置环:一般只用P,加前馈补偿
实际项目中的经验值(以400W伺服为例):
| 环路 | 带宽 | P增益范围 | I时间常数 |
|---|---|---|---|
| 电流环 | 2kHz | 0.5-2.0 | 0.5-2ms |
| 速度环 | 200Hz | 10-50 | 10-50ms |
| 位置环 | 50Hz | 1-10 | 不用I |
最后说一句:别迷信自动整定。现在很多驱动器都有自动整定功能,但自动整定出来的参数往往偏保守。我习惯先用自动整定跑一遍,然后手动微调。尤其是负载变化大的场合,自动整定根本不够用。
好了,这一章的内容就到这。下一章咱们聊聊扰动观测器的基本原理——那才是真正提升精度的利器。