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