鉅大LARGE | 點擊量:912次 | 2019年11月19日
一種小型UPS電源的嵌入式設計
引言
該類小型智能化UpS電源主要應用在通信行業、醫療設備和移動機器人等低電壓場合,具備運行可靠、噪音小、能耗低等特點。目前國外多所高校和公司在針對該類UpS進行研究和試制,并且在小型交流UpS電源上取得了一些進展。但是國內所進行的相關研究尚處于起步階段。
不同于多數交流輸出的UpS電源,本文提出的小型UpS電源是通過控制相應的DC-DC模塊直接獲得直流輸出,避免了轉換過程中的能量損耗。在系統設計上采用了嵌入式設計思想,將主控芯片與外圍功能電路融合在同一塊電路板中,軟硬件協同工作以實現UpS的智能化管理并大大減小系統的體積。
1硬件系統
1.1系統概述
如圖1所示,根據項目需要,設計以110V/50Hz的交流電為市電輸入,通過開關電源模塊將110V交流電轉換成12V的直流電。同時該模塊內置市電檢測模塊,用來產生市電掉電信號,并將信號傳送給主控芯片。市電經過開關電源AC-DC轉換后得到12V直流輸出并通過LTC4256熱插拔保護模塊供給負載。同時該直流輸出經過LTC1512充電模塊穩流后對鋰電池組進行充電。當系統工作在電池組供電模式時,鋰電池組通過LTC3780放電模塊為負載提供12V直流供電。
圖1系統整體方框圖
1.2主控芯片
為了提高系統的集成度,設計采用內部集成AD轉換功能單元的C8051F320作為主控芯片。該芯片內含兩個外部中斷源(INT0,INT1)以及一個可編程計數器陣列(programmableCounterArray,pCA),可以同時監測多路I/O信號及產生方波控制信號。
主控芯片通過不斷讀取鋰電池組電壓、溫度、充電電流以獲知系統當前的運行狀況。當捕捉到市電掉電信號時,主控芯片迅速給LTC3780發出工作信號(高電平),并給LTC1512發出關閉信號(低電平),從而實現對負載的不間斷供電;當捕捉到市電來電信號時,主控芯片給出相反的邏輯電平,切換為市電供電狀態。
1.3市電檢測模塊
為了實現對主控芯片及其他外圍芯片的隔離保護,市電檢測模塊通過pC817型光耦將市電掉電信號接入主控芯片:當市電正常供電時,在光敏二極管的驅動下,主控芯片的對應引腳直接被接地置低;當市電掉電時,光耦斷開,對應引腳被3.3V電源置高。主控芯片通過中斷程序監測該引腳上邏輯電平的變化得到市電供電的狀態從而控制UpS電源工作在相應狀態。
1.4電源管理模塊
電源管理模塊由電源選擇單元和穩壓芯片組構成。設計采用電源選擇芯片LTC4416實現內部電源選擇。電路如圖2所示,開關電源輸出為主電源,鋰電池組為從電源。其工作方式為:當市電供電時,LTC4416通過E1引腳判定主電源供電正常;當開關電源輸出電壓低于Vfail(圖中電路Vfail為8.9V)時,LTC4416判定主電源供電故障,選擇鋰電池組對系統內部供電。電源選擇電路不僅保證了系統內部正常供電,也增加了電池組的工作時間。穩壓芯片組將選擇后的電源分別穩壓為5V和3.3V,并提供給相應的模塊,系統內部電源分配如圖3所示。
圖2LTC4416電源選擇模塊電路
圖3系統內部電源框圖
1.5后備鋰電池組
該UpS電源采用14.4V,3.3Ah可充電鋰電池組作為后備電池組,其最大充電電壓為17.4V.電池組內部集成了控制芯片,供電后,控制芯片能產生充電完成信號、放電結束信號以及電池組溫度。
1.6充電模塊及放電模塊
以LTC1512為核心的充電模塊,通過電壓及電流反饋調節等方式將12V直流輸入轉換為16.8V的恒流輸出向電池組充電。當電池組供電時,以LTC3780為核心的放電模塊將電池組輸出穩壓為12V提供給負載。
為了實現對UpS的智能化管理,系統需要對電池組電壓和充電電流進行監測。電池組電壓的測量方法為:將電壓分壓、濾波后送入主控芯片的AD轉換單元,處理得到當前電壓值。充電電流則通過將采樣電阻兩端的電壓分別送入ADC單元轉換得到電壓差值,進而推導出電流值。
1.7熱插拔模塊
熱插拔保護即帶電插拔保護,允許用戶在不關閉系統、不切斷電源的情況下取出和更換硬盤、電源或板卡等部件。該UpS電源優點之一是集成以LTC4256為核心的熱插拔保護模塊,從而提高系統對災難的及時恢復能力、擴展性和靈活性等。此外LTC4256還能起到抑制輸出紋波、提高電能質量的作用。
2軟件系統
2.1軟件系統功能描述
智能UpS電源的功能是基于硬件電路設計,利用軟件控制相應模塊來實現。如圖4所示,軟件系統的主要功能為:
圖4軟件功能說明圖
(1)當市電正常供電時,軟件系統通過獲取電池組信息來判斷是否對電池組充電,并監控電池組電壓和溫度,確保UpS電源的正常工作。
(2)當市電對電池組充電時,中斷系統實時監測充電電流,出現異常時發出報警并停止充電以保護電池組。
(3)當市電掉電時,軟件系統控制主控芯片迅速給出相應控制信號,切換到電池組供電模式。
(4)當UpS電源工作在電池組供電模式時,中斷系統實時監控放電結束信號和電池組電壓,當電池組電能耗盡時,停止電池組供電。
(5)當電池組電壓過低或電池組溫度異常時,軟件系統發出報警指示,并且強制關閉UpS系統,確保系統安全。
2.2主控芯片的初始化
C8051F320每個引腳都可以被配置為模擬輸入或數字I/O引腳,被選擇作為數字I/O的引腳還可以被配置為推挽或漏極開路輸出。此外數字交叉開關允許將內部數字系統資源映射到端口I/O引腳。
用戶可以通過配置端口跳過寄存器(pnSKIp)、端口交叉開關寄存器(Xbr0,Xbr1)等寄存器來根據設計要求自由分配數字資源的功能引腳。
為了簡化硬件電路,主控芯片采用內部振蕩器作為時鐘基準。軟件初始化時則通過配置寄存器OSCICN來選取內部時鐘基準。
2.3中斷系統設計
由于市電檢測需要保證足夠的實時性,所以采用中斷方式來監測市電掉電信號。軟件上采用pCA模塊的輸入捕捉功能來捕獲信號的變化,從而提升系統的動態性能。pCA模塊初始化程序如下:
voidpCA_Init(void)
{
pCA0MD=0x00;
pCA0CpM0=0x31;
pCA0CN=0x40;
EIE1=0x10;
pCA0L=0x00;
pCA0H=0x00;
}
2.4AD轉換軟件設計
C8051F320的AD轉換單元支持最多17路模擬輸入,從功能上滿足了設計要求。其軟件分為初始化和測量兩部分。初始化主要負責選擇電壓基準,配置ADC模塊工作方式等,而測量部分程序則用來獲取UpS工作時的電池組電壓、充電電流和電池組溫度并根據報警閾值對系統進行保護。
由于AD轉換過程中會受到各種因素的干擾,因此程序中需要相應的誤差補償來確保數據的準確性。這些誤差補償參數可以通過估算得到理論值,然后根據多次試驗的實際數據進行修正得到合適的補償參數。
1.5后備鋰電池組
該UpS電源采用14.4V,3.3Ah可充電鋰電池組作為后備電池組,其最大充電電壓為17.4V.電池組內部集成了控制芯片,供電后,控制芯片能產生充電完成信號、放電結束信號以及電池組溫度。
1.6充電模塊及放電模塊
以LTC1512為核心的充電模塊,通過電壓及電流反饋調節等方式將12V直流輸入轉換為16.8V的恒流輸出向電池組充電。當電池組供電時,以LTC3780為核心的放電模塊將電池組輸出穩壓為12V提供給負載。
為了實現對UpS的智能化管理,系統需要對電池組電壓和充電電流進行監測。電池組電壓的測量方法為:將電壓分壓、濾波后送入主控芯片的AD轉換單元,處理得到當前電壓值。充電電流則通過將采樣電阻兩端的電壓分別送入ADC單元轉換得到電壓差值,進而推導出電流值。
1.7熱插拔模塊
熱插拔保護即帶電插拔保護,允許用戶在不關閉系統、不切斷電源的情況下取出和更換硬盤、電源或板卡等部件。該UpS電源優點之一是集成以LTC4256為核心的熱插拔保護模塊,從而提高系統對災難的及時恢復能力、擴展性和靈活性等。此外LTC4256還能起到抑制輸出紋波、提高電能質量的作用。
2軟件系統
2.1軟件系統功能描述
智能UpS電源的功能是基于硬件電路設計,利用軟件控制相應模塊來實現。如圖4所示,軟件系統的主要功能為:
圖4軟件功能說明圖
(1)當市電正常供電時,軟件系統通過獲取電池組信息來判斷是否對電池組充電,并監控電池組電壓和溫度,確保UpS電源的正常工作。
(2)當市電對電池組充電時,中斷系統實時監測充電電流,出現異常時發出報警并停止充電以保護電池組。
(3)當市電掉電時,軟件系統控制主控芯片迅速給出相應控制信號,切換到電池組供電模式。
(4)當UpS電源工作在電池組供電模式時,中斷系統實時監控放電結束信號和電池組電壓,當電池組電能耗盡時,停止電池組供電。
(5)當電池組電壓過低或電池組溫度異常時,軟件系統發出報警指示,并且強制關閉UpS系統,確保系統安全。
2.2主控芯片的初始化
C8051F320每個引腳都可以被配置為模擬輸入或數字I/O引腳,被選擇作為數字I/O的引腳還可以被配置為推挽或漏極開路輸出。此外數字交叉開關允許將內部數字系統資源映射到端口I/O引腳。
用戶可以通過配置端口跳過寄存器(pnSKIp)、端口交叉開關寄存器(Xbr0,Xbr1)等寄存器來根據設計要求自由分配數字資源的功能引腳。
為了簡化硬件電路,主控芯片采用內部振蕩器作為時鐘基準。軟件初始化時則通過配置寄存器OSCICN來選取內部時鐘基準。
2.3中斷系統設計
由于市電檢測需要保證足夠的實時性,所以采用中斷方式來監測市電掉電信號。軟件上采用pCA模塊的輸入捕捉功能來捕獲信號的變化,從而提升系統的動態性能。pCA模塊初始化程序如下:
voidpCA_Init(void)
{
pCA0MD=0x00;
pCA0CpM0=0x31;
pCA0CN=0x40;
EIE1=0x10;
pCA0L=0x00;
pCA0H=0x00;
}
2.4AD轉換軟件設計
C8051F320的AD轉換單元支持最多17路模擬輸入,從功能上滿足了設計要求。其軟件分為初始化和測量兩部分。初始化主要負責選擇電壓基準,配置ADC模塊工作方式等,而測量部分程序則用來獲取UpS工作時的電池組電壓、充電電流和電池組溫度并根據報警閾值對系統進行保護。
由于AD轉換過程中會受到各種因素的干擾,因此程序中需要相應的誤差補償來確保數據的準確性。這些誤差補償參數可以通過估算得到理論值,然后根據多次試驗的實際數據進行修正得到合適的補償參數。
上一篇:UPS電源設計思路探討
下一篇:電池容量的計算