在此项目中,我们将使旋转编码器与ARDUINO交互。ARDUINO UNO是基于ATMEGA控制器的开发板,专为电子工程师和业余爱好者设计。在ARDUINO中,我们有20个I / O引脚,因此我们可以对20个UNO引脚进行编程,以用作输入或输出。
甲旋转编码器是用于了解马达或轴的运动和角运动的位置。它通常是一个三端子设备,带有电源和接地引脚,总共有五个端子。旋转编码器模块如下所示。
旋转编码器的引脚为:
- 地面
- 正连接至+ 5V
- 输出信号A针
- 输出信号B针
- 时钟针或普通针
ENCODER提供代表轴位置变化的脉冲,以供系统理解。考虑旋转编码器已通电并且轴已移动。
如上表所示,考虑将轴顺时针方向移动。这样,A端然后B端将有下降沿。
考虑将轴逆时针移动。这样,在B端子然后在A端子将有下降沿。
对于360/20 = 18度,此边缘将出现一次(这对于20位编码器,此类型因类型而异,计数越高,精度越高)。
在以上两个条件下,我们可以获得方向和旋转度。因此,我们获得了获取轴位置所需的参数。
所需组件
硬件: Arduino uno板,连接引脚,220Ω电阻,LED(八个),1KΩ电阻,220Ω电阻(2个),100nF电容器(2个),面包板。
软体:每晚Arduino
电路图和工作说明
此处的电容器用于抵消ENCODER中的触点弹跳效应。没有这些电容器,位置读取会出现一些严重的问题。
当轴移动时,两个输出引脚输出之间会有时间差。Arduino UNO将为逆时针旋转的顺时针方向识别该时差。
如果顺时针旋转,二进制计数将增加一,该计数将在LED端口中显示,如图所示。
如果旋转为逆时针,则二进制计数减一,并且二进制计数显示在LED字节处。
的工作 的Arduino与旋转编码器 进行说明步步在C代码下面给出。