01、前言
客户选择STM32G0B1系列MCU作为主控,完成移相全桥+同步整流的控制,客户所使用的功率拓扑以及对PWM发生的要求如下:
左半桥A/B互补,固定占空比50%,死区时间500ns;
右半桥C/D互补,固定占空比50%,死区时间500ns;
对角相位差0-180°可调,通过调节相位差调节输出电压;
D(Q4)右下管开始导通时,SR管F(Q5)开始导通,B(Q2)左下管开始导通时,SR管F(Q5)关闭;
C(Q3)右上管开始导通时,SR管E(Q6)开始导通,A(Q1)左上管开始导通时,SR管E(Q6)关闭;
02、解决方案
按照客户所给拓扑以及对PWM发生的要求,对于原边需要两对互补带死区插入的PWM,且两对之间要能实现移相功能,要实现该功能必须要有两个能产生互补PWM的定时器;副边需要两路独立的PWM,最好可以实现双沿可控。STM32G0B1系列MCU所具备的定时器资源如下表所示:
基于以上的资源,选择TIM1和TIM15作为互补PWM对的产生,且实现两对PWM之间的移相,假设以TIM1作为master定时器,TIM15作为slave定时器,由于TIM1和TIM15之间无法直接同步,如下表所示:
这里借助TIM3来实现级联,即TIM1→TIM3→TIM15,首先TIM3与TIM1同步,二者相位完全一致,由TIM1的UEV事件触发;然后再通过TIM3与TIM15进行同步,由TIM3的OC1事件触发,二者的相位差由比较事件OC1确定(即CCR1的值),最终实现TIM1与TIM15之间的相位的调节,实现方式简单示意如下,通过以下的方法可以生成符合客户要求的两对原边驱动PWM驱动A/B和C/D。
对于副边的同步整流驱动E/F,采取的PWM发生方案为:
E与C同时导通,然后与B同时关断
F与D同时导通,然后与A同时关断
按照以上的方法,E/F的导通点与C/D的导通点同时,E/F的关断点与B/A的关断点同时,E和F的相位差为180°。通过TIM3产出对应的PWM,本方案中使用TIM3_CH2,通过TIM4产生对应的PWM,本方案中使用TIM4_CH2。TIM4与TIM3之间需要移相180°,本方案中再引入TIM2,通过TIM1→TIM2→TIM4来实现TIM3和TIM4之间的180°移相。完成的定时器级联关系如下图所示:
定时器对应的具体设置如下:
TIM1
TIM1_CCR1=PER/2,用于产生50%占空比的互补PWM波形PWM_A/B
PER为定时器的周期值
PWM_A/B的工作模式为PWM mode 1
UEV作为TRGO触发源,用于同步TIM2和TIM3,TIM1/2/3完全同步
TIM2
接受TIM1的同步
TIM2_CCR1=PER/2,OC1作为TRGO用于同步TIM4,二者移相180°
TIM3
接受TIM1的同步
TIM3_CCR1=TIM1与TIM15之间的移相值,该移相值由控制环路计算产生
TIM3_CCR2=TIM3_CCR1 + C和D之间设置的死区时间值,用于触发PWM_E的导通
PWM_E的工作模式为PWM mode 2
TIM4
接受TIM2的同步
CCR2=TIM3_CCR1 + C和D之间设置的死区时间值,用于触发PWM_F的导通
PWM_F的工作模式为PWM mode 2
TIM15
接受TIM3的同步
CCR1=PER/2,用于产生50%占空比的互补PWM波形PWM_A/B
PER为定时器的周期值
PWM_C/D的工作模式为PWM mode 1
基于以上描述的方案,定时器产生的同步和所产生的PWM示意图如下:
对比客户所给出的PWM时序和要求,唯一的不同点在于PWM_E和PWM_F的关断点,本方案的关断点相对于客户的要求,E/F提前关断,提前的时间为A和B的死区时间,但也满足客户的需求。另外上述的不同点可以通过调整TIM3和TIM4相对TIM1的移相值来消除,有兴趣的朋友可以尝试,此处不再赘述。
03、小结
本文介绍了如何基于STM32G0B1系列MCU,灵活地应用了片上定时器的级联同步功能完成PWM产生方案的设计,以满足客户移相全桥+同步整流PWM的需求。由于仅仅使用了普通的定时器,该方案可以很容易的移植到其他系列MCU,帮助客户使用更低成本的MCU完成其所希望的功能。
来源:STM32
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。