陽 衛,吳 漢,胡顯霜,陳 函,張啟龍
(六盤水師范學院物理與電氣工程學院,貴州六盤水 553000)
在當前電子信息技術高速發展的背景下,各類電子設備不斷更新優化,同時對電源的要求也在不斷提升。開關電源由于其具有可靠性、調壓范圍寬、體積小、重量輕、效率高、電路形式靈活多樣等優點,在各類電子設備中受到廣泛應用。隨著電子技術的迅速發展,單片機應用已經成為當今電子技術領域中的一個重要研究方向。以ARM Cortex-M4 為內核的單片機是一款功能強大的單片機,STM32F401 是其典型代表之一,其具有高性能、低功耗等優點,且4 開關Buck-Boost 電路是一種比較新的DC-DC 變換器拓撲結構[1-5],具有高效、穩定等特點,適用于各種電子產品的電源設計。本文所涉及的4 開關Buck-Boost 電路拓撲結構,可實現電壓轉換和輸出穩定的直流電,具有高效率、高精度、高頻率等優點,在各種電子設備中得到廣泛應用。其研究背景主要包括:電源管理、可再生能源、電動汽車等領域的需求;以及集成電路技術的發展,促進4 開關Buck-Boost 電路高度智能化、小型化、低成本化等。
與其他拓撲結構相比,4 開關Buck-Boost 有著更好的電性能和更廣泛的應用范圍,且有助于提高電力轉換的效率和質量[6-12]。本文旨在探索STM32 與4 開關Buck-Boost 電路的相互連接及控制方法,并結合INA226、4 針I2C OLED 模塊,實現電流、電壓等參數的測量與顯示。同時,其在電動汽車、新能源發電和智能電網等領域的應用也具有重要意義。
本文的系統結構框圖如圖1 所示:輸入端接220 V∕50 Hz的交流電,通過變壓整流濾波以后得到較為平順的直流電,利用LM7812 和LM7805 芯片轉換得到穩定的12 V 和5 V 電壓,其中12 V 電壓主要用于給MOS 管的驅動電路供電,5 V 的電壓分別為主控STM32 單片機、INA226、0.96寸I2C OLED屏幕等供電。主要電路部分由2 個NMOS 和2 個PMOS 組成一個類似于H 橋的4 開關Buck-Boost 升降壓電路,由STM32 單片機給驅動電路輸入4 路可調節占空比的PWM[13-18],從而使得驅動電路控制4 個MOS 管的導通和關斷,進而輸出不同幅值的直流電壓。其中,按鍵主要用于控制系統的開∕關、調節PWM 的占空比以及切換顯示屏顯示功率、電壓、電流等信息。INA226主要用于電壓、電流輸出采集。
圖1 系統結構
系統原理如圖2 所示。可調開關電源主要由STM32主控芯片、OLED 顯示模塊、獨立按鍵及輔助電源等組成。輔助電源部分主要由LM7812 和LM7805 及變壓、整流、濾波電路構成,電壓電流檢測模塊主要是INA226模塊和采樣電阻構成,在實際應用中采樣電阻的阻值需要盡可能小,耐壓值盡量大。MOS 管驅動電路由一個IR2101,一個FR207 快恢復二極管、一個電容構成。4開關DC-DC 轉換電路由兩個PMOS、兩個NMOS、一個儲能電感和一個電容組成,一個NMOS 和一個PMOS 工作在不同的開關狀態使得總體呈現升壓或降壓電路。
圖3 所示為開關Buck-Boost 原理,本文中的DC-DC變換電路存在3 種工作模式,即Buck、Boost、Buck-Boost模式,各工作模式的使用條件由系統的輸入電壓來確定,從而達到在不同輸入電壓的條件下使用不同的工作模式。在這3 種工作模式中,Q1 與Q2 組成Buck 橋臂,Q3 與Q4組成Boost 橋臂。由于開關管在開關時會存在開關損耗,導致輸出波形中會產生紋波,這時可以適當提高PWM 的頻率或者增大后端電容C2 的容 量。在Buck 模 式時,Q1、Q2 互 補 通斷,Q3 常閉,Q4 常開;在Boost 模式時,Q1 常閉,Q2 常開,Q3、Q4互補通斷。Q1、Q3為PMOS,在此電路中為低電平導通,高電平截止;Q2、Q4 為NMOS,在此電路中為高電平導通,低電平截止。導通特性總結如表1所示。
圖3 開關Buck-Boost原理
表1 MOS管導通特性總結
程序流程如圖4 所示,系統上電的時候,先對所有的外設和內部函數進行初始化,OLED 展示開機頁面等等一系列的操作。由于此設計中沒有包含PID閉環控制,所以輸入的電壓需要在進行實物調試時,給定準確的輸入電壓幅值,然后系統再進行判斷使用何種模式。再者,由于本文采用12 V 交流輸出的變壓器(實際輸出會偏高一點),所以特意將DC∕DC 變換電路(4開關Buck-Boost電路)、驅動電路和控制電路使用單獨的穩壓芯片來分開,這樣會使得控制回路受到DC∕DC 變換電路的影響較小,但在實際中也會使得DC∕DC 變換部分電路的輸入電壓達不到標準DC12 V。
在完成本文系統結構的基礎之上,為了保證本文能夠輸出可調電壓,需要對MOS 管的死區時間、驅動電路的傳輸時間進行理論計算,具體計算方法是根據選擇的元器件而得出。詳細計算過程如下。
圖4 程序流程
MOS 管的死區時間是指在MOS 管的導通和截止狀態之間,由于電荷注入和抽出的延遲,使得MOS 管處于不能導通和截止的狀態,從而影響電路的正常工作。因此,在實際電路設計中,需要正確計算MOS 管的死區時間,以保證電路的穩定性和可靠性。由于本文采用的驅動電路具備MOS管驅動IC自帶死區關斷的功能,除了硬件關斷,在軟件設計中也加入了互補死區時間。所以死區計算在本文中是極其重要的,如果輸入輸出的PWM控制信號沒有死區余量,會導致上下橋臂的MOS 管在某一時刻同時導通。本文使用以下公式來計算死區時間:
式中:td_off_max為最大關斷延時時間;td_on_min為最小開通延遲時間;tpdd_max為驅動電路最大傳輸延遲時間;tpdd_min為驅動電路最小傳輸延遲時間。
本文使用IRF9530(P)和IRF540N(N)來作為主要的開關管器件,查看開關管對應型號參數如表2~3所示。
表2 IRF9530開關參數
表3 IRF540N開關參數
在開關管開關狀態已知,上下橋臂不能同時導通時。此時由表2~3 可知開關管的參數如下:IRF9530 的關斷時間為31 ns+39 ns=70 ns;IRF9530 的開通時間為12 ns+52 ns=64 ns;IRF540N 的關斷時間為53 ns+43 ns=96 ns;IRF540N的開通時間為11 ns+44 ns=55 ns。
在4 開關Buck-Boost 電路中,由于半橋是由一個PMOS 和一個NMOS 組成的,可知最小開通延遲時間為:td_on_min= 70 ns + 55 ns = 125 ns = 0.125μs。則最大關斷延遲時間為:td_off_max= 64 ns + 96 ns = 160 ns = 0.16μs。
驅動電路傳輸時間是指信號從驅動電路發出到達MOS 管控制端的時間,即延遲時間。圖5 所示為Proteus仿真的波形圖(在PWM 頻率為10 kHz 時),是PWM 信號經過驅動電路以后輸入與輸出對比所得到的波形,黃色為輸入,藍色為輸出。
圖5 驅動電路傳輸延遲時間
由此可知,信號經驅動電路后,當輸入高電平PWM在100.25μs - 99.40μs = 0.85μs 時,才有輸出;而當輸入PWM 由高電平轉換至低電平時,輸入的PWM 在57.27μs - 56.35μs = 0.92μs 后才輸出。所以此時可計算出驅動電路最大傳輸延遲時間:
tpdd_max=57.27μs - 56.35μs = 0.92μs
最小傳輸延遲時間:
tpdd_min=100.25μs - 99.40μs = 0.85μs
將td_on_min、td_off_max、tpdd_max、tpdd_min代入式(1)計算得出死區時間為:
tdead=(0.035μs + 0.07μs) × 1.2 = 0.126μs
因為本文利用PWM控制占空比,因此應將所得到的死區時間轉化為PWM所對應的占空比數值。在定時器的配置中,PWM 的頻率由自動重裝載值即計數值(ARR)和預分頻值(PSC)還有該定時器所在的時鐘總線的頻率來確定。其基本公式為:
由STM32F401RCT6數據手冊可知,本文中所使用的通用定時器TIM5的時鐘頻率f時鐘主頻= 84 MHz,在軟件配置的時候設定的ARR 和PSC 分別為84 000 000 /649 000和0,所以此時的PWM 頻率Fpwm= 129.3 kHz。由周期計算公式T= 1∕f可得一個周期的時間為7.73μs,所以死區時間tdead對應的占空比數值為1.630,約等于2(此處約等于2 是由于定時器的占空比數值類型只能輸入整型)。由于中心對齊計數模式的死區時間分別分給了上升沿和下降沿一側,所以此時需要設置死區的占空比數值為2 × 2 = 4。
圖6 所示為可調開關電源大小設計實際電路,在實際電路中,由于LM7812 和LM7805 穩壓芯片的負載較大,導致發熱較為嚴重,但是對本文的可調電壓沒有影響。在經過多次調試后增加了一個散熱風扇,主要是對LM7812和LM7805穩壓芯片和4開關Buck-Boost電路進行散熱處理。其中4開關Buck-Boost電路是自己設計的PCB板子,目的就是為該電路模塊化,方便攜帶及調試。在電壓電流采集模塊上,使用10 個100 Ω 電阻并聯來組成一個大小在10 Ω的采樣電阻來對輸出電壓和電流進行采樣。
系統上電后,首先單片機會先執行各模塊的初始化程序,并將開機信息顯示在OLED 屏幕上。等待系統穩定后,利用數字萬用表對電路進行測試,測試結果如圖7所示。
從以上測試結果可知,在PWM 頻率為129.3 kHz時,儲能電感取值為47 μH,電容為1 000 μF 時,測試輸出電壓范圍在1.48~13.48 V,如圖7(a)所示。這一測試結果驗證了本文基于STM32 的4 開關Buck-Boost 電路數控可調開關電源大小的可行性。又因為電路在設計過程中考慮不足,還有很多待完善之處,如圖7(b)所示,會導致輸出電壓在高于10.93 V時,稍有小幅度波動,但不影響開關電源的穩定性。
本文設計了一款基于STM32 可調節輸出電壓大小的開關電源,其主要采用的是4 開關Buck-Boost 電路變換電壓的方式并且是以PWM為驅動輸入信號調節占空比的方式進行控制調節。并結合INA226 采集模塊、4 針I2C OLED 模塊,實現電流、電壓等參數的測量與實時顯示。本文中還對4 開關Buck-Boost 的死區時間進行了計算,在本文中計算得出為0.126 μs。最后根據電路原理圖制作出實物,經調試測試得出該設計電壓的范圍為1.4~13 V 的可調電壓輸出,滿足了一定的設計要求。但本文主要有以下幾點不足。
(1)軟硬件設計方面。硬件設計中存在一些不足,如電路噪聲和干擾問題,需要進一步改進和優化。軟件設計方面,程序的穩定性和可靠性還需要進一步測試和優化。同時,需要更加完善的異常處理機制,使系統功能更加完善。
(2)電源噪聲方面。由于硬件電路元件布局不當,會使得電路產生電源噪聲,后續可以進一步修改并完善。
(3)發熱方面。系統中的穩壓芯片LM7812和LM7805由于負載較多,因此發熱會稍微嚴重,在后續改進中適當增加穩壓芯片的使用,減少單個穩壓芯片的負載。
(4)體積方面。由于變壓、整流和濾波電路的元件使用之初沒有考慮到體積因素,從而導致樣機的體積稍大,在后續的改進中可以采用當前體積較小的模塊來直接代替這一部分的電路。除此之外,樣機中采用的主要模塊都是現成的,雖然是方便了一點,但是體積還是稍大。