新聞中心

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

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

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

1 引言

本文引用地址:http://www.butianyuan.cn/article/171306.htm

隨著信息技術(shù)的不斷發(fā)展和計(jì)算機(jī)應(yīng)用的日益普及,高新技術(shù)設(shè)備對(duì)供電質(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)生波的功能,采用可使電路簡(jiǎn)單可靠,而且還方便對(duì)其他數(shù)據(jù)參數(shù)的監(jiān)控、顯示和處理,使整個(gè)非常的方便。本文就是采用PIC16F73單片機(jī)產(chǎn)生SPWM波來控制中的的。

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

系統(tǒng)總體硬件框圖如圖1所示:電網(wǎng)輸入交流電經(jīng)整流濾波電路后,變成直流電壓,送入功率因數(shù)校正模塊(PFC),進(jìn)行功率因數(shù)校正,并同時(shí)進(jìn)行直流電壓調(diào)整,升壓到360V。另一方面,蓄電池輸出的48V直流電壓經(jīng)過蓄電池升壓電路后得到345V的直流高壓,這兩路直流高壓通過二極管并聯(lián)起來,供給橋式電路。正常工作時(shí),由市電整流所得直流給逆變器供電,而當(dāng)市電異常時(shí),則自動(dòng)切換到蓄電池供電。直流電經(jīng)過橋式逆變電路逆變后,再經(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ī)通過內(nèi)部軟件產(chǎn)生一路SPWM控制信號(hào),然后經(jīng)過邏輯門變換電路變換成逆變?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)行過程中,會(huì)每隔一段時(shí)間進(jìn)行一次A/D轉(zhuǎn)換,得到反饋電壓值,調(diào)整SPWM信號(hào)的脈寬,保證輸出電壓的穩(wěn)定。

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

PIC16F73單片機(jī)內(nèi)部含有兩個(gè)CCP模塊,都可以用來產(chǎn)生PWM波。對(duì)于PWM信號(hào)來說,周期和脈寬是兩個(gè)必不可少的參數(shù),PIC16F73單片機(jī)將PWM周期儲(chǔ)存在PR2寄存器中,而將PWM信號(hào)高電平時(shí)間值即脈寬值儲(chǔ)存在CCPR1L或CCPR2L寄存器中。內(nèi)部定時(shí)器在計(jì)數(shù)過程中不斷與這兩個(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)生一次中斷,來調(diào)整脈寬,從而得到脈寬不斷變化的SPWM波。但實(shí)際上,SPWM頻率一般都很高,周期很短,要在每一個(gè)周期內(nèi)都完成脈寬的調(diào)整比較困難。本系統(tǒng)中,SPWM周期為20KHZ,設(shè)置每六個(gè)周期改變一次脈寬,實(shí)際輸出SPWM信號(hào)經(jīng)濾波后所得正弦波如圖6所示,波形光滑無畸變,滿足精度要求。

在軟件設(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)行過程中, 計(jì)數(shù)器TIMER1不斷和這個(gè)寄存器的值相比較,達(dá)到設(shè)定值時(shí)CCP1產(chǎn)生中斷,TIMER1重新計(jì)時(shí)。中斷服務(wù)子程序用來修改SPWM信號(hào)的占空比,其流程圖如圖2所示。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉