新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用PIC16F73單片機(jī)產(chǎn)生SPWM波控制UPS電源逆變系統(tǒng)解析方案

用PIC16F73單片機(jī)產(chǎn)生SPWM波控制UPS電源逆變系統(tǒng)解析方案

作者: 時間:2012-06-12 來源:網(wǎng)絡(luò) 收藏

1 引言

本文引用地址:http://2s4d.com/article/171306.htm

隨著信息技術(shù)的不斷發(fā)展和計(jì)算機(jī)應(yīng)用的日益普及,高新技術(shù)設(shè)備對供電質(zhì)量的要求越來越高,很多設(shè)備都要求能夠持續(xù)提供恒頻恒壓、無崎變的純正弦波交流電,不間斷就是用來給這些設(shè)備供電的。一般采用正弦脈寬調(diào)制()的方法將直流電成正弦波交流電。目前,波形的一般有三種方式:1、用分立元件電路,主要由三角波發(fā)生器、正弦波發(fā)生器和比較器組成。分立元件電路復(fù)雜,調(diào)試?yán)щy,成本高,可靠性差,因此一般很少采用。2、用專用集成芯片,專用集成芯片功能強(qiáng)大,輸出波形質(zhì)量高,應(yīng)用比較廣泛。3、用實(shí)現(xiàn),現(xiàn)在許多都具有產(chǎn)生波的功能,采用可使電路簡單可靠,而且還方便對其他數(shù)據(jù)參數(shù)的監(jiān)控、顯示和處理,使整個非常的方便。本文就是采用PIC16F73單片機(jī)產(chǎn)生SPWM波來控制中的的。

2 硬件電路設(shè)計(jì)

系統(tǒng)總體硬件框圖如圖1所示:電網(wǎng)輸入交流電經(jīng)整流濾波電路后,變成直流電壓,送入功率因數(shù)校正模塊(PFC),進(jìn)行功率因數(shù)校正,并同時進(jìn)行直流電壓調(diào)整,升壓到360V。另一方面,蓄電池輸出的48V直流電壓經(jīng)過蓄電池升壓電路后得到345V的直流高壓,這兩路直流高壓通過二極管并聯(lián)起來,供給橋式電路。正常工作時,由市電整流所得直流給逆變器供電,而當(dāng)市電異常時,則自動切換到蓄電池供電。直流電經(jīng)過橋式逆變電路逆變后,再經(jīng)輸出濾波變成220V、50HZ純正弦波交流電,供給負(fù)載。

控制電路以 Microchip公司的PIC16F73單片機(jī)為核心。PIC單片機(jī)是采用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ù)字控制器。

單片機(jī)通過內(nèi)部軟件產(chǎn)生一路SPWM控制信號,然后經(jīng)過邏輯門變換電路變換成逆變?nèi)珮蛩璧乃穆夫?qū)動信號,再經(jīng)專用驅(qū)動芯片TLP250隔離放大后,分別加到逆變?nèi)珮蛩膫€IGBT的柵極,進(jìn)行驅(qū)動控制。

為了提高輸出電壓的穩(wěn)定性,本系統(tǒng)中采用了電壓反饋閉環(huán)。輸出電壓經(jīng)電阻分壓取樣后,由運(yùn)算放大電路將電平轉(zhuǎn)換為單片機(jī)A/D轉(zhuǎn)換口所能接受的0~5V電壓信號,送入單片機(jī)A/D轉(zhuǎn)換口。軟件在運(yùn)行過程中,會每隔一段時間進(jìn)行一次A/D轉(zhuǎn)換,得到反饋電壓值,調(diào)整SPWM信號的脈寬,保證輸出電壓的穩(wěn)定。

3 軟件設(shè)計(jì)

PIC16F73單片機(jī)內(nèi)部含有兩個CCP模塊,都可以用來產(chǎn)生PWM波。對于PWM信號來說,周期和脈寬是兩個必不可少的參數(shù),PIC16F73單片機(jī)將PWM周期儲存在PR2寄存器中,而將PWM信號高電平時間值即脈寬值儲存在CCPR1L或CCPR2L寄存器中。內(nèi)部定時器在計(jì)數(shù)過程中不斷與這兩個寄存器的值相比較,達(dá)到設(shè)定時間時輸出電平產(chǎn)生相應(yīng)的變化,從而控制PWM信號的周期和占空比。

SPWM信號要求脈寬按正弦規(guī)律變化,因此每一個PWM周期脈寬都要改變,由單片機(jī)產(chǎn)生SPWM波的基本思想就是在初始化時將PWM周期值設(shè)定,然后用定時器定時,每個周期產(chǎn)生一次中斷,來調(diào)整脈寬,從而得到脈寬不斷變化的SPWM波。但實(shí)際上,SPWM頻率一般都很高,周期很短,要在每一個周期內(nèi)都完成脈寬的調(diào)整比較困難。本系統(tǒng)中,SPWM周期為20KHZ,設(shè)置每六個周期改變一次脈寬,實(shí)際輸出SPWM信號經(jīng)濾波后所得正弦波如圖6所示,波形光滑無畸變,滿足精度要求。

在軟件設(shè)計(jì)中,將CCP2模塊作為PWM輸出口,CCP1模塊采用比較功能,單片機(jī)時鐘為20MHZ,計(jì)時步階0.2us。首先建立正弦表,在一個完整正弦周期中,采樣64個點(diǎn),采樣點(diǎn)正弦值與正弦波峰值的比值就是該點(diǎn)SPWM信號的占空比。然后根據(jù)SPWM周期計(jì)算出各點(diǎn)的脈寬值,轉(zhuǎn)換成計(jì)時步階,做成正弦表,供CCP1中斷子程序調(diào)用。這64個點(diǎn)之間的時間間隔也轉(zhuǎn)換成計(jì)時步階儲存到 CCPR1H和CCPR1L寄存器中,程序運(yùn)行過程中, 計(jì)數(shù)器TIMER1不斷和這個寄存器的值相比較,達(dá)到設(shè)定值時CCP1產(chǎn)生中斷,TIMER1重新計(jì)時。中斷服務(wù)子程序用來修改SPWM信號的占空比,其流程圖如圖2所示。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉