前言
客戶在全橋變換器的應(yīng)用中需要采用峰值電流控制方式,為了防止磁偏,要求滯后臂的 PWM驅(qū)動(dòng)脈寬嚴(yán)格跟隨超前臂的 PWM 驅(qū)動(dòng)脈寬。但在峰值電流控制中,超前臂 PWM 的關(guān)斷是由峰值電流比較事件決定(即橋臂電流達(dá)到給定電流),是不可預(yù)知的,所以常規(guī)的通過(guò)更新比較寄存器修改脈寬的方式無(wú)法實(shí)現(xiàn)該功能。
全橋峰值電流控制波形要求
比如在下圖的全橋變換器中,Q1/Q4 為超前臂,Q2/Q3 為滯后臂,根據(jù)客戶的要求,對(duì)應(yīng)驅(qū)動(dòng)波形。在沒(méi)有發(fā)生峰值電流比較事件時(shí),Q1/Q4 和 Q2/Q3 都按最大允許脈寬輸出,二者脈寬相同;當(dāng)峰值電流比較事件使 Q1/Q4 關(guān)斷后,其脈寬需要被復(fù)制到 Q2/Q3 上,保證二者脈寬相同。
Push-pull 模式介紹
高精度定時(shí)器中 push-pull 模式工作方式,通過(guò)給定時(shí)器的輸出通道 CH1 和CH2 設(shè)定完成相同的 set/reset 事件,來(lái)實(shí)現(xiàn) CH1 與 CH2 脈寬的交替輸出,且保持二者脈沖寬度一致。但該模式只能在 set/reset 事件使用定時(shí)器的周期或是比較事件的時(shí)候能容易保證兩個(gè)通道的脈寬一致,若是 set/reset 使用的是外部的不可預(yù)知的、異步事件的時(shí)候,脈寬的一致性就無(wú)法保證。
方案實(shí)現(xiàn)
根據(jù) Push-Pull 和 Balanced idle + auto re-enabled 的工作原理,在 CubeMx 上基于G474 Nucleo board 做對(duì)應(yīng)的設(shè)置,以 Timer A 為例,output1 和 output2 設(shè)置相同 set/reset事件,在沒(méi)有電流比較事件發(fā)生的情況下,采用 CMP1 事件限制 PWM 的最大允許輸出脈寬;采用 EEV6 觸發(fā) PWM 輸出進(jìn)入 Balanced idle 模式(注意此時(shí)必須保持 CMP4 為默認(rèn)值,原因請(qǐng)參考用戶手冊(cè)中關(guān)于該模式的描述),并使能 auto re-enabled。
小結(jié)
根據(jù)客戶在全橋峰值電流控制中對(duì) PWM 驅(qū)動(dòng)的需求,結(jié)合高精度定時(shí)器的 Push-Pull 模式和該模式下特有的 Balanced idle 和 Auto re-enabled 功能,實(shí)現(xiàn)滯后臂驅(qū)動(dòng)脈寬始終跟隨超前臂驅(qū)動(dòng)脈寬,保證整個(gè)變換器工作過(guò)程中不會(huì)因?yàn)轵?qū)動(dòng)不對(duì)稱而出現(xiàn)偏磁問(wèn)題。