6.7 TIM编码器接口

  1. 编码器接口简介

•Encoder Interface 编码器接口

编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度

•每个高级定时器和通用定时器都拥有1个编码器接口

•两个输入引脚借用了输入捕获的通道1和通道2

编码器有两个输出,一个是A相,一个是B项。将A相和B相,接⼊STM32定时器的编码器接口,编码器接口⾃动控制时基 单元中的CNT计数器,进⾏⾃增或者⾃减,例如:CNT初始值为0,编码器右转 产⽣⼀个脉冲,CNT++,左转CNT--,编码器接口(相当于带有⽅向控制的外部时钟)同时 控制CNT的计数时钟和计数⽅向,CNT的值就表示了编码器的位置,每隔⼀段时间取⼀次 CNT的值再把CNT清零,每次取出来的值就代表 了编码器的速度,编码器的测速实际上就 是测频法测正交脉冲的频率,CNT计次,每隔⼀段时间取⼀次计次。

2. 正交编码器

  • 当编码器的旋转轴转起来时,A相和B相就会输出⽅波信号,转的越快,⽅波的频率越⾼, ⽅波的频率代表速度,取出任意⼀相的信号来测量频率,可测得旋转速度,只有⼀相 的信号⽆法确定旋转⽅向,因为无论正传反转,他都为一条方波。(正交信号:当正转时,A相超前B相90度,翻转时,A相滞后B相90度 提前或者滞后由自己规定)

  • 正转时,第⼀个时刻,A相上升沿,对应B此时是低电平,第⼆个时刻,B相上升沿,对应A 相⾼电平,第三个时刻,A相下降沿,对应B相⾼电平,B相下降沿,对应A相低电平。

  • 反转时,第⼀个时刻,B相上升沿,对应A相低电平,第⼆个时刻A相上升沿,对应B相⾼电 平,第三个时刻,B相下降沿,对应A相⾼电平,第四个时刻,A相下降沿,对应B相低电 平。 当A、B相出现这些边沿时,对应另⼀相的状态,正转和反转正好是相反的

  • 编码器接⼜的设计逻辑是:首先把A相和B相的所有边沿作为计数器的计数时钟,出现边沿 信号时,就计数自增或者自减。

3. 编码器接口基本结构

输⼊捕获的前两个通道,通过GPIO口接⼊编码器的A、B相,然后通过滤波器和边沿检测极性选择,产⽣TI1TP1和TI2FP2,通向编码器接口,编码器接口通过控制预分频器控制CNT计数器的时钟,同时,编码器接口还根据编码器的旋转⽅向,控制CNT的计数⽅向,编码器正转时,CNT自增,编码器反转时,CNT自减。

另外设置ARR为65535最⼤量程,这样利用补码特性很容易得到负数。(直接把16位无符号数转换为16位有符号数,根据补码定义65535对应-1,65534对应-2)

4. 工作模式

编码器接口的工作逻辑:TI1FP1和TI2FP2接的就是编码器的A、B相,在A相和B相的上升沿 或者下降沿触发计数,向上计数还是向下计数取决于边沿信号发⽣时,另⼀相的电平状态 (相对信号的电平)

5. 实例

TI1和TI2均不反相(上升沿)

TI1反相(下降沿)

极性变化对计数的影响

TI1反相后,把TI1高低电平取反,这才是反相后实际给编码器接口的电平。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值