基于μC/OSⅡ的分布式應急電源控制系統設計
摘要:針對傳統應急電源控制系統的局限性,結合DSP的資源優勢以及源代碼公開的μC/OSII實時操作系統內核的強健性,設計了基于DSP+μC/OS-Ⅱ的應急電源控制系統。來進一步滿足應急電源高性能、高可靠性的要求。
ABSTRACT: Aiming at the limitations of the traditional emergency power system, combining the resource superiority of DSP and the real-time feature ofμC/OS-Ⅱ,the new system based on DSP and μC/OS-Ⅱ is designed in this paper. Consequently, further meeting the demand of high quality and reliability to EPS.
關鍵詞: DSP、μC/OS-Ⅱ、應急電源
Keywords: DSP、μC/OS-Ⅱ、Emergency power system
1 引言
隨著社會的發展,對供電可靠性的要求越來越高,一旦某些重要設施供電系統突然發生故障而中斷供電,將會破壞社會的正常秩序,甚至造成重大的政治影響和經濟損失。然而,電力故障突發性強,斷電情況必須考慮,因此就需要做到電源的不間斷,即供電線路停電時由備用電源供電。應急電源又稱EPS(Emergency Power System)具有下述優點:(1)電網有電時,處于靜態,無噪音;供電時,噪音小于60dB。不需排煙和防震處理,具有節能、無公害、無火災隱患的特點;(2)自動切換,可實現無人值守,電網供電與EPS電源供電相互切換時間均為0.1~0.25s;(3)帶載能力強,EPS適應于電感性電容性、及綜合性負載的設備,如電梯、水泵、風機辦公自動化設備、應急照明等;(4)使用可靠。主機壽命長達20年以上;(5)適應惡劣環境。可放置于地下室或配電室,也可緊靠應急負荷使用場所就地設置以減少供電線路。
2 工作原理
ABSTRACT: Aiming at the limitations of the traditional emergency power system, combining the resource superiority of DSP and the real-time feature ofμC/OS-Ⅱ,the new system based on DSP and μC/OS-Ⅱ is designed in this paper. Consequently, further meeting the demand of high quality and reliability to EPS.
關鍵詞: DSP、μC/OS-Ⅱ、應急電源
Keywords: DSP、μC/OS-Ⅱ、Emergency power system
1 引言
隨著社會的發展,對供電可靠性的要求越來越高,一旦某些重要設施供電系統突然發生故障而中斷供電,將會破壞社會的正常秩序,甚至造成重大的政治影響和經濟損失。然而,電力故障突發性強,斷電情況必須考慮,因此就需要做到電源的不間斷,即供電線路停電時由備用電源供電。應急電源又稱EPS(Emergency Power System)具有下述優點:(1)電網有電時,處于靜態,無噪音;供電時,噪音小于60dB。不需排煙和防震處理,具有節能、無公害、無火災隱患的特點;(2)自動切換,可實現無人值守,電網供電與EPS電源供電相互切換時間均為0.1~0.25s;(3)帶載能力強,EPS適應于電感性電容性、及綜合性負載的設備,如電梯、水泵、風機辦公自動化設備、應急照明等;(4)使用可靠。主機壽命長達20年以上;(5)適應惡劣環境。可放置于地下室或配電室,也可緊靠應急負荷使用場所就地設置以減少供電線路。
2 工作原理
(1)當三相市電正常時,EPS一路直接為負載供電,一路經過充電機給蓄電池組充電;
(2)當三相市電異常時,EPS的檢測裝置立即發出指令,0.1秒內由蓄電池組的直流電經過逆變裝置輸出三相交流電源給負載供電,供電時間為90分鐘;
(3)EPS供電過程中,如三相市電恢復正常,EPS的檢測裝置立即發出指令,0.1秒內恢復到(1)的工作狀態;
(4)EPS提供遠程強制啟動干接點(DC24V),如檢測到DC24V電源輸入,EPS會強制切換至應急輸出,自動切換不起作用;無電時,EPS工作在自動切換狀態。
3 DSP硬件設計
本系統采用TI公司的TMS320F240型DSP器件作為主要控制芯片,該DSP芯片指令執行速度快,內嵌Flash ROM和RAM,內部的事務管理模塊可以輸出多路PWM波,同時內含8路10位A/D通道及大量I/O端口,因此由它來構建數字控制系統時,硬件電路大大簡化。
以DSP芯片TMS320LF2407為核心的硬件電路設計主要包括:
(1)應急電源對電壓的采樣是通過差分電路實現的。圖2示出電壓采樣的差分電路。對電流的采樣是通過霍爾電流傳感器經過濾波、電平調整后實現的。本設計中,交流量需計算其有效值,是通過對瞬時采樣值的整流、濾波實現的。[2]
圖2 電壓采樣的差分電路
(2)DSP對充電控制采用EVA模塊的定時器1的PWM比較輸出,對逆變控制采用EVA模塊的比較單元1和比較單元2的比較輸出。通過專用驅動模塊2SD315A為核心元件的驅動電
路來驅動IGBT。2SD315A驅動模塊具有結構緊湊,使用簡單,可靠,隔離電壓高等優點。用兩個2SD315A模塊來驅動主電路的H橋,只需外加很少的外部元件。在連接驅動電路與IGBT時,要注意連線不能太長,最好是小于10cm,否則會使IGBT的驅動信號受到較大干擾,造成IGBT的誤觸發。此外,要根據IGBT的特性參數,選擇合適的集射極保護電壓及門極驅動電阻。
(3)DSP通過通用I/O口采集和輸出各種信號。消防、開機、強迫逆變、停止、備用等輸入信號,通過光電隔離電路送至I/O口。繼電器、接觸器的控制信號由I/O口經輔助繼電器輸出。
(4)該應急電源對電池過壓欠壓、逆變器過壓、逆變器過流、IGBT故障等嚴重故障,專門設計了硬件鎖死電路,系統上電時,其被清零,故障到來時,將其置位,同時封鎖PWM輸出,引發故障中斷,在故障中斷程序中檢測故障類型。對一般故障則采用查詢方式。
(5)DSP將采樣電路采集的ic,UH,ib,ub等參數以及監測到的故障類型、系統的工作狀態通過CAN總線輸出至上位監控系統。
4 軟件設計
μC/OS-II是一個實時操作系統的內核,它的大部分源代碼都是使用ANSI C寫的,有很強的移植性。它的內核功能豐富,具有可裁減性,用戶可根據自身需要來配置編譯條件,將實時內核裁剪到滿足自己功能的最小狀態。
在本系統中,有針對的編寫了uC/OS- II移植程序及硬件電路的驅動程序。應用程序從函數main()開始,main()內容如下:
void main(void){
SysInit ();/*系統初始化*/
OSInit();/*初始化u C/OS- II */
OSTaskCreate(TaskStart, (void*)0, (void*)&TaskStk[0][0],5);/*建立起始任務*/
OSStart();/*開始多任務調度*/
}
其中,SysInit()對系統的初始化工作主要包括:建立相關參數和變量,設置各種中斷,以及對各器件進行初始化,OSInit()用于對uC/Os- II操作系統進行初始化。起始任務TaskStart ()是一個建立其它任務的任務。接著,建立郵箱用于任務間的通信,再接下來,用OSTaskCreate()函數建立不同功能的任務:SCI通信任務SCIComm_Task()、LCD液晶屏刷新任務LCD_Fresh_Task()、脈寬計算任務PW_Calculate_Task()、逆變器輸出電壓采集任務Vo_Sample_Task()、鍵盤掃描任務Key_Scan_Task()、時鐘更新任務Time_Fresh_Task()、市電電壓采集以及監測任務Vi_Sample_Task()。任務優先級的確定原則是工作頻率越高,任務的優先級越高。任務之間的通信是通過發送或接受消息、信號或數據隊列來實現的。
另外,uC/OS- II在F2407上的移植和配置的方法如下:
(1)在OS_ CPU.H中定義相關的宏,聲明能夠識別的數據類型和堆棧增長方向。OS_ CPU C.C中定義以下6個函數:OSTaskStklnit ( ) 、OSTaskCreateHook()、OSTaskSwHOok()、OST&W_lefook()、OSTaskStatHook()、OST3meT5ckHook()。實際上真正需要定義的只有OSTaskStklnit(),其余5個只需聲明,不一定要有實際內容,這5個函數都是需要由用戶定義的接口函數。
(2)在OS_CPU_A.ASM中修改以下幾個匯編函數:OSStartHighRdy、OSCtxSw, OS1ntCtxSw,、OSTickISR。OSStarthighRdy的功能是運行優先級最高的就緒任務,該函數由OSStartp函數調用,OSStart()的調用是建立在OSInit()的調用并且至少已經建立一個任務的墓礎上的;OSCtxSw是一個任務級的任務切換函數,該函數在任務中調用;OSIntCtxSw是一個中斷級的任務切換函數;OSCtxSw為時鐘中斷服務函數,時鐘中斷程序負責處理所有與定時相關的工作,如任務的延時、等待等,在時鐘中斷中將查詢處于等待狀態的任務,判斷是否延時結束,則將重新進行任務調度。
(3)在主頭文件INCLUDES.H中增加OS_CPU.H , OS_CPU_C.C和OS_ CPU_A.ASM。因為INCLUDES.H是主頭文件,它將被所有后級名為.C的文件所包含。在移植時,需要對該文件進行改寫,在文件末尾增加以下頭文件:
#include
#include
(2)當三相市電異常時,EPS的檢測裝置立即發出指令,0.1秒內由蓄電池組的直流電經過逆變裝置輸出三相交流電源給負載供電,供電時間為90分鐘;
(3)EPS供電過程中,如三相市電恢復正常,EPS的檢測裝置立即發出指令,0.1秒內恢復到(1)的工作狀態;
(4)EPS提供遠程強制啟動干接點(DC24V),如檢測到DC24V電源輸入,EPS會強制切換至應急輸出,自動切換不起作用;無電時,EPS工作在自動切換狀態。
3 DSP硬件設計
本系統采用TI公司的TMS320F240型DSP器件作為主要控制芯片,該DSP芯片指令執行速度快,內嵌Flash ROM和RAM,內部的事務管理模塊可以輸出多路PWM波,同時內含8路10位A/D通道及大量I/O端口,因此由它來構建數字控制系統時,硬件電路大大簡化。
以DSP芯片TMS320LF2407為核心的硬件電路設計主要包括:
(1)應急電源對電壓的采樣是通過差分電路實現的。圖2示出電壓采樣的差分電路。對電流的采樣是通過霍爾電流傳感器經過濾波、電平調整后實現的。本設計中,交流量需計算其有效值,是通過對瞬時采樣值的整流、濾波實現的。[2]
圖2 電壓采樣的差分電路
(2)DSP對充電控制采用EVA模塊的定時器1的PWM比較輸出,對逆變控制采用EVA模塊的比較單元1和比較單元2的比較輸出。通過專用驅動模塊2SD315A為核心元件的驅動電
路來驅動IGBT。2SD315A驅動模塊具有結構緊湊,使用簡單,可靠,隔離電壓高等優點。用兩個2SD315A模塊來驅動主電路的H橋,只需外加很少的外部元件。在連接驅動電路與IGBT時,要注意連線不能太長,最好是小于10cm,否則會使IGBT的驅動信號受到較大干擾,造成IGBT的誤觸發。此外,要根據IGBT的特性參數,選擇合適的集射極保護電壓及門極驅動電阻。
(3)DSP通過通用I/O口采集和輸出各種信號。消防、開機、強迫逆變、停止、備用等輸入信號,通過光電隔離電路送至I/O口。繼電器、接觸器的控制信號由I/O口經輔助繼電器輸出。
(4)該應急電源對電池過壓欠壓、逆變器過壓、逆變器過流、IGBT故障等嚴重故障,專門設計了硬件鎖死電路,系統上電時,其被清零,故障到來時,將其置位,同時封鎖PWM輸出,引發故障中斷,在故障中斷程序中檢測故障類型。對一般故障則采用查詢方式。
(5)DSP將采樣電路采集的ic,UH,ib,ub等參數以及監測到的故障類型、系統的工作狀態通過CAN總線輸出至上位監控系統。
4 軟件設計
μC/OS-II是一個實時操作系統的內核,它的大部分源代碼都是使用ANSI C寫的,有很強的移植性。它的內核功能豐富,具有可裁減性,用戶可根據自身需要來配置編譯條件,將實時內核裁剪到滿足自己功能的最小狀態。
在本系統中,有針對的編寫了uC/OS- II移植程序及硬件電路的驅動程序。應用程序從函數main()開始,main()內容如下:
void main(void){
SysInit ();/*系統初始化*/
OSInit();/*初始化u C/OS- II */
OSTaskCreate(TaskStart, (void*)0, (void*)&TaskStk[0][0],5);/*建立起始任務*/
OSStart();/*開始多任務調度*/
}
其中,SysInit()對系統的初始化工作主要包括:建立相關參數和變量,設置各種中斷,以及對各器件進行初始化,OSInit()用于對uC/Os- II操作系統進行初始化。起始任務TaskStart ()是一個建立其它任務的任務。接著,建立郵箱用于任務間的通信,再接下來,用OSTaskCreate()函數建立不同功能的任務:SCI通信任務SCIComm_Task()、LCD液晶屏刷新任務LCD_Fresh_Task()、脈寬計算任務PW_Calculate_Task()、逆變器輸出電壓采集任務Vo_Sample_Task()、鍵盤掃描任務Key_Scan_Task()、時鐘更新任務Time_Fresh_Task()、市電電壓采集以及監測任務Vi_Sample_Task()。任務優先級的確定原則是工作頻率越高,任務的優先級越高。任務之間的通信是通過發送或接受消息、信號或數據隊列來實現的。
另外,uC/OS- II在F2407上的移植和配置的方法如下:
(1)在OS_ CPU.H中定義相關的宏,聲明能夠識別的數據類型和堆棧增長方向。OS_ CPU C.C中定義以下6個函數:OSTaskStklnit ( ) 、OSTaskCreateHook()、OSTaskSwHOok()、OST&W_lefook()、OSTaskStatHook()、OST3meT5ckHook()。實際上真正需要定義的只有OSTaskStklnit(),其余5個只需聲明,不一定要有實際內容,這5個函數都是需要由用戶定義的接口函數。
(2)在OS_CPU_A.ASM中修改以下幾個匯編函數:OSStartHighRdy、OSCtxSw, OS1ntCtxSw,、OSTickISR。OSStarthighRdy的功能是運行優先級最高的就緒任務,該函數由OSStartp函數調用,OSStart()的調用是建立在OSInit()的調用并且至少已經建立一個任務的墓礎上的;OSCtxSw是一個任務級的任務切換函數,該函數在任務中調用;OSIntCtxSw是一個中斷級的任務切換函數;OSCtxSw為時鐘中斷服務函數,時鐘中斷程序負責處理所有與定時相關的工作,如任務的延時、等待等,在時鐘中斷中將查詢處于等待狀態的任務,判斷是否延時結束,則將重新進行任務調度。
(3)在主頭文件INCLUDES.H中增加OS_CPU.H , OS_CPU_C.C和OS_ CPU_A.ASM。因為INCLUDES.H是主頭文件,它將被所有后級名為.C的文件所包含。在移植時,需要對該文件進行改寫,在文件末尾增加以下頭文件:
#include
#include
#include
(4)在配置文件OS_CFG.H中,定義最大事件數,最多內存分塊數,最多消息隊列數,最多任務數,最低任務優先級,是否允許信號使能,是否允許郵箱使能,是否允許消息隊列使能,時鐘節拍數以及其他的一些配置。通過修改這些設置,可對uC/OS- II進行裁剪,使之適應本系統的具體需要。
系統采用中斷方式接收上位機的指令,采用查詢方式發送。當上位機發出讀數、啟動或停止操作命令后,嵌入式系統將產生中斷,并發送應答信號,然后根據收到的命令類型進行相應操作。
5 功率變換算法
本系統脈沖寬度計算采用規則采樣法,計算公式如式(1):
(1)
其中Usm為正弦波的幅值,Utm為三角波的幅值,N為載波比。[1]
交變電源的高次諧波幅值為:
(2)
由(2)式可以看出N越大,高次諧波幅值越小。基于IGBT的器件特性,N不能無限大,取N=400, 則高次諧波幅值Um(n)很容易被濾波器濾去。考慮到處于開關工作狀態中的IGBT管從開通轉為截止狀態時,容易產生較長的“拖尾”現象,并進而導致IGBT因瞬時功耗偏大而影響EPS逆變器的可靠性,因此,在用公式(1)計算方波的脈寬時,,在系統中加入了反饋環節,把實際輸出的電壓經采樣送回控制器,用PI調節消除系統的靜態誤差,增加系統的穩定性。
6 結論
本文結合TMS320LF2407芯片和μC/OS-II實時操作系統內核的優點,設計出基于DSP和μC/OS-II的應急電源控制系統。通過在DSP上移植μC/OS-II,系統設計的周期得以減少,軟件的可讀性得以提高,從而節省了系統開發和維護的費用。目前,該系統工程樣機運行平穩可靠。
(4)在配置文件OS_CFG.H中,定義最大事件數,最多內存分塊數,最多消息隊列數,最多任務數,最低任務優先級,是否允許信號使能,是否允許郵箱使能,是否允許消息隊列使能,時鐘節拍數以及其他的一些配置。通過修改這些設置,可對uC/OS- II進行裁剪,使之適應本系統的具體需要。
系統采用中斷方式接收上位機的指令,采用查詢方式發送。當上位機發出讀數、啟動或停止操作命令后,嵌入式系統將產生中斷,并發送應答信號,然后根據收到的命令類型進行相應操作。
5 功率變換算法
本系統脈沖寬度計算采用規則采樣法,計算公式如式(1):
(1)
其中Usm為正弦波的幅值,Utm為三角波的幅值,N為載波比。[1]
交變電源的高次諧波幅值為:
(2)
由(2)式可以看出N越大,高次諧波幅值越小。基于IGBT的器件特性,N不能無限大,取N=400, 則高次諧波幅值Um(n)很容易被濾波器濾去。考慮到處于開關工作狀態中的IGBT管從開通轉為截止狀態時,容易產生較長的“拖尾”現象,并進而導致IGBT因瞬時功耗偏大而影響EPS逆變器的可靠性,因此,在用公式(1)計算方波的脈寬時,,在系統中加入了反饋環節,把實際輸出的電壓經采樣送回控制器,用PI調節消除系統的靜態誤差,增加系統的穩定性。
6 結論
本文結合TMS320LF2407芯片和μC/OS-II實時操作系統內核的優點,設計出基于DSP和μC/OS-II的應急電源控制系統。通過在DSP上移植μC/OS-II,系統設計的周期得以減少,軟件的可讀性得以提高,從而節省了系統開發和維護的費用。目前,該系統工程樣機運行平穩可靠。
文章版權歸西部工控xbgk所有,未經許可不得轉載。
上一篇:我國的包裝機械發展
下一篇:機床特征矩陣與成組相似系數