STM32——定时器实现旋转编码器瞬时速度的测量功能

在上一节的基础上,在定时器上增加了调节旋转编码器实现测量瞬时速度的功能,

代码增加如下,且删除选择内部时钟、触发源选择的代码

通过定时器的编码器接口实现自动计次,为了提高效率。一般用于电机速度的测量

VID_20240729_214117

以上就是实验,顺时针转为正传,且转的越快,速度越大,即正转编码器自增,且在停留很小的时间后,立马归零。反之为逆时针反转,编码器自减。

理论部分如下:使用测频法进行测量

采用正交编码器进行判断正传还是反转:抗噪声(需要两个信号同时变化一样的规律才识别,否则认为是噪声)、精度提高,正反转就是B比A滞后或者提前1/4个周期。

根据右边的表进行判断,当来上升或者下降沿时,通过判断另一个的高低电平进行判断是正转还是反转。

具体电路如下所示:其中边沿检测极性选择部分:本来是对上升沿和下降沿的一个极性选择,但是由于正交编码器不论是上升沿还是下降沿均计数,因此此处就变成高低电平的极性选择,选择上升沿就是信号直通过来,高低电平极性不反转,而选择下降沿则表示反相,相当于接一个非门,高低电平接过来取反为低高电平。

仅在TI1计数就是在正交编码器中只使用A相的上升沿或者下降沿计数;

仅在TI2计数就是在正交编码器中只使用B相的上升沿或者下降沿计数;

在两个上就是A、B相的上升沿和下降沿都用来计数,精度更高。

正转状态都是向上计数,反转状态都是向下计数。

展示了出现噪声时,计数是来回计数,并不受噪声的影响,正交编码器的优点。

以下是TI1和TI2都不反相的情况:

当出现TI1反相时,表示需要对输入信号的TI1整体取反,譬如下图,应该为

,然后对照表格得出计数器的值。

当你希望某个方向为正转,某个为反转,但是输出的自增自减与你希望的相反时,你就可以用以上方法实现极性的调整,或者直接在硬件上将A、B口的线对调。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hssfscv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值