STM32(HAL)——定时器应用-编码器模式

1. 正交编码器原理

码盘:正交编码器有两个光电传感器,另一头有一个光源,当黑白相间的码盘转到白色对准光电传感器时,光电传感器发出一个脉冲。AB之间相隔的角度往往是90°的相位,即白格或者黑格的一半。

在这里插入图片描述

方向:A相和B相相差一个相位,一般来说是90°。A相信号在前表示正转,B相信号在前表示反转。

计数:在每个上升沿或者下降沿检测,检测到计数器就加+1。

线数和脉冲数的关系:假如一个编码器是1024线的,那么它转过一圈,若是只检测上升沿和下降沿,A相和B相应该各自发出了1024个脉冲,计数器记的数应该是2048。如果将其设置为上升沿下降沿都检测,则计数器应该计到了4096。

Z相:有的编码器还有一个Z相,它表示的是0位,即检测到0刻线即输出高电平,也就是给增量式编码器一个寻零的功能。

2. HAL库的编码器模式

STM32的定时器TIM1,2,3,5,8中有专门的编码器模式,省去了我们读脉冲和计数的操作。而且配置全面

可以配置:

计数方式(counter mode):即向上计数还是向下计数,不过使用编码器都是记录转的角度,读取计数器从0开始的计数,所以一般来说都是向上计数

编码器模式(encoder mode):Tl1是只检测上升沿,Tl2只检测下降沿。Tl1 and Tl2是上下沿都检测,那么脉冲数将是只检测一个沿的两倍。

检测极性(Polarity):触发捕获AB相的极性。意思是比如设为Rising Edge,那么检测到上升沿的时候就触发encoder捕获AB相的值

3. 具体配置

将所选TIM中的“Combined Ch

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值