【程序】【必须】编码器电机测速,原理+代码+滤波

本文详细介绍了编码器电机测速的原理,包括霍尔编码器、光电编码器和GMR编码器。讲解了M法、T法和M/T法测速的原理与适用场景。重点阐述了STM32使用M法进行编码器测速的配置、接线、代码编写和结果展示。最后讨论了滤波的重要性,通过平均滤波改善速度测量的稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考资料:

  1. https://blog.csdn.net/lzzzzzzm/article/details/119416134
  2. 野火STM32电机开发教程

1. 编码器种类及原理

常见的编码器有两种,分别为霍尔编码器和GMR编码器。

1.1 霍尔编码器

​ 霍尔编码器圆盘上分布有磁极,当圆盘随电机主轴转动时,会输出两路相位差90°的方波,用这两路方波可测出电机的转速和转向。霍尔编码器一般是13线的,就是转一圈每项会输出13个脉冲,这个精度基本能够满足大部分使用场景的要求。

1.2 光电编码器

​ 如图,打孔码盘随电机进行旋转。每当光线穿过圆孔,输出电平就会改变,如此产生方波,测量方波的频率即可测出电机转速。

1.3 GMR编码器

​ GMR编码器利用巨磁阻效应进行测速,GMR编码器一般是500线的,转一圈每项会输出500个脉冲,精度比霍尔编码器高得多,适合对精度要求高的环境或者最求完美的人。

​ 下图来自淘宝店铺轮趣科技

image-20230120202230595

2. 常用测速方法

2.1 倍频技术

​ 编码器会输出两路方波信号,如果只在通道A的上升沿计数,那就是1倍频;通道A的上升、下降沿计数,那就是2倍频;如果在通道A、B的上升、下降沿计数,那就是4倍频。

​ 使用倍频可以最大程度地利用两路信号,提高测速的灵敏度。

​ 下面说的三种测速方法只是在软件计算上的区别,硬件上是没有改变的

2.1 M法测速(周期测量法)

​ 简单地说就是根据单位时间一共有多少个脉冲来计算转速。

​ 设转速为n(r/s);测量时间为 T 0 T_0 T0(s); T 0 T_0 T0时间内的脉冲数为 M 0 M_0 M0;电机转一圈产生的脉冲数为C;则转速计算公式为
n = M 0 C T 0 n=\frac{M_0}{CT_0} n=CT0M0
​ 当 M 0 M_0 M0很大,即转速快时,这个方法测得精度和平稳性都很好,但当 M 0 M_0 M0很小,速度改变带来的 M 0 M_0 M0变化很小,即转速慢时算出的误差就很大。所以M法测速适用于高转速场景

2.2 T法测速(频率测量法)

​ T法测速是这样操作的:是指先建立一个频率已知且固定的高频脉冲,当编码器读到一个信号,开始对高频脉冲进行计数,编码器第二个信号到来后,停止计数。根据对高频脉冲计数的次数、高频脉冲频率和电机转一圈编码器产生的脉冲数进行速度计算。

​ 设转速为n(r/s);两个脉冲的时间间隔为 T E T_E TE(s);电机转一圈产生的脉冲数为C; F 0 F_0 F0(Hz)为编码器输出脉冲的频率; M 1 M_1 M1为高频脉冲的计数值,则转速计算公式为

n = 1 C T E = F 0 C M 1 n=\frac{1}{CT_E}=\frac{F_0}{CM_1} n=

### 霍尔编码器电机驱动电路设计方案 霍尔编码器是一种基于霍尔效应原理工作的传感器,能够检测磁场变化并将其转换成电信号输出。这种类型的编码器通常用于测量旋转位置或线性位移,在工业自动化和机器人技术中有广泛应用[^1]。 对于电机驱动电路的设计而言,霍尔编码器可以提供精确的位置反馈信息给控制系统,从而实现更精准的速度控制以及定位功能。具体来说: - **信号处理模块**:为了确保霍尔编码器产生的脉冲信号能被正确解读,需要设计专门的接口电路来接收这些信号,并通过滤波、整形等手段提高信噪比。这一步骤有助于减少外界干扰对最终结果的影响。 ```c++ // C++代码示例:简单的GPIO读取霍尔编码器状态 #include <wiringPi.h> #define HALL_SENSOR_PIN 7 // 定义连接到霍尔传感器的引脚编号 int main(void){ wiringPiSetup(); pinMode(HALL_SENSOR_PIN, INPUT); while(1){ int state = digitalRead(HALL_SENSOR_PIN); printf("Hall sensor state: %d\n",state); delay(100); // 设置适当延时防止过快采样 } } ``` - **功率放大单元**:当接收到控制器发出的动作指令后,该部分负责将弱电平逻辑信号转化为足以驱动电动机运转的大电流/高电压等级物理量。考虑到效率问题,建议采用PWM调制方式调节输出功率大小,既可节省能源又能有效保护硬件设备免受过大冲击损害。 - **闭环控制系统集成**:利用PID算法或其他先进调控策略构建完整的伺服系统框架,使得整个装置具备自我调整能力以应对负载变动等情况带来的挑战;与此同时,还需注意软件层面的安全机制建设,比如设置合理的限幅范围避免异常情况下的误操作风险。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值