用PIC16F73單片機產(chǎn)生SPWM波控制UPS電源逆變系統(tǒng)解析方案
1 引言
隨著信息技術(shù)的不斷發(fā)展和計算機應(yīng)用的日益普及,高新技術(shù)設(shè)備對供電質(zhì)量的要求越來越高,很多設(shè)備都要求電源能夠持續(xù)提供恒頻恒壓、無崎變的純正弦波交流電,不間斷電源UPS就是用來給這些設(shè)備供電的。UPS一般采用正弦脈寬調(diào)制(SPWM)的控制方法將直流電逆變成正弦波交流電。目前,SPWM控制波形的產(chǎn)生一般有三種方式:1、用分立元件電路產(chǎn)生,主要由三角波發(fā)生器、正弦波發(fā)生器和比較器組成。分立元件電路復(fù)雜,調(diào)試困難,成本高,可靠性差,因此一般很少采用。2、用專用集成芯片產(chǎn)生,專用集成芯片功能強大,輸出波形質(zhì)量高,應(yīng)用比較廣泛。3、用單片機實現(xiàn),現(xiàn)在許多單片機都具有產(chǎn)生SPWM波的功能,采用單片機可使電路簡單可靠,而且還方便對系統(tǒng)其他數(shù)據(jù)參數(shù)的監(jiān)控、顯示和處理,使整個系統(tǒng)的控制非常的方便。本文就是采用PIC16F73單片機產(chǎn)生SPWM波來控制UPS電源中的逆變系統(tǒng)的。
2 硬件電路設(shè)計
系統(tǒng)總體硬件框圖如圖1所示:電網(wǎng)輸入交流電經(jīng)整流濾波電路后,變成直流電壓,送入功率因數(shù)校正模塊(PFC),進行功率因數(shù)校正,并同時進行直流電壓調(diào)整,升壓到360V。另一方面,蓄電池輸出的48V直流電壓經(jīng)過蓄電池升壓電路后得到345V的直流高壓,這兩路直流高壓通過二極管并聯(lián)起來,供給橋式逆變電路。正常工作時,由市電整流所得直流給逆變器供電,而當(dāng)市電異常時,則自動切換到蓄電池供電。直流電經(jīng)過橋式逆變電路逆變后,再經(jīng)輸出濾波變成220V、50HZ純正弦波交流電,供給負載。
控制電路以 Microchip公司的PIC16F73單片機為核心。PIC單片機是采用RISC結(jié)構(gòu)的高性價比嵌入式控制器,采取數(shù)據(jù)總線和地址總線分離的Harvard雙總線結(jié)構(gòu),具有很高的流水處理速度。
PIC16F73最高時鐘頻率為20MHZ,每條指令執(zhí)行周期200ns,由于大多數(shù)指令執(zhí)行時間為一個周期,因此速度相當(dāng)快。其內(nèi)含192字節(jié)的RAM ,4K程序存儲器、5路A/D轉(zhuǎn)換及2路PWM波發(fā)生器,應(yīng)用時外圍電路極其簡單,是理想的單相逆變電源數(shù)字控制器。
單片機通過內(nèi)部軟件產(chǎn)生一路SPWM控制信號,然后經(jīng)過邏輯門變換電路變換成逆變?nèi)珮蛩璧乃穆夫?qū)動信號,再經(jīng)專用驅(qū)動芯片TLP250隔離放大后,分別加到逆變?nèi)珮蛩膫€IGBT的柵極,進行驅(qū)動控制。
為了提高輸出電壓的穩(wěn)定性,本系統(tǒng)中采用了電壓反饋閉環(huán)。輸出電壓經(jīng)電阻分壓取樣后,由運算放大電路將電平轉(zhuǎn)換為單片機A/D轉(zhuǎn)換口所能接受的0~5V電壓信號,送入單片機A/D轉(zhuǎn)換口。軟件在運行過程中,會每隔一段時間進行一次A/D轉(zhuǎn)換,得到反饋電壓值,調(diào)整SPWM信號的脈寬,保證輸出電壓的穩(wěn)定。
3 軟件設(shè)計
PIC16F73單片機內(nèi)部含有兩個CCP模塊,都可以用來產(chǎn)生PWM波。對于PWM信號來說,周期和脈寬是兩個必不可少的參數(shù),PIC16F73單片機將PWM周期儲存在PR2寄存器中,而將PWM信號高電平時間值即脈寬值儲存在CCPR1L或CCPR2L寄存器中。內(nèi)部定時器在計數(shù)過程中不斷與這兩個寄存器的值相比較,達到設(shè)定時間時輸出電平產(chǎn)生相應(yīng)的變化,從而控制PWM信號的周期和占空比。
SPWM信號要求脈寬按正弦規(guī)律變化,因此每一個PWM周期脈寬都要改變,由單片機產(chǎn)生SPWM波的基本思想就是在初始化時將PWM周期值設(shè)定,然后用定時器定時,每個周期產(chǎn)生一次中斷,來調(diào)整脈寬,從而得到脈寬不斷變化的SPWM波。但實際上,SPWM頻率一般都很高,周期很短,要在每一個周期內(nèi)都完成脈寬的調(diào)整比較困難。本系統(tǒng)中,SPWM周期為20KHZ,設(shè)置每六個周期改變一次脈寬,實際輸出SPWM信號經(jīng)濾波后所得正弦波如圖6所示,波形光滑無畸變,滿足精度要求。
在軟件設(shè)計中,將CCP2模塊作為PWM輸出口,CCP1模塊采用比較功能,單片機時鐘為20MHZ,計時步階0.2us。首先建立正弦表,在一個完整正弦周期中,采樣64個點,采樣點正弦值與正弦波峰值的比值就是該點SPWM信號的占空比。然后根據(jù)SPWM周期計算出各點的脈寬值,轉(zhuǎn)換成計時步階,做成正弦表,供CCP1中斷子程序調(diào)用。這64個點之間的時間間隔也轉(zhuǎn)換成計時步階儲存到 CCPR1H和CCPR1L寄存器中,程序運行過程中, 計數(shù)器TIMER1不斷和這個寄存器的值相比較,達到設(shè)定值時CCP1產(chǎn)生中斷,TIMER1重新計時。中斷服務(wù)子程序用來修改SPWM信號的占空比,其流程圖如圖2所示。
主程序為一個無窮循環(huán),等待中斷發(fā)生。本程序中共用到了三個中斷:CCP1比較中斷,用來調(diào)整SPWM脈寬,中斷周期為306us;T0定時中斷,每隔一段固定的時間進行一次輸出電壓反饋采樣值的A/D轉(zhuǎn)換,在單片機初始化時,將T0的中斷周期設(shè)為153us,產(chǎn)生一次中斷后,將周期改為306us;A/D轉(zhuǎn)換
中斷,A/D轉(zhuǎn)換完成產(chǎn)生中斷,處理轉(zhuǎn)換值,中斷周期為20us。在程序開始運行后,首先發(fā)生CCP1中斷,使單片機按正弦表的第一個脈寬值輸出SPWM波,153us后,產(chǎn)生T0中斷,進行A/D轉(zhuǎn)換,并將T0中斷周期改306us。 20us后轉(zhuǎn)換完成,產(chǎn)生A/D中斷。然后又是CCP1中斷,讀取A/D轉(zhuǎn)換值和正弦表來調(diào)整脈寬。這樣周而復(fù)始,產(chǎn)生連續(xù)不斷的SPWM控制信號。中斷循環(huán)結(jié)構(gòu)如圖4所示。
4 實驗結(jié)果及波形
由單片機CCP2口輸出的SPWM波形如圖5所示,由于頻率為20KHZ,脈寬很窄,只截取了其中的一段,看不到脈寬從最小變到最大的過程,但可以看出這段波形中脈寬逐漸變窄,符合SPWM的變化規(guī)律。
經(jīng)RC濾波后得到如圖6所示的正弦波,頻率為49.6HZ,與設(shè)計的50HZ基本吻合,波形平滑無畸變,滿足設(shè)計要求。
本UPS系統(tǒng)中,采用的是全橋逆變電路,控制方式是一個橋臂上的兩個IGBT互補導(dǎo)通,另一橋臂的兩個一個常開,一個常閉。負半波時,換到另一橋臂的兩個IGBT互補導(dǎo)通,原橋臂變?yōu)橐粋€常開,一個常閉。因此需要將單片機產(chǎn)生的一路SPWM信號變換成四路,分別驅(qū)動四個IGBT。具體實現(xiàn)電路如圖7所示。
單片機輸出的SPWM信號和正負半波信號分別加到U3D的12和13腳,此圖只畫出了同一個橋臂的兩個IGBT的驅(qū)動波形產(chǎn)生電路,另一橋臂的產(chǎn)生電路與此電路完全相同,只是在輸入的正負半波信號前加了一個反相電路,使得不論是正半波還是負半波,橋臂1和橋臂2的U3D的11腳總是一個為SPWM信號,另一個為低電平。經(jīng)過后面的電路變換后,為SPWM信號的橋臂得到兩路互補輸出的SPWM波形,為低電平的橋臂則得到一個持續(xù)的高電平和一個持續(xù)的低電平,從而實現(xiàn)逆變?nèi)珮虻尿?qū)動。
由于同一橋臂的兩個IGBT互補導(dǎo)通,死區(qū)時間的設(shè)置是必不可少的,否則可能出現(xiàn)橋臂直通現(xiàn)象,導(dǎo)致器件甚至整個電損壞。圖7中的R2、C2就是用來設(shè)定死區(qū)時間的,通過RC電路的沖放電得到
一個時間的延遲,再經(jīng)過門電路的處理加到SPWM信號波形中。通過改變R、C的大小就可以調(diào)整死區(qū)時間的長短,本電路中電阻取1000歐姆,電容取6.8nF,得到5us的死區(qū)時間。
通過電路變換最后得到的逆變橋的四路驅(qū)動波形如圖8所示。IGBT驅(qū)動采用低電平有效,由圖可以看出,在同一橋臂上下兩個IGBT驅(qū)動波形中,從一個驅(qū)動波形的低電平變到另一個驅(qū)動波形低電平時,有一段兩個信號都為高電平的時間,也就是兩個IGBT都不通的死區(qū)時間,防止了逆變橋的直通。
5 結(jié) 語
本文介紹的這種運用PIC單片機產(chǎn)生SPWM信號控制逆變橋的方法在UPS電源的應(yīng)用中取得了較好的實驗效果。同時,這種產(chǎn)生SPWM波的方法也可以用在其他正弦波逆變電源中。