调音台面板上一颗旋钮,转起来要能调音量、按下去要能切换通道、旁边还得亮个灯告诉你当前是哪个模式——这类"带按压+带背光"的一体化旋钮,背后往往就是一颗带 LED 的旋转编码器。设计这类子系统的工程师会碰到一个具体问题:机械触点式编码器只有 A/B 两相脉冲,要判断旋转方向、要消抖、还要搞清楚按压开关和 LED 的引脚怎么走线,一不留神就出现"顺时针转却显示减法"的尴尬。TE Connectivity ALCOSWITCH Switches 的 DPL12SHN24A25K1 就属于这一类产品,归在传感器/变换器大类下的编码器子类中,本文从它的信号输出机理聊到实际电路设计。
从旋钮的转动到 A/B 相位差:增量式编码器内部发生了什么
先说清原理。旋转编码器的主流结构分两种:光学式和机械触点式。DPL12 系列属于机械/接触式一体型,内部有一片带扇形导电区的码盘和几组弹性电刷。旋钮转动时,电刷在码盘上滑动,A 相和 B 相触点交替通断,输出两路方波。
关键在于这两路方波有 90° 的相位差(电气角度),也就是常说的正交信号。顺时针转时 A 相领先 B 相 90°,逆时针转则反过来。MCU 通过判断哪一相先跳变,就能确定方向;通过计数跳变沿,就能得到相对位移量。说白了,方向不是靠某一相的绝对电平判断的,而是靠两相的先后关系——这点新手经常搞混。
触点式结构的优势是成本低、电路简单,A/B 两相可以直接接 MCU 的 GPIO 中断,不需要外部 ADC。代价是触点存在机械寿命和抖动问题,这部分后面章节展开。LED 背光则是独立的一路,通常有共阳或共阴两种接法,通过限流电阻接到 MCU 的一个 PWM 引脚就能调亮度。
DPL12SHN24A25K1 的型号命名能读出哪些信息
TE 的 DPL12 系列型号编码是有规律的,拆开看能大致判断规格。前段 DPL12 代表 12mm 直径的带灯旋转编码器(DPL 通常指 Detent Push LED 这类组合含义),中间的 SH 段落一般指轴型/轴长,后面的 24、25 则涉及脉冲数(分辨率)和按压行程的档位区分。K1、K2、F1、F2 这些后缀,从同系列的兄弟型号看(如 DPL12SHN24A25K2、DPL12SH2424A25K1),差异主要在轴向尺寸、按压手感或电气档位上。
老实说,光看型号没法推出所有参数。分辨率到底是多少脉冲/转、按压开关的额定电流是多少、LED 的正向电压和颜色是双色还是单色——这些必须落到具体 datasheet 上核对。"BL/GR"这个描述提示本型号的灯是蓝绿双色,这对区分工作模式挺方便。
需要说明的是,一款带 LED 的 12mm 编码器,其按压开关和 LED 是两套独立电气回路,共用同一个机械轴体,但信号上互不干扰。接线时要把这两组线分开走,否则 LED 的驱动电流会在开关回路上引入噪声。
选型时怎么判断这颗编码器适不适合你的板子
挑旋转编码器,我一般按下面这个顺序过一遍,避免选完发现装不上或者信号读不准。
- 先卡机械尺寸和安装方式。 12mm 指的是本体直径,但真正决定能不能装的是轴径(常见 6mm 或 6.35mm)、轴长、以及是否带螺纹衬套。面板开孔公差通常要控制在 +0.1/-0 mm,孔大了旋钮会晃,信号抖动直接恶化。
- 再看分辨率够不够。 分辨率用"脉冲/转"或"定位数/转"表示,常见档位是 12、15、20、24 定位。分辨率太低,转一圈菜单滚不远;太高,机械手感变差且抖动风险上升。音频调节这类场景 20~24 定位比较合适。
- 确认输出形式。 增量式输出 A/B 两相;如果还要知道"转到头没有",得选带通道 Z(零位)的型号。DPL12SHN24A25K1 的具体相数需查阅 datasheet。
- 按压开关的电气规格。 大多数这类开关额定 10mA~50mA、12V~24V DC,只能走信号不能带负载。要直驱继电器,得加三极管。
- 环境温度。 这类元件典型工作温区在 -25℃ ~ +70℃ 左右,高温环境下塑料码盘和电刷润滑脂会加速老化,长期可靠性下降。
应用电路里最容易被忽略的几处细节
接线图看着简单,实际调试时踩的坑大多集中在消抖和 LED 驱动上。
抖动问题。 机械触点在每次通断瞬间会产生几十微秒到几毫秒的毛刺。如果直接进 MCU 外部中断,一个机械档位可能被计成好几个脉冲。常见做法是在 A/B 两相各加一级 RC 低通(典型 10kΩ + 100nF,时间常数约 1ms),再配合软件状态机消抖。硬件 RC 和软件消抖二选一往往不够,两者配合才稳。
上拉还是下拉。 编码器的公共端接法决定了 A/B 相是"接通到 GND"还是"接通到 VCC"。前者需要 MCU 内部或外部上拉电阻(4.7kΩ~10kΩ 常见),后者需要下拉。上拉电阻选太大,上升沿变缓,快速旋转时脉冲边沿会被吃掉;选太小,静态功耗上升。经验上 10kΩ 是个折中点。
LED 限流。 蓝绿双色 LED 的正向压降差别不小,蓝光通常 2.8V~3.4V,绿光 2.0V~2.4V。用同一颗限流电阻驱动两色,亮度会明显不一致。分压电阻要按各自 Vf 单独算,别图省事共用。
另外,DPL12SHN24A25K1 的 A/B 相输出是"信号级"还是"开关级",直接决定能否直连 MCU——如果是纯机械触点,必须走上面说的上拉+消抖;如果内部已集成整形,接法可以简化。这点手册上通常会写明,接线前务必确认。
常见工程故障:转动方向反了、计数值跳变、旋钮发烫
这几个现象背后原因各不相同,值得单独拆解。
方向反了。 最常见的原因是 A/B 两相接反,或者码盘安装时轴向装反。软件上也能救——把两相在代码里对调即可,但硬件设计阶段最好留个跳线或 0Ω 电阻做兼容。
计数值随机跳变。 接触电阻随使用时间上升是主因。触点式编码器在微电流、低电压工况下(比如 3.3V 逻辑),电刷表面的氧化膜不易被击穿,接触电阻从初始的几十毫欧爬到几百毫欧甚至更高,MCU 读到的高低电平就变得不可靠。这就是为什么这类器件在信号回路里更"娇气"——它需要一定的湿电流(wet current)来维持接触面清洁。如果你的系统只能提供微安级电流,长期可靠性要打问号。
旋钮发烫。 多半是 LED 限流电阻算错或接错供电电压,导致 LED 过流。蓝光 LED 若按绿光的电阻配置,电流可能翻倍,短时间看不出问题,连续点亮几小时后结温升高,光衰加快甚至烧毁。设计时按最坏情况下的 Vf(最低值)来算限流电阻,留 20% 余量。
DPL12SHN24A25K1 参数与工程含义对照
| 参数名 | 数值 | 工程意义说明 |
|---|---|---|
| 制造商 | TE Connectivity ALCOSWITCH Switches | — |
| 产品分类 | 编码器(Encoders) | 此品类属于位置/运动检测器件,把机械角位移转换成电脉冲序列 |
| 产品描述 | LED ENCODER 12MM HORIZ SW BL/GR | 表示 12mm 卧式安装、带蓝/绿双色 LED 指示的旋转编码器 |
| DigiKey Programmable | Not Verified | — |
| 分辨率(脉冲/转) | 需查阅 datasheet | 决定每转一圈可分辨的最小角度,典型档位在 12~24 定位之间 |
| 输出相数 | 需查阅 datasheet | 增量式通常为 A/B 两相正交输出,带 Z 相可提供零位参考 |
| 工作温度范围 | 需查阅 datasheet | 此类元件典型范围为 -25℃ ~ +70℃,超出后塑料件与润滑脂加速老化 |
| 按压开关额定值 | 需查阅 datasheet | 常见为信号级负载(数十 mA / 数十 V DC),不可直接驱动大电流负载 |
| LED 正向电压 / 电流 | 需查阅 datasheet | 蓝光 Vf 通常高于绿光,双色共用限流电阻会导致亮度不均 |
表里最能影响实际电路设计的是分辨率和输出相数这两项。分辨率决定了你转一格菜单要转多少度——24 定位意味着每格 15°,配合软件加速算法,操作手感会比较顺。如果只有 12 定位,每格 30°,快速翻页时手指会累。输出相数则决定要不要在 MCU 里额外处理零位中断。
按压开关的额定值也不能忽略。这类开关内部是薄膜或轻触结构,额定电流普遍不高,如果误以为它和普通按键一样能直接拉继电器线圈,触点很快就会碳化失效。稳妥的做法是加一级 MOSFET 或三极管做隔离。
写进设计规范的三条落地建议
第一,A/B 两相布线时,无论是上拉还是下拉,电阻值都建议锁在 10kΩ 附近——这个值在上升沿速度和静态功耗之间平衡得比较好。如果用了内部弱上拉(通常 30kΩ~50kΩ),快速旋转时脉冲计数丢失的概率会明显上升,尤其是转速超过 300 RPM 的场景。
第二,双色 LED 的限流电阻必须分别计算。蓝光 Vf 取手册最小值、绿光 Vf 取手册最大值来配电阻,这样两路亮度最接近,也能避免任一颜色过流。电阻功率至少留 2 倍余量,0805 封装起步。
第三,机械触点式编码器的信号回路,尽量给一定湿电流(哪怕 100μA~1mA 量级)。如果系统实在只能提供纯微安级偏置,建议在选型阶段就转向光学或霍尔式编码器,别在机械式上硬扛长期可靠性。这颗 DPL12SHN24A25K1 适合的是面板旋钮这类中等使用频次、有定期维护预期的场合,不是高振动、长寿命免维护的工业现场。