文档
360度旋转编码器模块 — 技术文档
概述
360度旋转编码器模块基于 EC11 型旋钮编码器,支持无限360°旋转。模块输出 AB 双相正交脉冲信号,可通过相位关系判断旋转方向;另带一个按键开关(C引脚),按下时输出低电平。广泛应用于音量调节、菜单导航、电机位置检测、工业控制面板等场景。
核心参数
| 参数 | 规格 |
|---|---|
| 型号 | EC11 型旋转编码器 |
| 脉冲数 | 20 脉冲/圈(每圈20个完整AB周期) |
| 工作电压 | 3.3V ~ 5V DC |
| 输出类型 | 数字信号(AB正交编码 + 按键) |
| 旋转角度 | 360° 无限旋转 |
| 引脚数 | 5 引脚 |
| 模块尺寸 | 约 20mm × 18mm |
| 工作温度 | -20°C ~ +85°C |
引脚定义
| 引脚 | 名称 | 方向 | 功能描述 |
|---|---|---|---|
| 1 | GND | — | 电源地 |
| 2 | VCC | 输入 | 电源正极,3.3V ~ 5V |
| 3 | A | 输出 | A 相脉冲输出(数字信号) |
| 4 | B | 输出 | B 相脉冲输出(数字信号,与A相差90°相位) |
| 5 | C | 输出 | 按键开关输出(按下为低电平,常态高电平/上拉) |
注意:不同厂商标注可能略有差异,建议以模块背面丝印为准。A/B引脚通常已板载上拉电阻,可直接接MCU GPIO读取。
电气特性
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| 供电电压 VCC | 3.0 | 5.0 | 5.5 | V |
| 工作电流 | — | ~1 | 5 | mA |
| A/B 输出高电平 | 0.7×VCC | VCC | VCC | V |
| A/B 输出低电平 | 0 | 0 | 0.3×VCC | V |
| 按键接触电阻 | — | — | 100 | mΩ |
| 按键寿命 | — | 100,000 | — | 次 |
| 旋转寿命 | — | 30,000 | — | 圈 |
工作原理
EC11 编码器内部有A、B两组触点,旋转旋钮时,两组触点按90°相位差交替导通/断开,产生如下波形:
顺时针旋转 (CW):
A: ──┐ ┌──┐ ┌──
└───┘ └───┘
B: ┌──┐ ┌──┐
────┘ └───┘ └───
逆时针旋转 (CCW):
A: ──┐ ┌──┐ ┌──
└───┘ └───┘
B: ───┐ ┌──┐ ┌──
└───┘ └───┘
判断方向方法:在A信号下降沿(或上升沿)读取B信号电平:
- B = 高电平 → 顺时针 (CW)
- B = 低电平 → 逆时针 (CCW)
典型应用电路
┌──────────────────────────┐
│ 360°旋转编码器模块 │
│ │
│ GND ────┬─────────────── GND
│ VCC ────┼─────────────── +3.3V / +5V
│ │
│ A ────┼───┬── 10kΩ ── VCC (模块已板载上拉)
│ │ └──────────── MCU GPIO (如 PA0)
│ │
│ B ────┼───┬── 10kΩ ── VCC (模块已板载上拉)
│ │ └──────────── MCU GPIO (如 PA1)
│ │
│ C ────┼───┬── 10kΩ ── VCC (模块已板载上拉)
│ │ └──────────── MCU GPIO (如 PA2)
└──────────┘
模块通常已集成上拉电阻和滤波电容,可直接连接MCU。若使用长线缆连接,建议在MCU端额外加100nF滤波电容到地。
使用注意事项
- 上拉电阻:模块已板载10kΩ上拉电阻,A/B/C引脚空闲时为高电平。不要额外在MCU侧添加强上拉。
- 消抖处理:机械触点切换时存在抖动(典型1~5ms),软件必须做消抖。推荐使用状态机法或延时滤波,不建议仅靠简单delay。
- 中断 vs 轮询:对实时性要求高的场景(如音量调节),建议使用外部中断(上升沿或下降沿触发);一般场景用轮询即可。
- 按键检测:C引脚为按键开关,按下时接地。同样需要消抖(20~50ms延时判断)。注意区分"短按"和"长按"场景。
- 电源:模块工作电压兼容3.3V和5V,但输出高电平等于VCC。若MCU为3.3V逻辑,请用3.3V供电,避免5V输出损坏IO口。
- 旋转速度:EC11机械编码器不适合超高速旋转(>60 RPM可能丢脉冲),高速场景考虑光电编码器。
- 方向一致性:不同批次A/B相位对应方向可能相反,建议在代码中测试后微调方向判断逻辑。