電子發燒友 發表於 2018-12-21 15:36:08
0 引言
PWM(Pulse Width Modulation)是通過調節輸出波形的脈衝寬度來改變輸出電壓大小的一種調製方法,在交流傳動、電力拖動系統和控制領域有著廣泛的用途,但採用PWM調製技術在負載上的電流波形是非正弦波,這就使負載上具有很多的高次諧波成份,對系統的指標和穩定性造成很大的危害。正弦型脈寬調製(Sinusoidal Pulse Width Modulation,SPWM)是一種使輸出的PWM波形按正弦的規律進行變化的技術,從而大大的提高了後級功率開關器件的穩定性和系統的效率。常見的SPWM波形產生方法主要有兩種:一種是利用專門的SPWM產生晶片如TMS320 F2812來產生,這種方法的特點是一次可以產生6路或12路SPWM信號;另一種方法利用自然採樣法的原理,採用數字或模擬方法產生三角波和正弦波,再使用比較器對產生的三角波和正弦波進行比較而得到SPWM波,這種方法產生SPWM波的路數比較靈活,電路原理簡單,但具體實現比較複雜。
1971年3月,美國學者J.Tiemcy,C.M.Rader和B.Gold提出了從相位概念出發直接合成所需波形的一種新的頻率合成原理,稱之為直接數字頻率合成器(DDS)。DDS技術是一種直接數字合成方法,不需要振蕩和鎖相環節,直接將波形函數進行離散化,以時間為地址,幅度為量化數據,依次存入波形存儲器,使連續的數據流通過數/模轉換器產生需要的波形。本文利用FPGA內部的DDS模塊產生離散化的正弦波和三角波,進而產生數字的SPWM波形,再經過死區產生、脈衝消去處理後就得到了可以驅動後級功率放大管的驅動信號,利用該方法可以靈活的產生所需的任意調製比和載波比的SPWM波形,並且可以使負載上諧波含量大大減小,有效的保證了整個系統的穩定性。
1 SPWM波形的FPGA實現
根據SPWM自然採樣法的原理,產生適合逆變器功率放大管所需的SPWM信號的電路主要包括正弦波產生模塊、三角波產生模塊、比較和死區產生模塊和脈衝消去模塊,它們之間的關係如圖1所示。
正弦波產生模塊根據主控制器傳來的頻率控制字從ROM表中讀出相應的正弦波的離散值,同樣,三角波產生模塊根據頻率控制字從存儲三角波的ROM表中讀出三角波的離散值,比較器和死區產生模塊根據傳來的正弦波和三角波的離散值進行比較,直接進行比較產生上橋臂驅動信號,將正弦波離散值或三角波離散值加上一個特定的值或減去一個特定值再和三角波進行比較,產生上橋臂對應的下橋臂驅動信號,這時產生的信號已經是帶死區的SPWM信號,再經過脈衝消去模塊,消去功率器件來不及反應的窄的驅動信號,最後就可以得到直接驅動逆變器的一對SPWM信號。
1.1 波形產生模塊
DDS技術是一種全數字的頻率合成技術,是將已知的信號經過取樣、量化,形成可供查詢的數據表存於數據ROM中,通過改變頻率控制字來改變輸出所需頻率的一種技術。如圖2所示,DDS主要由頻率控制字、累加器、相位寄存器、時鐘源、加法器、相位控制字、波形查找表、DAC和LPF等模塊組成。但因本設計不需要模擬信號,直接使用其中的數位訊號,故不需要DAC和LPF模塊,全部在FPGA內部數位化實現。數字三角波的產生和數字正弦波的產生一樣,惟一不同就是在波形表中用量化後的三角波數據代替正弦波數據。
軟體實現方法與脈衝消去方法大致相同,一般都是設計一個加減計數器,根據死區時間來確定加減計數器的最大值d,由計數器的最大值d來確定死區時間。這種實現方法是一般的實現方法,本設計提出了一種新型的死區產生方法,如圖4所示,實線表示正常採用自然採樣法的正弦波形和三角波形,正弦波y=Ussin x的半波的幅度為Us,三角波的幅度為Ut,根據自然採樣法的原理,這裡假定正弦波大於三角波時輸出為高電平,小於時輸出為低電平,根據正弦波和三角波的交點及電平輸出的判斷規則可以得到SPWM脈衝的第一路波形,這時把正弦波向上平移b個單位,如圖4中的虛線,正弦波形y=Ussin x變為y=Ussinx+6,再根據自然採樣法的原理用平移後的正弦波和三角波相交,根據交點判斷輸出高低電平,這樣判斷輸出的電平高低就可以得到第二路的SPWM波形,生成了SPWM波形的死區,在本設計中採用的是數字方法產生SPWM,根據圖4,可以在程序中按原來的方法產生第一路信號,把從ROM中取出的正弦信號加上b,再和原來的方波信號進行比較,這樣就可以得到第二路SPWM信號,同樣道理,也可以把三角波向上平移b個單位來產生第二路SPWM信號,但不管平移正弦波或三角波,都要保證平移後的正弦波的波形幅度要小於三角波的波形幅度。也可以設計第三個ROM,在程序外把經過向上平移後的正弦波形進行量化,存入ROM表中,在程序中用這個表和三角波的離散值進行比較,只是這樣設計會增加FPGA硬體資源的消耗和增大存儲器的存儲空間。
正弦信號往上偏移值b的確定是根據死區時間的值來確定的,這個值越大,則死區時間也越長,所以,可以調節b的值來增大或減小死區時間。一對經過死區處理後的SPWM波形如圖5所示,從圖5中可以看出,死區時間為16μs。
1.3 脈衝消去模塊
在產生的SPWM脈衝中,完整的SPWM脈衝序列包含了佔空為從0~100%的脈衝,因此有些脈衝的寬度可以達到非常小,而實際上,過窄的脈衝是無用的,因為在這樣短的脈衝持續時間內,後級的功率放大管是不能完全導通或關斷,只會增加功率器件的損耗,所以必須刪除這些不良窄波;如圖4所示,第二路的SPWM波形會出現比第一路SPWM波形小兩倍死區時間的脈衝,如果某個脈衝已經在臨界的寬度了,經過死區產生模塊就會變成一個對後級的功率管來說過窄的脈衝,這也就是脈衝消去模塊在死區模塊後級的原因,它的作用是消去一些本來就有的和經過死區處理後的毛刺。處理後的波形如圖6所示,圖7為處理後的一對帶死區的SPWM波形。
不論採用這種方法產生的SPWM波形,還是利用加減計數器的方法來產生SPWM波形,經過脈衝消去模塊,都會存在輸出的兩路SPWM脈衝不對稱性問題,如圖7所示,就是有可能其中一路的波形缺失或所對應的另一路波形出現缺失,但這個問題可以在脈衝消去後再加一個模塊進行處理而避免;對於載波頻率變小時負載諧波變大的問題可以參考器件參數採用一定頻率範圍內的動態載波比和動態死區時間來解決。
2 結語
本文設計了一種基於FPGA的帶死區的SPWM波形產生技術,對於SPWM的死區產生,一般都是應用加減計數器來實現,本文提出了一個新的選擇,把死區產生模塊融合到了比較模塊中,利用波形平移技術,巧妙的產生了所要求死區時間的SPWM波形。生成的SPWM波形輸出給後級的功率放大電路,檢測系統負載上的電壓和電流波形為較好的正弦波形,很好地滿足了設計的要求。
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴