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

InstaSPIN

刚刚开始看InstaSPIN-FOC,有几个疑惑:

1、其中EST_run是在ROM中,无法看到源码,那么关于CTRL_run和CTRL_setup是提供源码的吗?(因为还没有完全看懂,所以问下这个问题。)

2、关于svgen实现是在svgen.h文件中吗?是下面这个计算过程吗?没有看懂是根据什么原理计算的。

// find order Vmin,Vmid,Vmax
if (Va > Vb) {
Vmax = Va;
Vmin = Vb;
}
else
{
Vmax = Vb;
Vmin = Va;
}

if (Vc > Vmax)
{
Vmax = Vc;
}
else if (Vc < Vmin)
{
Vmin = Vc;
}
Vcom = _IQmpy(Vmax+Vmin, _IQ(0.5));

// Subtract common-mode term to achieve SV modulation
pT->value[0] = (Va – Vcom);
pT->value[1] = (Vb – Vcom);
pT->value[2] = (Vc – Vcom);

3、在过调制中,基值是Udc/sqrt(3),最大值是4/3,这个最大值是怎么计算得到的?

谢谢!

Eric Ma:

1. CTRL_RUN 和 CTRL_SETUP提供源码,你可以查看历程。

3. 4/3这个最大值是在SVPWM原理中调试率中的,你可以去查看一下SVPWM的书籍。

ERIC

刚刚开始看InstaSPIN-FOC,有几个疑惑:

1、其中EST_run是在ROM中,无法看到源码,那么关于CTRL_run和CTRL_setup是提供源码的吗?(因为还没有完全看懂,所以问下这个问题。)

2、关于svgen实现是在svgen.h文件中吗?是下面这个计算过程吗?没有看懂是根据什么原理计算的。

// find order Vmin,Vmid,Vmax
if (Va > Vb) {
Vmax = Va;
Vmin = Vb;
}
else
{
Vmax = Vb;
Vmin = Va;
}

if (Vc > Vmax)
{
Vmax = Vc;
}
else if (Vc < Vmin)
{
Vmin = Vc;
}
Vcom = _IQmpy(Vmax+Vmin, _IQ(0.5));

// Subtract common-mode term to achieve SV modulation
pT->value[0] = (Va – Vcom);
pT->value[1] = (Vb – Vcom);
pT->value[2] = (Vc – Vcom);

3、在过调制中,基值是Udc/sqrt(3),最大值是4/3,这个最大值是怎么计算得到的?

谢谢!

zdc:

回复 Eric Ma:

谢谢!

SVPWM最大值为(2/3)Udc,这样PU值也就是2/sqrt(3)。

没有找到4/3相关资料,后面再去看吧。

刚刚开始看InstaSPIN-FOC,有几个疑惑:

1、其中EST_run是在ROM中,无法看到源码,那么关于CTRL_run和CTRL_setup是提供源码的吗?(因为还没有完全看懂,所以问下这个问题。)

2、关于svgen实现是在svgen.h文件中吗?是下面这个计算过程吗?没有看懂是根据什么原理计算的。

// find order Vmin,Vmid,Vmax
if (Va > Vb) {
Vmax = Va;
Vmin = Vb;
}
else
{
Vmax = Vb;
Vmin = Va;
}

if (Vc > Vmax)
{
Vmax = Vc;
}
else if (Vc < Vmin)
{
Vmin = Vc;
}
Vcom = _IQmpy(Vmax+Vmin, _IQ(0.5));

// Subtract common-mode term to achieve SV modulation
pT->value[0] = (Va – Vcom);
pT->value[1] = (Vb – Vcom);
pT->value[2] = (Vc – Vcom);

3、在过调制中,基值是Udc/sqrt(3),最大值是4/3,这个最大值是怎么计算得到的?

谢谢!

Eric Ma:

回复 zdc:

这里的4/3是指的调制比。

ERIC

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