第二章:运动控制基础

各位工程师朋友,今天我们来聊聊运动控制的三大基石。说实话,我在这个行业摸爬滚打十几年,见过太多因为基础不牢导致项目翻车的情况。这一章,我把核心干货掰开揉碎讲给你听。

2.1 伺服电机与驱动器

伺服电机,说白了就是能精确控制位置、速度和扭矩的电机。它和普通电机最大的区别在于——它知道自己转到了哪里。

我刚开始做项目时,总觉得伺服电机和步进电机差不多。直到有一次,一个高速贴片机项目,步进电机在高速下直接丢步,产品全废了。从那以后,我对伺服电机的闭环特性有了刻骨铭心的认识。

伺服电机的核心参数

  • 额定转矩:电机能长期输出的力矩。选型时建议留20%-30%余量。
  • 额定转速:通常3000rpm或5000rpm。曝光机一般用3000rpm就够。
  • 转子惯量:这个很关键。负载惯量和电机惯量比最好在10:1以内。
  • 编码器分辨率:决定了定位精度。曝光机至少需要23位以上。

避坑指南:我曾经在一个精密平台项目里,选了惯量比15:1的电机。结果系统一加速就震荡,调了三天参数都没用。最后换了更大惯量的电机,问题秒解。记住,惯量匹配是伺服系统稳定的前提。

驱动器的工作模式

驱动器不是简单给电机供电就完事。它内部有三个核心环路:电流环、速度环、位置环。这三个环从内到外,响应速度依次变慢。

控制环 响应带宽 主要作用
电流环 1-5kHz 控制电机转矩,响应最快
速度环 100-500Hz 控制电机转速,中间层
位置环 10-100Hz 控制最终位置,最外层

调参时,我习惯从内到外调。先调好电流环,再调速度环,最后调位置环。顺序乱了,系统很容易不稳定。

2.2 编码器与反馈系统

编码器是伺服系统的眼睛。没有它,电机就是瞎转。编码器分两大类:增量式和绝对式。

增量式编码器

它输出脉冲信号,通过计数知道位置。但有个致命问题——断电后位置丢失。每次上电都要回零。

我记得有个客户,设备每天开机都要花5分钟回零。后来我建议换成绝对式编码器,开机即用,效率提升不少。

绝对式编码器

每个位置都有唯一编码,断电不丢失。曝光机这种高精度设备,我强烈建议用绝对式。虽然贵一点,但省心太多。

个人经验:选编码器时,分辨率不是越高越好。分辨率太高,系统噪声会被放大。我一般选比系统精度高一个数量级就够。比如要求1μm精度,编码器分辨率做到0.1μm即可。

反馈系统的常见问题

  • 信号干扰:编码器线缆必须用屏蔽双绞线,远离动力线。
  • 安装偏心:编码器安装不同心,会引入周期性误差。
  • 温度漂移:温度变化会影响编码器精度,曝光机环境要恒温。

2.3 PID控制原理

PID控制,说白了就是三个字:比例、积分、微分。但真正用好它,需要理解每个参数背后的物理意义。

比例控制(P)

P是当前误差乘以一个系数。误差越大,输出越大。但纯P控制会有稳态误差,永远到不了目标位置。

你想想看,如果只用P控制,电机靠近目标时,误差变小,输出也变小。最后可能停在目标附近,但就是差那么一点点。这就是稳态误差的来源。

积分控制(I)

I是对过去误差的累积。它能消除稳态误差。但积分太强,系统会超调,甚至震荡。

注意:积分饱和是个大坑。当系统长时间无法到达目标时,积分项会累积到很大值。一旦到达目标,这个累积值会让系统严重超调。我一般会加积分限幅,或者用条件积分。

微分控制(D)

D是误差的变化率。它能预测未来,提前抑制震荡。但微分对噪声非常敏感。

我曾经在一个项目中,加了微分后系统反而更抖了。查了半天,发现是编码器信号有毛刺,微分放大了这些噪声。后来加了低通滤波,问题解决。

PID参数整定方法

我常用的方法很简单:

  1. 先调P,让系统开始震荡,记下临界增益Ku和震荡周期Tu。
  2. 用Ziegler-Nichols公式计算初始参数。
  3. 微调I和D,直到响应满意。
// 位置式PID实现示例
float pid_update(float setpoint, float feedback) {
    float error = setpoint - feedback;
    
    // 比例项
    float p_out = Kp * error;
    
    // 积分项(带限幅)
    integral += error * dt;
    integral = clamp(integral, -integral_limit, integral_limit);
    float i_out = Ki * integral;
    
    // 微分项(带滤波)
    derivative = (error - last_error) / dt;
    derivative = lowpass_filter(derivative);
    float d_out = Kd * derivative;
    
    last_error = error;
    return p_out + i_out + d_out;
}

核心要点:PID不是万能药。如果机械结构有间隙、摩擦非线性大,再好的PID也救不了。先保证机械刚性,再谈控制算法。

知识体系总览

下面这张图,是我自己总结的运动控制基础框架。你看一眼,就能明白这三块内容是怎么串起来的。

运动控制基础体系 伺服电机与驱动器 编码器与反馈系统 PID控制原理 转矩·转速·惯量匹配 增量式·绝对式·分辨率 比例·积分·微分 三环控制架构:电流环 → 速度环 → 位置环 从内到外依次调参,响应带宽逐级降低 核心原则:机械刚性是基础,反馈精度是保障,PID调参是手段

嗯,这一章的内容就这些。运动控制基础看似简单,但真正吃透需要大量实践。我建议你找个实际项目练练手,光看书是学不会的。


公众号:蓝海资料掘金营,微信deep3321