涂雪芹 屈紫懿 熊雋迪
摘 要:為進一步提高電力系統中的諧波電壓的測量精確度,提出了一種針對電力系統中的電壓諧波檢測系統的軟件實現方法。以采集的數據為檢測對象,采用FFT算法進行諧波分析,得到電壓中的各次諧波值,并用液晶顯示。文章重點介紹了系統軟件設計方法,同時對系統的硬件設計做了簡要描述,最后通過實驗驗證了系統設計的有效性。該系統具有較為精確的諧波分析功能,具有一定的實用價值。
關鍵詞:單片機;傅里葉變換;諧波檢測
引言
目前,電力系統的諧波源已出現類型多,分布廣等特點。電力系統中的諧波電壓來自大部分非線性用電設備或者外線路,如不加以實時有效的檢測并加以控制將會給諧波治理造成困難[1]。因此進行諧波治理之前,必須了解電網中諧波的次數及其含量,即必須進行諧波的測試。近年來國內外學者對此做了大量研究。常規的諧波測量方法有:模擬帶通或帶阻濾波器測量諧波[2],基于傅里葉變換的諧波測量[3],基于瞬時無功功率的諧波測量[4]。本設計是以單片機為核心,采用傅里葉變換并從軟件角度來實現電壓的諧波檢測,諧波次數可達到16次,并采用液晶顯示,可直接應用于電力系統電網電壓諧波分析,有較高的應用價值。
1 電壓諧波算法分析
傅立葉變換[5]是目前諧波測量儀器中廣泛應用的基本理論依據,它是當今應用最多也是最廣泛的一種諧波測量方法。它由離散傅立葉變換過渡到快速傅立葉變換的基本原理構成。使用此方法測量諧波,精度較高,功能較多,使用方便。文章對諧波分量的計算就是采用傅立葉算法。
傅立葉變換是由離散傅立葉變換過渡到快速傅立葉變換的基本原理構成。FFT算法的基本原理是把長序列的DFT逐次分解為較短序列的DFT。按照抽取方式的不同可分為DIT-FFT(按時間抽取)和DIF-FFT(按頻率抽取)算法。本系統采用了時間抽取FFT算法,即基2-FFT變換。其主要原理參考文獻[6,7]。
2 電壓諧波檢測系統組成
該系統主要由電壓采樣電路、A/D轉換電路、鎖相倍頻電路、控制電路、Max232電路等組成,系統總體結構圖如圖1所示。
圖1系統總體結構圖
其工作原理就是通過電流型電壓互感器產生電流值,再通過電壓轉換電路把電流信號轉換為電壓信號,然后把信號送AD574,完成A/D轉換,采樣數據由單片機讀取并對電壓數據保存。當采完一周期即32個采樣值后,通過FFT算法就能求到諧波值,諧波值得到后根據按鍵進行顯示。本設計的數據采樣采用同步采樣方式實現,其同步采樣信號是電壓信號經過變換電路將交流信號變換為方波,方波經鎖相倍頻電路倍頻32倍,產生同步采樣信號。
3 主控電路實現
控制系統是系統的控制和數據處理的核心,如今作為控制核心的芯片種類很多,如MCS-51單片機、AVR等等。設計中使用的是PHILIPS公司的P89V51RD,其最小系統電路如圖2。
圖2中包括了晶振電路,復位電路,按鍵,還有串口電路。時鐘電路的晶振頻率采用20MHz。單片機的復位電路采用人工復位方式,當按下開關時,就在RST端出現一段時間的高電平,使單片機復位。
其他硬件電路設計,包括電壓采樣電路、波形變換電路、鎖相倍頻電路、AD轉換及數據顯示電路等已在前期的工作中已成功實現,由于篇幅有限不再闡述。
4 系統軟件實現
考慮到FFT算法分析計算量較大,本次設計就選用C語言作為程序的編程語言。軟件實現的主要工作是數據采集及處理:當采集32點電壓值后,然后進行數據的計算。當有按鍵按下時,根據按鍵的功能選擇要顯示的數據。
針對P89V51片內數據存儲器資源有限的情況,作者對內存RAM的具體分配方案為:采樣的數據和顯示的數據放在RAM區域,因為對單片機而言內部RAM的存取速度為外部RAM的兩倍,這樣單片機的運算能力可以得到最充分的利用,系統軟件進行運算所需的時間可以大大縮短。
4.1 系統主程序設計
本軟件設計主要是完成電壓采樣數據的讀取與存儲,并對這組數據做FFT分析,得到諧波值,再根據按鍵進行數據顯示。初始化包括:顯示的初始化(還有系統的顯示主界面設計),采樣數據存儲的初始化,選擇好用哪個中斷,還有采樣的記數和鍵值的初始化等等。開中斷主要是得到采樣值并保存,本設計同步采樣32個點,所以就要等待32個中斷的之后才能得到32個采樣值,這時應該把中斷關上,做程序的其他功能。采樣到32個數值之后,要把這32個值進行倒序,才能對它們進行諧波分析。得到了數據各個諧波之后,就要對這些數據進行顯示了,由于一個顯示界面只能顯示6個數據,16個諧波數據要分頁顯示,設計中,用了兩個按鍵對數據的顯示進行上下翻控制,主程序流程圖如圖3所示。
4.2 中斷服務程序
中斷服務程序主要是把數據從A/D讀到單片機,在此次系統中每周期采樣32個點,所以中斷程序的功能就是存儲32個采樣點,采樣點存儲完成后就關閉中斷,返回執行主程序。中斷服務程序流程圖如圖4所示。
4.3 采樣值讀入與保存程序
考慮精度要求,選用12位A/D574來做數據采樣和轉換工作,其時序圖如圖5所示。
圖5中,當CE=1,CS=0,R/C=0時,AD574變換被啟動。轉換長度則由A0輸入控制:當A0=0時,實現12位轉換,變換數據從DB0~DB11輸出,當A0=1時,實現8位轉換。轉換器的數據由DB4~DB11輸出,引腳是用來控制輸出長度選擇的輸入端。當12/8=1時,在CE=1,CS=0,R/C=1時,12位數據輸出端DB0~DB11同時輸出; 當12/8=0時,12位數據分兩次輸出:A0=1,輸出低4位;A0=0,輸出高8位。低4位DB0~DB3被忽略。A/D574的12個數據口與單片機的P1口連接,由于一次只能傳送8位的數據,所以要分兩次傳送。這里通過P2.7口控制,當P2.7為0時,傳送的是高8位數據,當P2.7為1時,傳送的是低4位數據。所以接收到的2次數據要進行組合才能得到一個采樣值。程序流程圖如圖6所示。
4.4 諧波分析子程序
根據諧波分析算法和設計的實際情況,該系統的諧波分析子程序確定了采用時間抽取FFT算法來實現16次諧波分析功能。該程序計算精度高,并且易于二次擴展,如果分析多次諧波,程序變動不大,易于維護和升級。其流程圖如圖7所示。
4.5 鍵盤掃描程序
設計中用了液晶顯示,一個液晶界面能顯示6個數據,所以顯示16個數據要分3頁顯示。由于交流電壓諧波分析儀只對電壓諧波進行分析,沒有其他的要求,所以本次設計只用了2個按鍵,一個為上翻,一個為下翻,通過這兩個按鍵,就能達到16個數據的翻頁循環顯示。流程圖如圖8所示。
4.6 液晶顯示程序
FM12864I是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及128×64全點陣液晶顯示器組成。可完成圖形顯示,也可以顯示8×4個(16×16點陣)漢字。液晶顯示與數碼管顯示很多不一樣,唯一相同的就是多要生成代碼,按代碼顯示。一個界面的顯示是有很多個點組成的,顯示時,要先設置好X的值,然后設置Y的值,這樣定點發送代碼。如此循環,這樣就能確保屏幕上的每個點都能點亮或熄滅。液晶的初始化包括關顯示,開顯示,清屏。液晶顯示流程如圖9所示。
5 實驗結果
為了驗證諧波分析系統在硬件完好的前提下對軟件方法實現的精確性和有效性,在實驗中采用標準方波作為輸入信號對其進行測試。大量理論和實踐證明:對于一個標準方波信號,可以將它分解為多個不同周期的正弦波的線性組合。在實驗驗證中采用上海某電氣公司生產的5100mA電能檢測校準源產生一個標準方波電壓信號其電壓幅值為120V,頻率為50Hz,然后再用該裝置進行諧波測量,實驗結果如表1。
由表1可知,諧波測量誤差隨著諧波次數的增而有所增大,當檢測到第13次諧波時,其測量誤差最大為4.255%,不過這個誤差完全滿足國家規定的不能超過5.0%的誤差要求。因此,本檢測系統具有一定的實用性和參考價值。
6 結束語
針對電力系統中的電壓諧波干擾,提取了一種電壓諧波檢測系統軟件實現設計方法,以采集的數據為檢測對象,采用FFT算法進行諧波分析,得到電壓中的各次諧波值,并用液晶顯示。其主要程序有:中斷程序,采樣值讀入和轉換程序,鍵掃顯示程序及諧波分析程序。其中中斷程序實現單片機與AD的數據傳送,鍵掃顯示實現人機通訊,諧波分析則采用了FFT算法,具有分析16次諧波的功能。
參考文獻
[1]廖建慶.便攜式電網在線檢測儀設計[J].電力系統保護與控制,2010(19):199-202.
[2]曹良足,殷麗霞.小型帶阻濾波器的結構與設計[J].壓電與聲光,2010,6:125-128.
[3]卿柏元,滕召勝,高云鵬,等.基于Nuttall窗雙譜線插值FFT的電力諧波分析方法[J].中國電機工程學報,2008,28(25):153-158.
[4]陸秀令,周臘吾.基于瞬時無功功率的諧波電壓檢測法[J].高電壓技術,2006,32(1):88-90.
[5]馬月紅,王雪飛,梁四洋.離散傅立葉變換及其應用[J].中國現代教育裝備,2015(13):56-58.
[6]李橙橙.基于FPGA的FFT算法設計與實現[D].西安電子科技大學,2014.
[7]徐永海,趙燕.基于短時傅立葉變換的電能質量擾動識別與采用奇異值分解的擾動時間定位[J].電網