2. 伺服系统基础:伺服电机工作原理、编码器类型与接口、驱动器核心控制架构

大家好,我是老张。今天咱们聊聊伺服系统的基础。说实话,很多刚入行的工程师觉得伺服系统就是个电机加个编码器,没什么好学的。但我在项目中吃过不少亏,才明白这些基础东西不搞透,后面做硬件在环仿真就是空中楼阁。

这一节,我打算从三个核心部件入手:伺服电机本身、编码器、以及驱动器的控制架构。你想想看,这三个东西搞明白了,伺服系统的基本盘就稳了。

2.1 伺服电机工作原理

伺服电机,说白了就是能精确控制位置、速度和力矩的电机。它跟普通电机最大的区别是什么?闭环控制。普通电机转起来就不管了,伺服电机每时每刻都在问自己:「我现在转到哪了?该不该停?」

目前主流的是永磁同步伺服电机(PMSM)。我最早接触的是直流伺服,后来才转到交流伺服。为什么现在都用PMSM?因为它效率高、转矩密度大、响应快。

核心原理:定子绕组通入三相交流电,产生旋转磁场。转子上的永磁体跟着磁场跑。你控制电流的频率和相位,就能控制转子的速度和位置。

这里有个关键点——磁场定向控制(FOC)。我习惯叫它「矢量控制」。它的本质是把三相交流电分解成两个独立的量:一个控制转矩(q轴电流),一个控制磁场(d轴电流)。

为什么会这样?因为三相交流电在物理上很难直接控制。但通过坐标变换,把它变成旋转坐标系下的两个直流分量,就好办了。我在调试第一个FOC项目时,花了整整一周才把坐标变换的时序调对,后来发现是角度采样延迟了50微秒。

个人经验:做伺服电机选型时,别只看额定转矩。我建议你重点关注转矩-转速曲线转动惯量。有一次我选了个转矩够大的电机,但负载惯量比超过10:1,结果系统震荡得厉害,最后换了更大惯量的电机才解决。

2.2 编码器类型与接口

编码器是伺服系统的「眼睛」。没有它,驱动器就是个瞎子。我见过太多因为编码器选型不当导致的故障。

编码器主要分三类:

类型 原理 精度 典型应用
增量式编码器 输出A/B/Z脉冲,靠计数知道位置 中等(取决于线数) 通用伺服、成本敏感场景
绝对式编码器 每个位置有唯一编码,断电不丢失 高端数控、机器人关节
旋转变压器 电磁感应原理,输出正余弦信号 中等 恶劣环境(高温、振动)

我个人习惯在硬件在环仿真中优先使用绝对式编码器。为什么?因为仿真时经常需要模拟断电重启的场景,增量式编码器每次都要回零,太麻烦。绝对式编码器上电就知道位置,省事很多。

接口方面,常见的有:

  • RS-422差分信号:抗干扰好,适合增量式编码器长线传输
  • SSI(同步串行接口):简单可靠,绝对式编码器常用
  • BiSS / EnDat:高速双向通信,支持在线诊断
  • HIPERFACE:西门子系常用,集成了绝对位置和参数存储

避坑指南:我曾经在一个项目中用了便宜的增量式编码器,结果现场有强电磁干扰,脉冲计数经常丢。后来换成差分信号的编码器,问题才解决。记住:编码器信号线一定要用屏蔽双绞线,且单端接地

2.3 驱动器核心控制架构

伺服驱动器,本质上是一个三环控制系统。哪三环?电流环、速度环、位置环。从内到外,响应速度依次变慢。

我画了一张图,帮你理解这个架构:

伺服驱动器三环控制架构 位置环(最外层) 输入:目标位置 | 输出:速度指令 | 典型带宽:10~50 Hz 常用算法:P、PI + 前馈 速度环(中间层) 输入:速度指令 | 输出:转矩/电流指令 | 典型带宽:100~500 Hz 常用算法:PI + 陷波滤波器 电流环(最内层) 输入:电流指令 | 输出:PWM占空比 | 典型带宽:1~5 kHz 常用算法:PI + 解耦 + SVPWM ← 编码器反馈 ← 速度估算 ← 位置反馈

你看这张图,从外到内,一层套一层。位置环给速度环发指令,速度环给电流环发指令,电流环直接控制电机。

电流环是最快的,也是三环的基础。它负责把电流指令变成实际的电机电流。我调试时习惯先调电流环,再调速度环,最后调位置环。顺序不能乱,否则问题都混在一起,根本查不出来。

速度环在中间,它接收位置环的速度指令,输出电流指令。这里有个坑——速度估算。编码器反馈的是位置,速度需要微分得到。微分会放大噪声,所以必须加滤波。我建议用MT法测速,低速时用T法,高速时用M法,自动切换。

位置环在最外层,也是最直观的。你给个位置指令,它让电机转到那个位置。但这里有个关键参数——位置环增益。增益太高,系统会震荡;太低,响应慢。我一般先设一个保守值,然后慢慢往上加,直到出现轻微震荡,再回调20%。

核心要点:三环的带宽必须拉开差距。一般电流环带宽是速度环的5~10倍,速度环带宽是位置环的5~10倍。否则内外环会互相干扰,系统不稳定。

举个例子,我做过一个项目,客户要求位置跟踪误差小于0.01度。我先把电流环带宽调到2kHz,速度环调到200Hz,位置环调到40Hz。然后发现位置环响应太慢,跟踪误差超标。后来我把位置环带宽提到60Hz,同时加了速度前馈,才满足要求。

个人习惯:做硬件在环仿真时,我会把三环的PI参数做成可在线调整的。这样可以在仿真中实时观察参数变化对系统的影响,比离线调参直观得多。另外,我建议你在仿真中加入非线性因素,比如摩擦力、齿槽转矩、死区时间,这样仿真结果才贴近实际。

好了,伺服系统的基础就聊到这里。记住:电机是身体,编码器是眼睛,驱动器是大脑。三环控制是伺服系统的灵魂。搞懂了这些,后面做硬件在环仿真就有底气了。

最后提醒一句:别小看编码器接口的时序。我在仿真中遇到过编码器时钟抖动导致位置跳变的问题,查了三天才发现是仿真模型的时钟分辨率不够。做硬件在环仿真时,编码器接口的时序精度一定要跟实际硬件对齐。


专注资料整理