拆开一台主流协作机器人的关节,你会看到一副很有意思的画面:电机尾部一块小板子上,贴着一颗磁编码器芯片,旁边是一颗小小的径向磁铁;而在减速器输出侧,却绕着一圈线圈结构,跟着电机一起转——那是旋转变压器。再把视线拉到驱动器板上,通常还有一颗RDC芯片,实时把旋变的模拟正余弦信号解算成数字角度。“关节反馈”这件事,正在被“磁编码器 + RDC 位置传感器”这套组合悄悄改写。
以前这个位置基本是光电编码器的天下,动辄17位、23位光栅码盘,精度看着漂亮,但价格也漂亮。如今工业机器人价格战打到这个份上,再加上协作机器人、人形机器人对关节模组化的要求,越来越多人开始重新算这笔账:磁编码器负责电机端的高速反馈和换相,旋变加RDC负责输出端的绝对位置和安全监控。这篇文章就把这套方案的来龙去脉一次讲清楚,适合正在做机器人关节设计、伺服系统集成的工程师,也适合想搞懂关节反馈选型逻辑的同学。
1. 关节反馈到底在反馈什么:先看伺服环路的底层逻辑
1.1 一个传感器身兼三职:位置、速度、换相
工业机器人的每个关节,本质上是一台永磁同步伺服电机加减速器。要让电机转得又稳又准,驱动器里的电流环、速度环、位置环层层嵌套,每一层都需要反馈信号。电流环靠采样电阻或霍尔电流传感器;速度环需要角速度;位置环需要绝对或增量角度;而永磁同步电机换相,还必须知道转子磁极的实时位置。
这三个需求,过去通常交给一个高分辨率光电编码器去完成。编码器输出ABZ增量信号用于速度环,UVW换相信号用于电机换相,多圈绝对值部分用于位置环。但问题在于,光电编码器的码盘是玻璃的,怕油污、怕振动,在关节这种环境里并不算皮实。而磁编码器天生不怕油污、不怕振动,成本又低,芯片加一颗磁铁就能干活,做电机端的换相和速度检测,性能完全够用,于是它开始大量取代原来电机尾部的光电编码器。
1.2 电机端反馈与输出端反馈:各管一段,缺一不可
这里有一个很容易被忽略的逻辑:减速器会让电机端和输出端的角度关系变得“不干净”。谐波减速器、RV减速器、行星减速器都有背隙、弹性变形、摩擦磨损,电机转了多少圈,输出端不一定精确对应到理论角度。所以关节反馈必须分成两级来看。
电机端反馈,装在电机尾部,看到的是高速端的电气角度和速度,用于换相、电流环和速度环。输出端反馈,装在减速器之后,看到的是关节实际转过的角度,用于位置环和绝对定位。如果一台机器人只在电机端装编码器,等于默认减速器没有误差——这在低端设备上可以凑合,但在高精度、高安全要求的场景里,输出端必须有自己的传感器。
输出端传感器的工作环境更苛刻,转速低、扭矩大、温度高,而且要能提供绝对位置。于是就有了旋转变压器加RDC的组合:旋变本体没有任何电子元件,绕组耐高温、抗振动、寿命长,天然输出与转子角度对应的正余弦模拟信号,再由后级RDC芯片解算成数字角度。这正是它能在输出端站稳脚跟的原因。
1.3 关节内部环境:高温、油污、振动,一个都躲不掉
我拆过不少关节模组,也踩过环境适应性的大坑。关节内部并不是干净的实验室环境:电机铜耗加上减速器摩擦热,壳内温度长期在60到80摄氏度很常见,某些高负载工况能逼近100摄氏度;减速器润滑脂会挥发,油脂蒸汽凝结在传感器表面;机器人启停瞬间冲击大,碰撞检测时还会故意让关节硬抗,传感器要承受很大的机械应力;电机强磁场和驱动器PWM高频开关还会带来电磁干扰。
这样的环境对光电编码器非常不友好。玻璃码盘沾上油污,光栅信号就会劣化,轻则精度下降,重则直接报错。振动会导致码盘破裂或松动。所以从可靠性角度,磁编码器和旋变这类“非光学”方案,天然就更适合关节内部。搞懂了这条主线,后面所有选型逻辑都能顺下来。
2. 磁编码器凭什么进入机器人关节:原理、芯片与短板
2.1 磁编码器与光电编码器的本质区别
磁编码器的工作原理,是用芯片内部的霍尔元件或磁阻元件(AMR、TMR、GMR)去感应贴在电机轴上的磁铁产生的磁场方向,通过磁场角度的变化计算出转子的机械角度。它不需要光源、不需要码盘、不需要透镜,整个传感头就是一颗芯片加一块小磁铁,结构极其简单。
光电编码器靠光栅码盘上的明暗条纹来计数,分辨率能做得很高,但代价是机械结构复杂、对装配精度敏感、对环境洁净度敏感。磁编码器虽然没有光编那么极端的精度,但在关节电机端这个位置,“够用”比“极致”更重要。一颗14位磁编码器,分辨率已经到16384线每圈,换算成角度是0.022度,电机端做换相和速度反馈绰绰有余。
这里要区分两个概念:分辨率和精度。分辨率是能分辨的最小角度,精度是测量值和真实值的偏差。很多国产磁编码器标称位数很高,但INL积分非线性可能比较差,选型时不能只看多少位,要看精度指标,比如AS5047P的INL典型值是正负0.02度,按弧分算约1.2弧分,这就是一个很扎实的水平。
2.2 主流磁编码器芯片与接口选择
目前工业机器人和协作机器人里,电机端磁编码器用得比较多的芯片有这几类:AMS(现在是ams OSRAM)的AS5047P,14位,SPI/ABI/UVW输出;MagnTek的MT6701,14位,支持I2C/SPI/ABI/UVW,国产方案里性价比很高;英飞凌的TLE5012B,16位,SSC接口;还有一些国产芯片厂也推出了兼容替代方案,供应体系已经很成熟。
输出接口的选择要看驱动器怎么接。增量ABI信号适合直接进伺服驱动器的正交解码接口,UVW信号用于电机换相,SPI接口适合MCU直接读绝对角度,I2C则更适合低速调试和标定。我最近用STM32F103C8T6加软件I2C读MT6701做过一个关节反馈验证板,就是典型的低成本样机方案:芯片加一块径向充磁磁铁,焊好线,初始化I2C,读14位角度,跑起来很稳,做原型验证非常方便。
用软件I2C读这类芯片,有个关键点是要做滤波和校准。一是供电和磁铁安装偏差会造成角度跳变,需要中值滤波或滑动平均;二是磁铁相对于芯片的偏心会直接引入一次谐波误差,需要用多点采样做偏心校准。我在样机里采用的做法是:上电先让电机匀速转几圈,记录0到360度范围内每个角度的误差曲线,然后存成查找表,运行时做插值补偿,校准之后重复精度能明显改善。
2.3 磁编码器的三个软肋:温漂、磁场干扰、长期可靠性
磁编码器不是没有短板。首先是温漂。常用的钕铁硼磁铁的剩磁温度系数大约是每摄氏度负0.12%,当关节内部温度从25度升到85度,磁感应强度可能衰减7%以上,芯片内部处理不当,角度输出的零点就会漂移。芯片自身的失调和温漂也会叠加进来。所以磁编码器做电机端的动态反馈问题不大,但做输出端的绝对位置基准,全温区稳定性就有点吃力。
其次是外部磁场干扰。电机绕组本身就是一个强磁场源,驱动器电流大时漏磁会影响到附近的角度传感器。虽然磁编码器芯片通常有抗串扰设计,但安装时仍然要留意磁铁和芯片周围的导磁部件,尽量避免把芯片直接放在电机磁路附近。
第三是长期可靠性。磁铁的磁性在高温、退磁场的长期作用下会缓慢衰退,芯片本身也会老化。单独一个磁编码器,在功能安全视角下属于“单点失效”,你很难证明它十年后依然保持出厂精度。所以行业里的做法很明确:磁编码器负责动态性能,安全基准则交给旋变加RDC。
3. RDC位置传感器:旋变加解码芯片,老技术为什么重新吃香
3.1 先搞清楚:RDC并不是一个“传感器”,而是一整套方案
很多人第一次看到“RDC位置传感器”这个说法会有点懵。严格来讲,RDC是Resolver-to-Digital Converter,即旋转变压器数字转换器,是一颗把旋变模拟信号转换成数字角度的芯片。日常沟通里大家说“RDC方案”,实际上指的是“旋转变压器 + RDC解码芯片”整套位置反馈链路。
旋转变压器本身是一个微型旋转电机,定子上有励磁绕组和两组输出绕组,转子上有感应绕组。当励磁绕组通入高频正弦载波(通常10kHz左右),转子转动时,两组输出绕组会分别感应出正比于转子角度的正弦信号和余弦信号。也就是说,旋变输出的是两个模拟电压,一个正比于sinθ,一个正比于cosθ,θ就是转子机械角。这个信号天然就是“绝对”的,只要上电就能知道当前角度,不需要找零点,不需要电池保持圈数。
3.2 RDC芯片内部是怎么解算出角度的
RDC芯片的核心是一个Type-II型跟踪环路。芯片内部自己生成了一个数字角度φ,把这个角度分别和输入的正弦、余弦信号相乘,再作差,得到一个误差信号;当误差为0时,φ就等于真实角度θ。这个环路是闭环跟踪的,只要旋变在转,环路就会一直锁定,输出连续更新的数字角度。
主流RDC芯片里,ADI的AD2S1210用得最多,分辨率可以配置为10到16位,励磁频率可编程到2kHz到20kHz,内部还集成故障检测功能,能报信号丢失、信号劣化和失跟踪。多摩川的AU6802系列在日系伺服和机器人里也很多,国产的SC2121等芯片则做了兼容替代,价格和交期都友好很多。
RDC芯片输出接口有SPI、并行总线,部分型号还输出ABI增量信号,方便直接接伺服驱动器。在实际关节模组里,MCU或DSP通过SPI定期读取RDC的绝对角度,同时把RDC输出的增量信号也接进伺服驱动器的编码器接口,形成“绝对+增量”双保险。
3.3 旋变加RDC的现实代价:体积、成本和精度上限
旋变加RDC这套方案,优点突出,代价也不小。首先是体积重量:旋变本体比磁编码器大,定子转子都是硅钢片加线圈,还要引出励磁差分线和两组输出差分线,一个关节里要穿七八根屏蔽线,装配工艺比贴一颗磁编码芯片复杂得多。其次是成本:旋变本体加上RDC芯片加上励磁驱动电路,整体价格虽然比高分辨率绝对值光编便宜,但比单独一颗磁编码器贵。
再就是精度上限。工业级旋变的绝对精度一般在正负5弧分到正负10弧分之间,换算成角度大约是0.08到0.17度,跟高分辨率光编比并不占优。但旋变最大的价值在于:精度稳定、重复性好、全温区漂移小、耐油污、抗振动、转子无电子器件、寿命极长。对位置环来说,真正重要的是“每次走到同一个位置,反馈值都一致”,这一点旋变做得很可靠。
所以在关节反馈的架构里,旋变的定位从来不是“拼分辨率”,而是“提供绝对基准和可靠性兜底”。这也是为什么它能在输出端站住脚。
4. 磁编码器加RDC组合的工程逻辑:为什么是它们俩
4.1 高速端看动态,低速端看绝对:天然互补
把磁编码器和旋变加RDC放在一起看,两者的分工非常清晰。电机端转速高、磁场变化快,需要的是响应快、分辨率高、成本低的小型传感器,磁编码器正好合适,芯片加磁铁几克重,直接贴装在电机后端盖上。输出端转速低、扭矩大,要的是绝对位置、全温区稳定、免维护的耐用方案,旋变加RDC正好合适。
这样一来,整套反馈链路就形成了“高速端动态补偿 + 低速端绝对基准”的分工。磁编码器负责告诉驱动器“现在电气角度是多少、转速是多少”,让电流环和速度环跑得顺滑;旋变加RDC负责告诉控制器“关节输出轴实际指向哪里”,让位置环和轨迹规划得到精确反馈。
4.2 成本压力是最大的推手
这几年工业机器人价格一路下探,本体厂为了降本什么都敢换。一台六轴机器人少说六个关节,每个关节多花几百块传感器成本,整机就要多花几千块。以前用17位以上绝对值光电编码器做电机端反馈,光这一颗可能就要上百甚至几百元;如今换成磁编码器,AS5047P级别的芯片加磁铁整体成本只有零头。
输出端也一样。以前高端关节用25位以上的多圈绝对值光电编码器,造价高、还要电池保持圈数,电池在运输和长期存储中还会掉电。换成旋变加RDC之后,免电池绝对值、结构简单、供应链国产化程度高,成本明显下降。这种“性能够用、成本可控”的组合,在当下机器人行业的竞争环境里非常有吸引力。
4.3 模块化关节和功能安全,把它们俩推上了同一块板
协作机器人、人形机器人把关节做成了标准模组,“电机加减速器加双反馈加驱动板”一体化集成。这种形态对传感器有两个硬要求:体积要小,还要满足功能安全。ISO 10218、ISO 13849这些标准对运动监控提出冗余要求,位置反馈不能只有一个来源,而且最好采用不同原理的传感器,避免共因失效。磁编码器用磁阻原理,旋变用电磁感应原理,两者物理机理完全不同,正好组成异构双通道。
实际产品里,很多关节模组把磁编码器角度和RDC角度都送给安全控制器,互相对比,一旦偏差超限就触发安全停车。即使其中一个传感器失效,另一个还能兜底,不会出现“反馈丢了,机器人乱动”的危险场面。这种冗余不是锦上添花,而是安全认证里的硬性要求。
4.4 数据融合与故障诊断怎么做
两路反馈放在系统里,不是简单读两个数就行,还要处理数据融合和故障诊断。我见过不少开发者纠结“到底以谁为准”。常规做法是这样:上电时用旋变的绝对角度去初始化磁编码器的绝对位置,解决磁编码器上电不知道角度的问题;运行过程中,以磁编码器做速度和换相控制,以旋变加RDC做位置环反馈;每一拍都比较两路角度的差值,正常范围可以控制在0.2度以内(具体看减速比和关节刚度),一旦超过阈值,先检查RDC的状态寄存器,然后分级处理——轻则报警限速,重则直接急停。
RDC芯片自带的故障状态非常有用。AD2S1210能报LOS(信号丢失)、DOS(信号劣化)、LOT(失跟踪),配合磁编码器的信号质量判断,系统定位故障快很多。我在调板子时,经常靠这些状态位判断是旋变线缆松了、励磁电路挂了,还是输入信号幅值不够,效率比盲查高很多。
5. 选型与实战:参数表、调试要点和故障排查
5.1 磁编码器选型速查表
给一张我常用的磁编码器选型参考表,方便直接抄作业。
| 芯片型号 | 分辨率 | 输出接口 | 典型应用位置 | 选型说明 |
|---|---|---|---|---|
| AS5047P | 14位 | SPI / ABI / UVW | 电机端换相、速度反馈 | 经典方案,精度稳定,资料多 |
| MT6701 | 14位 | I2C / SPI / ABI / UVW | 低成本关节样机、云台 | 国产性价比高,我样机用的就是它 |
| TLE5012B | 16位 | SSC(类SPI) | 对分辨率略敏感的场合 | 分辨率高,注意SSC时序兼容性 |
| 国产AS5047P替代 | 14位 | SPI / ABI / UVW | 量产降本 | 注意INL参数和温漂一致性 |
选型时除了看位数和接口,还要看芯片封装是否适合关节布局、磁铁规格和安装气隙是否在芯片推荐范围内、工作温度是否覆盖关节最高温。磁铁安装是最大变量——磁铁相对芯片偏心、倾斜,都会直接变成角度误差,样机阶段一定要做偏心校准。
5.2 RDC电路与调试要点
旋变加RDC的电路部分,最容易出问题的是三块:励磁驱动、差分采样、线缆屏蔽。励磁频率我用得最多的是10kHz,和驱动器PWM频率错开,避免干扰。Sin和Cos输入一定要差分采样,线缆用双绞屏蔽线,屏蔽层单端接地。AD2S1210的励磁输出是DAC驱动,带载能力有限,如果旋变的励磁阻抗比较低,后面要加一级功放,否则信号幅值不够,RDC会报信号劣化。
调试时先别急着读角度,要先用示波器看Sin和Cos波形,确认幅值对称、相位正交。旋变输出的正余弦信号通常要通过电阻网络或运放调理到RDC的输入范围,幅值偏差超过5%就会影响角度精度。然后是零位对齐:一般用治具让关节处于已知机械零位,然后读RDC角度,把这个偏移量写进固件,以后所有角度都减掉这个偏移。
零位对齐做完,用电机以恒定低速匀速转动,把RDC角度和磁编码器角度同时记录下来,画一条差值曲线。正常情况应该是一条接近直线的缓变曲线,如果有周期性的正弦波动,多半是旋变安装偏心或磁编校准没做好;如果出现台阶跳变,要查RDC配置和信号调理。
5.3 常见故障排查表
这里整理一份我在项目里整理的问题速查表,基本都是真实踩过的坑。
| 现象 | 可能原因 | 排查方法 |
|---|---|---|
| 上电后RDC角度跳动 | 励磁信号不稳定、电源纹波大 | 示波器看励磁波形,检查电源去耦,确认RDC配置寄存器 |
| 电机转动时角度偶尔跳变 | 线缆接触不良、屏蔽层接地悬空 | 重新压接连接器,检查屏蔽层接地 |
| RDC报LOS或DOS | 旋变信号幅值过低、接线极性反了 | 测量Sin/Cos峰峰值,检查差分配对和增益电阻 |
| 磁编码器角度漂移 | 磁铁松动、温度变化、外部磁场干扰 | 检查磁铁固定,做温漂试验,调整安装位置 |
| 两路反馈差值过大 | 输出端旋变零位偏移、减速器异常 | 重新做零位对齐,检查减速器是否有异响或卡滞 |
碰到问题时,我习惯先做“单通道隔离测试”。把磁编码器拆掉,只看RDC角度是否还跳;再把RDC断开,看磁编码器是否正常。这样能迅速定位故障在哪一路,不用两路信号交叉干扰地排查。
最后再分享一点实际体会
我做关节样机那阵子,最开始坚定地走高分辨率光电编码器路线,参数很漂亮,但一到振动台和高温箱就露馅,玻璃码盘在低温起动时甚至出现过信号丢失。后来转到“磁编码器加RDC”这个组合,前期最不适应的就是心里那道坎:总担心磁编精度不够、担心旋变太老派。真正把样机装在关节里跑起来,用温度循环和疲劳负载一测,才发现这套组合的稳定性远比我预想的扎实。现在我做关节反馈选型时,不会只盯着单芯片的分辨率,而是先问三个问题:这个位置要绝对还是增量,环境和生命周期要求是什么,系统是否需要异构冗余。这三个问题想清楚,磁编码器加RDC方案的优势就自然显现了。这套组合不是万能的,但它正在成为大量工业机器人关节反馈方案里最务实、最稳妥的基本盘之一。