基于FPGA的逆變控制系統(tǒng)的研究
2 SPWM控制器的硬件實現(xiàn)
在Delta變換型UPS的各個組成部分中,最關(guān)鍵的部分是逆變器,對逆變器的控制在很大程度上決定了整個電源的性能?,F(xiàn)采用FPGA完成了SPWM控制器的設(shè)計,整體框圖如圖2所示,主要包括:標(biāo)準(zhǔn)正弦信號產(chǎn)生模塊、三角波產(chǎn)生模塊、SPWM信號產(chǎn)生模塊、A/D控制模塊及反饋模塊等。下面采用VHDL語言對每一個模塊進(jìn)行RTL級代碼設(shè)計。本文引用地址:http://2s4d.com/article/189838.htm
2.1 標(biāo)準(zhǔn)正弦信號產(chǎn)生模塊
采用DDS技術(shù)將一個完整周期的正弦波1 024等分后,把數(shù)據(jù)存儲到ROM中,在每次系統(tǒng)時鐘的上升沿到來時,相位累加器(32位)將頻率控制字與相位輸出值相加,取累加器的高10位作為地址進(jìn)行ROM查表,調(diào)用ROM中的數(shù)據(jù)即可實現(xiàn)正弦信號。
正弦輸出信號的頻率f0由系統(tǒng)時鐘頻率fs與頻率控制字K共同決定:
其中頻率控制字K通過鍵盤輸入,因此可通過改變頻率控制字來改變輸出信號的頻率,從而得到頻率可調(diào)的正弦波信號。
該系統(tǒng)需要三個相位彼此相差120°的SPWM脈沖信號。傳統(tǒng)設(shè)計需要在FPGA內(nèi)部存儲三個正弦函數(shù)表,非常浪費芯片的邏輯資源。本文只對A相進(jìn)行離散化處理,另外兩相依據(jù)相位差±120°,即取B相時,將A相時刻的地址位加上1/3的周期約341,取C相時,將A相時刻的地址位減去1/3的周期約341即可。
2.2 三角波產(chǎn)生模塊
這里通過一個10位的可逆計數(shù)器來產(chǎn)生數(shù)字化的三角波。可逆計數(shù)器對系統(tǒng)時鐘不斷地進(jìn)行計數(shù),先執(zhí)行加法從0計數(shù)到1 024,再執(zhí)行減法從1 024到0,周而復(fù)始,生成數(shù)字化三角載波。
2.3 反饋模塊
為了保證輸出電壓的穩(wěn)定,采用電壓瞬時值反饋,將逆變器輸出的電壓瞬時值按一定比例采樣處理后,與標(biāo)準(zhǔn)正弦形狀的逆變器輸出基準(zhǔn)電壓相減,以得到瞬時的輸出電壓誤差,然后再對此誤差進(jìn)行比例積分調(diào)節(jié),并將其作為調(diào)制波與三角載波進(jìn)行比較得到SPWM脈沖。由于跟蹤的是瞬時電壓的變化,其輸出波形畸變較低。
2.4 SPWM信號產(chǎn)生模塊
采用雙極性自然采樣法,將FPGA生成的 3 路正弦波與三角波進(jìn)行數(shù)字量比較。當(dāng)正弦波數(shù)值大于等于三角波數(shù)值時,比較器輸出高電平;當(dāng)正弦波數(shù)值小于三角波數(shù)值時,比較器輸出低電平,從而產(chǎn)生6路SPWM波。由于開關(guān)器件的開關(guān)速率限制,為了防止上下橋臂產(chǎn)生直通現(xiàn)象而損壞開關(guān)器件,在產(chǎn)生SPWM波時要設(shè)置死區(qū)時間。
本模塊的設(shè)計采用狀態(tài)機(jī)的設(shè)計方法,將反饋模塊輸出的調(diào)制波幅值取為sin,三角波計數(shù)器的計數(shù)值為tri,死區(qū)時間控制量為ed,在生成SPWM波的過程中,設(shè)置4個狀態(tài)S0,S1,S2,S3。
(1)S0狀態(tài)為三角波計數(shù)器增計數(shù),且tri=sin,雙路輸出DH,DL均為0;延時一段時間,進(jìn)入S1狀態(tài);
(2)S1狀態(tài)為三角波計數(shù)器增計數(shù),且tri=sin+ed,DH輸出為0,DL輸出為1;延時一段時間,進(jìn)入S2狀態(tài);
(3)S2狀態(tài)為三角波計數(shù)器減計數(shù),且tri=sin,雙路輸出DH,DL均為0;延時一段時間,進(jìn)入S3狀態(tài);
(4)S3狀態(tài)為三角波計數(shù)器減計數(shù),且tri=sin-ed,DH輸出為1,DL輸出為0;延時一段時間,進(jìn)入S0狀態(tài)。
評論