stm32f103单片机—编码器测速

本文详细介绍了如何使用STM32F103ZET6开发板配合MG513P3012V电机的霍尔编码器进行速度测量。讲解了单片机资源要求,包括STM32的编码器模式定时器选择,以及编码器模式的工作原理和计数方式。同时,阐述了减速比的概念,并提供了编码器与单片机的接线示例,以及相应的初始化代码。此外,还给出了从定时器计数值到转速的计算方法和代码实现,包括M法测速的计算公式。最后,展示了读取定时器计数值和计算电机转速的函数。

一、涉及资源

stm32f103ZET6开发板(非指定)
MG513P3012V型号电机(带霍尔编码器)(非指定)

二、涉及概念

1、单片机资源要求

此种测速方法要求单片机的定时器具有编码器模式,对于stm32f1系列,具备编码器模式的定时器有TIM1/2/3/4/5/8,定时器使用通道1、2来实现编码器功能,接线时注意把A/B相接到定时器通道1/2的引脚。

2、减速比

电机结构
在这里插入图片描述
减速结构
在这里插入图片描述
减速比为1:30通俗地讲就是当电机外伸轴转1圈时实际轴转30圈,外伸轴我们一般接上轮胎等实际作用物体,而实际轴是电机自身的转子,霍尔编码器的检测对象是实际轴

3、测速原理

霍尔编码器工作方式

霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。霍尔编码器是由霍尔码盘和霍尔元件组成。霍尔码盘是在一 定直径的圆板上等分地布置有不同的磁极。电机旋转一圈霍尔元件发出特定数目的脉冲信号。,用时间间隔内接收的总的脉冲数目除以转一圈发出的脉冲数目即可得到转轴转的圈数,再除以时间间隔就能得到转速。 为判断转向,一般输出两组存在一定相位差的方波信号。

定时器判断电机正反转的依据

定时器通道1、通道2接收A相和B相的脉冲信号,转一圈A相和B相发出的脉冲数目是一样的,但是发送有先后之分。
在这里插入图片描述

定时器针对正反转的两种计数方式

定时器在编码器模式下有两种计数方式,正转时是从重载值开始向下减数,反转时是从零开始向上加数(正反是相对而言的)。例如,如果我设定定时器的重载值为0x7fff,那么当定时器接收到10个正转的脉冲时,计数值变为0x7ff3,当定时器接收到的是反转的脉冲时,定时器的计数值变为0x000A。

定时器编码器模式1、2、3

TI1和TI2分别为定时器的通道1和通道2
在这里插入图片描述

在这里插入图片描述
编码器模式3即为四倍频模式,这个模式下对于A和B相发过来的一组脉冲会有四次计数(四个跳变沿),这样就能将检测精度提到四倍。

4、M法测速

在这里插入图片描述

三、编码器与单片机的接线

注:这里以stm32f1系列的定时器4为例,若使用其他定时器进行测速需要更换对应的引脚资源,编码器A/B相需接到定时器的通道1和通道2

1、霍尔编码器实物图

在这里插入图片描述

接线

编码器A相和B相接PB6和PB7引脚(无对应要求)

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值