汪長林
摘要:嵌入式多處理器架構(gòu),可監(jiān)測電網(wǎng)電能質(zhì)量,實時分析線路故障,并對故障點錄波,存儲故障波形數(shù)據(jù),運作于二次線路中的智能終端。該裝置包含顯示屏,采用QT設(shè)計界面,支持參數(shù)配置,波形顯示,歷史數(shù)據(jù)/實時數(shù)據(jù)顯示等等。內(nèi)部數(shù)據(jù)通信主要由以太網(wǎng)、SPI、Local Bus組成,裝置內(nèi)置嵌入式Web服務(wù)器,可以把數(shù)據(jù)傳輸?shù)絇C端網(wǎng)頁,顯示出數(shù)據(jù)和波形,裝置設(shè)計框架清晰明朗,各工作部件各司其職,有序銜接。
關(guān)鍵詞:電能質(zhì)量監(jiān)測裝置;設(shè)計方案;電力系統(tǒng);故障錄波
0 引言
電力能源是當(dāng)今社會最不可或缺的清潔能源之一,由于近年來科學(xué)技術(shù)發(fā)展飛快,各種電力自動化設(shè)備、電子設(shè)備接入電網(wǎng),對電能輸出的平滑度造成了一定沖擊,電能質(zhì)量問題越來越受到社會各界的廣泛關(guān)注,用戶對于電能質(zhì)量的要求越來越高,供電部門在整改電氣環(huán)境、加強電力系統(tǒng)管理的同時,也需要一種高效的電能質(zhì)量分析自動化裝置。為此,電能質(zhì)量監(jiān)測終端應(yīng)運而生,它可以幫助監(jiān)測電網(wǎng)各項指標(biāo)[1],智能分析電力系統(tǒng)出現(xiàn)的故障。本文將對電能質(zhì)量監(jiān)測裝置的功能和內(nèi)部實現(xiàn)進行分析和介紹。
1 系統(tǒng)組成
1.1 ? ?硬件框架組成
該裝置由多CPU組成,采集部分采用DSP處理器,通信和顯示部分則由ARM處理器實現(xiàn)??蚣芙Y(jié)構(gòu)如圖1和圖2所示。
1.2 ? ?軟件框架組成
軟件部分主要為DSP端運算程序和ARM端處理程序,前端采集由DSP來完成,采用BF609工業(yè)級芯片,主頻1 GHz,雙核,搭載獨立16位AD芯片AD7607完成高精度采樣。每周波采樣512點,采樣點采用FFT算法,計算出基波到0.5~50次的各次[間]諧波電壓電流分量、總[間]諧波電壓電流含量、各次[間]諧波畸變率、總電壓電流[間]諧波畸變率、各次[間]諧波功率、[間]諧波相角等,以及三相不平衡、電壓波動、瞬態(tài)事件等電力系統(tǒng)數(shù)據(jù)。
前端采樣一直處于高效實時運作狀態(tài),數(shù)據(jù)通過高速SPI接口傳輸?shù)紸RM處理器,這里可以考慮擴展板卡,ARM板主要用于數(shù)據(jù)通信和存儲等,讓通信板和采樣DSP板獨立開,SPI接口即板間通信通道。ARM板處理器選用ARM9以上可運行Linux系統(tǒng)的皆可,本裝置選型為TI的AM335,cortex-A8內(nèi)核,800 MHz主頻,外加512M DDR,移植了嵌入式Linux 3.2的內(nèi)核,NAND FLASH 512M,由于存儲數(shù)據(jù)量較大,還配備了16G的存儲卡。
文獻[2]中提到一種ARM9處理器的bootloader啟動加載過程,A8也類似,CPU上電后,從nand flash啟動,一級bootloader,二級bootloader(關(guān)看門狗,關(guān)中斷,設(shè)置CPU時鐘頻率等),三級bootloader(uboot),啟動內(nèi)核,掛載文件系統(tǒng)。
通信板對外接口豐富,有2路RS485接口,2個USB接口,2個以太網(wǎng)接口;HMI部分由按鍵和液晶屏組成,4.3寸彩屏,6鍵導(dǎo)航按鍵,操作方便友好。軟件框架如圖3所示。
2 電力系統(tǒng)數(shù)據(jù)運算
在AD采樣得到一系列波形數(shù)據(jù)后,可進行積分運算,電壓和電流的有效值計算公式如下:
式中:u(x)為一個周期內(nèi)各時間點的電壓瞬時值;T為周期;U為電壓有效值。
式中:i(x)為一個周期內(nèi)各時間點的電流瞬時值;T為周期;I為電流有效值。
數(shù)據(jù)計算參照國標(biāo)《電能質(zhì)量 公用電網(wǎng)諧波》(GB/T 14549—1993)[3]。
諧波部分,第h次諧波電壓含有率HRUh為:
式中:HRUh為第h次諧波電壓含有率;Uh為第h次諧波電壓(方均根值);U1為基波電壓(方均根值)。
諧波電壓含量UH為:
文獻[3-9]列出了部分常用電能質(zhì)量數(shù)據(jù)計算標(biāo)準(zhǔn),文獻[10]講述了Comtrade文件的格式標(biāo)準(zhǔn)。
3 數(shù)據(jù)處理和存儲
采集板通過SPI接口進行板間通信,把數(shù)據(jù)傳輸?shù)紸RM板,每數(shù)百微秒發(fā)起一次數(shù)據(jù)通信,傳輸有效值、波形數(shù)據(jù)、諧波、電壓波動等等,ARM板操作系統(tǒng)下運行多進程/線程處理程序,收到數(shù)據(jù)作相應(yīng)處理、轉(zhuǎn)發(fā)、顯示。進程間使用共享內(nèi)存進行通信,電力系統(tǒng)數(shù)據(jù)以3 s(可設(shè)置)為時間間隔存儲到flash上,存儲方式為sqlite數(shù)據(jù)庫。SPI驅(qū)動數(shù)據(jù)觸發(fā)部分程序:
void psq_handler(int signum)
{
static unsigned int cnt = 0;
ioctl(fd, IOREQ_READ_NOTIFY, &app);
cnt = app.cnt;
memcpy(&DSPBuf[wpoint][0],base+(cnt*SLOT_SIZE),app.byte_num[cnt]);
nsize[wpoint]=app.byte_num[cnt];
wpoint++;
if(wpoint >=DSPBUFCOUNT)
wpoint =0;
if(!sigflag)
{
::raise(SIGUSR1);
}
}
……
signal(SIGIO, psq_handler);
fcntl(fd, F_SETOWN, getpid());
oflags = fcntl(fd, F_GETFL);
fcntl(fd, F_SETFL, FASYNC | oflags);