cancel
Showing results for 
Search instead for 
Did you mean: 

How to generate two stage carrier pwm for three level inverter

VVija.1
Associate II

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.​

5 REPLIES 5
Javier1
Principal

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

we dont need to firmware by ourselves, lets talk

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

> 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.

we dont need to firmware by ourselves, lets talk

Okay, thank you for the reply., I will check the method based on DMA + PWM + Lookup table. This is a closed loop control, and the frequency will vary

+ or - 5%, In such a case, the duty would vary dynamically right., whether DMA + Lookup table method will apply for varying frequency.?,

I pressume the frecuency of the modulation would change dinamically not the pwm signals.

If thats the case ,yes you could change the frecuency by modifying the timer triggering DMA.

The topology you should follow depends of the implementation of the loop control, maybe you dont want to leave the swtiching steps logic job to dma and preffer to dedicate the mcu to the swtiching steps logic.

we dont need to firmware by ourselves, lets talk