前言
客户在全桥变换器的应用中需要采用峰值电流控制方式,为了防止磁偏,要求滞后臂的 PWM驱动脉宽严格跟随超前臂的 PWM 驱动脉宽。但在峰值电流控制中,超前臂 PWM 的关断是由峰值电流比较事件决定(即桥臂电流达到给定电流),是不可预知的,所以常规的通过更新比较寄存器修改脉宽的方式无法实现该功能。
全桥峰值电流控制波形要求
比如在下图的全桥变换器中,Q1/Q4 为超前臂,Q2/Q3 为滞后臂,根据客户的要求,对应驱动波形。在没有发生峰值电流比较事件时,Q1/Q4 和 Q2/Q3 都按最大允许脉宽输出,二者脉宽相同;当峰值电流比较事件使 Q1/Q4 关断后,其脉宽需要被复制到 Q2/Q3 上,保证二者脉宽相同。
Push-pull 模式介绍
高精度定时器中 push-pull 模式工作方式,通过给定时器的输出通道 CH1 和CH2 设定完成相同的 set/reset 事件,来实现 CH1 与 CH2 脉宽的交替输出,且保持二者脉冲宽度一致。但该模式只能在 set/reset 事件使用定时器的周期或是比较事件的时候能容易保证两个通道的脉宽一致,若是 set/reset 使用的是外部的不可预知的、异步事件的时候,脉宽的一致性就无法保证。
方案实现
根据 Push-Pull 和 Balanced idle + auto re-enabled 的工作原理,在 CubeMx 上基于G474 Nucleo board 做对应的设置,以 Timer A 为例,output1 和 output2 设置相同 set/reset事件,在没有电流比较事件发生的情况下,采用 CMP1 事件限制 PWM 的最大允许输出脉宽;采用 EEV6 触发 PWM 输出进入 Balanced idle 模式(注意此时必须保持 CMP4 为默认值,原因请参考用户手册中关于该模式的描述),并使能 auto re-enabled。
小结
根据客户在全桥峰值电流控制中对 PWM 驱动的需求,结合高精度定时器的 Push-Pull 模式和该模式下特有的 Balanced idle 和 Auto re-enabled 功能,实现滞后臂驱动脉宽始终跟随超前臂驱动脉宽,保证整个变换器工作过程中不会因为驱动不对称而出现偏磁问题。
1199