ST_MC_SDK霍尔传感器转子转向,速度,位置的简单检测

 

本文主要对ST_MC_SDK4.3的一种基于hall的转子方向,转速,位置进行简单的分析,同时也欢迎读者一起交流和纠正。

1.主要寄存器设置

通过设置定时器的TI1S位,将霍尔信号组合后输入

 

 

 

2.判断转子转向,计算转子转速,位置

2.1辨别转子转动方向

根据State的变化顺序,可以判断电机转子的转向

2.2转子转速估计

hall信号输入后进行异或处理

state5 (1xor0)xor1=0

           (1xor0)xor0=1

           (1xor1)xor0=0

           (0xor1)xor0=1

           (0xor1)xor1=0

 state4 (0xor0)xor1=1

 

这个方波被输入TI1用于检测每个状态的持续时间(state5到state4)

定义变量:

转子转速 

HALL传感器之间偏移量

上次捕获的区间时间差 

 

2.2转子位置估计

定义变量:

位置计算的运算周期

当前时刻转子相对于区间边界起始位置的偏移量

当前时刻转子的位置

区间边界起始位置,在每次触发捕获事件的时候会进行更新。

当然ST还有更好的办法,后续文章更新的时候会讲。

2.3动态调节定时器分频系数

接下来我们看一种情况,那就是电机转速非常快的时候,那么可能产生的现象就是输入TI1的方波的相互之间边缘是非常接近的(捕获时间非常短),此时如果定时器工作在非常低的频率那么很有可能导致测量误差偏大,ST提供了一种方法那就是动态调节定时器的频率(高速的时候可以减少定时器时钟信号的预分频器来增大频率,低速的时候相反)。

3.参考程序流程(详情见STM32F PMSM FOC USER GUIDE)

后续会更新更先进的方法

  • 6
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值