王春



摘 要 電能作為一種廣泛的能源,使用于民用和工業領域,電網的供電質量好壞,直接影響民眾的生活質量和企業的生產效率。為監控使用的交流電的實時情況,需對交流電的電壓和電流進行測量、顯示,為了實現多路的測量,我們設計了該款多路交流采集系統。
【關鍵詞】MC9S12XS128 多路交流電壓電流采集 均方根算法 霍爾互感器
1 電力交流采樣系統設計方案
1.1 總體方案
電力信號數據算法主要有兩種,直流采樣算法,交流采樣算法,而交流采樣算法又分為半周期積分算法、均方根算法、傅里葉算法等,交流采樣算法運算量大,占用單片機資源較多,而本設計主要針對16路交流電的電壓和電流采樣數據處理,為了降低對單片機資源的占用,采用直流采樣算法,而為了達到電壓采集數量和電流采集數量任意組合性,優化了電壓和電流的前端采集模塊,實現了電壓采集模塊和電流采集模塊互換后,對信號處理影響很小。系統硬件電路由電源電路、信號采集電路、信號變換電路、信號處理電路、數據傳輸電路等組成,如圖1所示。
電源電路將+12V電源降壓到+5V,信號采集電路采集交流信號,信號變換電路將采集的信號進行調整,信號處理電路將調整好的信號進行A/D采樣并進行運算處理,數據傳輸電路將處理好的數據向外傳輸。數據的采樣和處理有MC9S12XS128來完成。
1.2 硬件電路設計方案
1.2.1 單片機模塊
單片機是該系統的核心單元,本設計采用飛思卡爾MC9S12XS128,該款單片機帶有16路12位/10位/8位的A/D采樣模塊,該模塊中含有采樣緩沖器、放大器,具有可編程采樣時間,轉換結束標志和轉換完成中斷,外部觸發控制,可選擇單次轉換模式或者連續轉換模式等特性。其采樣精度可根據需要進行設置,數字量轉化時間可以根據需要進行編程設置。
1.2.2 信號采集電路與信號變換電路
由于220V交流電屬于強電,因此設計中采用霍爾互感器采集電力線路中的信號。根據采集的信號不同,分別采用電流型電壓互感器和電流互感器,將220V交流電轉變成毫安級的交流信號,提高的了設計的安全性?;ジ衅鹘^緣電阻常態時大于1000MΩ,工作頻率范圍20Hz~20KHz,抗電強度可承受工頻1000V/分鐘,相移小于5°,額定電流不大于20mA。
由于本系統設計為多路電壓電流采集系統,需對信號采集電路以及信號轉換電路進行優化,以便根據不同需求,可以任意選擇前端采集電路為電壓采集電路或者電流采集電路,通過圖2和圖3分析,兩種信號轉換電路可以統一采用一種電路,只需將轉換電路的輸入信號設定為統一的要求,即通過選擇更換不同的互感器及相應電路,就可以滿足電壓或者電流的采集,在后續的生產使用中,無需對單片機的程序進行修改即可使用,降低了前期的研發周期和后期的維護成本。
U1A放大器組成的是半波整流電路,將交流信號的正電壓部分轉換負成電壓,U2放大器組成的是加法積分電路,將交流信號轉換成直流信號。
1.2.3 電源電路
本系統的電源由外部提供±12V電源,而單片機的主要供電電壓為+5V,因此,需要將+12V電源轉換為+5V電源。在設計中,為了降低功耗,減少電源芯片的發熱量,在設計中放棄了簡單的三端穩壓塊的降壓電路,而是采用DC-DC電路,提高了轉換效率,提高電源芯片的使用壽命和可靠性。見圖4。
該電路轉換頻率為380KHz,轉換效率大于80%,輸出最大電流1.5A(連續輸出),紋波小于30mV,滿足系統對+5V電壓的需求。
2 系統軟件設計
2.1 軟件整體設計
程序主要由以下幾個模塊組成:單片機初始化模塊,兩個定時器中斷,一個外部事件中斷,串口通信模塊,數據處理模塊。其中初始化模塊又包括:鎖相環PLL,高速計數模塊脈沖累加,定時器PIT,A/D,普通I/O口,串口發送SCI等。軟件實現的主要功能包括:
(1)通過MC9S12XS128的定時器1與A/D轉換模塊實現模數轉換,對轉變后的直流信號采集并存儲到寄存器中。
(2)利用算術平均根算法實現MCU對數據的處理。
(3)控制串口與外部中斷實現數據傳輸和交互顯示。
主程序流程圖如圖5所示。
2.2 數據采集和處理程序設計
本系統采集的信號是直流電平,其采樣周期的選擇與算法的選擇有密切的聯系,采樣的周期越小,測量結果越接近真實值,越能夠快速反應交流電壓或者交流電流變化的情況。
數據采集流程圖如圖6所示。
2.2.1 A/D數據采集設計
本系統采用算術平均根算法進行參數計算,交流電的頻率為50Hz,周期為20ms,采樣周期10us,采用讀轉換完成標志位的方式讀取轉換數據。A/D初始化設置如下:
ATD0DIEN = 0x00;//禁止數字輸入功能
ATD0CTL0 = 0x0F;//模擬輸入通道為16
ATD0CTL2 = 0x40;//A/D模塊快速清零,禁止外部觸發,禁止中斷
ATD0CTL1 = 0x40;//A/D分辨率選擇12位,且采樣前不放電
ATD0CTL3 = 0x80;A/D轉換結果右對齊,每個序列16個通道,非FIFO模式
ATD0CTL4 = 0x07;//12位精度,AD模塊時鐘頻率為2MHz
ATD0CTL5 = 0x30;//從通道0開始多通道連續采樣,同時啟動A/D轉換序列
while(!ATD0STAT0_SCF);//等待A/D轉換完成
2.2.2 串口數據傳輸
本系統由于采集的信號多達16路,設計中采用RS485通信方式將處理的數據傳送到上位機或者工業顯示器上。串口發送接收數據如下:
void SCI1_send(unsigned char data)
{
while(!SCI1SR1_TDRE); //等待發送數據寄存器(緩沖器)為空
SCI1DRL = data;
}
unsigned char SCI1_receive(void)
{
while(!SCI1SR1_RDRF); //等待發送數據寄存器滿
return(SCI1DRL);
}
3 結語
本產品應用在對電力參數要求不高而監控的路數比較多的場合,客戶實際使用中,對產品的所測參數以及穩定性給予了高度的認可,目前,已在通信機房、指揮車等場所進行應用。