ARTICLE DETAIL

资讯详情

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

角度编码器选型指南:从磁编码器到光电编码器的工厂筛选与实操

角度编码器选型指南:从磁编码器到光电编码器的工厂筛选与实操 1. 角度编码器选型前必须搞清楚的几件事1.1 角度编码器到底在测什么角度编码器本质上就是一个把“轴转了多少度”翻译成电信号的传感器。你把它装在电机轴、旋转台或者机械臂关节上它就能实时告诉你当前的角度位置、转速甚至转动方向。听起来简单但实际选型的时候很多人第一步就搞错了——把角度编码器和普通旋转编码器混为一谈。普通旋转编码器更多是测“转了多少圈”或者“转多快”输出的是脉冲计数而角度编码器强调的是“当前绝对角度是多少”尤其是单圈绝对值角度编码器上电瞬间就能知道轴在哪个角度不需要回零。这个区别直接决定了你后面选型的方向。比如你做云台稳定、机械臂关节控制那必须用绝对值角度编码器如果只是测电机转速做闭环增量式旋转编码器就够用了。我见过不少项目明明只需要测速结果买了个高精度绝对值角度编码器成本翻了五六倍最后发现MCU的接口根本读不过来。所以第一步先问自己我要的是角度位置还是速度是单圈绝对还是多圈绝对精度要求是0.1度还是0.01度这些问题不想清楚后面选工厂就是盲人摸象。1.2 磁编码器与光电编码器的路线之争目前市场上靠谱的角度编码器工厂主流产品分两条技术路线磁编码器和光电编码器。磁编码器用霍尔元件或者磁阻元件感应磁铁旋转时的磁场变化典型芯片像AS5047P就是很多中小功率场景的热门选择。光电编码器则用码盘和光电对管通过透光和不透光的码道产生信号精度可以做得非常高但结构相对娇贵。磁编码器的优势很明显抗污染、抗振动、体积小、成本低。你在粉尘大、油污多的场合光电编码器码盘一脏就丢信号磁编码器擦一擦继续用。但磁编码器的短板是精度和温度漂移AS5047P标称14位分辨率实际有效精度在12位左右温漂在高温环境下可能达到0.5度以上。光电编码器相反精度轻松做到17位甚至23位但怕震动、怕油污、怕凝露。所以选工厂的时候不是看谁名气大而是看谁在你需要的技术路线上有成熟量产经验。做磁编码器的工厂你问他AS5047P的线性度补偿怎么做、温度补偿曲线有没有实测数据做光电的工厂你问他码盘镀膜工艺、光源老化测试做了多少小时。这些问题一问靠谱不靠谱基本就有数了。1.3 分辨率、精度、重复性——三个容易混淆的指标很多采购或者新手工程师看规格书第一眼就看“分辨率”觉得位数越高越好。但分辨率不等于精度精度也不等于重复性。分辨率是编码器能分辨的最小角度变化比如14位就是360/16384≈0.022度精度是实际角度和输出角度的最大偏差重复性是同一角度多次测量的一致性。我实测过某厂标称16位的磁编码器分辨率确实有16位但精度只有±0.3度重复性倒是不错±0.05度。这意味着什么如果你做位置控制精度不够每次停的位置都有偏差但如果你做速度控制或者相对位置变化检测重复性好就够用了。所以看工厂的规格书一定要让他提供实测的精度曲线和重复性数据而不是只给一个分辨率数字。靠谱的工厂会主动区分这些指标并且在规格书里明确标注测试条件。比如“精度±0.1度25℃转速1000rpm”而不是笼统写一个“高精度”。那些只吹分辨率、不提精度和测试条件的基本可以pass。2. 靠谱工厂的筛选维度与实操方法2.1 从需求反推工厂类型找角度编码器工厂第一步不是上网搜“十大品牌”而是把自己的需求拆成一张表。我一般会列这几个维度测量范围单圈/多圈、分辨率要求、精度要求、接口类型I2C、SPI、SSI、BiSS、模拟电压、增量ABZ、工作环境温度、湿度、振动、粉尘、安装尺寸限制、预算范围、年用量。这张表列完工厂的类型基本就定了。比如你需要I2C接口、14位分辨率、小尺寸、年用量几千颗那目标就是做磁编码器模组的工厂最好是有AS5047P或者类似芯片成熟方案的。如果你需要23位精度、BiSS接口、用于高端数控转台那目标就是做光电绝对值编码器的工厂而且要有码盘自研能力。我见过一个做机器人关节的团队一开始找了一家做工业编码器的大厂结果对方最小起订量5000颗交期12周价格还高。后来换了一家专做磁编码器模组的中小工厂起订量500颗交期4周价格只有前者的三分之一性能完全够用。所以不是大厂就一定合适关键是匹配。2.2 工厂实地考察要看什么如果有条件实地考察重点看三个地方生产线、测试环节、老化车间。生产线看什么看有没有防静电措施、看焊接工艺是手工还是回流焊、看组装环节有没有定位工装。磁编码器的磁铁安装偏心0.1mm角度误差可能就增加0.5度所以工装精度很关键。测试环节看什么看是不是每颗都做全检还是抽检。靠谱的工厂会做全检而且测试数据存档可追溯。你让他调出某批次某颗的测试报告能调出来说明体系健全。老化车间看什么看有没有高温老化、振动老化、长时间通电老化。光电编码器不做老化光源衰减很快半年后精度就飘了。还有一个细节看工厂自己有没有用编码器的设备。比如做磁编码器工厂如果他自己有电机测试台、有机器人关节测试台说明他懂应用场景不是只卖器件。这种工厂在技术支持上会强很多你遇到问题他能帮你分析而不是只丢一份规格书。2.3 样品测试的完整流程找到候选工厂后一定要拿样品做完整测试不能只看规格书。我的测试流程分四步静态精度测试、动态精度测试、环境测试、长期稳定性测试。静态精度测试用高精度转台每隔一定角度记录编码器输出画误差曲线。动态精度测试让电机以不同转速运行看输出角度和实际角度的延迟和偏差。环境测试把样品放到高低温箱里从-40℃到85℃循环看精度漂移。长期稳定性测试就是连续通电运行几百小时看输出有没有跳变或者漂移。这四步做完基本能筛掉80%不靠谱的工厂。我遇到过一家工厂静态精度很好动态一跑高速就丢步后来发现是芯片选型问题最高转速只能到2000rpm超过就来不及采样。还有一家常温精度不错一到-20℃就零位漂移原因是磁铁温度系数没补偿。这些问题规格书上都不会写只有实测才能发现。2.4 技术支持的响应速度与深度靠谱的工厂技术支持不是只回“好的”“收到”而是能跟你讨论技术细节。你问他AS5047P的I2C配置他能告诉你寄存器怎么设、滤波参数怎么调你问他3码道编码器原理他能解释清楚增量码道、绝对码道、换向码道的配合逻辑你问他STM32 HAL库编码器测速怎么配他能给你示例代码。我合作过一家工厂他们的FAE以前是做电机控制的我遇到STM32编码器模式配置问题他直接远程帮我调通了。这种技术支持的价值远超器件本身的价格差异。反过来有些工厂的销售连自己产品用的是哪家芯片都说不清楚这种基本就是一锤子买卖。还有一个判断方法看工厂有没有公开的应用笔记或者技术博客。靠谱的工厂通常会写一些选型指南、常见问题、配置示例比如“I2C编码器在STM32上的配置步骤”“磁编码器安装偏心对精度的影响”。这些内容说明他们有技术沉淀也愿意分享。3. 角度编码器核心参数与配置实操3.1 分辨率与接口的匹配计算选编码器的时候分辨率和接口必须匹配否则要么浪费精度要么读不过来。举个例子你需要0.01度的角度分辨率那编码器至少需要360/0.0136000个计数也就是至少16位65536。但如果你用I2C接口标准模式100kHz读一次16位数据需要多少时间I2C读两个字节大概需要0.2ms加上寄存器地址和应答差不多0.3ms。这意味着最高采样率约3.3kHz对于大多数电机控制够用了。但如果你需要0.001度分辨率那就是20位I2C读一次要0.4ms采样率降到2.5kHz。如果电机转速是3000rpm即50转/秒每转需要至少100个采样点那采样率需要5kHzI2C就不够了得换SPI或者SSI。SPI可以跑到10MHz读20位数据只要几微秒完全够用。所以选型的时候先算分辨率和采样率再定接口。我一般会留一倍余量比如算出需要5kHz那就选能跑10kHz的方案。具体计算可以用这个公式采样率 1 / (接口传输时间 编码器内部转换时间)。编码器内部转换时间看规格书磁编码器一般几微秒到几十微秒光电的慢一些。3.2 AS5047P磁编码器的配置要点AS5047P是很多中小工厂用的磁编码器芯片14位分辨率支持SPI、ABI、PWM输出。配置的时候有几个关键点首先是磁铁安装芯片和磁铁的距离建议0.5mm到2mm偏心不超过0.25mm否则线性度会变差。其次是SPI模式AS5047P支持SPI模式1和模式3STM32的SPI要对应配置CPOL和CPHA别搞错。读取角度值的命令是0x3FFF返回14位数据加错误标志。我一般会连续读两次比较是否一致不一致就丢弃或者重读这样可以过滤掉偶发干扰。AS5047P还有动态角度误差补偿功能可以通过寄存器设置但需要配合转速做补偿曲线低速下反而可能引入噪声所以低速应用建议关闭。还有一个坑AS5047P的零位可以通过编程设置但编程次数有限制好像是最多3次还是5次。所以不要频繁改零位确定好机械零位再写。如果机械零位经常变那就用软件做偏移补偿不要动芯片的零位。3.3 STM32编码器模式测速的配置细节用STM32的编码器模式测速是很多人的首选方案因为硬件自动计数不占CPU。配置的时候定时器要设为编码器模式一般是TI1和TI2都计数4倍频。比如1000线的增量编码器4倍频后是4000计数/转。然后用一个定时器做采样周期比如10ms读一次计数差值算出转速。这里有个细节计数器的溢出处理。如果转速很慢10ms内计数可能不溢出但如果转速很快16位计数器可能溢出。所以要么用32位定时器要么在溢出中断里累加。我一般用32位定时器省事。还有滤波编码器信号如果有毛刺可以在定时器输入捕获里加滤波但滤波太强会丢高速脉冲一般设几个时钟周期就行。另外STM32的编码器模式只能测增量编码器绝对值编码器用不了。如果你用的是AS5047P这种绝对值芯片要么用SPI读角度再算速度要么用它的ABI输出接到STM32编码器模式。ABI输出是增量信号但AS5047P的ABI分辨率可以编程最高好像可以到4096线对应14位。用ABI的话STM32配置和普通增量编码器一样。3.4 3码道编码器原理与译码逻辑3码道编码器一般指光电编码器里的三个码道A相、B相、Z相。A和B相差90度用来判断方向和计数Z相每转一圈出一个脉冲用来做零位参考。但有些资料里说的3码道是指绝对编码器的码道设计比如格雷码的3位码道能表示8个绝对位置。如果是增量式的3码道译码逻辑就是A上升沿时如果B是高电平就是正转B上升沿时如果A是高电平就是反转。Z相用来清零计数器或者校准零位。STM32的编码器模式硬件自动做这个译码不需要软件干预。但如果你用外部中断做就要注意消抖和方向判断的时序。如果是绝对式的3码道比如3位格雷码译码就是查表。格雷码的好处是相邻位置只有一位变化不会出现多位同时跳变导致的译码错误。3位只能表示8个位置分辨率很低一般用于粗定位或者换向判断。实际的角度编码器码道数远不止3个常见的有10位、12位、17位。3.5 I2C编码器的地址冲突与总线速度I2C编码器用起来方便两根线就能读角度但地址冲突是个常见问题。比如你一个系统里挂了多个I2C编码器如果地址都一样就冲突了。有些编码器支持地址编程通过引脚或者寄存器改地址有些不支持那就得用I2C多路复用器比如TCA9548A一路变八路。总线速度也要注意。标准模式100kHz快速模式400kHz高速模式3.4MHz。但很多编码器只支持到400kHz你设3.4MHz它不响应。另外I2C总线的上拉电阻很关键一般4.7kΩ总线长的话要减小到2.2kΩ甚至1kΩ。上拉太大上升沿变缓高速下数据出错上拉太小功耗增加低电平可能拉不下去。我实测过在400kHz下总线长度超过30cm用4.7kΩ上拉误码率明显上升。换成2.2kΩ后稳定了。所以如果编码器离MCU比较远要么降低总线速度要么减小上拉电阻要么用差分I2C扩展芯片。4. 常见问题排查与避坑经验4.1 角度跳变与零位漂移的排查思路角度跳变是最常见的问题表现是输出角度突然跳几十度甚至上百。排查顺序先看电源编码器供电是否稳定纹波大不大再看信号线有没有和电机线捆在一起电机PWM干扰很大然后看磁铁或码盘有没有松动、偏心、异物最后看配置滤波参数、零位设置对不对。零位漂移一般是温漂或者磁铁退磁。磁编码器的磁铁如果温度超过居里温度会退磁零位就变了。所以选磁铁要看工作温度钕铁硼一般到80℃就开始退磁钐钴可以到300℃。光电编码器零位漂移一般是光源老化或者码盘变形换光源或者重新校准。我遇到过一个案例编码器装在电机尾部电机长时间运行后温度到90℃编码器零位漂了2度。后来换成钐钴磁铁的编码器问题解决。所以高温场景选型一定要问工厂磁铁材质和温度曲线。4.2 高速下丢步或延迟的解决方法高速丢步一般是编码器响应速度不够。磁编码器的内部转换时间如果太长高速时采样跟不上就会丢步。AS5047P的转换时间好像是最快几十微秒对应最高转速有限。如果你需要更高转速要么选转换时间更短的芯片要么用增量式编码器增量式没有转换时间直接输出脉冲。延迟问题在闭环控制里很致命。编码器从角度变化到输出更新有内部计算延迟和接口传输延迟。SPI传输快延迟小I2C慢延迟大。如果控制环路要求高建议用SPI或者ABI。另外编码器的输出滤波也会引入延迟滤波越强延迟越大所以高速场景要降低滤波或者关闭。我调过一个云台项目用I2C读AS5047P控制环路跑1kHz结果云台总是振荡。后来示波器一看I2C读一次要0.5ms加上控制计算整个环路延迟1.5ms相位裕度不够。换成SPI后读一次只要10微秒振荡消失。4.3 编码器电路设计中的接地与屏蔽编码器电路设计接地和屏蔽做不好后面调试能把你逼疯。首先编码器的地要和电机驱动的地分开最后单点接地。如果共地电机的大电流在地线上产生压降编码器信号就叠加上噪声。其次信号线要用屏蔽线屏蔽层单端接地接在编码器端或者控制器端不要两端都接否则形成地环路。电源也要隔离。如果电机和编码器共用电源电机启停时电压波动编码器可能复位或者输出错误。建议编码器单独用LDO供电或者加磁珠和电容滤波。我一般会在编码器电源脚并一个10uF和0.1uF电容0.1uF尽量靠近引脚。还有SPI或者I2C的时钟线要远离电机线最好垂直交叉不要平行走线。如果实在避不开中间加地线隔离。这些细节看起来小但实际调试的时候能省你好几天时间。4.4 常见问题速查表问题现象可能原因排查方法解决措施角度跳变电源纹波大示波器看电源加LDO和滤波电容角度跳变信号干扰示波器看信号线屏蔽线、远离电机线零位漂移磁铁退磁高温后测零位换钐钴磁铁零位漂移光源老化对比新样品换光源或编码器高速丢步转换时间不够提高转速看输出换增量式或更快芯片高速丢步滤波太强降低滤波看效果减小滤波参数I2C读不到地址冲突扫描总线改地址或用多路复用I2C读不到上拉不对测上升沿调整上拉电阻SPI数据错模式不对对照规格书改CPOL/CPHA控制振荡延迟太大测环路延迟换SPI或ABI这个表是我自己踩坑总结的基本上80%的问题都能覆盖。遇到问题先查表能省很多时间。4.5 工厂合作中的合同与验收要点和工厂合作合同里一定要写清楚验收标准。不要只写“符合规格书”要写具体指标和测试方法。比如“精度±0.1度测试方法为高精度转台全量程测试每10度一个点取最大偏差”。还要写批次一致性要求比如“同批次零位偏差不超过±0.05度”。验收的时候一定要抽检不能只看工厂的出厂报告。抽检比例至少5%关键应用要全检。抽检项目包括静态精度、零位、重复性、外观。如果发现不合格整批退货或者要求全检。我见过一个案例工厂出厂报告全合格抽检发现10%的零位超差最后整批退了。还有交期和售后。交期要写明确日期和违约责任售后要写质保期和响应时间。靠谱的工厂质保期至少一年响应时间24小时内。如果工厂不敢写这些说明他自己心里没底。5. 不同应用场景下的选型建议5.1 机器人关节与云台机器人关节和云台核心需求是小尺寸、高精度、低延迟、绝对值输出。磁编码器是首选因为体积小、抗振动。AS5047P这类芯片做的模组直径可以做到20mm以内精度±0.1度SPI接口延迟几微秒完全够用。如果关节要求更高精度比如协作机器人那就要用光电绝对值编码器17位以上但体积会大一些。云台的话还要考虑重量。磁编码器模组重量可以做到5g以内光电的重一些。另外云台经常有低速甚至零速运行这时候编码器的低速噪声很关键。磁编码器低速噪声一般比光电大所以选的时候要看低速精度指标或者加软件滤波。5.2 电机控制与测速电机控制测速增量式编码器最合适成本低、响应快、接口简单。STM32的编码器模式直接接ABI信号硬件计数CPU负担小。如果电机需要低速大扭矩那可能需要绝对值编码器做初始位置检测但测速还是用增量信号。选增量编码器看线数、输出类型、供电电压。线数根据最低测速和采样周期算比如最低测速1rpm采样周期10ms那每10ms至少要有1个脉冲即线数至少1/(1/60*0.01)6000线太高了。实际一般用1000线到2500线低速时用长采样周期或者插值。5.3 工业自动化与数控转台工业自动化和数控转台精度要求最高一般用光电绝对值编码器17位到23位BiSS或SSI接口。这种场景对可靠性要求也高编码器要耐油污、耐振动、耐高温。选工厂的时候要看有没有工业现场的应用案例有没有EMC认证。数控转台还有一个特殊需求多圈绝对值。因为转台可能转很多圈单圈绝对值不够需要多圈记忆。多圈编码器有机械齿轮计圈和电子计圈两种机械的可靠但贵电子的便宜但断电丢圈需要电池。选的时候根据断电后是否需要保持位置来定。5.4 特殊环境下的防护与定制特殊环境比如真空、高辐射、水下标准编码器用不了需要定制。真空环境要选无润滑脂或者真空润滑脂的轴承材料要低放气。高辐射环境要选抗辐射芯片和材料。水下要选IP68以上防护或者充油密封。这种定制场景一定要找有经验的工厂最好是有同类案例的。定制周期长、成本高所以前期沟通要非常详细把环境参数、寿命要求、接口要求都写清楚。我做过一个真空项目编码器润滑脂放气导致真空度上不去后来换了干膜润滑的轴承才解决。6. 个人实操体会与建议找角度编码器工厂这件事我最大的体会是不要只看价格也不要只看品牌要看匹配度。一个年产值几亿的大厂不一定愿意接你几百颗的小单一个几十人的小厂可能正好专注你这个细分领域技术支持和配合度反而更好。我一般会同时接触三到五家工厂拿样品做对比测试测试数据说话。测试的时候不要只测常温常速要测极限条件比如最高温、最低温、最高转速、最低转速。这些极限条件下的表现才是工厂真实水平的体现。还有和工厂的技术人员保持好关系。很多时候规格书上没写的东西技术人员一句话就能帮你省几天时间。比如某个寄存器的隐藏功能、某个参数的推荐值、某个安装的注意事项。这些经验是工厂交了学费换来的愿意分享给你就是你的运气。最后不要迷信进口品牌。这几年国产角度编码器的进步非常大磁编码器芯片有国产替代光电编码器的码盘和光源也有国产方案。很多国产工厂的精度和可靠性已经能满足大部分工业场景。关键是你要会选、会测、会验收。把上面这些方法用起来找到靠谱的工厂不难。
返回列表