基于DSP的軟件鎖相環(huán)的實(shí)現(xiàn)
0 引言
本文引用地址:http://butianyuan.cn/article/201702/343617.htm準(zhǔn)確獲取電網(wǎng)基波及諧波電壓的相位角,在變頻器、有源濾波器等電力電子裝置中具有重要的意義,通常需要采用鎖相環(huán)得以實(shí)現(xiàn)。傳統(tǒng)鎖相環(huán)電路一般由鑒相器、環(huán)路濾波器、壓控振蕩器及分頻器組成,其工作原理是通過鑒相器將電網(wǎng)電壓和控制系統(tǒng)內(nèi)部同步信號(hào)的相位差轉(zhuǎn)變成電壓信號(hào),經(jīng)環(huán)路濾波器濾波后控制壓控振蕩器,從而改變系統(tǒng)內(nèi)部同步信號(hào)的頻率和相位,使之與電網(wǎng)電壓一致。傳統(tǒng)鎖相環(huán)存在硬件電路復(fù)雜、易受環(huán)境干擾及鎖相精度不高等問題,隨著大規(guī)模集成電路及數(shù)字信號(hào)處理器的發(fā)展,通過采用高速DSP 等可編程器件,將鎖相環(huán)的主要功能通過軟件編程來實(shí)現(xiàn)。本文設(shè)計(jì)的鎖相環(huán)控制系統(tǒng)采用數(shù)字處理器TMS320F2812 芯片實(shí)現(xiàn)對(duì)電網(wǎng)基波及特定次諧波電壓相位的跟蹤和鎖定。
1 軟件鎖相環(huán)的設(shè)計(jì)方案
1.1 工作流程
基于DSP的軟件鎖相環(huán)設(shè)計(jì)此方案的基本思路是通過采樣電壓過零點(diǎn)獲取同步信號(hào),采用DSP 內(nèi)部定時(shí)器的循環(huán)計(jì)數(shù)產(chǎn)生同步信號(hào)來實(shí)現(xiàn)壓控振蕩器和分頻器的功能,即通過改變定時(shí)器的周期或最大循環(huán)計(jì)數(shù)值的方法來改變同步信號(hào)的頻率和相位,同時(shí)對(duì)電壓進(jìn)行A/D 轉(zhuǎn)換及數(shù)據(jù)處理,得出基波及諧波電壓的相位與頻率,調(diào)整SPWM 正弦表格指針地址完成對(duì)基波及諧波電壓的鎖相功能,其工作流程如圖1 所示。
通常,過零信號(hào)可以通過檢測(cè)電網(wǎng)三相電壓中任一相的過零點(diǎn)獲取。在圖1 中,以檢測(cè)A相電壓過零點(diǎn)作為過零信號(hào),將通過上升沿捕捉及軟件濾波后產(chǎn)生的中斷作為采樣周期同步信號(hào),當(dāng)DSP內(nèi)部時(shí)鐘倍頻后產(chǎn)生的中斷在捕獲到輸入電壓信號(hào)在過零點(diǎn)時(shí),將發(fā)正弦信號(hào)的指針歸零,以保證輸入電壓信號(hào)過零時(shí)DSP發(fā)出的基準(zhǔn)正弦信號(hào)也同步過零,從而實(shí)現(xiàn)相位同步。本文采用SPWM 觸發(fā)模式,基準(zhǔn)正弦信號(hào)是一個(gè)正弦數(shù)據(jù)表格,控制逆變器輸出的基準(zhǔn)點(diǎn);同時(shí)采樣電壓信號(hào),經(jīng)DSP進(jìn)行FFT計(jì)算分析其相位和頻率、基波及諧波與A相電壓過零點(diǎn)相位差,通過修改定時(shí)器周期寄存器來改變SPWM 輸出時(shí)正弦波的頻率;以修改比較寄存器來改變SPWM 輸出時(shí)正弦波的相位,這樣完成了對(duì)基波及諧波電壓的相位鎖定。
1.2 過零檢測(cè)電路的設(shè)計(jì)
過零信號(hào)對(duì)系統(tǒng)相位捕捉的精準(zhǔn)性影響較大,系統(tǒng)設(shè)計(jì)時(shí)采用軟硬件結(jié)合的辦法實(shí)現(xiàn)對(duì)過零信號(hào)的捕捉。獲取過零信號(hào)實(shí)質(zhì)上是為了給系統(tǒng)提供一個(gè)同步信號(hào),即每次信號(hào)過零時(shí)啟動(dòng)A/D轉(zhuǎn)換。在本設(shè)計(jì)中,過零檢測(cè)電路采集A相電壓每個(gè)周期的過零點(diǎn)作為系統(tǒng)產(chǎn)生的中斷信號(hào)CAP1,使中斷服務(wù)程序開始執(zhí)行,圖2 為電壓信號(hào)過零檢測(cè)電路。
圖2 中,在比較器芯片LM339 的輸出端選擇加裝了上拉電阻,主要是考慮到整個(gè)電路對(duì)驅(qū)動(dòng)、功耗和速度的要求。電阻R7和R8構(gòu)成一個(gè)滯回比較器,輸出信號(hào)通過反饋電阻R7 改變同相端的參考電壓,以消除輸入信號(hào)正反過零產(chǎn)生的抖動(dòng)。
1.3 過零捕捉的軟件實(shí)現(xiàn)
過零檢測(cè)主要解決的是采樣同步問題,當(dāng)檢測(cè)到的電壓信號(hào)由負(fù)到正過零時(shí),比較器芯片LM339 輸出端產(chǎn)生上升沿,將此信號(hào)輸入到DSP2812 事件管理器EVA 的引腳CAP1。引腳CAP1 在系統(tǒng)初始化程序中預(yù)設(shè)置為上升沿觸發(fā)中斷,因此當(dāng)過零信號(hào)到來時(shí),CAP1中斷子程序開始執(zhí)行,開啟事件管理器EVA 的TIMER 周期中斷,周期設(shè)置為駐T/128 s(每周期采樣128 個(gè)點(diǎn)),觸發(fā)A/D 模塊采樣。其中,駐T 為CAP1 捕捉到的兩個(gè)過零檢測(cè)信號(hào)上升沿的間隔時(shí)間,等于電網(wǎng)待測(cè)信號(hào)的周期T,圖3 為過零中斷程序的流程。
DSP 的捕獲單元CAP隸屬于事件管理器,它能夠捕捉到CAP 外部引腳的跳變,當(dāng)捕捉到對(duì)應(yīng)引腳發(fā)生特定的跳變時(shí),觸發(fā)相應(yīng)的中斷,并將定時(shí)器的值存入一個(gè)兩級(jí)深的FIFO堆棧中。本方案設(shè)計(jì)每16 點(diǎn)啟動(dòng)一次數(shù)據(jù)分析,同時(shí)投出一次控制量,這個(gè)過程為一個(gè)更新周期,判斷標(biāo)志ctrl 用來檢測(cè)是否進(jìn)入新的更新周期,以判斷是否需要啟動(dòng)新一輪數(shù)據(jù)分析和投出控制量。標(biāo)志位dft用來判斷當(dāng)前數(shù)據(jù)分析狀態(tài),為0 時(shí)表示重新初始化數(shù)據(jù)分析操作,為1 時(shí)表示數(shù)據(jù)分析操作完畢,為2 時(shí)表示允許啟動(dòng)新一輪數(shù)據(jù)分析,為3 時(shí)表示當(dāng)前正在進(jìn)行數(shù)據(jù)分析。圖4 給出了捕獲單元的軟件流程。
1.4 過零信號(hào)的軟件濾波
CAP1 捕捉到的兩個(gè)過零信號(hào)上升沿的間隔時(shí)間,即兩個(gè)CAP1中斷事件的間隔時(shí)間,等于電網(wǎng)待測(cè)信號(hào)的周期T。TIMER 在系統(tǒng)初始化后不斷計(jì)數(shù),然后在CAP1 的中斷服務(wù)程序中記錄兩個(gè)CAP1 中斷事件之間的TIMER 計(jì)數(shù)值N,可計(jì)算出T。同時(shí),采用軟件濾波來判斷CAP1信號(hào)是否為毛刺干擾,其過程如下:電網(wǎng)基波頻率波動(dòng)一般不超過依0.2 Hz,當(dāng)產(chǎn)生CAP1中斷時(shí),可以計(jì)算本次與前次的計(jì)數(shù)差值,如果遠(yuǎn)小于工頻周期計(jì)數(shù)差值,則認(rèn)為捕獲的中斷為干擾產(chǎn)生,如該中斷非連續(xù)兩次以上出現(xiàn),則中斷返回。同時(shí)對(duì)產(chǎn)生的中斷次數(shù)進(jìn)行累加,達(dá)到設(shè)定范圍時(shí)對(duì)電壓過零時(shí)刻正弦表格的指針位置進(jìn)行判斷,調(diào)整正弦表格指針地址,實(shí)現(xiàn)過零指針的校準(zhǔn)。
1.5 A/D轉(zhuǎn)換及相頻計(jì)算
過零信號(hào)經(jīng)過軟件濾波及校準(zhǔn)后,在捕獲到輸入電壓信號(hào)過零點(diǎn)時(shí),直接將發(fā)正弦信號(hào)的指針歸零,保證輸入電壓信號(hào)過零時(shí)DSP發(fā)出的基準(zhǔn)同步過零,從而實(shí)現(xiàn)相位同步。A相電壓過零信號(hào)送入管腳CAP1,作為一個(gè)采樣周期的基準(zhǔn),該周期的128 倍頻信號(hào)作為每次ADC 啟動(dòng)基準(zhǔn)。在系統(tǒng)初始化后開啟CAP1,并設(shè)置啟動(dòng)ADC、相應(yīng)的模數(shù)轉(zhuǎn)換、數(shù)據(jù)分析、控制量投出等操作,直到關(guān)機(jī)或者發(fā)生故障。由于F2812 的系統(tǒng)時(shí)鐘頻率非常高,為150 MHz,即中斷服務(wù)程序的響應(yīng)延遲時(shí)間非常小,可以忽略。在CAP1 的中斷服務(wù)程序中,根據(jù)待測(cè)信號(hào)周期T來設(shè)置F2812 事件管理器的通用定時(shí)器TIMER,每隔駐T/128 s自動(dòng)啟動(dòng)一次A/D轉(zhuǎn)換進(jìn)行數(shù)據(jù)采集。
A/D 轉(zhuǎn)換后的信號(hào)使用滑動(dòng)窗口的FFT 算法,以滑動(dòng)窗口的DFT和Pruning-FFT為基礎(chǔ),利用DFT對(duì)特定次諧波進(jìn)行選擇計(jì)算,根據(jù)滑動(dòng)窗口快速響應(yīng)以及Pruning-FFT 快速計(jì)算的特點(diǎn),使DSP的處理速度達(dá)到理想值。使用FFT進(jìn)行相位和頻率分析的原理如下。
對(duì)某一單一頻率信號(hào)
通過上述分析得出初相角、頻率,將數(shù)據(jù)存入對(duì)應(yīng)寄存器中,完成基波及諧波的相頻計(jì)算功能。
1.6 SPWM輸出的相頻調(diào)整
軟件鎖相輸出是由捕獲中斷和定時(shí)器中斷共同完成,捕捉中斷可以完成電壓周期和相位的計(jì)算,定時(shí)器中斷用來輸出SPWM波形。在本方案中,三角載波是利用通用定時(shí)器的連續(xù)增減計(jì)數(shù)模式產(chǎn)生的,當(dāng)通用定時(shí)器有效后,開始遞增計(jì)數(shù),直到等于周期寄存器的值,定時(shí)器開始遞減計(jì)數(shù),遞減到零時(shí),重新開始遞增計(jì)數(shù),并重復(fù)以上過程,從而形成三角載波信號(hào)。得到三角波后,通過比較單元來控制輸出波的極性,產(chǎn)生PWM 波。
TMS320F2812 系列DSP 片內(nèi)帶有比較單元,可提供6對(duì)可編程的PWM信號(hào),這為實(shí)現(xiàn)上述算法提供了極大的便利。當(dāng)定時(shí)器發(fā)生周期中斷時(shí),就需要重新裝載比較器的值,即此刻的正弦值。設(shè)定載波比為21(載波比應(yīng)為奇數(shù)且能被3 整除),即1個(gè)正弦波的周期等于21 個(gè)載波的周期,則相鄰的兩個(gè)三角波峰值對(duì)應(yīng)的正弦波相位差為360毅/21= 17.143毅,假定上一周期中斷裝載的正弦值為sin茲,則本周期中斷所需裝載的正弦值為sin(茲+17.143毅)。
例如:輸出正弦信號(hào)的頻率為250 Hz(5 次諧波)時(shí),其三角波的頻率則為5.25 kHz。三角波信號(hào)由定時(shí)器模擬產(chǎn)生,則定時(shí)器的定時(shí)周期為
5 次諧波的初相角茲是電壓經(jīng)FFT 計(jì)算得到與A相電壓過零點(diǎn)的相位差值。根據(jù)x和茲值,產(chǎn)生相應(yīng)的PWM 波。因正弦值實(shí)時(shí)計(jì)算時(shí)用得較多,在確定相位分辨率后,例如1毅,會(huì)導(dǎo)致大量重復(fù)計(jì)算。因此,采用查表法,按順序預(yù)存一個(gè)周期為420 點(diǎn)的正弦值,相位的分辨率為360毅/420=0.857毅,因每次比較器的裝載值是上一次移相17.143毅后的正弦值,所以只需將上一次裝載值的地址加上一定的偏移量,即為本次所需的裝載值地址,該偏移量為420/21=20??梢姡瑢⒄矣?jì)算簡化為讀相應(yīng)地址的存儲(chǔ)器值,會(huì)大大提高程序的效率。
通過讀取寄存器中基波及諧波電壓的初相角頻率以及與過零點(diǎn)相位差的值,調(diào)整對(duì)應(yīng)的正弦表格初相角指針地址,通過修改定時(shí)器周期寄存器來改變正弦波的頻率,修改比較寄存器來改變正弦波的幅值和相位,在下一個(gè)過零信號(hào)過零點(diǎn)投出相位和頻率控制量,即可完成對(duì)基波及諧波電壓及SPWM 輸出時(shí)的相位鎖定。
2 實(shí)驗(yàn)結(jié)果與分析
在一臺(tái)低壓有源電力濾波裝置中,采用基于TMS320F2812芯片為核心控制器的軟件鎖相環(huán)的設(shè)計(jì)方案。實(shí)驗(yàn)結(jié)果驗(yàn)證,該方案能夠很好地實(shí)現(xiàn)對(duì)基波及特定次諧波電壓相位的跟蹤和鎖定。
圖5(a)給出同步過零信號(hào)波形,電壓信號(hào)(正弦波)為A相電壓,過零信號(hào)為方波。電路設(shè)計(jì)時(shí)將電壓采樣信號(hào)幅值轉(zhuǎn)化為3.3 V,滿足過零信號(hào)能被管腳CAP1 識(shí)別的條件。如圖5(a)所示,過零信號(hào)與電壓采樣信號(hào)同步。
圖5(b)給出功率模塊鎖相輸出實(shí)驗(yàn)波形,圖中波形1 為A相電壓采樣信號(hào),波形2 為功率模塊輸出電流波形,控制器設(shè)定跟隨電壓采樣信號(hào)的過零點(diǎn)觸發(fā)功率模塊同步輸出。從實(shí)驗(yàn)結(jié)果可以看出,功率模塊逆變輸出電流相位能夠與采樣信號(hào)過零點(diǎn)保持同步,相位偏移極小,達(dá)到對(duì)電網(wǎng)基波電壓鎖相及跟蹤輸出的目的。
圖5(c)給出功率模塊鎖相倍頻輸出實(shí)驗(yàn)波形。為方便觀察諧波鎖相輸出的效果,設(shè)定5 次諧波初相角與基波過零點(diǎn)同相,控制器設(shè)定跟隨電壓采樣信號(hào)過零點(diǎn),反相輸出5 次諧波電流,電流幅值不變。圖中波形3 為采樣點(diǎn)電壓信號(hào),波形4為控制器觸發(fā)功率模塊輸出電流波形。如圖所示,功率模塊輸出的5 次諧波電流初相角與采樣信號(hào)保持過零同步。
實(shí)驗(yàn)結(jié)果表明:通過軟件鎖相環(huán)可以實(shí)現(xiàn)功率模塊逆變輸出電流與電壓采樣信號(hào)的同步,調(diào)整控制器程序,可以實(shí)現(xiàn)對(duì)諧波相位及頻率跟蹤,達(dá)到對(duì)電網(wǎng)電壓及特定次諧波電壓鎖相及跟蹤輸出的目的。
3 結(jié)語
本文提出了一種基于DSP2812實(shí)現(xiàn)對(duì)電網(wǎng)電壓軟件鎖相的技術(shù)方案。實(shí)驗(yàn)結(jié)果表明,該方案能很好地實(shí)現(xiàn)對(duì)電壓信號(hào)周期及頻率的實(shí)時(shí)跟蹤。
采用軟件鎖相環(huán)技術(shù),只需設(shè)計(jì)過零檢測(cè)及信號(hào)調(diào)整電路,其它功能均由DSP芯片完成,減少了外界環(huán)境干擾的問題,提高了鎖相精度。同時(shí),DSP可以實(shí)時(shí)進(jìn)行軟件修改,能實(shí)現(xiàn)復(fù)雜控制,提高了其可操作和可擴(kuò)展性。隨著DSP性能的不斷改進(jìn),其運(yùn)算速度越來越快,將為軟件鎖相技術(shù)提供更多的發(fā)展空間。
評(píng)論