潛在的固件錯誤可能是導致控制不穩定的幕后黑手!
本期,我們將聚焦于發(fā)生在 PFC 級的電流振蕩,通過(guò)分析數字控制環(huán)路,了解潛在錯誤出現的原因并展示如何檢查控制固件中是否出現這種不穩定性。
本文引用地址:http://dyxdggzs.com/article/202412/465366.htm在設計諸如升壓功率因數校正 (PFC) 之類(lèi)的數字電源時(shí),您是否見(jiàn)過(guò)類(lèi)似圖 1 中的電流振蕩?
您可能認為這種不穩定振蕩由過(guò)快的控制帶引起,因此您減小比例積分 (PI) 控制器的比例增益 (Kp) 和積分增益 (Ki),并顯著(zhù)降低交叉頻率。振蕩就會(huì )消失。
但這是最佳解決方案嗎?較低的電流環(huán)路帶寬會(huì )降低控制速度,但您可能會(huì )發(fā)現總諧波失真 (THD) 測試將會(huì )失敗。有時(shí),當源阻抗大一些時(shí),振蕩會(huì )再次出現。
這種不穩定性是否可能有其他原因?如何以足夠的相位裕度實(shí)現最佳控制帶寬?下面我們來(lái)詳細分析一下數字控制環(huán)路,從而了解這一潛在的錯誤是如何引入的。我們還將向您展示如何檢查控制固件中是否出現這種不穩定性。
基于 MCU 的數字控制
圖 2 展示了基于 MCU 的數字控制系統。
圖 2. 數字控制系統圍繞微控制器構建而成
控制環(huán)路包含一個(gè)模數轉換器 (ADC) 用于進(jìn)行對象電流/電壓采樣,一個(gè)數字控制器用于生成調整值,以及一個(gè)脈寬調制器 (PWM) 用于執行調整,可通過(guò)更改占空比或頻率來(lái)改變目標電流/電壓。
開(kāi)關(guān)模式電源 (SMPS) 中的 ADC 采樣通常位于兩個(gè)開(kāi)關(guān)周期的中間點(diǎn),這樣不僅可以避免開(kāi)關(guān)產(chǎn)生的噪聲干擾,還可以獲取連續導通模式 (CCM) 下功率電感器的平均電流值。
數字控制器在中斷服務(wù)例程 (ISR) 中進(jìn)行計算,可以與 PWM 輸出同步觸發(fā)。觸發(fā)事件可以是以下事件之一:PWM 的“COUNTER”等于“ZERO”、“PERIOD”或特定的值“CMP”。
控制器完成所有計算時(shí)無(wú)法立即更新 PWM,但 PWM 寄存器必須在一個(gè)專(zhuān)門(mén)時(shí)刻由影子寄存器加載,如 PWM 計數器等于“ZERO”或“PERIOD”時(shí)。如果 PWM 值在計數器上升或下降過(guò)程中發(fā)生變化,則很可能產(chǎn)生錯誤的 PWM 動(dòng)作,導致脈沖丟失或脈沖重復。
與模擬控制系統不同,數字控制按照采樣頻率來(lái)執行,并且從采樣到 PWM 重新載入新值必須有一個(gè)延遲時(shí)間 (Td)。PWM 修改通過(guò)調整翻轉時(shí)刻來(lái)實(shí)現,翻轉時(shí)刻在單邊沿調制時(shí)(遞增/遞減模式)發(fā)生一次,在雙邊沿調制時(shí)(先遞增后遞減模式)發(fā)生兩次。因此,最小 Td 將會(huì )是一個(gè)開(kāi)關(guān)周期 Ts(如圖 3a 所示),或半個(gè)開(kāi)關(guān)周期 Ts/2(如圖 3b 所示),具體取決于您選擇的調制重新加載頻率。
圖 3. 最小延遲時(shí)間通過(guò) PWM 調整而引入(a) 向上計數模式,(b) 上下計數模式
如圖 4 所示,Td 在其傳遞函數中表示為 e-sxTd,這將減少相位裕度。當然,當相位裕度小于 45 度時(shí),系統將變得不穩定,并會(huì )發(fā)生振蕩。
圖 4. 波德圖中顯示了延時(shí)時(shí)間的影響
數字控制實(shí)現中的潛在代碼錯誤
在正確執行的情況下,最小 Td 為一個(gè)開(kāi)關(guān)周期 Ts 或半個(gè)開(kāi)關(guān)周期 Ts/2。但是,如果未考慮 ADC、ISR 和 PWM 重新加載的后果,則將控制延遲擴展到高于一個(gè)開(kāi)關(guān)周期可能會(huì )減小相位裕度,導致不穩定。
例如,在圖 5 中,當 PWM 計數器等于零,ADC 的 ISR 觸發(fā)和 PWM 重新加載會(huì )同時(shí)啟動(dòng)。
盡管所有塊都同時(shí)執行,但在這種情況下,您是否可以預期 Td 為零?當然不能!
圖 5. 此處是一個(gè)會(huì )引入較大延遲時(shí)間的錯誤代碼示例
這是因為 ADC 轉換和 ISR 計算所需的時(shí)間遠超一個(gè) MCU 時(shí)鐘周期,當 ISR 讀取 ADC 結果時(shí),ADC 轉換仍未完成。因此,ISR 將獲取“舊”采樣值進(jìn)行計算,而最新值的計算將延遲到下一個(gè)開(kāi)關(guān)周期。ISR 計算完成后,新 PWM 值僅寫(xiě)入影子寄存器中,隨后將在下一個(gè)開(kāi)關(guān)周期中重新加載。實(shí)際上,Td 的總控制延遲將為兩個(gè)開(kāi)關(guān)周期,即 2 x Ts。
除了此處所示的示例之外,其他實(shí)現方案也可能會(huì )引入類(lèi)似的擴展控制延遲,例如,在 ISR 代碼中將 ADC 值讀取放在控制器計算之后,或者在計算控制器之前添加 N 周期算法平均值。
如圖 6 所示,在圖 5 的錯誤實(shí)現中,如果將 GAIN 交叉頻率設置在 3kHz 左右,則相位裕度為 41.68 度。此值小于 45 度,并且扼流電流有明顯的振蕩,比如圖 1 的波形,因此您被迫將交叉頻率降至低于 2kHz;然后 iTHD 更差,無(wú)法滿(mǎn)足要求。
圖 6. 錯誤代碼實(shí)現下的波德圖
設計解決方案
此問(wèn)題可以輕松解決,只需將 ADC 轉換移動(dòng)到 COUNTER = PERIOD 的時(shí)刻,并且使 PWM 重新加載在下一個(gè) COUNTER = PERIOD 時(shí)刻發(fā)生,如圖 7 所示。
圖 7. 通過(guò)改進(jìn)代碼可減少控制延遲
控制延遲將減少為一個(gè)開(kāi)關(guān)周期。相位裕度顯著(zhù)增加,電流振蕩消失,如圖 8 和圖 9 所示。
圖 8. 改進(jìn)代碼后的波德圖
圖 9. 改進(jìn)代碼后的波形
組織有序的控制方案
在數字實(shí)現中,從 ADC 采樣到 PWM 調整的控制延遲將減小相位裕度并導致振蕩。解決該問(wèn)題時(shí),應考慮 ADC 采樣、控制器計算和 PWM 重新加載的后果。組織有序的控制方案可以將延遲盡可能減少到半個(gè)或一個(gè)開(kāi)關(guān)周期,從而增加相位裕度和環(huán)路帶寬。
評論