0 前言
本文介绍了如何通过光电编码器,采用M法测量电机转速;源码程序使用STM32 HAL库。
1 编码器
常见的用于电机测速的编码器有霍尔编码器和光电编码器两种。两者测速的基本原理不同,但都是输出两路相位差90°的脉冲信号。这里以光电编码器为例介绍一下测速原理。

光电编码器是由光源、光码盘和光敏元件组成。 光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。
输出波形:

- 方向:A、B相脉冲波形相差90°,A相位在前表示顺时针旋转,B相在前表示逆时针旋转。
- 计数:在STM32编码器模式(EncoderMode)中,A相和B相每产生一个上升沿或者下降沿,我们就让计数器加1。故产生一个脉冲时,计数值为4(A相1个上升沿和1个下降沿,B相1个上升沿和1个下降沿)
2 电机测试的三种方法
- M法:在规定时间内检测脉冲个数来获得被测速度,适合测量高速速度。
- T法:测量相邻两个脉冲间的时间,再来反算速度,适合测量低速速。
- M/T法

文章介绍了使用STM32进行电机转速测量的方法,包括霍尔编码器和光电编码器的工作原理,重点讲述了基于STM32CubeMx配置的定时器和编码器模式,以及利用M/T法通过定时器中断计算电机转速的程序编写步骤。实验结果显示电机转速为每分钟65转。
最低0.47元/天 解锁文章
2031

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



