请问:
1、有没有FOC控制中关于svgen.h的说明?sv中的Vabc是以Udc/sqrt(3)为基准值么?(用的TI其它的sv调制程序(如VF调制程序)中的电压标幺值都是以此为基准值的)
2 、 如果FOC控制中use.h中的USER_IQ_FULL_SCALE_VOLTAGE_V修改后,送入sv调制的电压值用不用坐以下变换:
Valpha*USER_IQ_FULL_SCALE_VOLTAGE_V/(Udc/sqrt(3))
Vbeta*USER_IQ_FULL_SCALE_VOLTAGE_V/(Udc/sqrt(3))
意思就是将原本以USER_IQ_FULL_SCALE_VOLTAGE_V为基准值的电压标幺值换算成以Udc/sqrt(3)为基准值的标幺值然后送进SV调制?
3、另外FOC中的svgen输出的Ta、b、c范围是(-1,1)么?谢谢回答
FOC中svgen程序如下:
Va_tmp = -(pVab->value[0]>>1);
Vb_tmp = _IQmpy(SVGEN_SQRT3_OVER_2,pVab->value[1]);
Va = pVab->value[0]; //alpha
Vb = Va_tmp + Vb_tmp; //-0.5*alpha + sqrt(3)/2 * beta;
Vc = Va_tmp – Vb_tmp; //-0.5*alpha – sqrt(3)/2 * beta;
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);
rookiecalf:
Ziyi Lee
请问:
1、有没有FOC控制中关于svgen.h的说明?sv中的Vabc是以Udc/sqrt(3)为基准值么?(用的TI其它的sv调制程序(如VF调制程序)中的电压标幺值都是以此为基准值的)
2 、 如果FOC控制中use.h中的USER_IQ_FULL_SCALE_VOLTAGE_V修改后,送入sv调制的电压值用不用坐以下变换:
Valpha*USER_IQ_FULL_SCALE_VOLTAGE_V/(Udc/sqrt(3))
Vbeta*USER_IQ_FULL_SCALE_VOLTAGE_V/(Udc/sqrt(3))
意思就是将原本以USER_IQ_FULL_SCALE_VOLTAGE_V为基准值的电压标幺值换算成以Udc/sqrt(3)为基准值的标幺值然后送进SV调制?
3、另外FOC中的svgen输出的Ta、b、c范围是(-1,1)么?谢谢回答
FOC中svgen程序如下:
Va_tmp = -(pVab->value[0]>>1);
Vb_tmp = _IQmpy(SVGEN_SQRT3_OVER_2,pVab->value[1]);
Va = pVab->value[0]; //alpha
Vb = Va_tmp + Vb_tmp; //-0.5*alpha + sqrt(3)/2 * beta;
Vc = Va_tmp – Vb_tmp; //-0.5*alpha – sqrt(3)/2 * beta;
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);
请问:
1、有没有FOC控制中关于svgen.h的说明?sv中的Vabc是以Udc/sqrt(3)为基准值么?(用的TI其它的sv调制程序(如VF调制程序)中的电压标幺值都是以此为基准值的)
2 、 如果FOC控制中use.h中的USER_IQ_FULL_SCALE_VOLTAGE_V修改后,送入sv调制的电压值用不用坐以下变换:
Valpha*USER_IQ_FULL_SCALE_VOLTAGE_V/(Udc/sqrt(3))
Vbeta*USER_IQ_FULL_SCALE_VOLTAGE_V/(Udc/sqrt(3))
意思就是将原本以USER_IQ_FULL_SCALE_VOLTAGE_V为基准值的电压标幺值换算成以Udc/sqrt(3)为基准值的标幺值然后送进SV调制?
3、另外FOC中的svgen输出的Ta、b、c范围是(-1,1)么?谢谢回答
FOC中svgen程序如下:
Va_tmp = -(pVab->value[0]>>1);
Vb_tmp = _IQmpy(SVGEN_SQRT3_OVER_2,pVab->value[1]);
Va = pVab->value[0]; //alpha
Vb = Va_tmp + Vb_tmp; //-0.5*alpha + sqrt(3)/2 * beta;
Vc = Va_tmp – Vb_tmp; //-0.5*alpha – sqrt(3)/2 * beta;
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);
Ziyi Lee:
回复 rookiecalf:
你好:
现在还有另外的问题,
1、这个参数设置不太清楚。USER_MOTOR_MAGNETIZING_CURRENT 这个参数说明文档说可以设为空载电流的幅值,这里的空载电流是电机的空载线电流么?我的电机空载实验电流为5A,由于是三角形连接,换算成绕组上空载电流幅值后是4.2A左右,然后把这个值设置为4.2,电机不转。减小到1.1-1.5左右才可以正常旋转。请问这个值到底应该怎么设置?
2、我带电机到额定转速1500r后,我想升速,于是将弱磁选项设置为1,但是设置完后电机立马停转,这是为何?
3、针对所带电机为三角形连接,具体程序中需要修改的地方有哪些?要怎么修改呢?说个大概的点吧,指明一条道路。谢谢