在附件中有WDS環(huán)路計算工具和筆者的源程序代碼。
下面開始環(huán)路控制的代碼編寫。
在本例中,其實是用到了兩個環(huán)路補償?shù)挠嬎愫瘮?shù),電壓環(huán)路和電流環(huán)路。都是用的3P3Z的補償算法。不同的是電壓環(huán)路在FMAC硬件中進行計算,不占用CPU的時間,而電流環(huán)路只能用CPU進行軟件計算,比較耗費CPU時間。下圖是FMAC工作在IIR濾波器模式下的結構圖:
從上圖中,可以看到環(huán)路的差分方程的計算過程。
在程序的初始化時,要初始化這兩個環(huán)路參數(shù)。
/* Init 2p2z using the FMAC */
if (__3p3zInitFmacInt16( &USER_APPL_FMAC, &cntrlFmac,
A1, A2, 0.0,
B0, B1, B2, 0.0,
post_shift, DUTY_TICKS_MIN, DUTY_TICKS_MAX ) != HAL_OK)
{
/* Configuration Error */
Init_Error_Handler();
}
/* Init 2p2z using the CPU */
CNTRL_3p3zInit(&myDcdc.iLoop, iREF,
iA1, iA2, 0.0,
iB0, iB1, iB2, 0.0,
iK, (float_t)iDUTY_TICKS_MIN, (float_t)iDUTY_TICKS_MAX );
還有一點要注意:FMAC硬件計算電壓環(huán)路參數(shù)用的是定點數(shù),而CPU計算的電流環(huán)路用的是浮點數(shù)。
在這里,給讀者推薦一款環(huán)路參數(shù)軟件(STM32 Biricha WDS,簡稱WDS),專門為STM32平臺開發(fā)的環(huán)路計算軟件,支持STM32G474VE,而且是免費的。
可以去這個網(wǎng)站https://www.biricha.com/下載,要翻墻!!!
對應STM32的平臺,這個軟件是全功能免費的。當然該軟件也有對應TI平臺的、Microchip平臺的版本,不過后面的這兩個平臺就是收費的了。
下載完后,網(wǎng)站會免費提供給下載者一個注冊密碼,可以自行獲取,在輸入注冊碼后,在ST平臺就可以使用全功能的版本了。這里筆者會在附件中提供該軟件,但不提供注冊碼,避免麻煩。
因為本例中用的是兩相交錯并聯(lián)BUCK電路,不是純BUCK電路,而WDS又沒有交錯并聯(lián)BUCK的拓普,所以只能用BUCK電路拓普算出一組環(huán)路參數(shù)后,再其基礎上進行調節(jié)。
在此頁面中設定電路的拓普和預想要達到的穿越頻率和相位裕度。
輸出電感和輸出電容的相關參數(shù)。
這樣根據(jù)前面預想要達到的環(huán)路性能指標,該軟件可以自動計算出補償器的零極點的位置,如果對自動計算的結果不太滿意,也可以手動放置補償器零極點的位置。
同時根據(jù)補償器的參數(shù),會實時將該補償器傳遞函數(shù)的波特圖、功率電路及整體開環(huán)傳遞函數(shù)的波特圖繪制出來,如上圖所示。
然后是PWM周期和ADC采樣參數(shù)的設置,這些工作進行完畢后,會自動計算出FMAC所需要的參數(shù)。
然后在其基礎上調試環(huán)路參數(shù),使環(huán)路穩(wěn)定。
當要用到CPU計算3P3Z補償器時,就應該選擇浮點數(shù)據(jù)。如下圖所示:
上述過程將環(huán)路參數(shù)整定完成,再計算恒壓環(huán)路,等待FMAC計算出結果后,然后用該結果更新DAC1和DAC3的參考值。
因為DC電源工作在恒壓恒流的模式下,所以要判斷恒壓環(huán)路的結果與恒流環(huán)路的結果,哪個比較小,然后用那個較小的值去更新DAC的參考值,以達到自動切換恒壓、恒流這兩種輸出方式的目地。在FMAC的中斷中完成了電壓環(huán)路的閉環(huán)。
電流環(huán)路在ADC1的中斷中進行。
在本例中,還有更多的細節(jié),筆者并沒有進行更深一步的展開。比如DMA的工作方式,ADC發(fā)出DMA請求的響應,F(xiàn)MAC的工作方式、FMAC緩存的運行機制、COMP如何快速保護等技術細節(jié)都需要讀者詳細閱讀芯片的技術手冊。
在輸入電壓48V,輸出電壓26V,輸出電流60A條件下,用網(wǎng)絡分析儀測試電源開環(huán)bode圖:
在WDS理論計算結果的基礎上,進行微調后的bode圖如上圖所示。穿越頻率為2.4KHz,相位裕度為106°,基本上達到了設計目標。
下圖是交錯并聯(lián)的兩個主MOS管源極波形
本程序中,還沒用實現(xiàn)同步MOS管的驅動。如果想實現(xiàn)同步整流的功能也比較簡單,如下圖所示,當檢測到輸出電流超過一個限值后,驅動PC7(DCM_CTL)引腳為低電平,即可。
電源工作