TI中文支持网
TI专业的中文技术问题搜集分享网站

TI官方例程phase-volt-calc头文件(PM-Sensorless中的相电压重构)中的疑问

在svgen_dq.h文件中特意把Ta,Tb,Tc(低电平占空比)三个输出量从(0,1)的范围变成(-1,1)的范围

(不知道(-1,1)的范围在数据处理的时候有什么优势。)

/*  Convert the unsigned GLOBAL_Q format (ranged (0,1)) ->.. */                   /*     ..signed GLOBAL_Q format (ranged (-1,1))*/                                   v.Ta = _IQmpy2(v.Ta-_IQ(0.5));                                                   v.Tb = _IQmpy2(v.Tb-_IQ(0.5));                                                   v.Tc = _IQmpy2(v.Tc-_IQ(0.5));   

不理解的地方就是:Ta,Tb,Tc在传递到volt_calc.h中  没有变换到(0,1)的范围,而是取反之后直接带入到公式里

#define VOLT_MACRO(v)                                                            \
                                                                                \
if (v.OutOfPhase > 0)                                                            \
{ v.MfuncV1 = -v.MfuncV1;                                                        \
  v.MfuncV2 = -v.MfuncV2;                                                        \
  v.MfuncV3 = -v.MfuncV3;                                                         \
}                                                                                \
                                                                                \
/* Scale the incomming Modulation functions with the DC bus voltage value*/        \
  v.MfuncV1 = _IQmpy(v.DcBusVolt,v.MfuncV1);                                    \
  v.MfuncV2 = _IQmpy(v.DcBusVolt,v.MfuncV2);                                    \
  v.MfuncV3 = _IQmpy(v.DcBusVolt,v.MfuncV3);                                    \
                                                                                \
/* Calculate the 3 Phase voltages */                                            \
                                                                                \
/* Phase A */                                                                    \
  v.VphaseA = _IQmpy(TWO_THIRD,v.MfuncV1);                                        \
  v.VphaseA -= _IQmpy(ONE_THIRD,v.MfuncV2);                                        \
  v.VphaseA -= _IQmpy(ONE_THIRD,v.MfuncV3);   

理论上不是应该先转换成(0,1)的范围数,再算出对应管子的高电平占空比,最后乘以v.DcBusVolt吗?请求懂专家帮忙解答。谢谢啦

赞(0)
未经允许不得转载:TI中文支持网 » TI官方例程phase-volt-calc头文件(PM-Sensorless中的相电压重构)中的疑问
分享到: 更多 (0)