摘要:本文介紹5Hz/50V、60V、70V三檔三相SPWM波形生成的硬件電路和軟件設計,并給出
逆變器的輸出波形。
關鍵詞:逆變器軟件設計
給紡織機供電的一種5Hz變頻電源,由于工作場合的不同,其輸出電壓分為50V、60V、70V三檔。本文將著重討論采用單片機8098為主控芯片生成這三檔SPWM波形的硬件電路和軟件設計方法。
SPWM的計算機實現,其原理仍然是基于正弦控制波與三角載波相交以確定開關器件通斷時刻點。隨著采樣方式的不同,軟件編程的方法也不同,而且還要結合硬件定時器的工作方式,因此其實現方法有多種多樣。本文采用了利用高級語言按照規(guī)則采樣法原理離線計算出對應脈寬數據,由8098單片機查表實現輸出的方法,實現了逆變器輸出三相線電壓為50V、60V、70V三檔5Hz低頻正弦電壓。
1規(guī)則采樣法原理
由于正弦波與三角波的交點具有任意性,脈沖中心在一個周期內不是等距的,因此脈寬表達式是一個超越方程,不能用簡單的解析式表達。為了簡化計算工作量,使之便于工程實現,可以使脈沖中心由不等距改為等距。在三角載波的某一固定點進行采樣,來決定PWM波出現與結束的時刻,而不管這一時刻正弦波與三角波是否相交,工程實踐證明由此帶來的誤差是完全可以忽略的。這樣便有意消除了兩個波形交點出現的任意性,算法就由不可解的超越方程變?yōu)榭山獾暮唵稳欠匠??!?〗
在本文中采用了工程上常見的基于規(guī)則采樣技術和采樣保持原理的PWM波形形成原理。其采樣頻率等于載波頻率,在載波三角波正峰值處采樣,脈沖總是對稱于載波三角波的波谷,如圖1所示。按照圖2我們就可以求得三角波的每一時刻對應的脈寬t2。
由于采樣時刻和采樣值都是明確定義的,因此脈沖寬度和前后沿位置均可計算得出。若載波三角波幅度UTM定為1,控制正弦波幅度UC為M,三角的傾角為α,斜率為4/T2(T2為三角波周期),采樣值為MsinωCt。由直角三角形OBB'和OCC'相似的幾何關系可得比例式:
(t2/2)/(T2/2)=(1+MsinωCt)/2
從而求得脈寬時間t2=T2(1+MsinωCt)/2
由脈沖波形的對稱性可求得間隔時間:
t1=t3=(T2-t2)/2=T2(1-MsinωCt)/4
根據t1、t2、t3表達式即可完全確定正弦波一周期中各脈沖的出現與結束時刻。從圖1圖形上看,規(guī)則采樣法實際上是用一系列階梯狀臺階波形來逼近正弦波,因此,載波頻率ωC越高,即采樣點越多,精度越高。
對于三相逆變器,因三相對稱互差120°相位角,因而有〖2〗:
t2a=T2(1+MsinωCt)/2
t2b=T2[1+Msin(ωCt-120°)]/2
t2c=T2[1+Msin(ωCt+120°)]/2
且:t2a+t2b+t2c=3T2/2
t1a+t1b+t1c=t3a+t3b+t3c=3T2/4
2采樣8098實現SPWM波
圖1規(guī)則采樣法PWM波形
圖2PWM波的規(guī)則取樣法 [!--empirenews.page--]
2.1硬件電路
選擇8098單片機HSO0、HSO1、HSO2輸出三路SPWM波,經圖3裂相延時整形互鎖電路后得到6路SPWM信號。這樣采用了硬件電路進行裂相并由硬件電路進行延時產生死區(qū)時間,使得逆變器同一橋臂上的功率開關完成先關斷后開通的死區(qū)控制邏輯,并且避免了由于軟件失誤而造成的直通事故,從而使得驅動電路的SPWM信號本身具有極好的可靠性。
圖3裂相延時整形互鎖電路
死區(qū)時間的大小主要由以下幾方面決定:驅動電路在開通和關斷兩種模式工作時,信號傳遞延遲時間有差異;逆變器橋臂上下兩功率開關器件的驅動不可能達到完全一致;功率器件不是理想開關,其開通和關斷都有延時且不等。
因此,要綜合這幾個因素來確定死區(qū)時間的長短,并給予一定的余量,總之要充分估計導通時控制信號到功率管開通的最小延遲時間tonmin和關斷時控制信號到功率管關斷的最大延遲時間toffmax。則死區(qū)時間可以定為toffmax-tonmin。實際中則取死區(qū)時間略大于toffmax。
本文采用IGBT作逆變器的功率開關管和EXB841驅動模塊,EXB841最大延遲時間為1.5μs,IGBT一般不超過期3μs,因此本文死區(qū)時間定為5μs。
下面對圖3的電路原理及以參數的確定進行分析??梢哉J為在比較器上不存在信號延遲。由于本電路采用LM339,其輸出為OC輸出,輸入阻抗很大。圖4為圖3電路中各點波形。電位器RP抽頭的電位為四個比較器的比較電壓UR。考慮到HSO輸出電流小,因此A1作緩沖器,B1作倒相器。電壓UA1及UB1經RC電路充放電完成延時,再經A2、B2與參考電壓UR比較整形得輸出OUTA、OUTB。波形OUTA、OUTB相加可以得到代表死區(qū)時間的負脈沖,其寬度即為死區(qū)TD。
圖4各點的波形
圖3中A組與B組電路阻容參數對應相同,在此以A組為例來說明阻容參數的確定。當HSO由低電平變?yōu)楦唠娖綍r,CA上電壓UA2初始值為零,并且由于LM339為OC輸出,則形成5V電源、RA1、RA2、CA、地的充電回路,時間常數tA1=(RA1+RA2)CA,當UA2上升至UR時,比較器A2翻轉;在HSO由高變低時CA經RA2放電向比較器A1輸出灌入電流,其時間常數τA2=RA2·CA,由于RA2?RA1(在此RA2只是為了限制在CA放電時瞬間吸入電流不致過大),因此tA1?tA2,由于UA2=UR=VCC,其中:τA1=(RA1+RA2)CA≈RA1CA,解此方程得死區(qū)時間TD如下:本文中死區(qū)取5μs,VCC=5V,當UR=2.5V時,RA1CA=7.2μs [!--empirenews.page--]
因此取CA為360P,RA1為20kΩ,RA2取100Ω。為了保證三相死區(qū)時間一致,在此取電容為高檔精密獨石電容,電阻RA1選用電阻排,電阻排采用集成制造工藝,相對精度較高。R為比較器輸出上拉電阻,可取10kΩ的電阻排。
2.2SPWM軟件設計
由于本系統(tǒng)的輸出為固定5Hz,電壓分三檔的三相交流,因此不存在變頻的問題,采用查表法較合
適。這樣就避免了較復雜的單片機在線計算。其主要優(yōu)點是采用查表法可以使載波頻率提高,從而降低諧波分量,而且使CPU有空閑時間來進行其它方面的管理。數據表可由高級語言計算獲得。
(1)數據表的獲得
根據規(guī)則采樣法原理可知,只要給出周期和一周期內的脈沖個數以及相應輸出幅度的調制比m,則輸出波形一周期內的任意一個脈沖都可以求得。
本系統(tǒng)的輸出周期:
T=1/5Hz=0.2s=0.2×106μs
調制比:其中UOUT為逆變器三相輸出線電壓,Ed為直流側直流電壓。本系統(tǒng)要求UOUT有50V、60V、70V三檔,Ed=270V,因此相應有三個m值。所以需產生對應三個電壓檔的三組數據表。
由于逆變器輸出為三相正弦波,具有相同的幅度,只是在相位上互差120°,因此它們每一周期內具有相同的脈沖波,即脈沖寬度和個數是完全相同的,因此只需求一相的數據表即可。三相查表時,以互差120°的方式進行查取。為了便于8098實現,在此表格中的一組數據為:[t2/2,t1],對于一周期(0~2π)內有P個脈沖,本文8098采用6MHz的晶振,時鐘周期為0.5μs,而HSO的時間分辨率為8倍時鐘周期即4μs,因此(t2/2)N,(t1/2)N還需按4μs進行量化,其量化誤差最大為2μs。另外HSO裝入的數據應是16位字長的數據,因此數據表的數據都按16位字長存儲,第N個脈沖的數據存儲格式為:[(t2/2)N/0.000004]16bTTS,[(t1/2)N/0.000004]16bTTS,一個數據表有201組這樣的數據組成。對應于50V、60V、70V三個檔位我們得到三組數據表,分別存儲于TABLE50、TABLE60、TABLE70為表頭的三個區(qū)域中。在運行時,只要地址指針定位于三個表頭中的某一個,即可實現對應輸出電壓。
在實踐中,采用了高級語言離線編程來取得三組數據表存于EPROM中,在程序運行中要求輸出PWM波時,只需查表取值、定時就可以了。
(2)波形輸出
SPWM波輸出由4個HSO完成。HSO0、HSO1、HSO2作為三路SPWM波輸出口,HSO3定時中斷,作為時間基準,HSO3定時中斷時間為T2/2,每中斷一次輸出半個脈沖波,一個周期輸出201個脈沖波需中斷201×2=402次,在中斷服務程序中,CPU將t1、t2、T/2值和控制字加載到HSO各口,然后返回主程序,重復上述過程,就可以輸出連續(xù)的SPWM波。SPWM波輸出框圖如圖5所示。
圖5SPWM波輸出框圖
3結論
采用上述方法生成的SPWM波經逆變器輸出的頻率為5Hz的電流、電壓波形如圖6所示。由圖可見:波形正確、良好。
(a)電壓波形(b)電流波形
圖65Hz電流、電壓波形