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.

CCS/TMS320F28027F: Motor Current Controller Unstability

Part Number: TMS320F28027F

Tool/software: Code Composer Studio

Hi, 

I am using lab experimental code to test the motor current controller. Sometimes, the motor has quite a strange behavior. I am testing the motor without load. Setting a current reference to let's say 10.0A saturates the speed and motor run at full speed. sometimes when I set the current reference back to zero, the motor doesn't stop and still keeps running unless I send negative current command as braking. After it stops, I just rotate the motor with my hand and it starts running till max speed and keeps running unless I brake it. Once I reboot the software, everything works fine. And maybe within 2 minutes, the motor exhibits this behavior again. It seems the motor enters some other state which is irreversible unless rebooting the software. Since I am running the motor without a load so, the temperature maximum is 35 degrees. Also, I made sure the ADC offsets are correct by enabling ADC offset calibration. I observe the same behavior every time if I disable ADC offset calibration. But once I enable it, then I observe it may be with less frequency. But it still happens. And this state occurs after 1-2 minutes. I am using overmodulation (100% percent) current reconstruction. The motor input parameters in user.h file are correct. Any guess why this behaviour is occurring? 

Thank you.

  • After much debugging, I have found the following 2 lines of code a real culprit of the problem. 

    SVGENCURRENT_IgnoreShunt_e ignoreShuntNextCycle = SVGENCURRENT_getIgnoreShunt(svgencurrentHandle);
    SVGENCURRENT_VmidShunt_e midVolShunt = SVGENCURRENT_getVmid(svgencurrentHandle);

    // Set trigger point in the middle of the low side pulse
    HAL_setTrigger(halHandle,ignoreShuntNextCycle,midVolShunt);

    If I remove these two lines of code, the current controller works well from zero to full speed cycle with 100 percent modulation. But soon the SVM enters the overmodulation region, the noise is visible in Iq curve. But the problem which I was facing earlier has seemed to be resolved by removing the 2 lines of code.

    Need your advice. Thank you. 

  • The current re-construct will be ignored if you remove those codes you mentioned above.

    You might set the USER_MAX_VS_MAG_PU to a value below 0.5777 or limit the PWM duty to make sure the current can be sampled correctly. The overmodulation with current re-construct requires high-quality current sensing signals if the USER_MAX_VS_MAG_PU is set to a value above 0.577.