ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

磁编码器与RDC在工业机器人关节反馈中的原理与选型实战

磁编码器与RDC在工业机器人关节反馈中的原理与选型实战 1. 项目概述关节反馈为何成为机器人绕不开的“硬骨头”这些年我做工业机器人控制系统被问得最多的一个问题就是关节反馈到底该用什么传感器早期很多方案直接用光电编码器一个关节一个成本不低上了产线还容易出幺蛾子。后来慢慢发现磁编码器加RDC位置传感器这套组合在工业机器人关节里越来越吃香。不是没有道理的。先说清楚这套组合的核心价值。工业机器人每个关节轴的驱动本质上是位置环、速度环、电流环三个闭环在协同工作。电流环只管电机扭矩速度环靠编码器测速位置环则要看关节末端最终的实际角度。如果反馈源头不准后面所有控制算法都是白搭。磁编码器加RDC的作用就是在电机端和关节输出端分别提供高可靠性的角度反馈一快一慢一粗一精配合使用。这篇文章要解决的问题很直接为什么在大量工业场景里磁编码器RDC正在取代传统光电编码器的位置它到底好在哪坏在哪选型时该看哪些参数工程上如何把两者融合进一套关节控制系统适合正在做机器人关节驱动、伺服系统集成或者想把成本压下来又不想牺牲太多精度的工程师参考。就算你只是刚入行看完也能明白关节反馈的底层逻辑不会被各种“精度0.001度”的宣传词忽悠。我尽量讲得实在一点把原理、选型、调试、踩坑全串起来。这套东西没你想的那么玄乎但细节确实多。2. 整体设计思路为什么是“磁编码器 RDC”而不是光电编码器2.1 传统光电编码器在机器人关节里的尴尬光电编码器精度高分辨率也高这是它长期统治伺服系统的原因。但在工业机器人关节里光电编码器有几个先天短板越用越难受。第一个是安装尺寸和机械结构冲突。光电编码器需要码盘、读数头、轴承一般体积都比较大。关节模组内部要塞谐波减速器、电机、抱闸、线缆空间本来就紧张。你要是再塞一个光电编码器要么电机尺寸往上提要么减速器变小都是拆东墙补西墙。第二个是抗污染能力弱。机器人关节不是恒温无尘实验室润滑脂挥发、装配残渣、金属磨屑时间一长码盘上沾了东西读数头就可能误码轻则飞车重则位置漂移。我之前在一家客户现场碰到过一台六轴机器人绝对定位精度越来越差拆开发现码盘边缘有油污擦干净重新标定才恢复。第三个是成本问题。多圈绝对值光电编码器尤其是高分辨率的一颗采购价动辄几百上千。机器人有六个轴光编码器这块的成本就压不住。做整机的人最怕这种“每一个轴都贵一点”的叠加。2.2 磁编码器破局但不是万能的磁编码器的原理不复杂在电机转子端安装一个小磁铁通常是径向充磁或轴向充磁表贴磁铁旁边放一片磁传感器芯片通过检测磁场角度的变化换算出转子的机械角度。常见芯片有AS5047P、MT6701、TLE5012B等。磁编码器的优势非常明显体积小、抗污染、耐震动、成本低。一颗AS5047P的单价大概只有同分辨率光电编码器的几分之一外围电路也不复杂一个SPI或I2C接口就能把角度数据读出来。但它有固有短板精度不够极致。常温下常规磁编码器能做到14位分辨率但实际重复精度受磁铁安装偏心、芯片贴装偏差、温度漂移的影响往往只能做到0.1度左右的数量级。这对伺服电机本身的速度环来说通常够用但机器人是要用末端绝对位置的关节输出端不允许有这么大的误差。所以磁编码器适合做“电机端反馈”不适合直接当“关节端反馈”。2.3 RDC位置传感器解决“关节端大闭环”的需求RDC的全称是Resolver-to-Digital Converter也就是旋转变压器信号转数字的转换器。旋转变压器本身是一种基于电磁感应原理的角度传感器它没有码盘没有光栅靠定子和转子的绕组耦合来输出与角度相关的正余弦信号。RDC芯片比如ADI的AD2S1205、AD2S1210负责把这两路正余弦信号解码成数字角度值。RDC在工业机器人里解决的是关节输出端的位置反馈问题。旋变装在减速机输出端或者靠近末端的位置测的是实实在在的关节角度。它不拍污染不怕油污耐温范围宽可靠性非常高。虽然精度也不是绝对顶级但胜在稳定适合做位置环主反馈。于是这套组合的分工就清晰了磁编码器在电机端负责速度环和电流环的快速响应RDC在关节输出端负责位置环的准确反馈。一内一外一个快捷一个稳配合起来正好覆盖了机器人关节控制的全链路需求。3. 关键技术原理解析磁编码器和RDC是怎么工作的3.1 磁编码器的核心原理角度到电压的映射磁编码器内部装了一个霍尔阵列或者磁阻AMR/TMR阵列。磁铁在芯片上方旋转时芯片表面不同位置感受到的磁场方向和强度会变化内部电路再通过算法把这些磁场变化还原成一个角度值。以AS5047P为例它内部是集成式霍尔阵列可以输出14位的绝对值角度数据也就是分辨率达到0.0219度。工作电压3.3V或5V通信接口支持SPI、I2C、ABZ增量输出和UVW换相输出。这个芯片在高性能电机控制里用得特别多因为它不仅能读绝对角还能通过ABZ接口输出增量脉冲兼容传统的伺服驱动器位置输入。实操中要注意的是磁铁的安装方向。如果磁铁是轴向充磁芯片要正对磁铁中心如果是径向充磁位置要求又不一样。装歪一点角度读数就会出现周期性误差这个误差通常有一个到两个周期的正弦波动。自己在实验室用手拧都会发现明明匀速旋转读出来的角度跳度却不一样那就是磁铁偏心的典型表现。磁编码器还有一个隐藏功能是零位标定。上电之后磁编码器能直接读出绝对角但它并不认识电机的电角度零位。所以上电要做一次对齐让电机角度和编码器角度建立对应关系。这个标定在伺服驱动器里一般叫“编码器零位自学习”或“相位自整定”其实就是让电机轴上施加一个固定方向的电流让电机转到一个稳定位置然后把这个位置的编码器角度记录为电角度零位。3.2 RDC位置传感器的核心原理旋变信号到数字角度旋转变压器的本质是一个小型的变压器。它有一个励磁绕组一般由RDC芯片输出一个高频正弦波比如10kHz通过旋转变压器的初级线圈激励。转子的位置变化会改变定子两个正交绕组的耦合系数于是次级端输出两路信号一路正比于sin(θ)一路正比于cos(θ)。RDC芯片内部用一个闭环跟踪环路不断调整数字角度φ让sin(θ)cos(φ)-cos(θ)sin(φ)sin(θ-φ)趋近于零这时φ就逼近真实角度θ。AD2S1205这类芯片的典型精度在±11角分左右分辨率能到12位。它的好处是抗恶劣环境能力极强而且旋变本身没有电子元件只有铜线圈和硅钢片理论上几乎不会坏。RDC方案最早期广泛应用在航空航天、军事伺服系统里因为可靠性要求极高。后来逐步下放到工业机器人、AGV、新能源汽车转向系统。工业机器人用RDC其实是一种“军工技术下凡”的典型路径。3.3 为什么两者不能互相替代很多人一开始会问磁编码器精度不是比RDC高吗直接拿磁编码器当关节端反馈不就行了这里有一个关键误区精度和应用场景不匹配。磁编码器的精度虽然可以做得很高但它建立在“磁铁同心、芯片居中、温度稳定”的理想条件下。真正在机器人关节里电机高速运转发热量很大磁铁材料在高温下矫顽力会下降读数漂移会增大。再一个电机端的转速很高、震动也大磁编码器的瞬时抖动会放大成位置环的噪声。而RDC精度虽然不如磁编码器的理想状态但它胜在“稳定”。旋变信号不受磁场退磁影响不会因为震动导致读数跳变。位置环需要的是稳定可重复的反馈而不是瞬时精度极高但不稳定的反馈。简单类比一下磁编码器像一把锋利的菜刀适合快速切菜RDC像一把厚重的斩骨刀适合稳定砍骨头。你用斩骨刀切菜不好用用菜刀砍骨头更会卷刃。各有分工组合使用才是最优解。4. 实操过程与核心实现从选型到调试一把梭4.1 选型前先明确关节控制架构做关节反馈之前先画个清晰的控制框图。电机端有哪几个环需要反馈关节端又有哪几个环需要反馈这决定了你买什么样的磁编码器芯片配什么样的RDC芯片。对一个典型的协作机器人关节来说电机端反馈需要做到高带宽的速度反馈和电流环角度同步所以磁编码器的接口要能和驱动器的硬件接口匹配。AS5047P支持ABZ增量输出同时也有SPI直接读绝对角这两种方式对应不同的驱动器接线方式。RDC端则主要看旋变的极对数和RDC芯片的激励频率。我在实际项目里常见的组合是电机端用AS5047P关节端用AD2S1205加一个单对极旋变。这个组合的好处是AS5047P芯片便宜、资料多、库函数多、社区案例也多遇到问题好查AD2S1205也是老牌芯片成熟稳定驱动代码到处都能找到。4.2 磁编码器的核心参数选择磁编码器选型我习惯按这几个维度排优先级分辨率这是最容易看花眼的参数。AS5047P的14位听起来很高但实际位置环用不上这么高分辨率关键是重复精度和温漂。峰值刷新率对高速电机很重要。AS5047P的SPI读取速度能到10MHz这意味着一圈可以采样非常多次适合高转速场合。接口形式如果你用的是带ABZ输入的通用伺服驱动器编码器需要输出ABZ信号如果你用自己的MCU直接读角度用SPI更方便。磁铁规格通常用D4xH2左右的钐钴磁铁直径和厚度会影响磁场强度。磁铁太小芯片离得远会读不到磁铁太大磁场饱和了也不好。4.3 RDC芯片及旋变选型要点RDC选型重点是激励频率和跟踪速率。激励频率太高线缆分布电容影响大太低响应带宽不够。AD2S1205用10kHz激励AD2S1210可以软件设置激励频率。关节位置环带宽一般不超过100Hz所以10kHz激励下的解码速度完全够用。旋变本身是一个机械部件选型时要注意单对极还是多对极。单对极旋变输出一个周期的正余弦简单可靠多对极旋变精度可以做更高但解码逻辑复杂一般高端伺服才用。我只用单对极够用且好调试。旋变的安装是细节活转子和定子不能卡涩间隙要均匀。装完之后用手转一圈感觉有没有摩擦声。装歪的话某个角度范围内输出信号幅值会不对称RDC解码出现非线性误差位置环就跟着出问题。4.4 硬件连接与PCB注意细节硬件连接上磁编码器芯片和MCU之间用SPI通信接线不复杂但要注意几个坑。一个是电源纹波。磁编码器对电源的干净程度比较敏感如果电源纹波大角度读数噪声会明显增加。建议加一个LC滤波器或者至少放一个10uF100nF的退耦电容贴近芯片电源引脚。一个是信号线长短和终端电阻。SPI通信频率高时信号线长了会振铃。实测超过10cm的线时钟边缘会有过冲建议PCB走线短而直必要时串33Ω电阻。还有一个是PCB开窗和磁铁距离的控制。磁铁和芯片之间通常会隔一层外壳或灌封胶这个间隙直接决定了磁铁到芯片表面的距离。距离太远磁场衰减厉害芯片读数不稳太近又怕震动碰撞。我一般控制在1到2毫米之间具体看磁铁尺寸。RDC那一侧的硬件重点要处理的是励磁放大电路和解调电路的滤波。AD2S1205内置了激励放大器的参考设计照着做基本不会有大问题。但要注意旋变信号线必须用双绞屏蔽线屏蔽层单端接地否则长线上感应的共模噪声会把信噪比拉低。4.5 软件实现SPI读角度和RDC解码磁编码器的软件读取以AS5047P为例。SPI通信时序大概是拉低CS发送16位命令读取16位数据拉高CS。芯片手册上有一个完整的读写时序图照着写就行。要注意的是AS5047P有命令寄存器机制你要读取角度数据需先向寄存器地址写入“读”命令才能读取对应数据。我第一次用这芯片时直接发读命令结果数据全是0后来发现命令字没写对。RDC芯片的读取要简单一点。AD2S1205的12位位置数据直接通过并行或者串行接口输出。我一般用SPI模式读取时序不复杂但要注意状态位的检查。RDC芯片会有一个“失锁”标志位如果旋变信号异常或者跟踪环失锁这个标志位会置位。软件里一定要在读取前检查这个标志否则在失锁状态下读出来的角度是垃圾数据反馈环路会直接崩溃。4.6 标定与滤波的实战经验硬件和软件都跑通之后最麻烦的环节是标定和滤波。磁编码器因为机械安装的误差存在一个天然的周期误差。处理办法通常有两种一是硬件上微调磁铁位置尽量偏心最小二是软件上做查表补偿。我建议直接做软件查表。标定流程是用一个高精度编码器作为基准电机慢速转很多圈记录磁编码器读数与基准角度的差值然后做成一个角度查表或者傅里叶级数拟合到采样的补偿表。滤波方面磁编码器最忌讳的是过度低通滤波。很多工程师拿到数据发现抖动大就上一个大低通滤波器结果带宽被压得很低速度环响应变慢电机一加负载就振荡。我实测下来的经验是磁编码器角度先做一阶低通截止频率放在2kHz左右然后再做差分求解速度速度再做一次低通截止频率500Hz左右。两级滤波分散处理比一次性大滤波要稳得多。RDC的解码本身自带跟踪环输出已经比较平滑但启动瞬间和负载突变瞬间会有暂态。这个阶段读出来的位置会有一个小的阶跃。软件上可以做一个“连续滑窗均值滤波”窗口长度4到8个周期即可不要加太大。5. 常见问题与排查技巧实录5.1 例1磁编码器读数跳变时好时坏排查这个问题我一般按下面这个顺序走一遍先检查磁铁与芯片间距。拿一张薄垫片测试如果加0.1mm厚度读数突变频率明显不同多半就是间距太临界。再看电源波形。用示波器量芯片电源脚如果毛刺超过100mV考虑加强退耦。然后检查SPI时序。有时候CPU主频高延时不够CS拉低的建立时间不足读到的数据就是错的。把SPI时钟降到1MHz试试如果问题消失就是时序问题。最后检查是不是磁铁本身碎裂或者失磁。拆开看磁铁颜色有没有异常用高斯计测量磁感应强度。5.2 例2RDC角度在某些位置附近特别不准这种情况大概率是旋变安装的偏心导致信号幅值在一个固定角度范围不对称。RDC跟踪环如果发现某个位置sin或cos幅值偏小解算出的角度误差会变大。可以用示波器去看旋变两路输出信号的包络如果包络在某个角度位置有凹陷就是机械安装的问题。处理办法重新精细调整转子定子的同心度。如果调不了就在软件里对该角度范围做分段补偿。分段补偿的数据来自外部高精度基准和RDC读取值的差值注意分段点要平滑衔接不能有突变。5.3 例3关节上电后位置跳变一下才正常这种问题通常是因为上电瞬间磁编码器读到了未校正的零点而RDC也有一个初始未对准的角度。软件上要做一个上电初始化流程先读磁编码器绝对角再读RDC绝对角然后做一次“绝对角对齐”把电机端角度和关节端角度换算到一个基准坐标系里。如果这个对齐没做好后续的位置规划就会有个固定的偏置误差。我之前在一个六轴项目里就吃过这个亏上电产线里机器人会抖一下现场人员以为是机械问题排查了好久。后来在代码里加了先读RDC、再等待旋变信号稳定、然后才使能驱动的逻辑现象彻底消失。5.4 问题速查表现象可能原因处理方向磁编码器读数跳变磁铁偏心/供电纹波/SPI时序调整机械间隙、加强退耦、降低SPI时钟RDC角度有固定位置误差旋变安装偏心/间隙不均重新调整装配、软件分段补偿上电位置跳变初始化时序未对齐加入绝对角对齐流程高速时速度反馈噪声大滤波带宽不足多级滤波、差分前先去毛刺RDC失锁标志置位信号线接触不良/励磁驱动不足检查线缆、屏蔽层、激励放大倍数全温区位置漂移磁铁温漂/旋变励磁温度变化选高居里温度磁铁、做温度补偿表6. 影响范围与行业趋势磁编码器RDC这套组合这几年在工业机器人上普及速度非常快背后有几个产业推手。一个是协作机器人带来的成本压力。协作机器人的关节数量多结构紧凑传统光电编码器的成本和体积hold不住。磁编码器RDC天然适合这种小体积、多关节的场景。现在很多国产协作机器人品牌关节内部就是这种方案。另一个是由于“AI数字孪生机器人”的落地机器人的数据需求越来越细。关节角度的高频高可靠采集成了数字孪生模型和AI算法训练的数据基础。反馈传感器不出错孪生模型才有意义。再一个是制造流程的柔性化要求。产线换型频繁机器人需要更快速、更稳定的重新标定能力。磁编码器的绝对角读取RDC的绝对角度反馈配合自动标定流程能做到插上电就能干活不需要人工去对零位。从产业链角度看国产磁编码器芯片厂商崛起已经能提供和AS5047P兼容的国产替代方案。RDC芯片国产化也有进展但集中在偏高端领域。不管怎样这套方案的成本正在快速下降技术门槛也在被标准化MCU平台逐步抹平。未来还会出现更高集成度的单芯片方案把励磁放大、解码、校准全做进一颗芯片里。但在当前这个时间点工程上最成熟、可复现、性价比最高的路径依然是磁编码器(电机端)RDC(关节端)的双通道反馈架构。这一点短期内不会变。7. 我的一些实操心得最后说点个人体会。磁编码器RDC这套方案我真不是推荐谁都无脑上。如果你的机器人是精密装配场景要求关节绝对定位精度在0.01度以内那磁编码器RDC可能还不够好你得考虑光栅尺或者高精度的多对极旋变。但如果你做的是搬运、码垛、焊接、喷涂这类占工业机器人主流应用场景这套组合绰绰有余成本还能省下一大截。我踩过的坑里最值得提醒的是千万别光学怎么接线写代码忽略了机械安装。磁编码器装偏1毫米软件补偿写得再漂亮也白搭。RDC转子装偏0.1毫米位置精度就只能靠运气。传感器系统和机械结构是深度耦合的调试的时候多花半小时在机械上比你写三天滤波算法都有效。另外一个小技巧在关节样机阶段留一个外接调试口直接用电脑连出磁编码器和RDC的原始角度数据。别急着上闭环控制先让电机手转或者低速运转看两组数据是否单调、平滑、无跳变。这一步能筛掉大部分机械和硬件问题我现在每做一个新关节都先做这个数据采集测试稳定之后再上控制算法省心很多。这套方案不是唯一的答案但至少在当前工程环境下它是“成本、体积、可靠性、精度”四个维度综合得分很高的选择。如果你正在纠结关节反馈怎么做不妨按我上面说的思路试一轮大概两天时间就能把基础验证跑通。
返回列表