基于STM32高级定时器的全桥移相PWM发波方案

Posted strongerHuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于STM32高级定时器的全桥移相PWM发波方案相关的知识,希望对你有一定的参考价值。

关注、星标公众,不错过精彩内容

来源:STM32单片机

用于移相控制的全桥PWM变换器是中大功率DC-DC变换电路中最常用的电路之一,由于其可以实现开关管的软开关特性,在数字电源的设计中被广泛采用,本文基于STM32中高级控制定时器设计了一种全桥移相控制PWM发波方案。

移相全桥PWM发波要求

移相全桥的拓扑如下图所示,由于谐振电感L1的存在,结合移相控制,使开关管达到零电压开通(ZVS),从而有效的降低了电路的开关损耗和开关噪声,减少了开关过程中的产生的电磁干扰。

移相控制的PWM驱动波形如下,Q1/Q2/Q3/Q4分别对应上图中的4个开关管的驱动。

Q1与Q2驱动互补,插入死区;Q3与Q4驱动互补,插入死区。所有PWM波形的占空比固定,Q3/Q4相对与Q1/Q2移相,相位大小由控制环路确定。

高级定时器移相PWM生成

在高级定时器中(TIM1/TIM8/TIM20),针对移相控制专门设计了一种PWM工作模式,即非对称PWM模式(Asymmetric PWM mode),在中心对称计数模式下,允许计数器向上计数时的比较事件与向下计数时的比较事件分别由两个不同的比较值确定,如下:

OC1REFC由TIMx_CCR1(向上)与TIMx_CCR2(向下)控制

OC2REFC由TIMx_CCR2(向上)与TIMx_CCR1(向下)控制

OC3REFC由TIMx_CCR3(向上)与TIMx_CCR4(向下)控制

OC4REFC 由TIMx_CCR4(向上)与TIMx_CCR3(向下)控制

为了生成移相PWM波形,本文选择以下两种方案:

方案1:Q1/Q2由CH1/CH1N生成,Q3/Q4由CH2/CH2N生成。

方案2:Q1/Q2由CH1/CH1N生成,Q3/Q4由CH3/CH3N生成。

方案1:

在高级定时器中的关键配置如下(使用CubeMx工具):

使能CH1/CH1N/CH2/CH2N。

中心对齐模式,周期值设定为10000。

CH1与CH2的工作模式为Asymmetric PWM2,比较值为5000,用于产生50%固定占空比波形。

编译生成keil工程,添加如下代码,Phase_shift_cnt代表相位偏移值。

测试结果如下(可播放视频),黄色与蓝色波形分别对应CH1与CH2,红色波形用来参考移相结果,其对应的互补波形未抓取。

方案2:

在高级定时器中的关键配置如下(使用CubeMx工具):

使能CH1/CH1N/CH3/CH3N,CH2与CH4使能为PWM Generation No Output。

中心对齐模式,周期值设定为10000。

CH1与CH3的工作模式为Asymmetric PWM2,比较值为5000,用于产生50%固定占空比波形。CH2与CH4的工作模式为PWM mode 2,比较值为5000。

编译生成keil工程,添加如下代码,Phase_shift_cnt代表相位偏移值

测试结果如下(可播放视频),黄色与红色波形分别对应CH1与CH3,其对应的互补波形未抓取。

小结

本文介绍了STM32的高级定时器的非对称模式工作原理,并利用其生成全桥移相控制的PWM驱动实例,可作为使用STM32 MCU 进行移相全桥控制的PWM驱动生成参考。

免责声明:本文素材来源STM32,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

推荐阅读:

几种常见的校验算法

微软发布更强的 Terminal 2.0路线图

分享一篇专治MCU各种 HardFault 的库

关注微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。

长按前往图中包含的公众号关注

以上是关于基于STM32高级定时器的全桥移相PWM发波方案的主要内容,如果未能解决你的问题,请参考以下文章

STM32F103定时器最多可以输出多少路PWM波

STM32 输出pwm方波在线等

STM32 PWM设定输出

正点原子STM32(基于HAL库)3

stm32怎样实现不同定时器产生不同频率的PWM波?

STM32配置最简单的PWM波 需要设置哪些东西?