M法测速

M法测速原理:检测固定时间内编码器的脉冲数
n = M 1 / T c (单位取决于 T c )
n为单位时间脉冲数,相当于频率
Tc:用户自定义采样周期(时间)
M1:在Tc时间内捕获到的编码器脉冲个数
误差来源
- 1.采样脉冲来临后的脉冲并不能与编码器脉冲同步,前后共同的偏差时间至多为一个编码器脉冲
- 2.由公式可见,当M1数值较小时(相对于一个脉冲),这种方法计算出的n误差则会放大,故M法测速不适合低速场景,适合高速场景
T法测速

T法测速原理:检测一个编码器脉冲的时间
n=1/Tt=f0/M2(单位取决于Tt)
M2:编码器一个脉冲对应的时钟计数值
f0:时钟计数频率
Tt:总计数时间
误差来源
- 1.T法测速采样的触发则变为了编码器的输出脉冲,则误差来源于时钟脉冲与编码器脉冲不同步,启动是同步的,而结束最多会产生一个时钟脉冲的误差
- 2.M2越大一个时钟脉冲带来的误差影响越小,M2越大意味着转速越慢,则T法测速更适合低速场景
MT法测速

n=M1/T=f0M1/M2(单位取决于T)
M1:Tc时间内捕获到的编码器脉冲数+1(为了同步T法)
M2:M1起始脉冲与结束脉冲的时钟计数值
Tc:用户自定义采样周期(时间)
T:M2对应的时间
优势:由于M法适合测量高速,T法适合测量低速,则综合两法,低速时M2远大于M1主要T法在奏效;高速时M1远大于M2则主要M法在奏效;
缺点:有点麻烦
电机测速
计算电机一圈的脉冲数
假设电机减速比为30,500线的编码器,使用编码器模式3(stm32编码器模式3为四倍频)
电机一圈脉冲数:30×500×4=60000
计算电机的速度
这是我们需要再使用一个定时器用于定时,在定时器中断中获取编码器的脉冲。如:我们将定时器2设置为10ms触发一次中断,则每过10ms我们获取一次脉冲,假设10ms测得脉冲数为600。则1ms的脉冲数为60(600/10),1s的脉冲数为60000(60*1000)。又因为电机一圈脉冲为60000,所以电机的速度为:60000/60000=1 圈/s
7775

被折叠的 条评论
为什么被折叠?



