{
float X_alf,X_blt,seTa
X_alf = abc[0] - (abc[1]>>1) - (abc[2]>>1)
X_blt = 0.866025*(abc[1] - abc[2])
seTa = 0.130899*t
dq[0] = cos(seTa)*X_alf + sin(seTa)*X_blt
dq[1] = -1*(sin(seTa)*X_alf) + cos(seTa)*X_blt
}
void dq_abc(INT16 *abc,INT16 *dq,INT16U t)
{
float X_alf,X_blt,seTa
seTa = 0.130899*t
X_alf = cos(seTa)*dq[0] - sin(seTa)*dq[1]
X_blt = sin(seTa)*dq[0] + cos(seTa)*dq[1]
abc[0] = X_alf
abc[1] = -0.5*X_alf + 0.866025*X_blt
abc[2] = -0.5*X_alf - 0.866025*X_blt
}
0.866025 为二分之根号三
seTa = 0.130899*tt为采样点序号 0.130899=(2*pi)/48
回答有些晚了,希望对别人有帮助。dq变换是时代的产物。在没有计算机的年代,一切都要手算的。拿定子三相的电机来说,如果加上2-pole的转子,那么描述磁通的方程就有四个。这就加大了计算的难度。所以克拉克同志为了简化这种计算,发明了alpha-beta变换,而帕克同志在此基础上改进出了dq变换。描述一个平面至少需要用两个方程是,而互相构成直角的电感又不存在互感,所以呢,就出现了这种两轴线的垂直坐标系。无论是几相电机,电流产生的磁通都可以看成一个平面,理所当然的用两个方程描述是最简单的了。还有那个0,是因为需要逆变换,从dq坐标系求出原来的量而假设出来的,没有什么物理意义。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)