3、电角度测量原理:增量式编码器、绝对式编码器、旋转变压器、霍尔传感器

做电机控制这么多年,我越来越觉得——电角度测量这件事,是整套系统的「地基」。地基没打好,上面PID调得再漂亮,也是白搭。

你想想看,FOC的核心就是坐标变换,坐标变换的核心就是电角度。角度不准,电流解耦就是错的,转矩输出就会抖,甚至可能反转。我见过不少工程师,花了几周调电流环,最后发现是编码器安装偏了1度——嗯,这种坑,踩过一次就忘不了。

这一章,我把四种主流的角度传感器掰开揉碎讲清楚。它们各有脾气,选对了是利器,选错了是包袱。

核心观点: 电角度测量的本质,是把物理位置映射成电信号,再还原成角度值。映射的精度、延迟、鲁棒性,决定了你能把电机控制做到什么程度。
电角度测量传感器分类与特性对比 电角度传感器 增量式编码器 绝对式编码器 旋转变压器 霍尔传感器 特性 • 掉电丢失位置 • 需上电找零 • 成本低、精度高 特性 • 掉电保持位置 • 上电即用 • 多圈/单圈可选 特性 • 耐高温、抗振动 • 需专用解码芯片 • 精度中等 特性 • 仅6个离散位置 • 用于启动/换向 • 成本极低 选型口诀:精度看编码器,环境恶劣用旋变,成本敏感上霍尔

3.1 增量式编码器:最常用的「老实人」

增量式编码器,说白了就是一对光栅盘加两个光电对管。它输出A、B两路正交方波,有时候再加一个Z脉冲作为零位参考。

它的工作原理很简单:码盘转动时,A、B两路信号相位差90度。通过判断A超前还是B超前,就能知道正反转。通过计数脉冲个数,就能知道转了多少角度。

我的习惯: 在电机轴上电后,先让电机低速转一圈,找到Z脉冲的位置,把这个位置记为电角度零点。这样后面做FOC时,角度基准就统一了。

增量式编码器的分辨率,取决于码盘的刻线数。比如2500线的编码器,经过四倍频后,一圈能分辨10000个脉冲,也就是0.036度。这个精度对大多数伺服应用来说,绰绰有余。

但是,它有个致命弱点:掉电丢位置。

你想想看,断电后电机被外力碰了一下,再上电时,控制器不知道轴在哪。必须重新找零。我遇到过一台AGV小车,每次断电重启后都要原地转一圈找Z脉冲,客户觉得太蠢了——嗯,这就是增量式的代价。

3.2 绝对式编码器:上电就知道在哪

绝对式编码器就不一样了。它每个位置都有唯一的编码值,上电直接读,不需要找零。说白了,它自带「记忆」。

绝对式编码器分两种:

  • 单圈绝对式: 一圈内有唯一编码,但多圈之后会重复。断电后如果轴转过了整圈,位置就丢了。
  • 多圈绝对式: 内部有齿轮组或电子计数器,能记录多圈位置。断电后即使轴转了几十圈,上电依然知道在哪。

通信接口上,常见的有SSI、BiSS、EnDat、HIPERFACE DSL。我个人比较喜欢BiSS-C,它速度快、延迟低,而且开源协议友好,不用交授权费。

注意: 绝对式编码器虽然不掉位置,但它的安装偏差同样会影响电角度精度。我见过有人花大价钱买了17位绝对式编码器,结果安装时偏了2度,最后转矩波动比增量式还大。安装校准这一步,谁也省不了。

3.3 旋转变压器:恶劣环境下的「铁疙瘩」

旋转变压器,简称旋变。它本质上是一个小型的旋转变压器,通过电磁耦合来测量角度。

它的结构很简单:定子上有励磁绕组和两相正交的输出绕组,转子上有一个随轴旋转的绕组。励磁信号输入后,输出信号的幅值随转子角度呈正余弦变化。

旋变最大的优点是皮实。它没有光学器件,不怕油污、粉尘、高温、振动。我做过一个矿用电机项目,井下环境全是煤灰,编码器撑不过三天就挂了,换成旋变之后,两年没出过问题。

但旋变也有短板:

  • 需要专用的励磁和解码芯片(如ADI的AD2S1200),外围电路复杂
  • 精度一般,通常在10~12位左右,比不上光学编码器
  • 解码延迟较大,高速运行时要注意相位补偿
避坑指南: 我曾经在一个高速主轴项目里用旋变,发现10krpm以上时角度滞后越来越严重。后来加了软件前馈补偿,才把电流环的稳定性拉回来。如果你用旋变做高速电机,一定要算一下解码延迟对应的电角度误差。

3.4 霍尔传感器:低成本换向的「老黄牛」

霍尔传感器,大家都不陌生。三个霍尔元件间隔120度安装,输出三路高低电平,组合起来能表示6个扇区。

它的精度很低——只有60度电角度的分辨率。说白了,你只知道电机在哪个扇区,不知道具体在扇区内的哪个位置。

那为什么还要用它?

  • 成本极低: 三个霍尔元件加几根线,成本不到编码器的十分之一
  • 用于启动: 在无传感器算法启动前,霍尔可以提供初始位置,避免反转
  • 用于换向: 方波控制(六步换向)只需要知道扇区,霍尔刚好够用

我建议的做法是:用霍尔做启动和低速换向,等转速起来后切换到无传感器观测器。这样既解决了启动问题,又省了编码器的钱。

小技巧: 霍尔安装时,要保证三个霍尔信号的电角度间隔严格120度。我见过有人随便一贴,结果换向时转矩脉动大得离谱。用示波器看霍尔波形,确保占空比和相位差都对称,这是基本功。

3.5 四种传感器的选型对比

我把它们放在一张表里,方便你对比:

特性 增量式编码器 绝对式编码器 旋转变压器 霍尔传感器
精度 高(可达20位+) 高(可达23位+) 中(10~12位) 低(60度扇区)
掉电保持 否 是(多圈) 否 否
环境适应性 一般(怕油污) 一般(怕油污) 优秀(耐高温) 良好
成本 低~中 高 中 极低
接口复杂度 简单(ABZ) 中等(SSI/BiSS) 高(需解码芯片) 最简单(GPIO)
典型应用 伺服、机器人 高端伺服、数控 军工、电动汽车 风机、泵、BLDC

3.6 电角度与机械角度的换算

不管用哪种传感器,最终都要换算成电角度。公式很简单:

电角度 = 机械角度 × 极对数

举个例子:一个4对极的电机,机械轴转了90度,电角度就是360度——刚好一个电周期。

这里有个容易搞混的地方:编码器装在电机轴上,它测量的是机械角度。但FOC需要的是电角度。所以软件里一定要乘以极对数,而且每转一个电周期,角度要归零一次。

我曾经犯过的错: 在一个8对极的永磁同步电机项目里,我忘了在电角度到360度时做模运算,结果角度值一直累加,最后溢出了。电机突然剧烈抖动,差点把联轴器甩飞。从那以后,我每次都在代码里显式写 theta_elec = theta_mech * pole_pairs % 360,绝不含糊。

3.7 传感器安装偏差的影响

传感器安装时,很难做到绝对对齐。偏差1度、2度是常事。但你别小看这1度——在FOC里,1度的电角度误差,会导致q轴和d轴电流耦合,转矩输出会损失约1.7%。

怎么量化这个影响?

假设实际电角度是θ,你测到的电角度是θ+δ。那么:

Iq_actual = Iq_ref * cos(δ) - Id_ref * sin(δ)
Id_actual = Iq_ref * sin(δ) + Id_ref * cos(δ)

如果δ=5度,cos(5°)=0.996,sin(5°)=0.087。也就是说,大约8.7%的q轴电流会串到d轴上去。转矩损失虽然只有0.4%,但d轴电流会导致额外的铜损和发热。

所以,安装偏差补偿是必须的。 后面的章节我会专门讲怎么用自整定算法把这个偏差找出来并补偿掉。你现在只需要记住:传感器安装偏差不是「差不多就行」,而是「必须精确补偿」。