运动控制基础:伺服电机与步进电机原理、编码器类型与接口、PID控制算法基础

各位好,我是老张。今天咱们聊聊运动控制里最基础、也最绕不开的三个东西:电机、编码器和PID。说实话,我入行头三年,一直觉得搞懂这三样就能搞定80%的运动控制项目。后来发现,嗯,这话其实没毛病。

一、伺服电机 vs 步进电机:选型时别拍脑袋

先说说这两种电机。很多人问我:「老张,伺服和步进到底啥区别?」我一般会反问一句:你要求定位精度多高?负载会不会突变?

步进电机,说白了就是开环控制。你给它一个脉冲,它就转一个固定角度。我早期做过一个贴片机项目,用的就是步进电机。当时觉得便宜、控制简单,结果一跑起来,丢步丢得我怀疑人生。后来才明白,步进电机在低速、低负载、不要求实时反馈的场景下挺好用,比如3D打印机的Z轴、简单的传送带。

伺服电机就不一样了。它自带编码器,实时反馈位置和速度。你想想看,电机轴转没转到位,控制器一清二楚。我在做数控机床的进给轴时,必须用伺服。因为切削力一上来,步进电机大概率丢步,工件就废了。

我个人的选型习惯是这样的:

  • 负载变化小、速度不高、成本敏感 → 步进电机
  • 需要高精度、高响应、负载会突变 → 伺服电机

这里有个坑,我踩过:步进电机在共振区运行时,噪音和振动会非常大。我曾经在一个分度盘项目里,步进电机在200RPM附近嗡嗡响,整个机台都在抖。后来加了细分驱动器,才压下去。

二、编码器类型与接口:你的眼睛在哪里?

编码器就是电机的「眼睛」。没有它,你根本不知道电机转到了哪里。我见过不少新手,选编码器只看分辨率,不看接口和协议,结果调试时发现信号对不上。

1. HALL传感器

HALL传感器一般用在无刷直流电机(BLDC)里,用来检测转子位置,实现换相。它输出的是三个开关信号,分辨率很低,一个电周期只有6个状态。我做过一个电动工具项目,HALL信号受电机电流干扰,波形乱七八糟。后来加了施密特触发器整形,才稳定下来。

接口特点:开漏输出,需要上拉电阻。信号线一般3根(U、V、W),加上电源和地。

2. 增量式编码器

增量式编码器输出A、B两相正交脉冲,有的还有Z相(零位信号)。它只能告诉你「转了多少」,不能告诉你「现在在哪儿」。每次上电,你都得先回零。

我在一个印刷机项目里用过增量式编码器。印刷辊每转一圈,Z相给出一个脉冲,用来同步切刀位置。但有一次,编码器线缆被油污腐蚀,A相断了一根线,电机跑飞了。嗯,从那以后,我只要环境恶劣,就优先考虑绝对式。

接口类型

  • TTL差分输出(RS-422):抗干扰好,适合长距离
  • 集电极开路:便宜,但距离短
  • 推挽输出:常见,兼容性好

3. 绝对式编码器

绝对式编码器一上电就知道当前位置。它内部有码盘,每个位置对应唯一的二进制码。我做过一个机械臂项目,关节电机用的就是多圈绝对式编码器。断电后,机械臂被碰了一下,再上电,位置还是对的。这要是增量式,得重新回零,麻烦得很。

接口协议

  • SSI(同步串行接口):简单,时钟+数据线
  • BiSS:速度快,适合高速运动控制
  • EnDat:海德汉的协议,精度高
  • CANopen:适合多轴系统

我个人建议,如果预算允许,新项目尽量用绝对式编码器。省掉回零这一步,能省很多调试时间。

三、PID控制算法基础:调参是个手艺活

PID,比例-积分-微分。听起来高大上,其实核心就一句话:根据误差,算出控制量

公式长这样:

u(t) = Kp * e(t) + Ki * ∫e(t)dt + Kd * de(t)/dt

我刚开始学PID时,觉得这公式简单,调参应该不难。结果第一次调伺服电机的位置环,电机抖得像筛糠。后来师傅告诉我:先调P,再调I,最后调D。别一上来就三个一起动。

1. 比例项(P)

P项直接放大误差。误差大,输出就大。但P太大,系统会震荡。我记得调一个转台,P从1加到5,电机开始嗡嗡响,再加大,直接啸叫。嗯,这就是临界震荡点。

2. 积分项(I)

I项用来消除稳态误差。说白了,就是「慢慢累积,把偏差磨掉」。但I太强,系统响应变慢,还容易积分饱和。我在一个恒张力控制项目里,I设得太大,电机启动时冲出去老远,把料带拉断了。后来加了积分限幅,才解决。

3. 微分项(D)

D项预测误差变化趋势,提前抑制。它能让系统更稳定,但对噪声敏感。你想想看,如果编码器信号有毛刺,微分项会放大这些毛刺,导致电机乱抖。我一般只在位置环加少量D,速度环很少用。

核心经验:调PID没有万能参数。我习惯先让系统在开环下跑一跑,看看响应特性。然后从P开始,逐步增加,直到出现等幅震荡,记录临界增益和周期。再用Ziegler-Nichols法算出初始参数。最后微调。

小技巧:调试时,用示波器看编码器的位置波形。如果波形有高频抖动,先检查机械连接是否松动,再考虑加低通滤波。我曾经花了两天调参数,最后发现是联轴器螺丝松了。

注意:积分项在启动和停止时容易引起超调。建议使用「积分分离」或「变速积分」策略。我在一个快速定位项目中,用了积分分离,定位时间缩短了30%。

四、知识体系总览

下面这张图,是我自己整理的。它把电机、编码器、PID这三块串起来了。你想想看,运动控制的本质就是:控制器根据目标位置,通过PID算出控制量,驱动电机转动,编码器反馈实际位置,形成闭环

运动控制核心知识体系 控制器 PID算法 驱动器 PWM/电流环 电机 伺服/步进 编码器 位置反馈 控制量 驱动信号 机械连接 位置/速度反馈 目标位置 闭环控制:目标位置 → PID计算 → 驱动电机 → 编码器反馈 → 误差修正 编码器类型 • HALL:换相检测 • 增量式:A/B/Z脉冲 • 绝对式:SSI/BiSS/EnDat PID控制 • P:比例,快速响应 • I:积分,消除静差 • D:微分,抑制超调 电机类型 • 步进:开环,低速 • 伺服:闭环,高精度 • 选型看负载和精度

好了,这一章的内容就这些。电机选型、编码器接口、PID调参,这三样东西,你吃透了,运动控制就算入门了。下一章咱们聊聊AURIX的定时器模块怎么生成PWM和捕获编码器信号,那才是真正动手的时候。


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