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

关于svgen

TI的例程中关于SVPWM,给出了如下算法:

#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; \
\
v.VecSector=3; \
v.VecSector=(v.tmp2> 0)?( v.VecSector-1):v.VecSector; \
v.VecSector=(v.tmp3> 0)?( v.VecSector-1):v.VecSector; \
v.VecSector=(v.tmp1< 0)?(7-v.VecSector) :v.VecSector; \
\
if (v.VecSector==1 || v.VecSector==4) \
{ v.Ta= v.tmp2; \
v.Tb= v.tmp1-v.tmp3; \
v.Tc=-v.tmp2; \
} \
\
else if(v.VecSector==2 || v.VecSector==5) \
{ v.Ta= v.tmp3+v.tmp2; \
v.Tb= v.tmp1; \
v.Tc=-v.tmp1; \
} \
\
else \
{ v.Ta= v.tmp3; \
v.Tb=-v.tmp3; \
v.Tc=-(v.tmp1+v.tmp2); \
} \
尝试着推导了一下这段代码跟传统七段式SVPWM的关系,没有推出来,不知道过来人怎么理解这段代码的,感觉这里的扇区跟传统七段式的分法也不太一样。

求指教。

Eric Ma:

尝试着推导了一下这段代码跟传统七段式SVPWM的关系,没有推出来,不知道过来人怎么理解这段代码的,感觉这里的扇区跟传统七段式的分法也不太一样。

ERIC:

前两个文档是TI产品线发的,第三个是controlSUITE 自带的,里面也有一些理论介绍,如SVPWM_MF。

另外,我看到motorware软件用到的SVPWM也不一样,

The SVM technique used with InstaSPIN is discussed in the following reference:

Advanced Electric Drives, Analysis, Control and Modeling using Simulink, by Ned Mohan, MNPERE Press, Minneapolis, MN 55414, 2001, ISBN# 0-9715292-0-5

This technique was selected because it seamlessly transitions into the overmodulation region of operation by simply increasing the amplitude of the voltage variables from the Inverse Park Transform.  A natural clipping effect occurs which causes the waveforms to change from sinusoidal to trapezoidal.

You can replace the SVM module with a more conventional technique if you desire.  But you must then manage the overmodulation yourself.

TI的例程中关于SVPWM,给出了如下算法:

#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; \
\
v.VecSector=3; \
v.VecSector=(v.tmp2> 0)?( v.VecSector-1):v.VecSector; \
v.VecSector=(v.tmp3> 0)?( v.VecSector-1):v.VecSector; \
v.VecSector=(v.tmp1< 0)?(7-v.VecSector) :v.VecSector; \
\
if (v.VecSector==1 || v.VecSector==4) \
{ v.Ta= v.tmp2; \
v.Tb= v.tmp1-v.tmp3; \
v.Tc=-v.tmp2; \
} \
\
else if(v.VecSector==2 || v.VecSector==5) \
{ v.Ta= v.tmp3+v.tmp2; \
v.Tb= v.tmp1; \
v.Tc=-v.tmp1; \
} \
\
else \
{ v.Ta= v.tmp3; \
v.Tb=-v.tmp3; \
v.Tc=-(v.tmp1+v.tmp2); \
} \
尝试着推导了一下这段代码跟传统七段式SVPWM的关系,没有推出来,不知道过来人怎么理解这段代码的,感觉这里的扇区跟传统七段式的分法也不太一样。

求指教。

user5283999:您好,请问这个问题解决了吗?

TI的例程中关于SVPWM,给出了如下算法:

#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; \
\
v.VecSector=3; \
v.VecSector=(v.tmp2> 0)?( v.VecSector-1):v.VecSector; \
v.VecSector=(v.tmp3> 0)?( v.VecSector-1):v.VecSector; \
v.VecSector=(v.tmp1< 0)?(7-v.VecSector) :v.VecSector; \
\
if (v.VecSector==1 || v.VecSector==4) \
{ v.Ta= v.tmp2; \
v.Tb= v.tmp1-v.tmp3; \
v.Tc=-v.tmp2; \
} \
\
else if(v.VecSector==2 || v.VecSector==5) \
{ v.Ta= v.tmp3+v.tmp2; \
v.Tb= v.tmp1; \
v.Tc=-v.tmp1; \
} \
\
else \
{ v.Ta= v.tmp3; \
v.Tb=-v.tmp3; \
v.Tc=-(v.tmp1+v.tmp2); \
} \
尝试着推导了一下这段代码跟传统七段式SVPWM的关系,没有推出来,不知道过来人怎么理解这段代码的,感觉这里的扇区跟传统七段式的分法也不太一样。

求指教。

Hoo Asnow:

回复 user5283999:

还没有。。。

赞(1)
未经允许不得转载:TI中文支持网 » 关于svgen
分享到: 更多 (0)