TMS320F28069F: Field Weakening in LAB9

Part Number: TMS320F28069F

Tool/software:

when I turn on Field Weakening in LAB9a, the controller accelerates the motor very strongly and then everything goes into a stupor.

tell me where to look and read about Field Weakening at such power. I need a speed of about 4KRPM on 1.6..3 KW.

I have. 
#define USER_ADC_FULL_SCALE_CURRENT_A (660.0)
#define USER_IQ_FULL_SCALE_CURRENT_A (USER_ADC_FULL_SCALE_CURRENT_A * 0.5)

Andrew.

  • Can someone explain this BUG or what these numbers are IQ. Macros are set to 1000 but there is no type conversion anywhere.

    FW_setDeltas(fwHandle, FW_INC_DELTA, FW_DEC_DELTA);
    
    //! \brief Defines the Field Weakening (FW) increment delta correction
    //!
    #define FW_INC_DELTA (1000)
    
    //! \brief Defines the Field Weakening (FW) decrement delta correction
    //!
    #define FW_DEC_DELTA (1000)
    
    
    
    static inline void FW_setDeltas(FW_Handle fwHandle, const _iq delta_inc, const _iq delta_dec)
    {
    FW_Obj *fw = (FW_Obj *)fwHandle;
    
    fw->delta_inc = delta_inc;
    
    fw->delta_dec = delta_dec;
    
    return;
    } // end of FW_setDeltas() function

  • additional BUG in the function uint16_t HAL_AdcCalConversion(HAL_Handle handle). usDelay(US_TO_CNT(ADC_DELAY_usec)); why do you convert microseconds to CNT and substitute it into the microseconds function. Maybe you shouldn't use the US_TO_CNT macro? :( :)

  • Hi Andrew,

    Could you please provide answers to the question below so that we can better help you on the issue?

    1. What is the hardware/inverter you are using? Do you use standard EVM or customized board? What motor are you using?

    2. Have you verify the previous labs, e.g., Lab5b?

    Thanks,

    Jiaxin

  • I use epc9186, Motor - Hacker-A40 in oil cooling. I can accelerate the Motor in lab9a to 2.2KMP but when I set FW. The Motor starts to vibrate strongly and goes into a squeak. Probably a breakdown of the PWM. I have already accelerated this Motor to 3.5 KRPM - about 30A DC. I used lab9a on 027F. Now I have switched to 069F. And I cannot achieve the previous success. :( 

  • gMotorVars.IdRef_A = _IQmpy(CTRL_getId_ref_pu(ctrlHandle), _IQ(USER_IQ_FULL_SCALE_CURRENT_A);  
    looking through the code I noticed that mine USER_IQ_FULL_SCALE_CURRENT_A 330 which is significantly more than the permissible value for _IQ - 127. until now I have not had any problems since the maximum current was up to 80A. InstaSpin can not work with powerful motors? Or should it be reduced by 3 .. 4 times?
  • Hi Andrew,

    Happy New Year. What is your VsRef settings? Can you try to tune the value of "VsRef"? Please also reduce the load of the motor.

    Thanks,

    Jiaxin

  • VsRef = 0.8*(2.0 / 3.0) or 0.8*0.5 It is possible to reduce the load, but I would like to achieve results like with 027F.
  • Hi Andrew,

    The Motor starts to vibrate strongly and goes into a squeak. Probably a breakdown of the PWM

    So I assume the above described observation only applies to 069F? Could you share some waveforms and readings of key variables at this moment, e.g., PWM, the calculated Id_ref, etc.?

    I have already accelerated this Motor to 3.5 KRPM - about 30A DC. I used lab9a on 027F.

    Does this apply to the case with 027F? 

    Thanks,

    Jiaxin

    1. thanks for your attention. i have several boards. i plan to use gan transistors. and i need more power. i collected all i need in one project on github.for 027 I have the same motor. but the board is different. not as powerful. 160 A Full scale.github.com/.../Valkyrie9plus