TIM编码器接口测速

本文详细介绍了STM32中编码器接口的工作原理,包括编码器的A/B相脉冲处理、正交编码器的使用、不同计数模式以及接线图示例。此外,还展示了如何在main.c和TIM.c文件中初始化和配置编码器接口,以及TIM2中断处理实现速度测量。
摘要由CSDN通过智能技术生成

1.编码器接口简介

  • 编码器有两个输出,一个A相,一个B相,然后接入STM32的定时器的编码器接口,编码器接口自动控制定时器时基单元中的CNT计数器进行自增或自减。假设CNT初始值为0,若编码器右转,CNT++,右转产生一个脉冲,CNT就加一次,右转产生多少脉冲,CNT就自增到多少;若编码器右转CNT++,编码器左转CNT--,左转产生一个脉冲,CNT减一次,左转产生多少脉冲,CNT就自减到多少,若先右转产生10个脉冲,再左转产生5个脉冲,那CNT计数值为10-5=5
  • 编码器接口,相当于是一个带有方向控制的外部时钟,它同时控制这CNT的计数时钟和计数方向。所以CNT的值就可以表示编码器的位置,如果我们每隔一段固定时间取CNT的值,再把CNT清零,取出CNT的值就相当于编码器的速度。相当于测频法。
  • 在单片机中,只有高级定时器和通用定时器有编码器接口,但如果一个定时器被配置成编码器接口模式,其他工作基本无法进行,编码器接在每个定时器的CH1和CH2通道,CH3和CH4不能接编码器。

2.正交编码器

  • 增量式编码器也成为正交编码器,是通过两个信号线的脉冲输出来进行数据处理,一个输出脉冲信号就对应于一个增量位移,编码器每转动固定的位移,就会产生一个脉冲信号  通过读取单位时间脉冲信号的数量,便可以达到测速的效果
  • 增量式编码器有两个脉冲输出,A相和B相,并且两个相位永远存在90°相位差。 如果两个信号相位差为90度,则这两个信号称为正交。由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向、并且可以根据AB相脉冲信号数量测得速度,位移等

编码器接口有三种计数模式,三种计数模式如下

通过A,B相的边沿和另一相的高低电平来判断此时处于正转还是反转。

3.编码器接口电路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值