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

参考资料:

  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=

  • 79
    点赞
  • 713
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
霍尔编码器与电机的搭配可以用于测量电机的速度信息。在给定的引用中,使用了一个13线的霍尔编码器电机,其减速比为30:1。这意味着电机转动一圈会输出390个脉冲。同时,引用中还提到了轮胎的直径为75mm,轮胎的周长为225mm。定时器采用四倍频计数,因此一圈输出1560个脉冲。通过读取定时器的计数值,可以获取编码器脉冲值。根据编码器脉冲值,可以计算出实际速度。在给定的代码中,使用了GetEncoderPulse函数来读取编码器脉冲值,并使用CalActualSpeed函数来计算速度值。这样,通过霍尔编码器和电机的搭配,可以准确获取小车的速度信息。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [stm32霍尔编码器电机测速原理](https://blog.csdn.net/m0_67318127/article/details/124470127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [STM32机器人控制开发教程No.2 霍尔编码器电机测速以及增量式PID控制(基于HAL库)](https://blog.csdn.net/COONEO/article/details/125909782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值