Skip to main content
VVija.1
Associate II
July 20, 2021
Question

How to generate two stage carrier pwm for three level inverter

  • July 20, 2021
  • 5 replies
  • 2268 views

Working on three level t type inverter. We are using two timers to generate 12 pwm signals. Using stm32h743ift6, timer1 and ttimer8 in complementary mode.

Requirement: 1)to generate two stage carrier pwm. ​2) timer 1 to run from 2400 to 4800, then 4800 to 2400 centre aligned mode., 3) timer 8 to run from 0 to 2400 and then 2400 to 0 centre aligned mode. 4) timer 1 and 8 are already in synchronisation.

​

Need suggestions how this can be implemented. Timers run at 240Mhz clock and produce 50kz switching frequency.​

This topic has been closed for replies.

5 replies

Javier1
Principal
July 20, 2021

I didnt undestood: " to run from 2400 to 4800, then 4800 to 2400"

hit me up in https://www.linkedin.com/in/javiermuñoz/
VVija.1
VVija.1Author
Associate II
July 20, 2021

Hi, I have given the image which i need to implement in stm32h7, I have given diagram for singe phase, but need to produce for three phases. To implement this logic, S1 and S2 operates as complementary (Timer 1) & S3 and S4 operates in complementary.,(Timer 8). During Positive half voltage reference, S1 is switched and S4 completely turned off, similarly, During negative half cycle reference, S4 switches and S1 completely turned off. I have given a hand drawing, I assume that with that two stage carrier the inverter can be switched as per requirement. In the hand drawing, how that level shifted pwm can be implemented is what I wanted to know. As of now I have done the same based on checking the instantaneous value by if condition. I am seeing method to configure timer peripheral in such a way that pulses are produced automatically. Also please suggest any other method can be used.0693W00000D06cwQAB.jpg 0693W00000D06YVQAZ.png

Javier1
Principal
July 20, 2021

> As of now I have done the same based on checking the instantaneous value by if condition.

No idea of what you meant here.

> I am seeing method to configure timer peripheral in such a way that pulses are produced automatically.

the keywords you should search for tutorials are DMA+PWM+lookuptable

You create lookuptables containinng all your steps , then DMA will place that lookuptable data in the PWM peripheral timers, the microcontroller in the meantime is free to run whatever you need in pararell

Also you will find interesting anything related to BLDC trapezoidal motor control.

hit me up in https://www.linkedin.com/in/javiermuñoz/