## Rotary Encoder - 旋转编码器
旋转编码器是一种位置传感器,它可以根据旋转运动生成的模拟或数字电信号来确定旋转轴的角位置。我们常用的旋转编码器是增量式编码器,是用来测量旋转的最简单的位置传感器。
{{ :rotarty-encoder-v2.jpg |}}
### 1. 工作原理
{{ :incremental_directional_encoder.gif |}}增量旋转编码器的工作示意
{{ :rotary-encoder-waveform-v2.jpg |}}旋转编码器的输出信号波形
{{ :contact-noise-v2.jpg |}}旋转编码器由于抖动导致的电信号噪声
### 2. 电路连接
{{ ::rotary_encoder_symbol.png |}}KiCad中旋转编码器的原理图符号
{{ ::rotary_encoder_fp.png |}}KiCad中旋转编码器的PCB封装
{{ ::rotary_encoder_3d.png |}}KiCad中旋转编码器的PCB 3D效果图
{{ :rotary_encoder_schematic.png |}}用一个旋转编码器和2个按键构成的输入控制系统原理图
### 3. 用MicroPython控制
* [[mp_rotary_encoder|用MicroPython驱动旋转编码器]]
### 4. 用Arduino控制
* [[arduino_rotary_encoder|用Arduino控制旋转编码器]]
### 5. 用Verilog控制
参见[[fpga_quad_decoder|用FPGA做正交解码]]
- [[verilog_rotary_encoder|基于STEP FPGA的旋转编码器电路驱动]]
- [[旋转调节系统设计|基于旋转编码器的调节系统设计]]
### 6. 参考技术文章
* [[https://www.allaboutcircuits.com/projects/how-to-use-a-rotary-encoder-in-a-mcu-based-project/|How to Use a Rotary Encoder in an MCU-Based Project]]
* [[https://microcontrollerslab.com/rotary-encoder-module-interfacing-pic/|Rotary Encoder Module interfacing with pic16f877a microcontroller]]
* [[https://www.electronicshub.org/position-sensors/|Position Sensors - Types, LVDT, Rotary Encoder]]