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.

LAUNCHXL-F280049C: LAUNCHXL-F280049C with BOOSTXL-DRV8320RS - moduleOverCurrent Fault

Part Number: LAUNCHXL-F280049C
Other Parts Discussed in Thread: C2000WARE

I am attempting to progress through the InstaSpin labs.  Unfortunately, I am getting hung up on Lab3 "is03_hardware_test" as well as other labs that rely on a pre-identified motor configuration.  I am currently able to identify and spin my BLDC hub motor using the InstaSpin GUI paired with Lab "is05_motor_id".  I have taken the motor parameters identified in that lab and updated my user.h file with the new parameters.

In Lab 3, whenever I set motorVars.flagRunIndentAndOnLine equal to true the input current briefly spikes and the motor does a small jerk, but that is all.  I found that the function below is preventing the code from continuing because motorVars.faultNow.bit.moduleOverCurrent is getting set to true:

 if(HAL_getPwmEnableStatus(halHandle) == true)
        {
            if(HAL_getTripFaults(halHandle) != 0)
            {
                motorVars.faultNow.bit.moduleOverCurrent = 1;
            }
        }

        motorVars.faultUse.all =
                motorVars.faultNow.all & motorVars.faultMask.all;

        //
        // Had some faults to stop the motor
        //
        if(motorVars.faultUse.all != 0)
        {
            motorVars.flagRunIdentAndOnLine = 0;
        }

I would like to get a better understanding of how the moduleOverCurrent fault is set,and which potentially incorrect motor parameters may be causing this.  

  • As the above code you mentioned, the higher current of the motor will trigger the fault to turn off the PWM output. The fault flag is generated from the on-chip analog comparator of F28049C if the sensing current signal is over the setting reference value.

    For lab03, you don't need detailed motor parameters, but you must set the right voltage/frequency to spin the motor using open-loop control. The v/f parameters can be set in user.h as below.

    #define USER_MOTOR_FREQ_MIN_HZ (5.0)
    #define USER_MOTOR_FREQ_MAX_HZ (600.0)
    #define USER_MOTOR_FREQ_LOW_HZ (20.0)
    #define USER_MOTOR_FREQ_HIGH_HZ (400.0)
    #define USER_MOTOR_VOLT_MIN_V (4.0)
    #define USER_MOTOR_VOLT_MAX_V (24.0)
    // Hz
    // Hz
    // Hz
    // Hz
    // Volt
    // Volt

    Btw, please have a look at the InstaSPIN Projects and Labs User’s Guide first before you want to run the lab, the guide can be found in MotorControl SDK as below directory.
    C:\ti\c2000\C2000Ware_MotorControl_SDK_2_00_00_00\solutions\common\sensorless_foc\docs\labs