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/TMS320F28379D: LAUNCHXL-F28379D: Compiling "Sensored FOC PMSM Motor Control Project"

Part Number: TMS320F28379D
Other Parts Discussed in Thread: LAUNCHXL-F28379D

Tool/software: Code Composer Studio

Hi,

I am trying to compile "IDDK_PM_Servo_F2837x_v2_00_00_00" project in controlSUIT (C:\ti\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00)  by using  LAUNCHXL-F28379D. I set the build level to LEVEL1 because I want to test the PWM outputs. Although I am able to see the SVGENDQ_MACRO outputs (duty cycles) as in mentioned in "Sensored FOC PMSM_IDDK_v2.pdf page 21", I cannot see the PWM output on the EPWM pins (for example pin40  (GPIO 0) on Launchpad). 

I think same issue has been discussed in here "https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/577175" . However, problem remained unsolved in that post. 

Any suggestion would be welcome.

Thank you,

Eray

  • Hello,

    The IDDK code uses CMPSS1 and 3 (in COLD CNFG) that monitors the currents sensed by LEMs to be within safe range. Basically it is a windowed comparator that verifies the signal to be within (1.65V +/- Vcurrent_limit), and the output is tied to TZ in EPWMs for shutting the PWMs down. The relevant CMPSS peripherals are tied to analog pins ADCIN-A2 and ADCIN-B2. If you are using these pins as current feedback pins, and the signals at these pins are within the range of acceptable limits, then you should be able to see the PWMs on the pins.

    Just for your verification, comment out the CMPSS initialization done in HVDCM_protection(), the code snippet is shown below.

    cmpssConfig(&Cmpss1Regs, LEM_curHi, LEM_curLo); //Enable CMPSS1 - LEM V

    cmpssConfig(&Cmpss3Regs, LEM_curHi, LEM_curLo); //Enable CMPSS3 - LEM W

    Hope it gives you the lead to work through porting the code over.

  • Hello Ramesh,

    Thank you very much for your suggestion. Problem was exactly what you said. After removing HVDCM_protection(), I was able to see the PWM outputs.

    Thanks a lot.