SVPWM里面用上了ICLARK的计算,输入Ualpha 和 Ubeta,按照库里面宏的定义:
#define SVGENDQ_MACRO(v) \
v.tmp1= v.Ubeta; \
v.tmp2= _IQdiv2(v.Ubeta) + (_IQmpy(_IQ(0.866),v.Ualpha)); \
v.tmp3= v.tmp2 - v.tmp1;
tmp1,2,3最后的作用在Ua,b,c上的:
但是按照这个公式与实际的ICLARK的公式是相反的,正确的ICLARK应该是:
Ua应该对齐Ualpha才对,但是程序中却是对齐Ubeta,搞不懂,想咨询一下行内人士,谢谢