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