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.

TMS320F28069F: InstaSPIN-FOC and InstaSPIN-MOTION User's Guide : USER_MAX_VS_MAG_PU

Part Number: TMS320F28069F
Other Parts Discussed in Thread: MOTORWARE

Hello,

I have a few questions on the InstaSPIN-FOC and  InstaSPIN-MOTION User's Guide.

With reference to the user data of USER_MAX_VS_MAG_PU, it is written in Section 4.2.3 as follows:

4.2.3 USER_MAX_VS_MAG_PU

• Set USER_MAX_VS_MAG = 1.0 for a pure sinewave with a peak at SQRT(3)/2 = 86.6% duty cycle.
No current reconstruction is needed for this scenario.
• Set USER_MAX_VS_MAG = 2/SQRT(3) = 1.1547 for a pure sinewave with a peak at 100% duty cycle.
Current reconstruction will be needed for this scenario (Lab10a-x).
• Set USER_MAX_VS_MAG = 4/3 = 1.3333 to create a trapezoidal voltage waveform. Current
reconstruction will be needed for this scenario (Lab10a-x).
• For space vector over-modulation, see lab 10 for details on system requirements that will allow the
SVM generator to go all the way to trapezoidal.

However in the file of user.h of the Motorware software package, it is written as follows:

//! \brief Set USER_MAX_VS_MAG = 0.5 for a pure sinewave with a peak at SQRT(3)/2 = 86.6% duty cycle.  No current reconstruction is needed for this scenario.
//! \brief Set USER_MAX_VS_MAG = 1/SQRT(3) = 0.5774 for a pure sinewave with a peak at 100% duty cycle.  Current reconstruction will be needed for this scenario (Lab10a-x).
//! \brief Set USER_MAX_VS_MAG = 2/3 = 0.6666 to create a trapezoidal voltage waveform.  Current reconstruction will be needed for this scenario (Lab10a-x).
//! \brief For space vector over-modulation, see lab 10 for details on system requirements that will allow the SVM generator to go all the way to trapezoidal.

Evidently there is a discrepancy for the assignment of USER_MAX_VS_MAG between User's Guide and the file of user.h.

Which one is correct?

Thank you for your guidance.

With regards,

G. Kim

  • The description in user's guide is for the former motorWare version, it's not correct for the latest versions since the HAL_writePwmData() modules in these versions have been changed. So, you should refer to the comments in user.h for the latest version.
  • Dear Luo,

    Thank you for your review.

    I have two more questions on USER_MAX_VS_MAG_PU.

    (1) With reference to the explanation of USER_MAX_VS_MAG_PU in the file of user.h, it is written as follows:

    //! \brief Vd value is set equal to USER_MAX_VS_MAG*USER_VD_MAG_FACTOR.  Vq = sqrt(USER_MAX_VS_MAG^2 - Vd^2).

    However I can not find the place where USER_VD_MAG_FACTOR is defined.

    Where is USER_VD_MAG_FACTOR defined?

    (2) It is also written in the file of user.h as follows:

    //! \brief Defines the direct voltage (Vd) scale factor
    //!
    #define USER_VD_SF                 (0.95)

    However I can not find the place where USER_VD_SF is used.

    Where is USER_VD_SF used?

    Thank you for your guidance.

    With regards,

    G. Kim

  • You don't need to care this definition number that is just used in lab11. But the Vq = sqrt(USER_MAX_VS_MAG^2 - Vd^2) will be used in all labs since the Id PI controller will be executed first, and the maximum output Vq will be calculated by this formula for Iq PI controller as well.