本帖最后由 Angus 于 2023-1-13 11:08 编辑
这里讲一下 Clark 变换
求 I_alpha, I_beta, 就是求电流向量的实部和虚部。A相在0度,B相在120度,C相在-120度,三个电流写成复数形式分别为
求三个电流的“失量和” 。 三相电流的“标量和=0“,即Ia+Ib+Ic = 0,这个不用求。
因为在下MOS 导通时测电流,显然下MOS导通时间长时,电流ADC 受PWM 开关影响就小,值相对准确一些。
如果 C 相下 MOS 导通时间短、就用 Ia 和 Ib 计算电流向量, Ic = -Ia-Ib 代入向量求和公式,得到
消去 Ia 或 Ib 的公式,请读者自己推导
等幅变换中电流向量若是 I, 则对应相电流峰值是 I*2/3。所以上式求出的电流向量,乘2/3后才与控制量对应, 这样公式就变成了
上式这个电流向量的模,正好与相电流的峰值,数值上相等。
下面来看代码,
126~136行,按扇区,选择下MOS导通时间长的两相, 求I_alpha, I_beta,为了减小计算误差先增加小数,数值乘8
138行,1/3 的开方=0.57735 =18919/32768, 所以乘18919再右移15位就是乘1/3的开方,右移小了3位,等于是把结果乘了8
执行完138行后,就求出了 I_alpha,I_beta 。接下来坐标变换求出了有3位小数的 Id 和 Iq 电流
|