尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Bourns Micro Encoder微型编码器深度解析:高可靠设计与工程实践

Bourns Micro Encoder微型编码器深度解析:高可靠设计与工程实践 做嵌入式开发和硬件设计这些年编码器是我几乎每个项目都会碰到的器件。旋钮、菜单调节、音量控制、设备参数设定面板上只要有人机交互就少不了它的位置。Bourns这个牌子做电位器、编码器做了几十年在很多医疗仪器、工业仪表、服务器面板、专业音频设备里都能看到。这次他们发布的新品Micro Encoders标题信息量很足高可靠性、紧凑设计。做过面板设计的人都知道这两个词放在一起有多难体积往小做接触件、结构件、密封设计全都得跟着缩可靠性还能不能保住才是真正考验功力的地方。这篇文章就从产品定位、工作原理、选型参数、电路设计到实际使用中的坑完整梳理一遍。1. 这次新品“新”在哪Micro Encoder的市场定位与产品逻辑1.1 为什么“微型高可靠”是刚需从下游需求倒推。现在面板设计趋势就是按钮、旋钮都变小但功能密度反而要增加。医疗手持设备、对讲机、数控设备的操控面板、实验室仪器每个产品的PCB空间都在压缩。普通11mm、12mm编码器还能放但很多需要管脚间距小、占用面积小的场景比如手持终端侧面的调参旋钮就挤不进去了。所以“微型”不是厂商为了追求小而小而是下游设备形态倒逼的。但单纯小没意义因为编码器是机械旋转部件是面板上最容易坏的东西之一。用在医疗设备里可能每天要转几百次一用就是五年十年用在野外设备还有粉尘、湿度、温差。这种情况下如果为了做小而牺牲了触点材料和结构强度返修率会让工程师崩溃。所以高可靠性和紧凑设计必须同时成立才叫一款合格的新品。1.2 Bourns在编码器上的技术路径选择作为一个从事元器件应用的人每次看Bourns这类老牌厂商发布编码器新品我会习惯性关注几个方面触点方案用的是电刷还是光学/磁性传感密封结构有没有提升端子强度够不够机械寿命标称值是多少。编码器家族里传统机械式增量编码器因为结构简单、成本低、能在高低温环境下工作长期以来一直是工业面板的主流。这次“Micro Encoders”的命名说明他们的策略是想在微型增量编码器这个细分赛道上卡位。相比光学编码器机械式增量编码器在精密性上不占绝对优势但它有非常好的环境耐受性不担心灰尘遮挡光栅、不依赖精密光机电对位这对工业、医疗这类对可靠性有硬性要求的场景很关键。同时机械式在小型化过程中最大的难题不是做不小而是做小了之后手感、寿命是否能保持住——这里就看供应商的制造能力了。1.3 和电位器相比编码器的好处这里顺便说一个很多人问我的问题同样是旋钮为什么现在越来越多的设备把传统电位器换成编码器核心原因有三点。第一电位器输出模拟电压时间一长碳膜磨损会产生噪声阻值漂移最终导致参数不准。编码器输出数字脉冲信号明确几乎不受阻值老化的影响。第二电位器只能做绝对位置上电需要重新标定编码器可以配合MCU记忆位置支持多圈调整、非线性映射、菜单层级切换交互方式灵活很多。第三面板上如果还要做一个开关机或菜单键编码器可以把按键开关集成在一个组件里缩短装配链减少物料和焊点整体可靠性反而更高。2. 技术拆解Micro Encoder的原理与可靠性设计2.1 增量式编码器的工作原理这类微编码器大多是增量编码器。核心结构不复杂旋转轴带动一个带导电图案的码盘码盘旁边固定电刷或者直接在PCB上走铜箔触点旋转时电刷与码盘接触点不断通断形成脉冲信号。增量编码器一般输出两路信号A和B两路相位相差90度通过判断哪一路相位在前就能识别旋转方向单位时间内脉冲数量的累计就能得到旋转了多少步。机械式编码器通常还会做“定位点”也叫detent转到一个档位时手感有个“咔哒”定位对应的是一个稳定的输出状态。这种带档位的手感在面板设备里非常重要用户不需要盯着屏幕就知道自己旋了几格。2.2 紧凑设计带来的硬约束这里稍微展开一点。尺寸缩得很小之后码盘直径也跟着缩但每圈需要的脉冲数如果不变每一格对应的机械角度就变小触点对位精度要求就会提高。这种情况下如果材料热胀冷缩或者结构件有装配公差就会出现脉冲输出不稳定、掉脉冲的情况。所以做微型编码器真正的技术难点在于一是码盘图案的精度和材料选型二是轴和轴承的同心度三是外壳定位结构的公差控制。这些都不是把尺寸缩小就能顺手做到的。我见过一些便宜的国产编码器新的时候手感还行用了不到半年就开始出现定位点偏移其实就是内部码盘和电刷的定位结构在长期受力下发生了磨损和位移。2.3 “高可靠性”具体落在什么细节高可靠性不是一个营销词可以从几个维度来看机械寿命通常用“转数”表示微型编码器要做到1万到几万转不难但要做到10万转、20万转以上对电刷耐磨性和码盘镀层的考验就非常大了。接触可靠性电刷和码盘的材料决定接触电阻的稳定性接触电阻波动大了MCU就可能读到乱码。端子强度微型器件的端子比常规器件更细面板装配、线束插拔、运输振动都容易让端子变形端子设计如果不过关虚焊风险会明显升高。环境耐受包括工作温度范围、防尘、防轻微油污等。面板应用不可能做到完全密封所以内部结构要能避免异物直接进入触点区域。以Bourns的产品习惯来说他们在接触材料上通常比较保守更倾向于用经过长期验证的合金材料而不是为了降低成本去换便宜的镀层。这种保守在消费电子里可能显得不够新潮但在医疗和工业设备里恰恰是加分项。2.4 A/B相输出和集成按键和很多面板编码器一样Micro Encoder通常会把一个轻触开关集成在里面。按键和旋转轴同轴向下按压时触发一个独立的开关信号这种结构在仪表面板尤其是菜单调节场景下非常省事旋转选择菜单项按下确认一个器件干两件事。这个设计在物料管理上也有优势但要注意按键信号和旋钮信号最好在硬件上隔离处理否则按压瞬间可能导致A/B相误触。这个后面讲电路的时候会详细说。3. 从选型到落地电路设计、PCB布局与焊接3.1 选型时要看的5个关键参数给一个实用的选型表。根据中等面板级应用经验看这几点基本够用。参数建议关注方向参考说明安装方式THT、SMD批量产品考虑SMD原型验证用THT更方便脉冲数12、24 PPR菜单调节12档够用精细调参选24档定位档位与脉冲数匹配带档位的操作手感更清晰是否带按键是/否需要确认下按结构是否会和旋转冲突机械寿命≥10万转高可靠场景建议选标称寿命更长的型号这里有一个容易踩的坑脉冲数不一定越多越好。很多设计师觉得24档比12档高级实际上面板空间本来就小如果一屏菜单只有五六个选项24档意味着每格角度只有15度旋转时手指需要非常精细地控制反而容易转过头。多数菜单场景12档手感更自然只有在需要精细调节数值的场景比如调音量或者设温度再考虑24档。3.2 典型接口电路Micro Encoder这类机械式编码器的输出本质上是一个机械开关触点。如果直接用MCU的GPIO去读大概率会遇到抖动脉冲。抖动来源于触点接触瞬间的弹跳和材料回弹持续时间通常在几毫秒到十几毫秒而MCU如果以较高频率采样就会把这部分毛刺当成有效旋转信号。最稳妥的做法是硬件上做RC滤波后面再接施密特触发器整形或者直接进MCU的IO口开启内部上拉加软件去抖。这里给出一个标准电路思路A/B相和按键各接一个GPIO开内部上拉每个信号线对地并联一个100nF左右的电容配合上拉电阻做RC低通MCU侧使用定时器中断每1到2ms扫描一次旋钮状态解码采用状态机不认瞬时跳变。用代码展示核心解码逻辑2-bit状态机#define ENC_A_PORT GPIOA #define ENC_A_PIN GPIO_PIN_0 #define ENC_B_PORT GPIOA #define ENC_B_PIN GPIO_PIN_1 static uint8_t last_ab 0; static int32_t encoder_counter 0; const int8_t lookup_table[16] { 0, // 00 - 00 -1, // 00 - 01 1, // 00 - 10 0, // 00 - 11 1, // 01 - 00 0, // 01 - 01 0, // 01 - 10 -1, // 01 - 11 -1, // 10 - 00 0, // 10 - 01 0, // 10 - 10 1, // 10 - 11 0, // 11 - 00 1, // 11 - 01 -1, // 11 - 10 0 // 11 - 11 }; void encoder_scan(void) { uint8_t a HAL_GPIO_ReadPin(ENC_A_PORT, ENC_A_PIN) ? 1 : 0; uint8_t b HAL_GPIO_ReadPin(ENC_B_PORT, ENC_B_PIN) ? 1 : 0; uint8_t current_ab (a 1) | b; int8_t step lookup_table[(last_ab 2) | current_ab]; if (step ! 0) { encoder_counter step; } last_ab current_ab; }解释一下这段代码lookup_table一共16个entry是根据上一状态和当前状态组合出来的转移表。只有状态按照A/B相的合法顺序变化时才产生1或-1任何乱序跳变都被忽略相当于把抖动和非法状态直接过滤了。机械编码器最常见的“往一个方向转偶尔后退一格”问题用了这个表之后基本能消除。3.3 PCB布局与封装设计注意点微型编码器的封装尺寸小焊盘之间的距离就很近。布局上注意几点不要把编码器的过孔打在焊盘内侧否则焊接时焊锡会沿过孔流走造成虚焊。A/B/按键/公共端的走线尽量短最好走底层完整地平面做参考减少天线效应。如果编码器靠近板边要考虑面板装配时的机械应力建议加两个固定焊盘或结构柱分担拉力。同一块板上有多个编码器时引脚编号顺序容易看反开板前一定对照规格书的底视图核对一遍。我自己的习惯是第一次用某个新封装时会在PCB设计阶段把3D模型导出来和实际样品的外形尺寸比一遍。微型编码器的轴长和旋钮匹配度也很关键轴太短旋钮会顶到面板轴太长视觉上又显得突兀。这些都要在打样前确认好。3.4 回流焊与手动焊接工艺细节批量生产如果是SMD封装回流焊的温度曲线要参照器件规格书的峰值温度通常无铅回流焊峰值在245℃到260℃之间。器件体积小热容小冷却速度如果太快外壳和金属端子之间的应力容易累积这个在温度循环测试时容易出现裂纹。手动焊接的时候要控制烙铁温度在350℃以下焊接时间不超过3秒避免把塑料本体烫变形。对于THT封装用波峰焊时要留意端子伸出板面的长度不要过长否则切脚时容易把焊盘带松。如果手边没有波峰焊用烙铁逐个焊接焊完后用放大镜检查相邻焊盘有没有桥连微型编码器端子间距一般在2.54mm以内桥连概率不小。4. 实战记录把Micro Encoder接入MCU的完整过程4.1 硬件接线实际项目里我的接法很固定公共端接GNDA相接MCU PB0B相接MCU PB1按键输出接PB2三个信号每个对地接一个100nF电容在MCU初始化里开启内部上拉。这里有个容易被忽略的点微型编码器的公共端一般是金属外壳或者共用一个pin接地一定要可靠否则两路信号会通过公共端的寄生电容形成串扰导致低速旋转时偶尔出现双脉冲。4.2 软件解码流程除了上面的2-bit状态机还可以用一个更直观的“半周期计数”方案检测A相上升沿同时读B相电平如果B为高认为是顺时针B为低认为是逆时针。这个方法代码简单但抗抖动能力弱适合对精度要求不高的场合。我在正式项目里更倾向于状态机因为可靠性优先代码本质也不复杂。定时器方面建议把编码器扫描放在一个1ms的定时器中断里不要放在主循环轮询。主循环一旦被某个阻塞函数卡住旋钮就会丢脉冲。如果MCU资源紧张也可以把扫描放在一个低优先级的定时中断里但要注意中断嵌套时的竞争问题。4.3 测试与验证做完软件之后建议做一个连续旋转的测试程序让电机带动编码器匀速旋转或者在手动旋钮上装一个带计数圆盘的治具每秒记录一次方向变化对比实际转动方向和步数。这样能很快暴露两个问题一个是旋转方向是否和预期一致另一个是有没有漏步。实测时可以把GPIO采样频率提高到5ms一次连续转50圈统计计数器变化。如果出现累计误差先看示波器上的A/B波形判断是硬件抖动还是软件解调逻辑问题。正常情况下Bourns这类编码器的信号质量是比较干净的如果波形上出现明显毛刺优先检查机械装配和接地而不是换解码算法。4.4 手感、力矩和使用寿命的权衡使用体验上微型编码器的“手感”主要取决于两件事定位档位的力矩峰值和脱离定位点的平滑度。力矩太小旋起来软绵绵力矩太大操作久了手指容易酸。选型时如果没法实际试用可以在样品阶段准备几个不同力矩的型号并排测试让最终用户参与盲测这个经验比看规格书有用得多。寿命上机械式编码器电刷会磨损磨损后的表现一般是定位感变弱、输出脉冲变窄严重时某一个档位会一直触发。如果应用场景每天旋转次数很多建议选标称寿命更长的型号并在硬件设计上预留检测通道便于运维阶段早期发现故障趋势。5. 常见问题与排查技巧实录5.1 旋转时数值乱跳现象顺时针旋转时计数器忽上忽下不完全递增。原因信号线上没有滤波电容触点抖动被MCU采集MCU采样频率过高把机械回弹也当成了有效信号公共端接地不良。排查先用示波器看A/B波形确认抖动幅度和毛刺宽度然后在软件里把扫描周期放到2ms到5ms配合状态机解码。多数情况改软件就解决了但如果毛刺非常多还是要回到硬件滤波。5.2 方向判断反了现象顺时针旋转输出的是递减逆时针反而递增。原因A/B相交换了。这种问题最常见但原理上很简单增量编码器的AB相位逻辑是固定的交换A/B就相当于把方向矩阵反过来。解决软件上把状态机里A/B的读取顺序对调或者硬件上交换A/B引脚的接线。从维护方便性来说我更推荐在软件上对调因为不需要改板子。5.3 用一段时间后一个方向失灵现象设备用了一两年后某个方向的步进变得不灵敏偶尔不动。原因触点磨损导致接触电阻变大个别码盘扇区信号丢失。也有可能是金属粉尘积聚在触点之间造成短路。处理这是机械式编码器的通病除非更换更高寿命型号否则只能作为耗材考虑。设计产品时最好选端子带出线比较容易拆换的结构别把编码器直接埋在结构深处。5.4 按键触发不灵敏或误触发现象按下时偶尔没反应有时候转旋钮却触发按键。原因按键开关的行程和旋转轴的同心度不够机械结构设计时下压位置受力不均软件没有给按键做防抖。注意微型编码器空间小轴和按键之间的间隙很小装配时如果外壳压得太紧旋转的轴向窜动有可能直接压到按键这种情况需要在结构设计阶段留出足够间隙。5.5 回流焊后外壳变形或端子翘起现象过完回流焊之后编码器的定位卡扣松动或外壳有轻微变形端子有浮起。原因升温速率过快或峰值温度超标器件自身吸热过快导致塑料本体翘曲。处理检查回流焊曲线升温速率建议控制在2到3℃/s以内峰值温度不要超过规格书限制。同时检查贴片机吸取位置避免吸取时压伤本体。6. 一些实操体会和经验建议6.1 值得重点关注的新品方向从我接触过的Bourns产品来看它们在编码器上的思路一直比较稳健不太追花哨的功能。这次把微型化和高可靠性放在一起其实是顺应了工业设备和医疗设备面板小型化的趋势。对设计工程师来说器件体积缩小意味着整机结构自由度变大节省出来的空间可以用来放更大的电池、更厚的散热器或者干脆把整机做小这是实打实的价值。6.2 后续可以扩展的方向微型编码器后续可以往两个方向扩展一个是集成更多功能比如把RGB背光指示灯集成到中心位置或者在编码器内部集成角度绝对值检测。另一个是往更严苛的温度范围和高防护等级走把应用场景从室内面板推向户外设备。如果你现在正在做面板类产品手头正好缺一个小体积、高寿命的旋钮器件可以把这类Micro Encoder列进选型清单里尺寸虽然小但用在关键位置的可靠性不容小觑。
返回列表