孫春虎,方愿捷
(巢湖學院電子工程學院,安徽巢湖238000)
動態無功補償裝置主要包括晶閘管投切電容器(thyristor switching capacitor,TSC)、晶閘管相控電抗器(thyristor phase controlled reactor,TCR)、TSC+TCR、無功功率發生器(reactive power generator,SVG)和有源電力濾波器(active power filter,APF)。其中,TSC補償裝置由于控制簡單、運行時無諧波、損耗小的優點而得到廣泛應用。文獻[1]提出了一種TSC就地動態無功補償裝置,不僅提高了功率因數,還有效減少了諧波。文獻[2]提出了一種APF與TSC相結合的混合濾波系統,有效減少了諧波電流,并且系統動態響應快、穩定性好。文獻[3]提出了一種TSC與SVG協同運行的混合無功補償系統,具有大容量TSC無功補償和SVG動態連續無功補償的優點,并且能抑制一定程度的不平衡電壓。文獻[4]提出了一種基于DSP的TSC型動態無功補償仿真系統,能快速地實現對沖擊性負荷的動態無功補償。文獻[5]提出一種基于TSC與磁能恢復開關(magnetic energy recovery switch,MERS)的大容量混合無功補償系統,TSC實現了多級投切,避免了過電壓沖擊,MERS實現了無功的連續調節,降低了電流諧波含量。文獻[6]提出了一種基于模糊控制的改進型九域圖TSC無功補償控制策略,能快速、精準地完成電容器投切,功率因數高,無投切振蕩。但傳統的TSC投切裝置仍存在以下兩個問題:存在“投切振蕩”現象與未采用循環投切控制。
針對以上問題,本文基于DSP和PLC,設計了一種新穎的TSC無功投切裝置,該裝置不僅能實現傳統的無功補償,還能避免“投切振蕩”的發生,而且還能實現電容器的循環投切,從而提高了電容器的使用壽命和裝置的可靠性。
新穎TSC無功投切裝置原理框圖如圖1所示,它主要由三相固態繼電器1~6、三相電壓電流采樣電路、三相電容器1~6、調理電路、FX2N系列PLC電路和DSP2812控制電路組成。

圖1 新穎TSC無功投切裝置原理框圖Fig.1 Block diagram of novel TSC reactive switching device
如圖1所示,電壓、電流采樣電路采樣三相電壓和三相電流,并通過調理電路送到DSP的A/D采樣口;DSP依據采樣的三相電壓、三相電流計算出瞬時無功功率Q,并通過SCI通信口與FX2N系列PLC進行全雙工通信;PLC根據瞬時無功功率Q計算出當前共需要投入電容器的數量,并通過Y端口控制三相固態繼電器1~6的控制端;三相固態繼電器1~6根據Y端口的控制信號決定6組電容器的投切,以此實現負載瞬時無功功率的補償。
新穎TSC無功補償裝置控制電路包括:三相電壓、電流采樣電路、調理電路、DSP控制電路和PLC控制電路。這里重點介紹DSP控制電路設計和PLC控制電路設計。
為了提高無功功率檢測和程序執行的速度,以DSP2812處理器為核心,設計了DSP2812控制電路,圖2為DSP控制電路圖。如圖2所示,三相電壓和電流采樣信號經調理電路送到DSP的AD?CINB0~ADCINB5采樣口,接著通過無功功率算法求出瞬時無功功率Q,然后DSP2812與PLC進行RS-232通信,PLC接收的瞬時無功功率Q來自DSP2812的SCITXDB口,DSP的SCIRXDB口接收PLC發送過來的數據[7-8]。

圖2 DSP控制電路圖Fig.2 DSP control circuit diagram
所設計的PLC控制電路如圖3所示,它主要用于與DSP2812進行通信,同時控制6路固態繼電器的通斷,從而實現不同無功功率的補償以及循環投切控制。

圖3 PLC控制電路圖Fig.3 PLC control circuit diagram
PLC的引腳TXD用于發送PLC數據;RXD引腳實現無功功率Q的接收,并根據Q計算出當前共需要投入幾組電容器;Y0~Y5輸出口分別與固態繼電器1~6的直流控制端的負端相連;6路固態繼電器直流控制端的正端與24 V電源正端相連;24 V電源負端與COM端相連[9-10]。如當Y0導通時,固態繼電器1接通,第1組電容器投入運行;當Y0關斷時,固態繼電器1關斷,第1組電容器從電網中切除,不工作。
根據TSC投切控制的發展現狀,結合各種投切控制策略的優缺點,提出了一種新穎的TSC循環投切控制策略,并進行了理論分析。
關于TSC的投切控制策略,文獻[8]提出,每組電容器的電容值等容進行補償,如1:1:1:1的方式,當需要接通幾組電容器時,每次都從第1組電容器開始接通補償,這種方式未采用循環投切方式,容易造成前幾組電容器的頻繁投切,從而降低了其使用壽命,系統可靠性降低。文獻[9]提出,每組電容器的電容值等比例進行補償,如8∶4∶2∶1的方式,進行無功補償時,只有唯一的接通方式,無法進行循環投切,而且在負載無功較小時,容量較小的電容器會反復投切,同樣會降低系統的可靠性[11-12]。
為了設計循環投切控制方案,文章提出了2種循環投切控制方案。
方案一:每組電容器的電容值等容進行補償,在投入時,記錄每組電容器的投入次數,當下次再次需要投入時,按照投入次數最少的最先投的方式進行投入,直到滿足投入需求;同理,在切除時,記錄每組電容器的切除次數,當下次再次需要切除時,按照切除次數最少的最先切的方式進行切除,直到滿足切除需求。此種方案需要不斷累積每組電容器的投入和切除次數,而且還要比較各組電容器的投入和切除次數,編程難度大、工作量大,不易實現。
方案二:每組電容器的電容值仍采用等容進行補償,以4組電容器為例,當需要投入1組電容器時不能只讓固定的1組電容器投入,而是有C14種可能,可以讓這4種可能采用循環工作的方式投入運行;同理,當需要投入2組或3組電容器時,應讓C24或C34種可能采用循環工作的方式投入運行;而當需要投入0組或4組電容器時,4組電容器需全部關斷或接通,控制方式唯一。此種方案解決了無功補償時各組電容器工作時間和工作頻率不同的問題,實現了各組電容器均等工作的目的,提高了系統的可靠性。
綜合比較方案一和方案二,方案二的控制方式難度適中、計算量適中,易于實現。為此,文章新穎的TSC循環投切控制方案采用方案二。
TSC投切控制策略為:首先,DSP根據采樣的三相電壓和三相電流計算出瞬時無功功率Q;接著,DSP通過SCI通信口傳送瞬時無功功率Q給FX2N系列PLC;然后,PLC根據瞬時無功功率Q的大小確定共需投入幾組電容器K,若本次電容器組數等于上次電容器組數,則進入下個循環,若不等則用本次電容器組數值更新電容器組數上次值,并進入K值大小判斷程序;最后,根據不同K值出現的次數進行統計,并對每個K值進行循環投切控制。
下面以3組電容器為例,對循環投切控制策略進行介紹。當系統第1次出現K為1時,只讓第1組電容器接通;當系統第2次出現K為1時,只讓第2組電容器接通;當系統第3次出現K為1時,只讓第3組電容器接通;當系統第4次出現K為1時,又只讓第1組電容器接通;依次控制規律反復循環接通控制。同理,K為2時,按照第1組、第2組,第2組、第3組,第3組、第1組的循環規律接通電容器。而當K為0或3時,只有唯一的控制方式,那就是3組電容器均不接通或3組電容器全部接通。
下面研究無功功率Q和電容器組數K之間的控制原理和數學關系。
假設系統有3組電容器,每組電容器補償容量為 10 kvar,則系統可以提供 0 kvar,10 kvar,20 kvar,30 kvar的無功補償能力。TSC投切裝置采用功率因數為控制目標時容易產生“投切振蕩”現象,因此,為避免此現象的發生,這里采用無功功率為控制目標,取無功功率誤差最小的投法進行投入補償[13]。
依照無功功率控制法,無功功率Q與投入電容器組數K之間的關系如表1所示。

表1 無功功率Q與投入電容器組數K之間的關系Tab.1 Relation between reactive power Q and number K of input capacitors
由表1可知,此種控制方法的無功功率誤差始終在5 kvar的范圍內,且不會出現“投切振蕩”。
當PLC根據無功功率Q計算出投入電容器組數K后,還要進行循環投切控制,循環投切算法的流程圖如圖4所示。

圖4 循環投切算法流程圖Fig.4 Flow chart of cyclic switching algorithm
圖4中,系統首先初始化K,K1,m,n值并定時180 s,K為本次電容器組數,K1為上次電容器組數,m,n為變量;當定時時間到時,讀取無功功率Q值,利用表1無功功率Q值和電容器組數K之間的數學關系,計算出K,若K=K1,則進入下次循環,從而減少循環投切的次數;若K≠K1,則將K值賦給K1,然后進入判斷K值大小程序;若K=0,則3組電容器全切除,進入下次循環;若K=3,則3組電容器全投入,進入下次循環;若K=1,則m先自加1,接著判斷m的值,若m=1,則只投入第1組電容器并進入下次循環,若m=2,則只投入第2組電容器并進入下次循環,若m=3,則只投入第3組電容器,對m值清0并進入下次循環;同理,若K=2,則n先自加1,接著判斷n的值,若n=1,則只投入第1,2組電容器并進入下次循環,若n=2,則只投入第2,3組電容器并進入下次循環,若n=3,則只投入第3,1組電容器,對n值清0并進入下次循環。
假設系統電容器組數為n,系統共檢測無功功率Q為m次,其中投入電容器組數K=K1出現h次,那么K≠K1出現次數i為(m-h)次。
4組電容器投入2組的組合形式有第1,2組、第2,3組、第3,4組、第4,1組、第1,3組、第4,2組,共6組,那么n組電容器投入k組的組合數量應為

假設投入k組電容器的次數為ik,那么有:

當投入次數足夠多,投入k組電容器時,Ckn個組合中每個組合出現的次數j應為

雖然投入電容器組數K=K1出現了h次,但是這h次投切并未改變投切次數和狀態,系統仍采用前一狀態。而在K≠K1的i次投切中,當投入次數足夠多,在投入任意組數的電容器時,由于投入的每個電容器出現的概率相同,因此,每個電容器投切的次數相同,從而系統每個電容器總的投切次數相同,系統在實現循環投切的同時,提高了使用壽命和可靠性。
新穎TSC循環投切控制相關程序主要包括PLC通信程序和PLC循環投切算法控制程序。
PLC的通信程序如圖5所示,線圈M8161得電,為8位數據傳送模式;通信控制字為H81,波特率為9 600 bit/s,1位停止位,無奇偶校驗位,數據位數為8位;RS指令用于接收串口數據,并存儲在D10中;當接收標志M8123置1時,將D10數據保存到D11中,并清0接收標志位[14]。

圖5 PLC通信程序Fig.5 PLC communication program
PLC循環投切算法流程圖如圖6所示,當K=K1時,重新計算K值;當K≠K1時,將K值賦予K1,當K值為0~3時,執行相應的循環投切控制,控制結束后返回主程序,開始下次循環。

圖6 PLC循環投切算法流程圖Fig.6 PLC cycle switching algorithm flowchart
循環投切算法主要程序一如圖7所示。圖7中,D11代表無功功率Q;D20,D21代表變量m和n;D22,D23代表電容器組數K和K1;Y0~Y2為第1,2,3組電容器控制端。FMOV指令用于初始化D20~D23;T0定時器每過180 s執行1次4條ZCP區間比較指令,判斷D11處于哪個區間:若處于區間0~5 kvar,則M1接通,投入0組電容器,D22賦值為0;若處于區間6~15 kvar,則M4接通,投入1組電容器,D22賦值為1。

圖7 循環投切算法主要程序一Fig.7 The main program one of cyclic switching algorithm
循環投切算法主要程序二如圖8所示,當D22值為1時,D20值加1,3條CMP指令用于判定D20值為1、為2還是為3,若為1,則僅Y0為1,只有第1組電容器投入;若為2,則僅Y1為1,只有第2組電容器投入;若為3,則僅Y2為1,只有第3組電容器投入,同時將D20值清0。

圖8 循環投切算法主要程序二Fig.8 The main program two of cyclic switching algorithm
為了驗證控制策略的控制效果,利用三菱編程與仿真軟件Gx-works2對控制策略進行了仿真。仿真時無功功率Q由D11賦值給定,同時為了縮短仿真時間,將定時器T0設定值由原先的180 s變為1 s,按照第4.2節的PLC循環投切算法控制程序對循環投切控制策略進行仿真。
仿真1:假設有功功率P為20 kW,無功功率Q為9 kvar,每組電容器無功補償量為10 kvar。
在第4.2節的PLC循環投切算法控制程序的基礎上,增加了如圖9所示的程序段。

圖9 仿真1增加的程序段Fig.9 Additional program segment in simulation one
如圖9所示,D11值被賦值為9,表示負載無功為9 kvar;T0設定值由原先的1 800變為10,表示定時時間由180 s變為1 s,從而縮短了仿真時間。而仿真結果為動態的變化過程,為了看到這一過程,可以將仿真結果記錄成按時間變化的表格,即可清晰地展現這一過程。程序仿真結果如下:仿真時間t在0~1 s時,K1Y0值為0,1 s之后K1Y0值為1。
由仿真結果可得:1 s之后Y0值為1,表示系統只投入第1組電容器并一直保持,系統功率因數由0.912提高到0.999。雖然出現了過補償,但是較功率因數控制法,不會出現“投切振蕩”現象。
仿真2:假設有功功率P為20 kW,無功功率Q為7 kvar,每組電容器無功補償量為10 kVar。同理增加了如圖10所示的程序段。

圖10 仿真2增加的程序段Fig.10 Additional program segment in simulation two
如圖10所示,D11值被賦值為7,表示負載無功為7 kvar;T0定時時間為1 s。程序仿真結果為:仿真時間t在0~1 s時,K1Y0值為0,1 s之后K1Y0值為1。
由仿真結果可得:1 s之后Y0為1,系統只投入第1組電容器并一直保持,系統功率因數由0.944提高到0.989。雖然出現了過補償,但是較功率因數控制法,不會出現“投切振蕩”現象。
當負載無功處于某一區間變動時,如果仍然采用循環投切,就會造成頻繁地投切,增加了投切次數,減少了裝置的壽命。如當負載無功在16~25 kvar之間變動時,根據表1,應投入2組電容器,若采用循環投切方式投入2組電容器,就會不停地出現投入第1,2組電容器、投入第2,3組電容器、投入第3,1組電容器的情況。因此,控制策略當檢測到這種情況時,則先投入第1,2組電容器,并保持系統狀態不變,然后按照出現這種情況的次數進行循環投切。
仿真3:假設有功功率P為50 kW,無功功率Q在0~2 s為 18 kvar,2~4 s為22 kvar,4 s之后為20 kvar,每組電容器無功補償量為10 kvar。
在第4.2節的PLC循環投切算法控制程序的基礎上,增加了如圖11所示的程序段。

圖11 仿真3增加的程序段Fig.11 Additional program segment in simulation three
如圖11所示,無功功率D11值在0~2 s被賦值為18 kvar,在2~4 s被賦值為22 kvar,在4 s之后被賦值為20 kvar;T0定時時間為1 s。程序仿真結果如下:仿真時間t在0~1 s時,K1Y0值為0,1 s之后K1Y0值為3。
由仿真結果可得:1 s之后Y0和Y1均為1,系統只投入第1,2組電容器并一直保持,并沒有出現循環投切的情況,從而減少了電容器的投切次數,提高了裝置的壽命。
仿真4:假設有功功率P為50 kW,無功功率Q在0 s,2 s,4 s,6 s,8 s,10 s,12 s,14 s,16 s時分別為 0 kvar,6 var,0 var,8 var,0 var,10 var,0 var,12 var,0 var,每組電容器無功補償量為10 kvar。
在第4.2節的PLC循環投切算法控制程序的基礎上,增加了如圖12~圖14所示的程序段。

圖12 仿真4增加的程序段一Fig.12 Additional program segment one in simulation four

圖13 仿真4增加的程序段二Fig.13 Additional program segment two in simulation four

圖14 仿真4增加的程序段三Fig.14 Additional program segment three in simulation four
如圖12所示,D11初始值為0,T0定時1 s。如圖13所示,用了8條CMP指令,實現2 s,4 s,6 s,8 s,10 s,12 s,14 s,16 s時的無功功率的重新賦值操作。如圖14所示,用了8條MOVP指令,實現2 s,4 s,6 s,8 s,10 s,12 s,14 s,16 s時重新賦值6 var,0 var,8 var,0 var,10 var,0 var,12 var,0 var的操作。
程序仿真結果如表2所示。
由表2可得:2 s時,K1Y0值為1,表示Y0值為1,系統只投入第1組電容器;6 s時,K1Y0值為2,表示Y1值為1,系統只投入第2組電容器;10 s時,K1Y0值為4,表示Y2值為1,系統只投入第3組電容器;14 s時,K1Y0值又為1,表示Y0值為1,系統又只投入第1組電容器。

表2 電容器組數K=1時,K1Y0值隨時間的變化關系Tab.2 Change of K1Y0 value with time when the number of capacitor groups is K=1
由此可知,當電容器組數K=1時,無功功率不停在2個區間來回變動時,系統實現了循環投切控制。
文章提出了一種新穎的TSC無功補償裝置,并對裝置的硬件系統、控制策略和PLC程序進行了設計,最后利用Gx-works2仿真軟件對控制策略進行了仿真,仿真結果表明:該無功補償裝置和控制策略既能實現負載的無功補償,又能避免電容器的“投切振蕩”現象的發生,而且實現了電容器的循環投切,提高了電容器的壽命和裝置的可靠性,具有一定的實用價值。