BEMF的三个电阻采样的作用详解
一、首先奉上电路图
如图一:我们看到我们测的是相电压,从理论上我们知道我们测得相电压是一个马鞍波形,马鞍波形中并没有隐含转子的位置和速度信息。那么为什么我们还要有这样一个电路呢?
这个问题其实困惑了我好久?直到有一天,我突然想起来了曾经看过的一堆公式:
从这里看出虽然他的相电压不包含转子的位置信息,但是他的线电压是包含了转子的位置信息的。因此我们应该将其转换为线电压,然后再进行反arctan得到电角度。
后面的所有的变换(clarke park)都是基于线电压做的
问题二:如果我们用示波器测端电压的波形,我们会发现并不是标准的马鞍波,而是由PWM构成的马鞍波? 那么我们应该怎么做呢?
分析发现该马鞍波包含了很多高频成分,需要经过低通滤波才能得到标准的马鞍波,才能到AD口。
问题四:为什么我们在进行clarke变换,只需要两相电流即可
clarke变换:
代码分析
clarke变换就是这个公式:
为什么明明是三相变两相,输入变量应该是三个,但是实际上只有只有两相?
因为我们为了简化程序的计算量,我们通过基尔霍夫电流定律,讲前面的公式简化了
最后两个问题:
BEMF有什么作用?
1.通过BEMF可以解决中低速的转子位置和转子速度的问题,我们都知道当我们算法闭环时我们需要判断算法电角度是否收敛,因此我们需要知道他的实际角度和估算的角度,因此通过bemf这种方式我们可以知道转子的实际的电角度,从而判断是否收敛
2.通过BEMF可以解决顺风起的问题,因为电机顺风起时,我们不知道电机的转速和电机位置,我们无法知道我们这个速度是否满足我们算法的要求?通过BEMF是可以知道的。
BEMF有什么限制:
1.电机不能用于零速状态,因为这个时候通过BEMF采集的相电压比较小,无法正确复现我们的波形
2.电机不能用于高速状态,因为这个时候通过BEMF采集的电压太大,速度太高,因为我们采集的相电压必定要经过低通滤波,adc的速度无法完全跟随,因此高速状态也不能用,这也就是为什么当我们顺风起时,为什么当速度很快时,我们需要先通过关闭mos管把速度降下来,然后再使用BEMF来判断转子的电角度和速度
总结一下:
BEMF估算角度这种方式只能用于低速状态( 40Hz - 300 Hz)