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