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