單相逆變器的軟件設(shè)計_第1頁
單相逆變器的軟件設(shè)計_第2頁
單相逆變器的軟件設(shè)計_第3頁
單相逆變器的軟件設(shè)計_第4頁
單相逆變器的軟件設(shè)計_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

東北電力大學本科畢業(yè)設(shè)計論文.方波控制方波逆變器輸出的交流電壓波形為方波,占空比不可調(diào)。此類逆變器所使用的逆變線路也不完全相同,但共同的特點是線路比較簡單,使用的功率開關(guān)管數(shù)量很少。這類逆變器還有調(diào)壓范圍不夠?qū)?,保護功能不夠完善,噪聲比較大等缺點,設(shè)計功率一般在百瓦至千瓦之間。2.SPWM調(diào)制SPWM法就是用脈沖寬度按正弦規(guī)律變化而和正弦波等效的PWM波形即SPWM波形控制逆變電路中開關(guān)器件的通斷,使其輸出的脈沖電壓的面積與所希望輸出的正弦波在相應(yīng)區(qū)間內(nèi)的面積相等,通過改變調(diào)制波的頻率和幅值則可調(diào)節(jié)逆變電路輸出電壓的頻率和幅值。3.SVPWM調(diào)制SVPWM(空間電壓矢量控制PWM)調(diào)制也叫磁通正弦PWM法,它以三相波形整體生成效果為前提,以逼近電機氣隙的理想圓形旋轉(zhuǎn)磁場軌跡為目的,用逆變器不同的開關(guān)模式所產(chǎn)生的實際磁通去逼近基準圓磁通,由它們的比較結(jié)果決定逆變器的開關(guān),形成PWM波形。此法從電動機的角度出發(fā),把逆變器和電機看作一個整體,以內(nèi)切多邊形逼近圓的方式進行控制,使電機獲得幅值恒定的圓形磁場(正弦磁通)。它提出主要是為解決電機變頻驅(qū)動問題,現(xiàn)已被用到PWM逆變和PWM整流技術(shù)中。第3章PWM控制技術(shù)3.1SPWM調(diào)制與實現(xiàn)原理如圖3.1所示,為了輸出逆變器所需要的正弦波,將等腰三角形作為載波(Carrierwave),正弦波為調(diào)制波(Modulationwave),正弦調(diào)制波與三角載波的交點確定了逆變器開關(guān)器件的通斷時刻,從而獲得了一系列等幅不等寬的矩形脈沖波形,按照面積等效原理,每一個矩形波的面積與相應(yīng)位置的正弦波面積相等,因此,該序列脈沖與期望的正弦波等效,這就是正弦脈寬調(diào)制原理。本文采用的是雙極性方式,即在正弦調(diào)制波的半個周期內(nèi),三角載波在正負之間變化。圖3.1雙極性SPWM調(diào)制原理SPWM數(shù)學模型的建立有多種方法:面積等效法、自然采樣法以及對稱規(guī)則采樣法。自然采樣法雖然能真實反映脈沖序列產(chǎn)生和結(jié)束的時刻,但是計算相對復(fù)雜。對稱規(guī)則采樣法是從自然采樣法演變而來,因其計算簡單,誤差較小,被廣泛應(yīng)用于實際工程項目中。本文所采用的就是對稱規(guī)則采樣法,如圖3.2所示;圖3.2規(guī)則采樣法在三角波的負峰時刻對正弦信號波采樣而得到D點,過D點作一水平直線和三角波分別交于A點和B點,在A點時刻和B點時刻控制開關(guān)器件的通斷。在每個載波周期用同樣的方法采集輸出脈沖,即得到正弦脈寬調(diào)制波形序列。設(shè)正弦調(diào)制波的函數(shù)為:(3-1)Ur為正弦調(diào)制波的峰值;為調(diào)制度,,為正弦調(diào)制信號波角頻率;根據(jù)圖3.2中三角形相似的原理可得:(3-2)即(3-3)3.2軟件程序設(shè)計由于產(chǎn)生的SPWM波形是一組占空比連續(xù)變化的脈沖序列,在編寫程序的時候必須考慮到實時更新比較寄存器的值。系統(tǒng)軟件編程包括主程序和中斷子程序,主程序?qū)崿F(xiàn)以下功能:系統(tǒng)初始化、周期寄存器的初值給定、中斷方式設(shè)定等。中斷程序的功能是:更新比較寄存器的值以及清除中斷標志。系統(tǒng)流程如圖3.3所示。圖3.3程序流程圖有兩種方法可以實現(xiàn)中斷程序中比較寄存器的賦值:(1)實時計算法;(2)查表更新法。實時計算法的優(yōu)點在于計算精度相對較高,實時性以及程序的靈活性較好;缺點在于,實時計算電平翻轉(zhuǎn)時間點耗費大量的CPU時間,與中斷程序快進快出的原則有悖,且有可能會因為處理中斷程序的時間過長而導致脈沖丟失。查表更新法的原理是預(yù)先計算出各個頻率下每個載波周期中的比較值,以數(shù)組的形式存儲起來,在中斷程序中直接調(diào)用數(shù)組。雖然此法增大了存儲空間,但是這種以空間換取速度以及穩(wěn)定性的方法具有較好實際應(yīng)用效果。3.3正弦脈寬調(diào)制的生成PWM逆變電路也可分為電壓型和電流型兩種,目前實用的幾乎都是電壓型。1.計算法和調(diào)制法1)計算法根據(jù)正弦波頻率、幅值和半周期脈沖數(shù),準確計算PWM波各脈沖寬度和間隔,據(jù)此控制逆變電路開關(guān)器件的通斷,就可得到所需PWM波形。缺點:繁瑣,當輸出正弦波的頻率、幅值或相位變化時,結(jié)果都要變化2)調(diào)制法輸出波形作調(diào)制信號,進行調(diào)制得到期望的PWM波;通常采用等腰三角波或鋸齒波作為載波;等腰三角波應(yīng)用最多,其任一點水平寬度和高度成線性關(guān)系且左右對稱;與任一平緩變化的調(diào)制信號波相交,在交點控制器件通斷,就得寬度正比于信號波幅值的脈沖,符合PWM的要求。調(diào)制信號波為正弦波時,得到的就是SPWM波;調(diào)制信號不是正弦波,而是其他所需波形時,也能得到等效的PWM波。結(jié)合IGBT控制電壓型逆變器為阻感負載時,作時V1和V2通斷互補,V3和V4通斷也互補??刂埔?guī)律:uo正半周,V1保持通態(tài),V2保持斷態(tài),V3和V4交替通斷,因為負載電流比電壓滯后,因此在電壓正半周,電流有一段區(qū)間為正,一段區(qū)間為負。在負載電流為正區(qū)間,V1和V4導通時,負載電壓uo等于Ud;V4關(guān)斷時,負載電流通過V1和VD3續(xù)流,uo=0。在負載電流為負的區(qū)間,仍為V1和V4導通時,因io為負,故io實際上從VD1和VD4流過,仍有uo=Ud;V4關(guān)斷,V3開通后,io從V3和VD1續(xù)流,uo=0,這樣uo總可得到Ud和零兩種電平。uo負半周,讓V2保持通態(tài),V1保持斷態(tài),V3和V4交替通斷,負載電壓uo可得-Ud和零兩種電平。圖3.4單相橋式PWM逆變電路雙極性PWM控制方式(單相橋逆變):在ur半個周期內(nèi),三角波載波有正有負,所得PWM波也有正有負。在ur一周期內(nèi),輸出PWM波只有±Ud兩種電平,仍在調(diào)制信號ur和載波信號uc的交點控制器件通斷。ur正負半周,對各開關(guān)器件的控制規(guī)律相同,當ur>uc時,給V1和V4導通信號,給V2和V3關(guān)斷信號,如io>0,則V1和V4導通,如io<0,則VD1和VD4導通,uo=Ud。當ur<uc時,給V2和V3導通信號,給V1和V4關(guān)斷信號,如io<0,則V2和V3通,如io>0,則VD2和VD3導通,uo=﹣Ud。波形見圖3.5。3.4規(guī)則采樣法按SPWM基本原理,自然采樣法中要求解復(fù)雜的超越方程,難以在實時控制中在線計算,工程應(yīng)用不多。圖3.5規(guī)則采樣法規(guī)則采樣法特點是一種應(yīng)用較廣的工程實用方法,其效果接近自然采樣法,但計算了卻比自然采樣法小的多。規(guī)則采樣法原理:圖3-7,三角波兩個正峰值之間為一個采樣周期tc。自然采樣法中,脈沖中點不和三角波一周期中點(即負峰點)重合。規(guī)則采樣法使兩者重合,每個脈沖中點為相應(yīng)三角波中點,計算大為簡化。三角波負峰時刻td對信號波采樣得D點,過D作水平線和三角波交于A、B點,在A點時刻tA和B點時刻tB控制器件的通斷,脈沖寬度和δ用自然采樣法得到的脈沖寬度非常接近。規(guī)則采樣法計算公式推導:正弦調(diào)制信號波公式中,a稱為調(diào)制度,0≤a<1;ωr為信號波角頻率。因此可得:(3.1)三角波一周期內(nèi),脈沖兩邊間隙寬度(3.2)3.5同步調(diào)制和異步調(diào)制在SPWM逆變器中,載波頻率fc與調(diào)制信號頻率fr之比N=fc/fr,稱為載波比。根據(jù)載波和信號波是否同步及載波比的變化情況,SPWM逆變器調(diào)制方式分為異步調(diào)制和同步調(diào)制。1.異步調(diào)制載波信號和調(diào)制信號不同步的調(diào)制方式即為異步調(diào)制。通常保持載波頻率fc固定不變,當調(diào)制信號頻率fr變化時,載波比N是變化的。當fr較低時,N較大,一周期內(nèi)脈沖數(shù)較多,脈沖不對稱產(chǎn)生的不利影響都較小,當fr增高時,N減小,一周期內(nèi)的脈沖數(shù)減少,PWM脈沖不對稱的影響就變大,還會出現(xiàn)脈沖的跳動。同時,輸出波形和正弦波之間的差異也變大,電路輸出特性變壞。對于三相逆變器來說,三相輸出的對稱性也變差。因此,在采用異步調(diào)制方式時,希望盡量提高載波頻率,以使在調(diào)制信號頻率較高時仍能保持較大的載波比,從而改善輸出特性。2.同步調(diào)制載波比N等于常數(shù),并在變頻時使載波和信號波保持同步的調(diào)制方式稱為同步調(diào)制。在同步調(diào)制方式中,fr變化時N不變,信號波一周期內(nèi)輸出脈沖數(shù)固定。在三相SPWM逆變電路中通常共用一個三角波載波,且取N為3的整數(shù)倍,使三相輸出對稱。3.分段同步調(diào)制為了克服上述缺點,通常采用分段同步調(diào)制的方法,即把fr范圍劃分成若干個頻段,每個頻段內(nèi)保持N恒定,不同頻段N不同。在fr高的頻段采用較低的N,使載波頻率不致過高;在fr低的頻段采用較高的N,使載波頻率不致過低;為防止fc在切換點附近來回跳動,采用滯后切換的方法。同步調(diào)制比異步調(diào)制復(fù)雜,但用微機控制時容易實現(xiàn)。可在低頻輸出時采用異步調(diào)制方式,高頻輸出時切換到同步調(diào)制方式,這樣把兩者的優(yōu)點結(jié)合起來,和分段同步方式效果接近。第4章系統(tǒng)組成及設(shè)計4.1系統(tǒng)控制方案按照選定的模式自舉加載程序,跳轉(zhuǎn)到主程序入口,進行相關(guān)變量、控制寄存器初始化設(shè)置和正弦表初始化等工作。接著使能需要的中斷,啟動定時器,然后循環(huán)進行故障檢測和保護,并等待中斷。主要包括三部分內(nèi)容:定時器周期中斷子程序、A/D采樣子程序和數(shù)據(jù)處理算法。主程序流程圖如圖4.1所示。圖4.1主程序流程圖4.1.1定時器周期中斷子程序主要進行PI調(diào)節(jié),更新占空比,產(chǎn)生SPWM波。定時器周期中斷流程圖如圖4.2所示。圖4.2定時器周期中斷流程圖4.1.2A/D采樣子程序主要完成線電流采樣和線電壓采樣。為確保電壓與電流信號間沒有相對相移,本部分利用TMS320F28335片上ADC的同步采樣方式。為提高采樣精度,在A/D中斷子程序中采用均值濾波的方法。對A相電壓和電流A/D的同步采樣部分代碼如下:4.1.3數(shù)據(jù)處理算法本系統(tǒng)主要用到以下算法:(1)SVPWM算法(2)PID調(diào)節(jié)算法(3)頻率檢測算法(1)SVPWM算法SPWM波是以正弦波作為基準波(調(diào)制波),用一列等幅的三角波(載波)與基準正弦波相比較產(chǎn)生PWM波的控制方式。當基準正弦波高于三角波時,使相應(yīng)的開關(guān)器件導通;當基準正弦波低于三角波時,使相應(yīng)的開關(guān)器件截止。由此,逆變器的輸出電壓波形為脈沖列,其特點是:半個周期中各脈沖等距等幅不等寬,總是中間寬,兩邊窄,各脈沖面積與該區(qū)間正弦波下的面積成比例。這種脈沖波經(jīng)過低通濾波后可得到與調(diào)制波同頻率的正弦波,正弦波幅值和頻率由調(diào)制波的幅值和頻率決定。本文采用不對稱規(guī)則采樣法,即在三角波的頂點位置與低點位置對正弦波進行采樣,它形成的階梯波更接近正弦波。不規(guī)則采樣法生成SPWM波原理如圖4.3所示。圖中,Tc是載波周期,M是調(diào)制度,N為載波比,Ton為導通時間。由圖4.3得:當k為偶數(shù)時代表頂點采樣,k為奇數(shù)時代表底點采樣。SVPWM算法實現(xiàn)過程:利用F28335內(nèi)部的事件管理器模塊的3個全比較單元、通用定時器1、死區(qū)發(fā)生單元及輸出邏輯可以很方便地生成三相六路SPWM波形。實際應(yīng)用時在程序的初始化部分建立一個正弦表,設(shè)置通用定時器的計數(shù)方式為連續(xù)增計數(shù)方式,在中斷程序中調(diào)用表中的值即可產(chǎn)生相應(yīng)的按正弦規(guī)律變化的SPWM波。SPWM波的頻率由定時時間與正弦表的點數(shù)決定。SVPWM算法的部分代碼如下:(2)PID調(diào)節(jié)算法在實際控制中很多不穩(wěn)定因素易造成增量較大,進而造成輸出波形的不穩(wěn)定性,因此必須采用增量式PID算法對系統(tǒng)進行優(yōu)化。PID算法數(shù)學表達式為Upresat(t)=Up(t)+Ui(t)+Ud(t)其中,Up(t)是比例調(diào)節(jié)部分,Ui(t)是積分調(diào)節(jié)部分,Ud(t)是微分調(diào)節(jié)部分。本文通過對A/D轉(zhuǎn)換采集來的電壓或電流信號進行處理,并對輸出的SPWM波進行脈沖寬度的調(diào)整,使系統(tǒng)輸出的電壓保持穩(wěn)定。PID調(diào)節(jié)算法的部分代碼如下:(3)頻率檢測算法頻率檢測算法用來檢測系統(tǒng)輸出電壓的頻率。用TMS320F28335片上事件管理器模塊的捕獲單元捕捉被測信號的有效電平跳變沿,并通過內(nèi)部的計數(shù)器記錄一個周波內(nèi)標頻脈沖個數(shù),最終進行相應(yīng)的運算后得到被測信號頻率。4.1.4測量波形圖4.3生成SPWM波形在完成上述硬件設(shè)計的基礎(chǔ)上,本文采用特定的PWM控制策略,使逆變器拖動感應(yīng)電機運行,并進行了短路、電機堵轉(zhuǎn)等實驗,證明采用逆變器性能穩(wěn)定,能可靠地實現(xiàn)過流和短路保護。圖4.4是在空載條件下,用數(shù)字示波器記錄的穩(wěn)態(tài)電壓波形。幅度為35V,頻率為60Hz。圖4.4不規(guī)則采樣法生成SPWM波原理圖圖4.5輸出線電壓波形4.2系統(tǒng)框圖直流電壓負載LC濾波IGBT直流電壓負載LC濾波IGBT電壓檢測電路驅(qū)動電路電壓檢測電路驅(qū)動電路A/D轉(zhuǎn)換28335DSPA/D轉(zhuǎn)換28335DSP圖4.5系統(tǒng)結(jié)構(gòu)框圖圖4.6系統(tǒng)總體電路圖圖4.7單相電壓型逆變器主電路圖第5章總結(jié)致謝本次畢業(yè)設(shè)計完成了,在這里我要感謝所有幫助與鼓勵過我的人。首先是我的指導老師段雙明老師,因為本次畢業(yè)設(shè)計是在段老師的悉心指導下完成的,段老師豐富的知識和平易近人的作風讓我受益匪淺,他不僅傳授我們知識,更傳授了我們學習的方法和嚴謹?shù)膽B(tài)度,還有我的同學,給了我很多幫助。在此祝愿老師和各位同學一切順利,天天開心。我也會在以后的工作學習中牢記老師的教誨,更加努力學習。參考文獻[1]王兆安、劉進軍.電力電子技術(shù)(第五版).機械工業(yè)出版社,2009[2]洪乃剛.電力電子技術(shù)基礎(chǔ)[J].清華大學出版社,2008[3]陳伯時.電力拖動自動控制系統(tǒng)(第四版).機械工業(yè)出版社,2010[4]周志敏、周紀海.逆變電源實用技術(shù)——設(shè)計與應(yīng)用.中國電力出版社,2005[5]華成英.模擬電子技術(shù)基礎(chǔ).高等教育出版社,2006[6]邱光源.電路.高等教育出版社,1999[7]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第四版).高等教育出版社,1999[8]陳堅.電力電子[M].高等教育出版社,2002[9]黃忠霖黃京.電力電子技術(shù)MATLAB實踐.國防工業(yè)出版社.2009[10]孫炳達.自動控制原理[M].北京:機械工業(yè)出版社,2005[11]徐德鴻.電力電子系統(tǒng)建模及控制.北京:機械工業(yè)出版社,2005[12]Z.Ye,R.Walling,L.Garces,R.Zhou,L.Li,andT.Wang.StudyandDevelopmentofAnti-IslandingControlforGrid-ConnectedInverters.GeneralElectricGlobalResearchCenterNiskayuna,NewYork.[13]JinrongQian,F.CLee,ChargepupmPower_CorrectionTechnologiesPart[J].IEEETrans.OnPowerElectronics.2000.15(1)[14]G.Huaet.all.,NovelZeroVoltageTransitionPWMConverters,Trans.onPowerElectronics,Vol.9,No.2,1994,213-219附錄1基于DSP28335的SPWM生成程序#include"DSP28x_Project.h"http://#include"IQmathLib.h"#include"math.h"#define EPWM1_TIMER_TBPRD 3750#define EPWM2_TIMER_TBPRD 3750voidInitEPwm1Example(void);voidInitEPwm2Example(void);interruptvoidepwm1_timer_isr(void);interruptvoidepwm2_timer_isr(void);externUint32k=0;externUint32TonC[400]={1875,1851,1828,1804,1781,1757,1734,1710,1687,1664,1640,1617,1594,1571,1548,1525,1502,1479,1457,1434,1411,1389,1367,1345,1323,1301,1279,1258,1236,1215,1194,1173,1152,1132,1111,1091,1071,1051,1032,1012,993,974,956,937,919,901,883,865,848,831,814,798,782,766,750,734,719,704,690,675,661,648,634,621,609,596,584,572,561,549,538,528,518,508,498,489,480,472,464,456,448,441,435,428,422,416,411,406,402,397,393,390,387,384,382,380,378,377,376,375,375,375,376,377,378,380,382,384,387,390,393,397,402,406,411,416,422,428,435,441,448,456,464,472,480,489,498,508,518,528,538,549,561,572,584,596,609,621,634,648,661,675,690,704,719,734,750,766,782,798,814,831,848,865,883,901,919,937,956,974,993,1012,1032,1051,1071,1091,1111,1132,1152,1173,1194,1215,1236,1258,1279,1301,1323,1345,1367,1389,1411,1434,1457,1479,1502,1525,1548,1571,1594,1617,1640,1664,1687,1710,1734,1757,1781,1804,1828,1851,1875,1899,1922,1946,1969,1993,2016,2040,2063,2086,2110,2133,2156,2179,2202,2225,2248,2271,2293,2316,2339,2361,2383,2405,2427,2449,2471,2492,2514,2535,2556,2577,2598,2618,2639,2659,2679,2699,2718,2738,2757,2776,2794,2813,2831,2849,2867,2885,2902,2919,2936,2952,2968,2984,3000,3016,3031,3046,3060,3075,3089,3102,3116,3129,3141,3154,3166,3178,3189,3201,3212,3222,3232,3242,3252,3261,3270,3278,3286,3294,3302,3309,3315,3322,3328,3334,3339,3344,3348,3353,3357,3360,3363,3366,3368,3370,3372,3373,3374,3375,3375,3375,3374,3373,3372,3370,3368,3366,3363,3360,3357,3353,3348,3344,3339,3334,3328,3322,3315,3309,3302,3294,3286,3278,3270,3261,3252,3242,3232,3222,3212,3201,3189,3178,3166,3154,3141,3129,3116,3102,3089,3075,3060,3046,3031,3016,3000,2984,2968,2952,2936,2919,2902,2885,2867,2849,2831,2813,2794,2776,2757,2738,2718,2699,2679,2659,2639,2618,2598,2577,2556,2535,2514,2492,2471,2449,2427,2405,2383,2361,2339,2316,2293,2271,2248,2225,2202,2179,2156,2133,2110,2086,2063,2040,2016,1993,1969,1946,1922,1899};voidmain(void){InitSysCtrl();InitEPwm1Gpio();InitEPwm2Gpio();DINT;InitPieCtrl();IER=0x0000;IFR=0x0000;InitPieVectTable();EALLOW;PieVectTable.EPWM1_INT=&epwm1_timer_isr;PieVectTable.EPWM2_INT=&epwm2_timer_isr;EDIS;EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;EDIS;InitEPwm1Example();InitEPwm2Example();EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=1;EDIS;IER|=M_INT3;PieCtrlRegs.PIEIER3.bit.INTx1=1;PieCtrlRegs.PIEIER3.bit.INTx2=1;EINT;ERTM;for(;;){asm("NOP");}}voidInitEPwm1Example(){EPwm1Regs.TBPRD=EPWM1_TIMER_TBPRD;EPwm1Regs.TBPHS.half.TBPHS=0x0000;EPwm1Regs.TBCTR=0x0000;EPwm1Regs.CMPA.half.CMPA=1500;EPwm1Regs.CMPB=1500;EPwm1Regs.TBCTL.bit.CTRMODE=TB_COUNT_UPDOWN;EPwm1Regs.TBCTL.bit.PHSEN=TB_DISABLE;EPwm1Regs.TBCTL.bit.HSPCLKDIV=TB_DIV1;EPwm1Regs.TBCTL.bit.CLKDIV=TB_DIV1;EPwm1Regs.CMPCTL.bit.SHDWAMODE=CC_SHADOW;EPwm1Regs.CMPCTL.bit.SHDWBMODE=CC_SHADOW;EPwm1Regs.CMPCTL.bit.LOADAMODE=CC_CTR_ZERO_PRD;EPwm1Regs.CMPCTL.bit.LOADBMODE=CC_CTR_ZERO_PRD;EPwm1Regs.AQCTLA.bit.CAU=AQ_CLEAR;EPwm1Regs.AQCTLA.bit.CAD=AQ_SET;EPwm1Regs.AQCTLB.bit.CAU=AQ_SET;EPwm1Regs.AQCTLB.bit.CAD=AQ_CLEAR;EPwm1Regs.ETSEL.bit.INTSEL=ET_CTR_ZERO;EPwm1Regs.ETSEL.bit.INTEN=1;EPwm1Regs.ETPS.bit.INTPRD=ET_1ST;EPwm1Regs.DBCTL.all=0xb;EPwm1Regs.DBRED=60;EPwm1Regs.DBFED=60;}voidInitEPwm2Example(){EPwm2Regs.TBPRD=EPWM2_TIMER_TBPRD;EPwm2Regs.TBPHS.half.TBPHS=0x0000;EPwm2Regs.TBCTR=0x0000;EPwm2Regs.CMPA.half.CMPA=1500;EPwm2Regs.CMPB=1500;EPwm2Regs.TBCTL.bit.CTRMODE=TB_COUNT_UPDOWN;EPwm2Regs.TBCTL.bit.PHSEN=TB_DISABLE;EPwm2Regs.TBCTL.bit.HSPCLKDIV=TB_DIV1;EPwm2Regs.TBCTL.bit.CLKDIV=TB_DIV1;EPwm2Regs.CMPCTL.bit.SHDWAMODE=CC_SHADOW;EPwm2Regs.CMPCTL.bit.SHDWBMODE=CC_SHADOW;EPwm2Regs.CMPCTL.bit.LOADAMODE=CC_CTR_ZERO_PRD;EPwm2Regs.CMPCTL.bit.LOADBMODE=CC_CTR_ZERO_PRD;EPwm2Regs.AQCTLA.bit.CAU=AQ_CLEAR;EPwm2Regs.AQCTLA.bit.CAD=AQ_SET;EPwm2Regs.AQCTLB.bit.CAU=AQ_SET;EPwm2Regs.AQCTLB.bit.CAD=AQ_CLEAR;EPwm2Regs.ETSEL.bit.INTSEL=ET_CTR_ZERO;EPwm2Regs.ETSEL.bit.INTEN=1;EPwm2Regs.ETPS.bit.INTPRD=ET_1ST;EPwm1Regs.DBCTL.all=0xb;EPwm1Regs.DBRED=60;EPwm1Regs.DBFED=60;}interruptvoidepwm1_timer_isr(void){if(k>=400){ k=0;} EPwm1Regs.CMPA.half.CMPA=TonC[k]; EPwm1Regs.CMPB=TonC[k]; k++;EPwm1Regs.ETCLR.bit.INT=1;PieCtrlRegs.PIEACK.all=PIEACK_GROUP3;}interruptvoidepwm2_timer_isr(void){if(k>=400){ k=0;} EPwm2Regs.CMPA.half.CMPA=TonC[k]; EPwm2Regs.CMPB=TonC[k]; k++;EPwm2Regs.ETCLR.bit.INT=1;PieCtrlRegs.PIEACK.all=PIEACK_GROUP3;}附錄2逆變器控制程序源代碼#include<pic16f7x.h>

#include<pic.h>

//

逆變器系統(tǒng)配置

__CONFIG(HS&PWRTEN&BOREN&PROTECT&WDTDIS);

//關(guān)閉看門狗,選擇高速晶振,上電延時復(fù)位,掉電復(fù)位使能,代碼保護

//變量定義

//

//指示燈宏定義

#defineL1_RED_ON

RB1=1;RB2=0;//L1紅燈亮

#defineL1_RED_OFF

RB1=0;RB2=0;

#defineL2_RED_ON

RB4=1;RB3=0;//L2紅燈亮

#defineL2_RED_OFF

RB4=0;RB3=0;

#defineL3_RED_ON

RB7=1;RB5=0;//L3紅燈亮

#defineL3_RED_OFF

RB7=0;RB5=0;

#defineL1_GREE_ON

RB2=1;RB1=0;//L1綠燈亮

#defineL1_GREE_OFFRB2=0;RB1=0;

#defineL2_GREE_ON

RB3=1;RB4=0;//L2綠燈亮

#defineL2_GREE_OFFRB3=0;RB4=0;

#defineL3_GREE_ON

RB5=1;RB7=0;//L3綠燈亮

#defineL3_GREE_OFFRB5=0;RB7=0;

//

//模擬輸入通道宏定義

#defineAN0CHS0=CHS1=HS2=0;

#defineAN1CHS=0;CHS1=CHS2=1;

#defineAN2CHS0=CHS2=1;CHS1=1;

//

bitccp1,k,ccp2;

unsignedcharmode;

//

//軟件延時子程序*/

void

DELAY()

{

unsignedinti;

for(i=10000;i>0;i--);

}

//

voidadc_init()

{

//ad時鐘選擇

ADCS1=1;//FOSC/32

ADCS0=0;

//

PCFG0=0;

PCFG1=0;

PCFG2=0;//RA0=AN0,RA1=AN1,RA2=AN2,VREF=VDD-VSS

ADON=1;//打開ad模塊

ADIF=0;//清除ad中斷標志

ADIE=1;//打開ad模塊中斷

PEIE=1;//打開外圍模塊中斷

GIE=1;//打開總中斷

}

//

voidport_init()//端口初始化

{

//端口b設(shè)置

TRISB0=0;TRISB1=0;TRISB2=0;TRISB3=0;TRISB4=0;TRISB5=0;

TRISB6=1;//輸入

TRISB7=0;//RB端口方向設(shè)置

PORTB=0;//輸出0

RBPU=0;//使能內(nèi)部弱上拉

INTE=0;//禁止RB0中斷

RBIF=0;

RBIE=1;//允許RB端口電平變化中斷

//端口c設(shè)置

TRISC=0X00;//PORTCareoutputs

PORTC=0;//輸出為0

RC1=RC2=1;

//timer0init

T0CS=0;//選擇內(nèi)部指令時鐘

T0IF=0;

//T0IE=1;//在第一次ccp1比較后打開中斷使能

//timer1

TMR1CS=0;//定時器模式

}

//

voidinit_start()//開始

{

L1_RED_ON;

L2_RED_ON;

L3_RED_ON;

DELAY();DELAY();DELAY();

L1_GREE_ON;

L2_GREE_ON;

L3_GREE_ON;

DELAY();DELAY();DELAY();

L1_GREE_OFF;

L2_GREE_OFF;

L3_GREE_OFF;

L1_GREE_ON;

}

//

voidCCP2_pwm()//ccp2pwm初始化,CCP1比較初始化

{

TMR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論