2024-03-12 08:09 AM
I am trying to create variable phase shift between TIM1 and TIM8. Phase shift is generating only one time but i want to change the phase shift while in running. I have set TIM1 channel 1 is for PWM generation, TIM1 Channel 4 is selected as output compare no output mode and slave timer is TIM8 channel 1. I want to create variable phase shift between tim1 channel 1 and tim8 channel 1. While i am changing the counter value of tim1 channel 4 the phase shift is not changing accordingly between tim1 and tim8. please help me in this issue.
Thankyou in advance
2024-03-12 04:34 PM
Changing TIM1>CNT or TIM8->CNT will affect the phase shift between the two channels. Doing so precisely take some effect. You can also adjust TIMx->ARR, wait for update, then adjust it back for a precise shift of a known number of counts.
> I want to create variable phase shift between tim1 channel 1 and tim8 channel 1. While i am changing the counter value of tim1 channel 4 the phase shift is not changing accordingly between tim1 and tim8
Not sure I understand why you're changing tim1 channel 4 to adjust tim1 channel1 or tim8 channel 1.
2024-03-12 09:22 PM
I want constant frequency and PWM of 50% duty for both timers and i want to create phase shift between TIM1 channel 1 and TIM8 ch1. I am using TIM1 CH4 as output compare when i change counter value of this channel the phase shift is changing between tim1 and tim8 but only one time. if i want to change again i want to load complete program into microcontroller. Is there is any way to change phase shift between dynamically between tim1 ch1 and tim8 ch1
2024-03-12 10:20 PM
For 50% duty, you can use Toggle mode, and two channels of the same timer, where difference in their respective TIMx_CCRx determine their mutual or phase shift.
JW
2024-05-13 09:02 AM
This is indeed a solution. Thank you!