EC11 旋转编码器
说明
- 本页记录
EC11旋转编码器的原理图, 接线方式和方向判定思路. - 适合做菜单旋钮, 参数调节和本地人机输入时的硬件上手记录.
参考资料
原理图

基本使用
- 当按钮按下时,
D可以读取到低电平. - 当旋转旋钮时,
A和B会产生相位错开的脉冲信号. - 只要在
A的边沿采样B的电平, 就可以判断旋转方向.
常用判断思路:
A状态变化后, 若B当前状态等于A, 记为逆时针.A状态变化后, 若B当前状态不等于A, 记为顺时针.
信号理解
A +-----+ +-----+ +-----+
| | | |
| | | |
+-----+ +-----+
B +-----+ +-----+ +-----+
| | | |
| | | |
+-----+ +-----+
+--------------------------------------->
CW direction
接线
+--------+ +---------------------------------+
| | | |
| A +--------------+ GPIO_A (internal pull up) |
| | | |
+-------+ | | |
| | | GND +--------------+ GND |
+-------+ | | |
| | | |
| B +--------------+ GPIO_B (internal pull up) |
| | | |
+--------+ +---------------------------------+
GPIO_A上拉输入.GPIO_B上拉输入.
时序理解
一定位一脉冲 EC11 时序图:
- 正转一格 -> 停顿 -> 连续正转 -> 停:

- 反转一格 -> 停顿 -> 连续反转 -> 停:

可以把 A 视为时钟, B 视为数据:
- 正转时, 在时钟下降沿处, 数据线为高电平; 或在时钟上升沿处, 数据线为低电平.
- 反转时, 在时钟下降沿处, 数据线为低电平; 或在时钟上升沿处, 数据线为高电平.
一个便于记忆的经验总结是:
- 在时钟下降沿处,
A / B反相时可视为正转. - 在时钟下降沿处,
A / B同相时可视为反转.
使用建议
- 软件上要做去抖动, 否则一格旋转可能被识别成多次抖动触发.
- 若同时使用按压功能, 还要单独处理按键消抖和长按逻辑.
- 如果旋转方向和预期相反, 可以优先对调
A/B两路接线或调整软件判断逻辑.