问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

旋转编码器原理与应用详解:从结构到实战

创作时间:
作者:
@小白创作中心

旋转编码器原理与应用详解:从结构到实战

引用
CSDN
1.
https://m.blog.csdn.net/liwangsb2/article/details/146053561

一、旋转编码器是什么?

旋转编码器是一种通过机械旋转产生数字信号的传感器设备,核心功能包括:

  • 360°无限位旋转检测
  • 实时方向识别(左/右)
  • 按压触发功能
  • 高精度位置感知(20位格/圈)

二、内部结构揭秘

2.1 机械组件解剖

  
       ┌───────┐
       │ 轴体  │
       └───┬───┘
           │
┌──────────▼──────────┐
│  弹性接触片         │
│  ┌─◆─K1───────┐     │
│  │    ┌───◆─K2│     │
│  │    │ ┌─◆─K3│     │
└──┼────┼─┼─────┘
  公共端  A  B  (三个引脚)
  

2.2 核心部件说明

部件
功能说明
K1
按压开关(垂直方向触发)
K2/K3
旋转检测开关(相位差90°)
弹片
提供机械反馈和定位

三、电路工作原理

3.1 信号生成机制

旋转时K2/K3产生正交波形:

  
右旋时序:       左旋时序:
A相: _┌─┐_┌─┐     A相: ┌─┐_┌─┐_
B相: ┌─┐_┌─┐_     B相: _┌─┐_┌─┐
  

通过检测两个信号的相位差顺序判断旋转方向

3.2 硬件连接方案

  
        +3.3V
         ▲
         │10KΩ
ENCODER─┼─◆─→ PA6 (A相)
    │    │10KΩ
    ├───◆─→ PB2 (B相)
    │    │10KΩ
    └───◆─→ PA7 (按压)
  

四、关键技术解析

4.1 消抖处理

  • 机械抖动时间:≤2ms
  • 软件消抖方案:
  
if(检测到电平变化){
    delay_ms(20);      // 超时等待抖动
    if(状态仍有效)确认动作
}
  

4.2 方向识别算法

五、典型应用场景

  1. 智能家居:空调温度调节旋钮
  2. 工业控制:数控机床参数设置
  3. 车载系统:多媒体音量控制
  4. 医疗设备:监护仪参数调整
  5. 物联网终端:智能中控面板

六、开发板实战演示


(图3:TM1640显示效果)

核心功能实现逻辑:

  
while(1){
  读取编码器状态();
  if(左旋转){
    计数器--;
    更新数码管显示();
  }
  if(右旋转){
    计数器++;
    更新数码管显示();
  }
  if(按压动作){
    计数器归零;
  }
}
  

七、选型注意事项

参数
推荐值
分辨率
20脉冲/转
工作电压
3.3V-5V DC
机械寿命
>10万次旋转
按压力度
200±50gf
工作温度
-25℃~+85℃

八、相关资源

  1. 洋桃电子B站课程-STM32入门100步
  2. STM32F103xx官方数据手册
  3. STM32F103X8-B数据手册(中文)
  4. STM32F103固件函数库用户手册(中文)
  5. 旋转编码器数码管显示程序
  6. 旋转编码器介绍(中文)
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号