运动控制基础:位置、速度、扭矩与PID
各位工程师朋友,咱们直接进入正题。运动控制说白了,就是让电机按照我们想要的方式动起来。你想想看,一个多轴系统里,每个轴都在跑自己的轨迹,怎么保证它们步调一致?这就要从最底层的控制模式说起。
我个人习惯把运动控制分成三个层次:位置控制、速度控制和扭矩控制。这三个模式不是互相替代的关系,而是根据应用场景各司其职。下面这张图能帮你快速建立整体认知。
位置控制:让电机走到指定位置
位置控制是最直观的模式。你给驱动器一个目标位置,它就让电机转过去并停在那里。听起来简单,但实际工程里坑不少。
工作原理:位置环通常在最外层,它接收上位机发来的位置指令,与编码器反馈的实际位置做差,得到位置误差。这个误差经过PID调节后,输出速度指令给内层的速度环。
我在项目中遇到过一个问题:某台设备在高速运行时,位置指令更新频率跟不上电机的响应速度,导致轨迹出现锯齿。后来我把位置环的采样周期从1ms改到0.5ms,问题就解决了。所以,位置环的周期一定要比速度环快至少2倍,这是经验值。
| 参数 | 典型值 | 影响 |
|---|---|---|
| 位置环比例增益 | 10~50 1/s | 越大响应越快,但过大易超调 |
| 位置环积分时间 | 20~100 ms | 消除稳态误差,但过大可能振荡 |
| 位置环微分时间 | 0~5 ms | 抑制超调,但噪声敏感 |
避坑指南:我曾经在调试一台龙门双驱设备时,两个轴的位置环增益不一致,结果导致龙门架在加减速时出现扭转变形。后来我把两个轴的位置环参数完全对齐,同步误差从0.3mm降到了0.02mm。记住,多轴系统里,对称轴的参数必须一致。
速度控制:让电机按指定速度运行
速度控制比位置控制更底层。它接收速度指令,控制电机以恒定速度或按速度曲线运行。在大多数伺服驱动器里,速度环的带宽比位置环高得多。
说白了,速度环就是位置环的“内功”。位置环再厉害,如果速度环响应慢,整个系统也快不起来。我习惯把速度环的带宽调到位置环的5~10倍,这样位置环才能“指挥得动”速度环。
速度环的关键指标:
- 速度波动率:在恒速运行时,实际速度与指令速度的偏差。好的伺服系统能做到0.01%以下。
- 速度响应带宽:系统能跟踪的最高频率速度指令。一般伺服能做到200~500Hz。
- 加减速能力:从0加速到额定速度所需的时间。这直接影响生产效率。
注意:速度环的积分饱和是个常见问题。当电机被外力堵转时,积分项会一直累积,等外力消失后,电机会突然猛冲。我建议在速度环里加上积分限幅,或者使用条件积分法——只有误差在某个范围内才积分。
扭矩控制:直接控制电机的出力
扭矩控制是最底层的模式。它直接控制电机的电流,从而控制输出扭矩。这个模式在需要精确控制力的场合非常有用,比如拧螺丝、打磨、夹持等。
你想想看,如果我要控制一个机械臂的夹爪,用位置控制很容易夹碎工件,用速度控制又不够精确。这时候扭矩控制就派上用场了——我设定一个最大夹持力,夹爪碰到工件后自动停止,既夹得紧又不会损坏。
扭矩环的组成:
- 电流采样:通过霍尔传感器或采样电阻获取电机相电流
- 坐标变换:将三相电流变换到dq轴坐标系
- PI调节:对dq轴电流分别进行PI控制
- PWM输出:生成驱动IGBT的占空比信号
我的经验:扭矩控制对电流采样的精度要求极高。有一次我在调试一台注塑机,发现扭矩输出有周期性波动。查了半天,原来是电流采样电路里有一个电容老化,导致采样延迟。换掉电容后,扭矩波动从5%降到了0.5%。所以,硬件质量直接影响控制效果,这个坑我踩过。
PID控制原理:运动控制的灵魂
PID控制,比例-积分-微分控制,是运动控制里最经典、最实用的算法。别看它简单,调好了能解决90%的问题。
三个环节的作用:
- P(比例):根据当前误差的大小,成比例地输出控制量。误差越大,输出越大。但只有P的话,系统会有稳态误差。
- I(积分):对误差进行累积,消除稳态误差。但积分太强会导致超调和振荡。
- D(微分):根据误差的变化趋势,提前输出控制量,抑制超调。但微分对噪声非常敏感。
我刚开始做运动控制时,总觉得PID参数越多越好。后来发现,很多场合只用PI就够了。微分项在速度环和扭矩环里用得少,因为编码器反馈的噪声会被微分放大,反而让系统不稳定。
调参口诀:先调P,再调I,最后看情况加D。P让系统动起来,I让系统准起来,D让系统稳下来。我曾经用这个口诀带过好几个新人,他们都说比看理论书管用。
前馈控制:让系统跑得更快更准
前馈控制是PID的“黄金搭档”。PID是“事后诸葛亮”——等误差出现了才去纠正。前馈则是“事前预测”——提前知道系统要做什么,提前输出控制量。
前馈的典型应用:
- 速度前馈:根据目标速度,提前输出一个对应的控制量,减少速度环的跟随误差。
- 加速度前馈:根据目标加速度,提前输出一个对应的控制量,补偿惯性力。
- 摩擦力前馈:根据运动方向,提前输出一个固定的控制量,克服静摩擦和库仑摩擦。
你想想看,如果没有前馈,系统在加速阶段会有明显的滞后误差。加了加速度前馈后,误差能减小80%以上。我在调试高速贴片机时,就是靠前馈把定位时间从50ms降到了20ms。
| 前馈类型 | 补偿对象 | 典型效果 |
|---|---|---|
| 速度前馈 | 速度跟随误差 | 减小50%~70% |
| 加速度前馈 | 惯性力 | 减小80%~90% |
| 摩擦力前馈 | 静/动摩擦 | 消除低速爬行 |
注意:前馈不是万能的。如果系统的模型不准确,前馈反而会引入扰动。我建议先调好PID,让系统稳定,再加前馈。而且前馈系数要从0慢慢往上加,观察系统反应,不要一次加太大。
三种控制模式的选择策略
在实际项目中,怎么选控制模式?我一般按这个思路来:
- 需要精确定位:选位置控制。比如数控机床、机械手抓取。
- 需要恒速运行:选速度控制。比如传送带、主轴旋转。
- 需要精确控制力:选扭矩控制。比如拧紧枪、夹爪、打磨。
- 需要快速响应:在位置环里加前馈,或者直接用速度环+位置前馈。
多轴同步调试时,我习惯先把每个轴单独调好,再联调。每个轴的位置环、速度环、扭矩环参数都要记录清楚,方便后续排查问题。嗯,今天就先讲到这里,这些基础概念是后面所有章节的基石,一定要吃透。