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-F28379D: C2000 MOTORCONTROL porting issues

Part Number: LAUNCHXL-F28379D

Hi Team,

There's an issue from the customer need your help:

My development board is LaunchXL-F28379D and the driver board is DEV8301REVB. C2000motorcontrol4.0.0 was transplanted into the Motor Laboratory through the guide, and level1-level4 step-by-step debugging was carried out according to the User's Guide Motor Control SDK Universal Project and Lab manual.

Now it is normal under level1 build, but when level2 is built, there will be some abnormalities in the duty cycle.   When observing several variables of pwmdata, they are very abnormal and will reach tens of thousands, or negative tens of thousands.

Thanks & Regards,

Ben

  • Hi Ben,

    Could the customer double confirm in build level 1, without motor being connected, the PWM duty is 50%, the current and voltage sensing offset match the values shown in Fig. 2-25 Build Level 1: Variables in Expressions Window in the user guide?

    Thanks,

    Jiaxin

  • Hi Jiaxin,

    Hello, the values ​​displayed under level1 match.  

    This problem arises when building at level 2. In the above situation, I did not connect the motor. If the motor is connected, an overcurrent error will occur.

    Best Regards,

    Ben

  • Hi Ben,

    the values ​​displayed under level1 match.

    Yes. From the screenshot, build level 1 runs well.

    In the above situation, I did not connect the motor. If the motor is connected, an overcurrent error will occur.

    Does the customer mean if the motor is connected in build level 1, an overcurrent error will occur? In the screenshot of the first post, I didn't notice any motor faults in build level 2.

    What is the motor the customer is testing?

    Thanks,

    Jiaxin

  • Does the customer mean if the motor is connected in build level 1, an overcurrent error will occur?

    No, it's in build level 2.

      

    What is the motor the customer is testing?

    motor type is PMSM.

  • Hi Ben,

    Could the customers try tuning the v/f profile parameters in user_mtr1.h to see if the motor can start without over-current fault?

    Thanks,

    Jiaxin

  • Hi Jiaxin,

    I found that oneOverDcBus_invV is a little abnormal, it is 31415.977 May I ask if this value is EST_run is it estimated? I didn't find a program in the project to assign a value to it. I changed it to the reciprocal of the bus voltage and now the level2 motor is operational.

    Best Regards,

    Ben

  • Hi Ben,

    I changed it to the reciprocal of the bus voltage and now the level2 motor is operational.

    Glad that you catch the point. 

    May I ask if this value is EST_run is it estimated?

    Yes. For FAST estimator, it also corrects the DC bus voltage. You can find it in the motor control ISR after the speed filter (obj->oneOverDcBus_invV = obj->estOutputData.oneOverDcBus_invV). 

    Thanks,

    Jiaxin 

  • Hi Jiaxin,

    But one thing I don’t understand is that since it is an estimated value, shouldn’t there be some slight changes? Why does it always show that the estimated value is 31415.9277? This value is obviously wrong.

    Best Regards,

    Ben

  • Hi Ben,

    Yes, the value should be approximately the reciprocal of the actual DC bus voltage. This indicates there is problem with the estimator. Could you check if other values given by the estimator are correct? e.g., the estimated angle.

    Thanks,

    Jiaxin

  • Hi Jiaxin,

    Other value is correct.

    Best Regards,

    Ben

  • Hi Ben

    I notice ePWM3Reg_CMPA  show value 6666, perhaps not the correct ePWM drive pins for hal.c or hal.h configurations? 

  • Hi Ben,

    What about the input signals to the estimator? Do they look normal? The input signals include: ADC feedback of three-phase voltage, three-phase current, and DC bus voltage.

    Thanks,

    Jiaxin

  • Hi Jiaxin,

    The three-phase voltage, three-phase current, and DC bus voltage fed back by the ADC are normal at levels 1 and 2 because of the influence of oneoverDcBus. Level 3 is not normal, I modified obj->oneOverDcBus_invV = obj->estOutputData.oneOverDcBus_invV to obj->oneOverDcBus_invV = 1.0f / obj->adcData.VdcBus_V; The values estimated by the estimator are not used, so the program and motor under level3 can work properly

    Best Regards,

    Ben

  • Hi Ben,

    According to the screenshot below, it seems that the estimator doesn't work properly. As you mentioned, the estimated output "oneOverDcBus_invV" is extremely high. The estimated angle "angle_rad" stays at 0. In Build Level 3, the example code only uses the estimator output "oneOverDcBus_invV" for modulation. This is why the system can run when you change to 1/actual DC voltage.

    Please double check if the estimated speed "motorVars_M1.speedEST_Hz" and angle matches the actual value.

    Thanks,

    Jiaxin