- 积分
- 264
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 10
- 最后登录
- 1970-1-1
该用户从未签到
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
三次谐波注入方法产生是svpwm简单好用,再也不用算xyz,N,t1 t2了.
#define UVW 1
#define VUW 2
#define UWV 3
#define VWU 4
#define WUV 5
#define WVU 6
double maxmidmin;
double mid;
void compare( double u double v double w )
{
if( u>= w)
{
if( v>= w)
{
if( u>= v)
{
maxmidmin= UVW; // u >= v >= w
}
else
{
maxmidmin= VUW; // v > u >= w
}
}
else
{
maxmidmin= UWV; // u >= w > v
}
}
else
{
if( v>= w)
{
maxmidmin= VWU; // v >= w > u
}
else
{
if( u>= v)
{
maxmidmin= WUV; // w > u >= v
}
else
{
maxmidmin= WVU; // w > v > u
}
}
}
}
compare( u, v, w ); //输入的uvw为 Ualpha 和 Ubeta 经过 clarke 后的 uvw
//正弦的波形
switch( maxmidmin){
case UVW:
mid =((u + w) >> 1);
break;
case UWV:
mid = ((u + v) >> 1);
break;
case VWU:
mid =((v + u) >> 1);
break;
case VUW:
mid =((v + w) >> 1);
break;
case WUV:
mid =((w + v) >> 1);
break;
case WVU:
mid = ((w + u) >> 1);
break;
default:
mid = 0;
break;
}
///////////ta//tb//tc
u += mid;
v += mid;
w += mid;///马鞍型了
|
|