打印
[其他ST产品]

基于CubeMX-STM32F1_Encoder 接口读取 EC11

[复制链接]
867|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kzlzqi|  楼主 | 2024-1-30 16:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
简介
Encoder
增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。
绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。

由上可知 EC11 属于增量式编码器的类型

EC11 旋转方向及波形图
编码器 CW、CCW

当顺时针方向旋转(CW)时输出的波形为

1、以 A 端为参考
当 A 为高电平时,B 会出现上升沿跳变。
当 A 为低电平时,B 会出现下降沿跳变。

2、以 B 端为参考
当 B 为高电平时,A 会出现下升沿跳变。
当 B 为低电平时,A 会出现上降沿跳变。

当逆时针方向旋转(CCW)时输出的波形为

1、以 A 端为参考
当 A 为高电平时,B 会出现下升沿跳变。
当 A 为低电平时,B 会出现上降沿跳变。

2、以 B 端为参考
当 B 为高电平时,A 会出现上升沿跳变。
当 B 为低电平时,A 会出现下降沿跳变。

使用特权

评论回复
沙发
kzlzqi|  楼主 | 2024-1-30 16:47 | 只看该作者
当 MCU 无 Encoder 功能时可参考上述解释通过端口的中断来识别 EC11 的旋转

使用特权

评论回复
板凳
kzlzqi|  楼主 | 2024-1-30 16:47 | 只看该作者
EC11 应用电路图

使用特权

评论回复
地板
kzlzqi|  楼主 | 2024-1-30 16:47 | 只看该作者
定时器的 Encoder 功能
使用通用定时器的 Encoder 功能时要确定该定时器是否支持,
例如:
STM32F1 中 高级定时器 TIM1&TIM8、通用定时器 TIM2 - TIM5 都支持 Encoder 功能,但基本定时器 TIM6&TIM7 不支持 Encoder 功能
STM32F4 中 高级定时器 TIM1&TIM8、通用定时器 TIM2 - TIM5 都支持 Encoder 功能,但通用定时器 TIM9 - TIM14 和 基本定时器 TIM6&TIM7 不支持 Encoder 功能

Encoder 功能接口:根据两个输入信号的跳变顺序,产生计数脉冲和方向信号。根据两个输入信号的跳变顺序,计数器向上或向下计数,同时硬件对 TIMx_CR1 寄存器的 DIR 位进行相应的设置。不管计数器是依据 TI1 计数、依靠 TI2 计数或者靠 TI1 和 TI2 计数,在任意输入端(TI1 或 TI2)的跳变都会改变 DIR 位。

使用特权

评论回复
5
kzlzqi|  楼主 | 2024-1-30 16:47 | 只看该作者
使用 CubeMX 来配置 Encoder 功能
选择 Encoder 模式

使用特权

评论回复
6
kzlzqi|  楼主 | 2024-1-30 16:48 | 只看该作者
计数器的预分频器
该参数设置的定时器 PSC 寄存器的值,PSC 值与计数器相关,计数器的时钟 CK_CNT = fCK_PSC/(PSC[15:0]+1)
该值的设定与选择的 Encoder 模式相关

使用特权

评论回复
7
kzlzqi|  楼主 | 2024-1-30 16:48 | 只看该作者
设置 Encoder 的模式为 TI1

使用特权

评论回复
8
kzlzqi|  楼主 | 2024-1-30 16:48 | 只看该作者
设置 TI1 模式下 TIMx_CCER 寄存器的 CC1P 位,计数为下降沿

使用特权

评论回复
9
kzlzqi|  楼主 | 2024-1-30 16:48 | 只看该作者
以上配置结合 EC11 数据手册,MCU 的 Encoder 接口模式进行配置

使用特权

评论回复
10
kzlzqi|  楼主 | 2024-1-30 16:48 | 只看该作者
生成代码处理
启动 Encoder 功能
在 TIMx Encoder 功能的初始化函数中添加启动编码器函数,使能通道 1

HAL_TIM_Encoder_Start(&htim2,TIM_CHANNEL_1)

使用特权

评论回复
11
kzlzqi|  楼主 | 2024-1-30 16:49 | 只看该作者
获取计数器值
获取计数器寄存器 TIMx_CNT 的值

__HAL_TIM_GET_COUNTER(&htim2)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

105

主题

858

帖子

2

粉丝