This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于SVM输入

Other Parts Discussed in Thread: MOTORWARE

在看InstaSPIN-FOC的程序中,在Lab10a的user.h文件中,有

//! \brief Set USER_MAX_VS_MAG = 0.5 for a pure sinewave with a peak at SQRT(3)/2 = 86.6% duty cycle. 
//! \brief Set USER_MAX_VS_MAG = 1/SQRT(3) = 0.5774 for a pure sinewave with a peak at 100% duty cycle. 
//! \brief Set USER_MAX_VS_MAG = 2/3 = 0.6666 to create a trapezoidal voltage waveform. 

在InstaSPIN-FOC的用户指南中,有

所以有点疑惑:

1、为什么二者的值正好差2倍?

2、如果以表格为例,以Udc/sqrt(3)作为基准值,

      当USER_MAX_VS_MAG = 1.0的时候,正好是六边形的内切圆半径,

      当USER_MAX_VS_MAG = 2/sqrt(3)的时候,正好是六边形的外接圆半径,

      当USER_MAX_VS_MAG = 4/3的时候,不明白这个值怎么计算出来的?

有知道的敬请解惑,谢谢!

  • 1. 以前版本的motorware这里的VS都是1.0, 1.15, 1.333, 新的版本把这个值除以2了,用于内部运算而已。实际不变。

    2. 4/3 印象中是到梯形波的情况了。

    ERIC

  • 1、新版本中关于maxModulation的值,最大应该是2/3,怎么在svgen.h里面有下面这个函数

    static inline void SVGEN_setMaxModulation(SVGEN_Handle handle,const _iq maxModulation)
    {
    SVGEN_Obj *obj = (SVGEN_Obj *)handle;
    _iq maxMod = maxModulation;

    if(maxMod > SVGEN_4_OVER_3)
    maxMod = SVGEN_4_OVER_3;
    else if(maxMod < _IQ(0.0))
    maxMod = _IQ(0.0);

    obj->maxModulation = maxMod;

    return;

    这里怎么设置的最大值为4/3?

    2、新版本中值除以2,用于内部运算,电流的PU值没有除以2,那么电流的极限圆半径不是减小了?

  • zdc 说:

    1、新版本中关于maxModulation的值,最大应该是2/3,怎么在svgen.h里面有下面这个函数

    static inline void SVGEN_setMaxModulation(SVGEN_Handle handle,const _iq maxModulation)
    {
    SVGEN_Obj *obj = (SVGEN_Obj *)handle;
    _iq maxMod = maxModulation;

    if(maxMod > SVGEN_4_OVER_3)
    maxMod = SVGEN_4_OVER_3;
    else if(maxMod < _IQ(0.0))
    maxMod = _IQ(0.0);

    obj->maxModulation = maxMod;

    return;

    这里怎么设置的最大值为4/3?

    2、新版本中值除以2,用于内部运算,电流的PU值没有除以2,那么电流的极限圆半径不是减小了?

    这两个问题解决了吗?是什么原因哇?我也很困惑。

  • 没有,你也是在做这方面东西吗?我的QQ:516988958,可以交流交流。