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.

TMS320F28069: Discontinuous PWM

Part Number: TMS320F28069
Other Parts Discussed in Thread: MOTORWARE, CONTROLSUITE

Hi,

Does Motorware include functions/examples for DPWM (Discontinuous Pulse-Width Modulation)?

Thank you,

Sam

  • Sam,

    While it is possible to implement 5-sector PWM (DPWM) in Motorware, we currently do not have an example showing this functionality.

    Sean
  • Sean,

    Thank you for your reply. In order to implement DPWM, where should I start in Motorware? It would be very helpful to us if you could provide a few hints or guidelines.

    Sam

  • Hi Sam,

    There aren't any DPWM examples in MotorWare currently. However you can find some code/documentation in controlSUITE that may be relevant to your project.

    You may refer to the following directories in controlSUITE:
    C:\ti\controlSUITE\libs\app_libs\motor_control\math_blocks\v4.3\
    C:\ti\controlSUITE\libs\app_libs\motor_control\math_blocks\v4.3\~Docs (documentation)

    Hope this helps.

    Elizabeth
  • Hi Elizabeth,

    The code/documentation in controlSUITE you referred to helps.

    After using the SVGEN_DPWM algorithm in the document for the SVGEN_run function in Motorware, however, I noticed it became difficult to start the same motor that works well with the original code. I had to restart the motor a few times to make it work. What could be the reason?

    Thank you,

    Sam
  • Hi Sam,

    I'm unfortunately not familiar with this algorithm. I will see if others can offer suggestions. Thanks for understanding.
    Please keep posting updates - they can be helpful to others visiting the forum. We appreciate it.

    Elizabeth
  • Hi Sam,

    The SVGEN_DPWM need to be changed if you want to use it in motorWare, because the HAL_writePwmData() is different with TI controlSUITE pwm_drv. The ADC trig need to be changed also in motorWare, especially, if you are using over modulation.
  • Hi Yanming,

    Thank you for your reply. The following is what I did to test the algorithms:

    I have tried to go through the algorithms listed in the document "DMC MATH_v13.1" located at:

    C:\ti\controlSUITE\libs\app_libs\motor_control\math_blocks\v4.3\~Docs

    What I did was trying both the SVGENDQ on page 142 and the SVGEN_COMM on page 145 separately, by putting the codes respectively in the document directly onto the "SVGEN_run" function located in the Motorware.

    The SVGEN_COMM (on page 145 and svgen_comm.h) is actually the same algorithm as what was already in Motorware, so that worked as expected. Similarly, after changing it to the SVGENDQ (on page 142 and svgen.h) algorithm, it worked as well. Again, the only thing changed was the Motorware's "SVGEN_run" function, without changing anything else, including the ADC trig and HAL_writePwmData().

    Now, I try applying the same method of SVGEN_DPWM (on page 148 and svgen_dpwm.h) to "SVGEN_run" function, however, it doesn't work. The motor either has hard time starting or starts to "grind"(the DPWM is "out-of-shape") . It gets worse when the voltage applied to the motor increases.

    What puzzles me is the SVGEN_DPWM algorithm is quite similar to the SVGENDQ, which worked. Their difference in algorithm between them is just the area below the Sector decision.

    How do I change the SVGEN_DPWM and the ADC trig to make it work? Your help is much appreciated.

    Sam
  • SVGEN_DPWM will keep the high&low side of a phase is high/low always in one sector, so you have to know which sector is always high/low, and don't use the phase current, only use the other two phase current.
  • Dear sir,

    What is meaning of "don't use the phase current, only use the other two phase current." ? Is related dead time compensation term or any other?

    Thank you

  • Not impact dead time compensation. It's for motor phase current sensing, need to know what two phases current cab be sampled in a section if using shunt resistor for current sensing on low side of inverter. Don't care this if using hall sensor on motor lines.