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.

TMS320F28027 C2000™ +TIDA-00436: Abnormal operation of motor

Other Parts Discussed in Thread: TIDA-00436, LAUNCHXL-F28027

The software path I used:     C:\Users\Administrator\Desktop\TIDA\TIDA-00436 Board Photo\TIDA00436-1.0\TIDA00436Firmware\BLDC_436v6

Hardware:LAUNCHXL-F28027+TIDA-00436 Board

motor parameters are as follows:

Nominal voltage V                                                                24
No load current mA                                                             300         
Nominal speed rpm                                                            3000
Nominal torque (max. continuous torque) mNm          180

Terminal resistance   Ohm                                                  1.29
Terminal inductance mH                                                    2.8

1. #define   BUILDLEVEL LEVEL4 ,When EnableFlag=1,The motor starts to run, but the motor vibrates during operation. How can the motor not vibrate during operation?

2. When I modify the SpeedRef, the motor speed does not change. What is the reason?

3.How should the following parameters be adjusted?

_iq BemfA_offset = _IQ15(0.0);
_iq BemfB_offset = _IQ15(0.0);
_iq BemfC_offset = _IQ15(0.0);
_iq IDC_offset = _IQ15(0.5);

// Initialize the PID_GRANDO_CONTROLLER module for dc-bus current
pid1_idc.param.Kp = _IQ(3.176*BASE_CURRENT/BASE_VOLTAGE);
pid1_idc.param.Kr = _IQ(1.0);
pid1_idc.param.Ki = _IQ(T/0.0005);
pid1_idc.param.Kd = _IQ(0/T);
pid1_idc.param.Km = _IQ(1.0);
pid1_idc.param.Umax = _IQ(0.95);
pid1_idc.param.Umin = _IQ(0.0);

// Initialize the PID_GRANDO_CONTROLLER module for Speed
pid1_spd.param.Kp = _IQ(0.75);
pid1_spd.param.Kr = _IQ(1.0);
pid1_spd.param.Ki = _IQ(T/0.3);
pid1_spd.param.Kd = _IQ(0/T);
pid1_spd.param.Km = _IQ(1.0);
pid1_spd.param.Umax = _IQ(0.95);
pid1_spd.param.Umin = _IQ(0.0);

4. What's the difference between the following two functions?

BLDCPWM_MACRO(1,2,3,pwm1) and BLDCPWM_MACRO(pwm1) 

  • Hi, 

    1. The motor always vibrating means the motor driver is unstable. It means the hall signal is not matched with motor output.  

    2. If it cannot move to close loop, it cannot set the speed. 

    3. The speed loop setting depends on your load system. Please output the speed-ref and real-speed to tune the speed loop. For the initial offset settings, you need not modify unless you changed the h/w. 

    4. For the BLDCPWM_MACRO, please refer to https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/524812