打印
[电机应用]

hall-FOC电角度处理

[复制链接]
7806|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在电机控制中,一半HALL传感器成本低,很多带传感器的方案会选择HALL,利用hall信号可以将电角度分成6个扇区,采用方波控制可利用hall信号的变化实行换相,使得电机转起来。

但方波六步换相一个电周期中只执行六次换相,导致运行不够平滑,且运行噪音较大。而FOC控制方式可以通过细分角度,可使电机运行平滑度大大提升,并提高运行效率。
FOC控制中需要提供实时的转子角度值,才能通过计算得出最终的PWM,而HALL信号只能提供6个有效数据,我们需要做的,就是将6个HALL状态转换成平滑连续的角度值。
众所周知,3个hall信号可以将一个电周期360°划分成6个扇区,每个扇区60°,如下图所示

要将每个扇区的角度再细分,需要计算每个hall状态的时间,可以通过定时器计时,ATC的芯片有PWDT模块,可直接捕获三个hall信号的高低电平周期,非常方便。
基本原理是,得到了一个扇区的保持时间,那么就可以算出角度累加值delta。通过角度累加计算得出平滑的角度。但一般为了计算数据平滑,会读取360°的运行时间进行计算。例如,捕获到hall状态转过6个扇区,记录的运行周期为100ms,也就是电机转过360°电角度用了100ms。PWM的斩波频率为16K,在斩波中断中执行角度累加,为了提高精度,一般会将角度值进行放大标幺,常见的做法是标到16位数据65536.则可以计算出角度累加值delta。
delta=360°/(16K*0.1S) = 65536/(16000*0.1)=40.9
在PWM斩波中断中将角度值每次累加delta值可得到实时角度。
但HALL处理是基于之前的hall时间处理的,不是当前的值,所以这么处理的前提是默认每个扇区的运行时间是不突变的,hall处理总归会存在误差,因此需要进行补偿。
假设定义扇区1是0°到60°。因此,每次检测到hall变化为1时,对比计算出的角度与0°的误差,若还没到0°,说明角度累加值偏小,可将65536再加上误差值;若超过了0°,则说明累加值偏大,将65536减去误差值,以此来修正角度累加值。

使用特权

评论回复

相关帖子

沙发
weifeng90| | 2020-10-19 07:12 | 只看该作者
成本管控越来越重要的

使用特权

评论回复
板凳
数据采集存储| | 2020-10-19 08:53 | 只看该作者
现在电子元器件都不值钱了。

使用特权

评论回复
评论
dvacos 2021-10-21 16:52 回复TA
消费类电子,每一分钱都要去扣。为了节省3毛钱,花了几个月时间。 
地板
sadicy| | 2021-11-3 15:09 | 只看该作者
不明觉厉~~

使用特权

评论回复
5
两只袜子| | 2021-11-12 11:39 | 只看该作者
学习一下

使用特权

评论回复
6
豌豆爹| | 2021-12-21 11:01 | 只看该作者
对于任何企业来说成本管控都很重要把

使用特权

评论回复
7
yinwuqing110| | 2021-12-31 10:59 | 只看该作者
介绍的得详细哦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

86

帖子

2

粉丝