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.

Compiler/TMS320F28027: User.h parameter details

Part Number: TMS320F28027

Tool/software: TI C/C++ Compiler

Dear all,

          I am using TMS320F28027 controller for sensorless control of BLDC motor. I am able to increase the motor speed upto 40000 rpm. Futher increasing speed cause undefined motor behaviour. Is this because of some limitation of USER_IQ_FULL_SCALE_FREQ_Hz. Current value of  USER_IQ_FULL_SCALE_FREQ_Hz=800.  

  • You may try to increase the USER_IQ_FULL_SCALE_FREQ_Hz if the pole pairs of the motor doesn't equal to 1. And you should use a higher PWM frequency as well for such high-frequency motors.

  • Sir, 

       I already tried increasing  USER_IQ_FULL_SCALE_FREQ_Hz  and  PWM frequency and i got an increase of 10 Krpm. Now my maximum rpm is 50000 rpm. I want to increase up to 80000 rpm. I tried increasing PWM frequency further but its not working . Kindly give any other solution if available.

  • The maximum running frequency of the motor depends on its specification and the dc bus input voltage. You need to know if the motor needs to implement the field weakening control (FWC) to get a higher speed. Check the gMotorVars.Vs by adding the following code in updateGlobalVariables_motor() if there are no such codes already. If the gMotorVars.Vs is closed to USER_MAX_VS_MAG_PU, which means the dc bus input voltage is not enough or FWC must be used for high speed. Refer to lab09 to know how to apply FWC.

    // read Vd and Vq vectors per units
    gMotorVars.Vd = CTRL_getVd_out_pu(ctrlHandle);
    gMotorVars.Vq = CTRL_getVq_out_pu(ctrlHandle);

    // calculate vector Vs in per units
    gMotorVars.Vs = _IQsqrt(_IQmpy(gMotorVars.Vd, gMotorVars.Vd) + _IQmpy(gMotorVars.Vq, gMotorVars.Vq));