旋转编码器与STM32的编码器接口学习

一、旋转编码器

  编码器就是将角位移或者直线位移转换成电信号再转换成计数脉冲的仪器,编码器类型主要有增量型编码器和绝对型编码器。

  增量型旋转编码器原理简析

  1、编码器转动方向的判定

   A、B两个点放置两个光敏接收管,间距为S2,旋转角度盘有间距S1的S光源区和间距为S0的非光源区,当角度盘转动时,光源区经过AB两点时使得AB通道分别输出高电平,非光源区经过时则输出低电平,因此AB输出信号有四种情况(11、10、01、00),每一种信号转换间隔为S2,因此通过比较AB两通道的信号值与下一个信号值作比较即可获得角度盘转动的方向 —— 正转时A在前B在后,反转时B在前A在后。

  2、编码器转动周期和速度计算

   增量编码器除去AB两个通道信号,还有一个Z信号,角度盘每转一周输出一个Z信号脉冲,作为编码器的零位脉冲定位,也可通过Z信号计算得出编码器的转速与周期

 

二、STM32定时器编码接口模式

三、STMF4定时器编码接口模式配置

1、配置A、B的输入IO口为浮空输入

2、配置定时器单元(TIM_Period、TIM_Prescaler、ClockDivision、Counter Mode)

3、配置对应寄存器为编码器接口模式以及配置相关的输入捕获设置

     TIM_EncoderInterfaceConfig

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EC11是一种常见的旋转编码器,适用于微控制器的输入设备。STM32是一系列32位ARM Cortex-M微控制器的型号。下面是关于EC11旋转编码器STM32源码的简要说明。 首先,要使用EC11旋转编码器,我们需要将其连接到STM32微控制器的相应GPIO引脚。这通常涉及到连接旋转编码器的A相、B相和SW(按下旋转编码器)引脚到微控制器的GPIO引脚,并进行所需的外部中断或输入捕获配置。 接下来,我们可以编写STM32源码来读取EC11旋转编码器旋转和按键事件。首先,我们需要设置GPIO引脚的相关配置,如输入模式、中断触发方式等。 然后,我们可以使用STM32的外部中断或输入捕获模块来检测旋转编码器旋转事件。外部中断可以在旋转编码器的A相或B相引脚上触发,并且可以根据A相和B相的相位关系来判断旋转方向。另外,输入捕获模块可以用来测量旋转编码器旋转速度。 此外,我们还可以使用GPIO中断来检测EC11旋转编码器的按键事件。当按下旋转编码器的SW引脚时,相关的GPIO中断会被触发,我们可以在中断处理函数中处理按键事件。 根据具体的需求,我们可以编写处理旋转和按键事件的代码,例如更新显示、调整参数等。这些代码可以根据旋转编码器旋转方向增加或减少数值,或执行其他相关操作。 综上所述,通过合适的GPIO配置和适当的中断处理,我们可以编写STM32源码来实现对EC11旋转编码器的读取和响应。这样,我们就能够利用EC11旋转编码器STM32微控制器提供旋转和按键输入功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值