用GMS97C2051實現(xiàn)的三相SPWM波形發(fā)生器
摘要:GMS97C2051是LG公司生產(chǎn)的與MCS51系列兼容的20腳小型化CPU芯片,具有價格便宜、功能完善的特點。文中介紹了利用該芯片實現(xiàn)逆變器控制所必需的SPWM發(fā)生器的原理和方法,并對CPU的計算過程、軟件設(shè)計流程進行了詳細說明。
本文引用地址:http://www.ex-cimer.com/article/233468.htm關(guān)鍵詞:單片機 不對稱規(guī)則采樣SPWM PWM調(diào)制 GMS97C2051
1 引言
在中小功率的三相逆變器中,脈寬調(diào)制(PWM)控制技術(shù)已獲得了廣泛應(yīng)用。PWM的實現(xiàn)方法也多種多樣,有模擬電路方法、數(shù)字電路方法和軟件計算方法等,為了提高PWM的輸出質(zhì)量和可靠性,一些模擬電路或數(shù)字電路的PWM都通過專用集成電路芯片來實現(xiàn),如HEF4752、SA8282等,然而這些芯片價格較高。我們利用廉價的GMS97C2051單片機通過不對稱規(guī)則采樣SPWM算法來輸出高精度的三相SPWM波形,從而實現(xiàn)了逆變器的SPWM控制。實驗證明,這種方法簡單可行。
2 不對稱規(guī)則采樣SPWM算法
不對稱規(guī)則采樣SPWM算法是在三角形載波的頂點和底點對調(diào)制波進行采樣以形成階梯,并用此階階梯波與三角波的交點來確定PWM。由于在一個三角形載波周期中需采樣兩次,因此采樣周期是載波周期的一親。設(shè)調(diào)制比為M,采樣周期為Ts,則在三角形頂點采樣計算的脈沖數(shù)據(jù)ton、toff以及在三角形底點采樣計算的脈沖數(shù)據(jù)t'on、t'off分別為:
ton=Ts(1+Msinωt1)/2
toff=Ts(1-Msinωt2)/2
t'on=Ts(1+Msinωt2)/2
t'off=Ts(1-Msinωt2)/2
脈沖寬度為:
tpu=Ts[1+M(sinωt1+sinωt2)]/2
式中t1、t2分別為頂點采樣和底點采樣所對應(yīng)的時刻。
不規(guī)則采樣SPWM算法在載波比(即三角波與調(diào)制波頻率之比)等于3的整數(shù)倍時,輸出SPWM不存在偶次諧波分量,其它高次諧波的幅值也較小。
3 算法在GMS97C2051中的實現(xiàn)
考慮到三相逆奕器輸出電壓的對稱性,可以取載波比N為3的整數(shù)倍,這樣每個采樣周期Ts所對應(yīng)的電角度為π/N,而三相互差的120°電角度應(yīng)為2Nπ/3,因此在上述的三角形的頂點和底點的采樣計算的脈沖數(shù)據(jù)所對應(yīng)的不規(guī)則采樣規(guī)律可表示為:
ton=Ts[1+Msin(kπ/N)]/2
toff=Ts[1-Msin(kπ/N)]/2或
ton=Ts[1+Msin(k-2n/3)π/N]/2
toff=Ts[1-Msin(k-2N/3)π/N]/2或
ton=Ts[1+Msin(k+2N/3)π/N]/2
toff=Ts[1-Msin(k+2N/3)π/N]/2
式中k為采樣次數(shù)。
以上三組公式分別為逆變器U、V、W相的脈沖計算規(guī)律。設(shè)逆奕器的輸出頻率為f,則有:
2NfTs=1
一般來說,逆變器的輸出電壓需隨頻率的變化而改變,即要求調(diào)制比M隨逆奕器輸出頻率發(fā)生變化,其變化的規(guī)律由負載的需要來決定。如逆變器用于驅(qū)動電機運行則在電額定頻率以下,通常希望得到恒定的U/f比控制,那么,則應(yīng)有:
M=A+Bf
其中A、B是與電機參數(shù)有關(guān)的常數(shù)。
綜合上述分析,在逆變器輸出頻率已知的情況下,根據(jù)逆變器開關(guān)器件的開關(guān)頻率限制可選擇恰當(dāng)?shù)妮d波比N,并可根據(jù)T=1/(2nf)得出周期Ts,再根據(jù)負載情況算出應(yīng)采用的調(diào)制比M,那么根據(jù)U、V、W相的脈沖計算方式即可計算出逆變器U、V、W相的SPWM波形,因此整個計算過程可在單片機中完成。通常事先將正弦函數(shù)值計算好作為表格保存,以供計算過程中實時計算查詢。
4 微機控制系統(tǒng)
圖1所示為整個GMS97C2051微機控制系統(tǒng)的軟件流程圖,下面先對于GMS97C5051作一簡單介紹。
GMS97C2051芯片也是小型封裝MCU系列中一員,有20個引腳、15個I/O線、2個6位定時器、串行通訊接口和2k存儲器/128RAM等,適合于許多要求集成度高、成本低的場合。逆變電路開關(guān)器件的SPWM驅(qū)動信號由GMS97C2051CPU的P1.7~P1.2提供,經(jīng)光耦反相后送開關(guān)器件,這樣可避免CPU復(fù)位時開關(guān)器件發(fā)生直通短路故障。逆奕器的輸出頻率指令由主控芯片發(fā)出,通過串行通訊接口傳送到GMS97C2051,再通過串行中斷子程序完成逆變器輸出頻率指令的接收,最后選定相應(yīng)的載波比N,并計算出采樣周期Ts和調(diào)制比M,以完成SPWM的控制計算準備工作。
SPWM的條樣周期由GMS97C2051的定時器T0來實現(xiàn)當(dāng)T0定時器溢出時,進入到定時器T0中斷服務(wù)子程序,完成逆變器U、V、W相的PWM開關(guān)數(shù)據(jù)的計算,若將該數(shù)據(jù)分別轉(zhuǎn)化為三相定時器初值,則可通過定時中斷方法輸出各相的PWM信號。然而,由于GMS97C2051的內(nèi)部只有兩個定時器,無法滿足三相開關(guān)數(shù)據(jù)獨立定時的要求,因此必須對相定時數(shù)據(jù)作合并處理。具體方法是:在T0中斷服務(wù)程序中,將前面計算出的三個開關(guān)數(shù)據(jù)在時間坐標上投影(實際上是按時間的大小排序),得出每個時間段的時間間隔及其對應(yīng)的三相開關(guān)標志,在將其轉(zhuǎn)換成T1定時器初值后作為實時計算數(shù)據(jù)保存內(nèi)存單元中,并將第一個定時初值送T1,同時啟動T1開始定時。
T1定時器用于完成計算出的PWM數(shù)據(jù)的定時,并輸出相應(yīng)的SPWM波形。當(dāng)T1定時器溢出時,進入定時器T1中斷服務(wù)子程序,完成U、V、W三相SPWM信號的輸出,并取下一個T1定時器初值和三相開關(guān)標志,重新進行下一個時間間隔的一時,直到一個采要的各個時間間隔數(shù)據(jù)依次執(zhí)行完為止。
若需要實現(xiàn)SPWM發(fā)生器的故障保護功能時,可以利用GMS97C2051的外部中斷0來實現(xiàn),當(dāng)有故障需要封鎖SPWM,可在該CPU的引腳6上輸入一個負跳變的中斷請求信號,CPU在中斷服務(wù)程序中將P1.7~P1.2全部置為高電平開關(guān)閉T0、T1中斷即可。待故障消除后,重新開放T0、T1中斷,這樣CPU又可繼續(xù)輸出SPWM輸出。
5 結(jié)論
采用GMS97C2051小型單片機來實現(xiàn)不規(guī)則采樣SPWM算法可為逆奕器提供質(zhì)量高、性能穩(wěn)定、無漂移的全數(shù)字化三相SPWM調(diào)制波,而且比SPWM發(fā)生器具有設(shè)計簡單,價格低廉、可靠笥高等優(yōu)點。如果將該實現(xiàn)方案移植到PHILIPS公司的小型化低價格系列MCU芯片P87LPC762上,由于該芯片具有片內(nèi)復(fù)位、片內(nèi)振蕩、片內(nèi)看門狗定時器等功能,因此僅由一片P87LPC762接通電源和地線即可輸出SPWM波,這樣,就真正實現(xiàn)了單片SPWM發(fā)生器的效果,其結(jié)構(gòu)將更簡單、價格也會更便宜。
評論