資深工程師關于數字電源轉換的方案介紹
推挽式轉換器通常用于DC/DC轉換器和AC/DC電源。“多相PWM”術語描述的是多PWM輸出而不是邊沿對齊的。多相轉換器電路經常用于必須提供大電流、負載變化可能非常迅速的應用的DC/DC轉換器。由于PC電源的廣泛使用,相位變換PWM模式正變得越來越常見。Microchip的dsPIC DSC SMPS系列可以支持當前廣泛用于電源行業的所有已知的PWM模式。
理解PWM分辨率
電源設計人員和客戶必須正確地理解“PWM分辨率”這個術語。PWM分辨率并不表示某個計數器有多寬,而是表示在PWM循環時期內可以發生多少次計數 (盡可能最小的PWM時間片)。在電源行業,PWM分辨率表示的是PWM占空比內的最小時間增量。這個分辨率經常以ns表示。如果一個PWM模塊沒有足夠的分辨率,控制系統(硬件或軟件)就會使PWM輸出發生抖動,以實現期望的平均值輸出。在電源應用中,PWM抖動可以引起紋波電流的問題,并使控制進入所謂“極限循環期(Limit Cycling)”的不良運行模式。
例如,假設控制環路的輸出需要3.25的值,而PWM可以輸出的值是3和4。在這種情況下,PWM 在33343334值之間抖動。這可以容易地看到——許多DSC都采用運行于40至150 MHz范圍之間的PWM計數器,可以產生6至25ns的PWM分辨率。SMPS dsPIC DSC系列具有1ns的占空比分辨率。在一個控制環路中,在PWM輸出一個新的占空比值之前,來自電壓和電流測量的采集時間被稱為“延遲”。當延遲下降時,控制環路變得更穩定和更具有響應能力。一些DSC配備了PWM模塊,只在PWM周期到周期的基礎上接收新的占空比數據。在PWM模塊接收數據之前,軟件計算新的占空比值的時間滯后會增加控制環路延遲,并使其穩定性下降。因此,最好采用有PWM模塊的DSC,以便及時接收和處理新的占空比數據。
SMPS ADC的需求
您可以將您的模擬知識運用于采用DSC的智能電源設計。片上ADC可以為控制環路提供系統狀態(反饋)。傳統的ADC是基于ADC值以“組”的方式進行采集和處理的假設而設計的。音頻處理和工業控制系統的ADC通常都是以這種方式發揮作用。組采樣可使處理器工作量達到組中的峰值,這將增加控制環路的延遲。
在SMPS電路中,通常不存在要被采樣和轉換的模擬信號,或者這樣的信號不會在任何時候都那么明顯。這樣的信號可能在PWM周期的某一刻才比較明顯。因此,由于不精確的采樣定時,標準的ADC模塊可能錯過希望得到的數據。
圖3給出了一個用于監測電流的電流檢測電阻器的實例電路。在這個電路中,只有當晶體管導通時,才能檢測到電流。典型的ADC模塊不能精確地使采樣保持電路在適當的時間進行一次采樣。如果應用需要多個電路進行檢測,那么這個ADC就不理想。SMPS dsPIC DSC的片上ADC模塊可提供獨立的采樣保持電路,可以進行彼此獨立的采樣。因此,它可以在準確的時刻監控電壓或電流,有助于實現事件瞬時(event transitory)信號的采樣,并降低系統成本。此外,SMPS dsPIC器件的片上ADC可以進行異步采樣,有助于支持PFC(70 kHz)和DC/DC(250 kHz)等不同頻率的多控制環路運行。
圖3 帶有具體采樣保持(S/H)功能的ADC的重要意義
模擬比較器改進數字SMPS設計
因為ADC不能繼續不斷地監控信號,所以只能以高達每秒兆次采樣(MSPS)的量級進行采樣。一些DSC具有模擬比較器,可以解放處理器和ADC以完成其他重要的任務。例如,模擬比較器可以利用與傳統線性電源控制器直接控制PWM占空比類似的方式進行電流控制。模擬比較器還能夠提供對過壓或過流狀況的獨立監測。Microchip的SMPS dsPIC DSC的參考DAC和模擬比較器可以實現從電流測量到PWM更新的大約25ns的延遲。通常,從檢測到模擬電壓,直到由比較器對PWM輸出進行修改,大約需要25ns的時間。與其他必須使用“輪詢”技術的ADC以及利用處理器修改PWM輸出來響應變化條件的其他DSC相比,這個響應時間是非常迅速的。事實上,這正是DSC實現逐周期電流限制的方法,屬于電流模式控制。由于連接模擬比較器的參考DAC也是16位的,PWM分辨率也是相同的,因此同樣的控制分辨率對電壓和電流模式都是有效的。 PID算法
使用PID算法,將實際與期望輸出電壓之間的誤差進行比例、積分和微分計算,然后將這三項合起來,實現對PWM占空比的控制。PID算法可以用于采用電壓和電流模式的控制環路。處理 Microchip的DSC不需要DSP技巧(見圖5的代碼列表),控制軟件(圖4)的主要“核心”是PID環路。PID軟件通常很小,但是其執行速度非常快,通常每秒可以反復幾十萬次。這么高的反復率需要PID軟件程序盡可能有效地發揮最佳性能。使用匯編程序是保證“嚴緊代碼”的一種很好的方法。
PID控制環路是定期由ADC進行中斷驅動,任何系統功能都能在“空閑環路”中執行,以便減少PID控制軟件內不必要的工作量。諸如電壓上升/下降、錯誤檢測、前饋計算和通信支持程序功能都是空閑環路可以執行的,其他中斷驅動進程的優先級都必須比PID環路低。
空閑環路在完成系統和外設的初始化任務之后啟動。通常,空閑環路監控溫度,計算“前饋”條件,并檢查故障狀況。SMPS軟件可執行該控制算法,將ADC 中斷驅動的PID環路作為其與時間關系最密切的部分。PID軟件不應該使用超過可用處理器大約66%的帶寬,以便計算資源的其余部分能夠分配給空閑環路軟件。
假設以30 MIPS運行PID環路(包括30條指令),執行時間大約為1μs。如果反復率是500 kHz(2μs),那么PID工作量需要消耗一半可用的處理器帶寬,也就是15 MIPS。
用于數字式降壓式轉換器的PID軟件的實例代碼列表:
CALCULATE_PID:
push.s ; Save SR and W0-W3
bclr.b IFS0+1, #3 ; Clr IRQ flag in interrupt controller
#PID_REG_BASE, w8 ; Init pointer to PID register block
mo
pid控制器相關文章:pid控制器原理
評論