基于單片機SPWM控制系統(tǒng)設(shè)計_第1頁
基于單片機SPWM控制系統(tǒng)設(shè)計_第2頁
基于單片機SPWM控制系統(tǒng)設(shè)計_第3頁
基于單片機SPWM控制系統(tǒng)設(shè)計_第4頁
基于單片機SPWM控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本科畢業(yè)設(shè)計題目:基于單片機的SPWM控制系統(tǒng)設(shè)計學(xué) 院:信息科學(xué)與工程學(xué)院專 業(yè):學(xué) 號:學(xué)生姓名:指導(dǎo)教師:日 期:武漢科技大學(xué)本科畢業(yè)論文摘 要論文主要目的建立基于單片的SPWM調(diào)控系統(tǒng),即用單片機產(chǎn)生SPWM波,其中,脈沖的寬度按正弦規(guī)律變化而和正弦波等效的PWM波形稱為SPWM波。本論文中主要是根據(jù)SPWM法的原理,即通過控制電路中開關(guān)器件的通斷,使其輸出的脈沖電壓的面積與所希望輸出的正弦波在相應(yīng)區(qū)間內(nèi)的面積相等,并且在慣性環(huán)節(jié)上的效果基本相同,從而達到等效的效果。根據(jù)這個原理,先利用MATLAB計算出基波與載波的交點,計算出交點之間的持續(xù)時間,根據(jù)持續(xù)時間的值在單片機程序中建立一個

2、數(shù)組,數(shù)組中的元素就是賦予定時器的初值,當(dāng)定時器溢出時,輸出電平自動翻轉(zhuǎn),繼而查表,賦予下一個電平的持續(xù)時間,這樣一直反復(fù)下去,就可以得到一個SPWM波形。最后在protues中仿真,在示波器中可以看到SPWM波的波形。關(guān)鍵詞:單片機; Matlab; 查表; SPWM;仿真AbstractThe main purpose of the paper to establish a SPWM regulatory system based on single chip microcomputer , namely, Using a single chip microcomputer to gene

3、rates SPWM wave,Among them, the pulse width changed by the law of sine is equal to the sine wave,this PWM wave calls SPWM wave.This paper is mainly based on the principle of SPWM law, namely, the switch-off device in the control circuit is on or off , So that the area of pulse voltage output and the

4、 area of the desired output sine wave in the corresponding sections are equal,And the effect on the inertia is substantially same, So as to achieve the equivalent effect, According to this principle, First using MATLAB to calculate the intersection of fundamental and carrier wave, Then calculating t

5、he duration between intersections, Based on the value of the duration ,Create an array in the microcontroller program, Elements in the array is initial value assigned to the timer, When the timer overflows, the output level will automatic reverse. Then look up table, Given the next duration of elect

6、rical level, Finally we simulate in protues ,then you can see the SPWM wave on the oscilloscope.Key words:Single chip microcomputer; MATLAB; Look-up table; SPWM; The simulation目 錄1 緒論11.1 研究的背景及意義11.2 研究目的及內(nèi)容22 主電路工作原理42.1 PWM控制的基本原理42.2 SPWM法的基本原理52.3 PWM控制方法52.3.1 計算法52.3.2 調(diào)制法62.4 同步調(diào)制和異步調(diào)制62.4.1

7、 異步調(diào)制62.4.2 同步調(diào)制62.5 規(guī)則采樣法73 單極性和雙極性PWM控制逆變電路分析93.1 單相橋式PWM逆變電路93.1.1 原理圖93.1.2 單極性PWM控制方式93.2 雙極性PWM控制方式104 基于MATLAB的分析以及交點計算124.1 MATLAB簡介124.2 查表產(chǎn)生SPWM波理論分析124.3 Matlab計算程序及仿真圖形結(jié)果135 單片機程序設(shè)計195.1 AT89C52介紹195.2 程序設(shè)計流程圖225.3 C語言實現(xiàn)程序235.3.1 程序運行軟件Keil uVision2簡介235.3.2 主程序245.3.3 中斷程序255.4 仿真工具prot

8、ues介紹255.5 仿真電路圖265.6 仿真顯示266 結(jié)論28參考文獻29致 謝30311 緒論1.1 研究的背景及意義隨著科技的飛速發(fā)展,逆變器的使用越來越廣泛,逆變器能夠?qū)⒅绷麟娫崔D(zhuǎn)換為具有所需輸出電壓和頻率的交流電源。在換流器模式下,能夠操作相位的轉(zhuǎn)換器被稱為線換向逆變器。但線路換向逆變器要求在輸出端存在有用于換向的交流電源。這意味著線路換向逆變器不能用作隔離式AC電壓源或變頻發(fā)電機直流電源。因此,在整流逆變器的交流側(cè)電壓電平,頻率和波形不能被改變。另一方面,換向力的逆變器提供了一個獨立的電壓可調(diào)和頻率可調(diào)的交流輸出電壓,并因此更廣泛的應(yīng)用。逆變器的輸入電源是從現(xiàn)有的供電網(wǎng)絡(luò),或從

9、旋轉(zhuǎn)交流發(fā)電機通過整流器或電池,燃料電池,或從光伏陣列或磁流體動力發(fā)生器獲得的。濾波電容器通過逆變器的輸入端來提供一個恒定的直流鏈路電壓,因此,該逆變器是一個可調(diào)節(jié)頻率的電壓源。逆變器可大致分為兩種類型,電壓源和電流源逆變器。電壓反相器(VFI)或電壓源逆變器(VSI)是其中一種具有小的或可忽略不計阻抗的直流源的逆變器。其在輸入端上的電壓是恒定的,電流源逆變器(CSI)被從高阻抗直流源獲得的可調(diào)節(jié)的電流反饋回來,因此還是一個恒定的直流調(diào)節(jié)電流。其中,PWM技術(shù)在逆變器電壓源中起著至關(guān)重要的作用。PWM技術(shù)的發(fā)展使得對電動機轉(zhuǎn)速或者說速度的控制更加容易,它可以通過控制PWM波的占空比,從而控制電

10、動機的轉(zhuǎn)速。由于幾乎所有的逆變電路中都要通過用到PWM技術(shù)把直流電轉(zhuǎn)化為交流電,所以在電力電子技術(shù)中,PWM技術(shù)是必須掌握的一門技術(shù)。脈寬調(diào)制技術(shù)是根據(jù)各個負載調(diào)制FET柵極或集體管理的基極偏置的變化是正向偏置或反向偏置和晶體管的開啟時間,來控制模擬開關(guān)電源電路的輸出控制模式,該模式可使電源電壓的變化趨于穩(wěn)定,其工作方式是利用單片機來離散控制的非常有效的輸出技術(shù)。控制簡單靈敏和動態(tài)響應(yīng)好的的PWM技術(shù)在電力電子技術(shù)被廣泛應(yīng)用,并且被人們緊密關(guān)注,研究,也是大學(xué)電子學(xué)中必學(xué)的一部分。由于對具有控制電流是否導(dǎo)通功能的開關(guān)器件的研究越來越深入以及讓對它們的使用更加廣泛,PWM技術(shù)在電力電子技術(shù)行業(yè),

11、如:風(fēng)力發(fā)電系統(tǒng)、電機調(diào)速系統(tǒng)、直流供電系統(tǒng)等領(lǐng)域也得到使用。目前已經(jīng)提出并且被人們經(jīng)常使用的PWM控制方案就超過數(shù)十種。起初,PWM控制方案就幾種,但是在隨著微處理器的研究發(fā)展,并且在應(yīng)用于PWM技術(shù)之后,控制方案就開始日益增多,并且要求也越來越高。PWM控制技術(shù)發(fā)展逐漸完善。并且越來越多的控制方案被提出,研究氛圍越來越濃厚。而且不少方法已經(jīng)趨于成熟,有許多已經(jīng)被人們應(yīng)用于實際應(yīng)用中。在通信領(lǐng)域,由于PWM控制有具有很強的抗干擾力,在輸入端,人們一般先把模擬信號轉(zhuǎn)換為脈寬寬度調(diào)制信號,然后在輸出端再轉(zhuǎn)換回來,并且通過低通濾波器濾掉高次諧波,這樣可以大大延長通信距離。由于PWM不僅能夠具有低通

12、濾波器的特點能夠濾除高頻波,還能夠?qū)崿F(xiàn)交流和直流之間的相互轉(zhuǎn)換,因此,它還應(yīng)用于調(diào)速交流驅(qū)動器,感應(yīng)加熱,待機飛機電源,UPS(不間斷電源)等等其他能量變換系統(tǒng)中。SPWM即正弦脈寬調(diào)制被廣泛應(yīng)用于電力電子,從而獲得數(shù)字化電源 ,以致能夠可以通過接通和斷開電源開關(guān)來產(chǎn)生離散的電壓脈沖信號.幾十年內(nèi)脈寬調(diào)制逆變器在電力電子方面作為主要選擇而用于電源調(diào)控,由于其電路簡單,堅固耐用并且容易控制 所以SPWM開關(guān)技術(shù)在工業(yè)應(yīng)用中也被經(jīng)常使用。SPWM技術(shù)的特征是恒定幅度的脈沖在每個周期中具有不同的占空比為。通過對脈沖的寬度進行調(diào)制,從而進行對逆變器輸出電壓控制,并減少它的諧波含量,正弦脈寬調(diào)制或SPW

13、M是在電機控制和變頻器應(yīng)用大多使用的方法,在單極和雙極PWM控制發(fā)展中SPWM電壓調(diào)制型被選擇,因為這種方法提供了有效地加倍逆變器電壓的開關(guān)頻率的優(yōu)點,從而使輸出濾波器更小,更便宜且更容易實現(xiàn),以往,為了產(chǎn)生該信號,三角波作為載波信號與正弦波相比,且其頻率為期望的頻率。然而,國外對于SPWM控制的研究要遠遠領(lǐng)先于國內(nèi),它已經(jīng)經(jīng)歷三了發(fā)展階段,第一個發(fā)展階段是采用晶閘管作為開關(guān)器件,然而由于晶閘管抗干擾性差,容易發(fā)生錯誤的導(dǎo)通,并且它的動態(tài)過度能力差,容易在預(yù)計關(guān)閉導(dǎo)通的地方繼續(xù)導(dǎo)通,所以這個時代很快的就結(jié)束了。第二個階段是采用自動關(guān)斷器件作為開關(guān)器件,第三個階段是采用實時反饋控制技術(shù),使逆變電

14、源的性能得到提高。近年來,由于單邊機體積小,功能多,又便宜,集成度又高,所以人們對單片機的研究越來越深入,并且單片的應(yīng)用范圍也越來越廣泛,使得人們看好兩者之間的結(jié)合,于是開始對基于單片機的SPWM控制系統(tǒng)也開始進行研究。所以,基于單片機的SPWM控制系統(tǒng)的研究是非常必要的。1.2 研究目的及內(nèi)容所謂PWM控制技術(shù),是一種能夠控制電壓幅值、控制頻率大小以及消除高次諧波的一門技術(shù),它通過利用開關(guān)器件的開通和關(guān)斷能把直流電壓變成具有一定形狀的電壓脈沖序列1。長久以來,人們對自關(guān)斷器件的研究已經(jīng)發(fā)展到一定地步,其為PWM技術(shù)的發(fā)展鋪平了道路,并且PWM技術(shù)可以改善輸出波形,從而減小脈動、降低諧波損耗,

15、同時使逆變器的結(jié)構(gòu)變得更加簡單,使調(diào)節(jié)速度變快,系統(tǒng)的動態(tài)響應(yīng)性能更好。所以當(dāng)代幾乎所有的變頻調(diào)速裝置都是采用PWM技術(shù)。PWM技術(shù)可以通過對晶閘管,二極管,場效應(yīng)管的控制不僅可以把直流電轉(zhuǎn)換為交流,也可以把交流電轉(zhuǎn)化為直流電,人們對PWM整流器的開發(fā)研究已經(jīng)取得很大進展,利用PWM技術(shù)以實現(xiàn)把直流電流轉(zhuǎn)化成正弦化的電流,且使其電網(wǎng)的有用功功率非常高。所以、PWM整流器被人們稱為對電網(wǎng)控制無污染的“綠色”變流器。脈沖寬度調(diào)制技術(shù)是一種根據(jù)場效應(yīng)管溝道內(nèi)的載荷的變化來調(diào)制場效應(yīng)管正偏或反偏,根據(jù)晶體管導(dǎo)通時間來決定輸出電壓的幅值,這樣就不需要時時刻刻改變輸入電壓的幅值,僅僅只需要改變開關(guān)導(dǎo)通的時

16、間,這樣就可以穩(wěn)定的調(diào)節(jié)輸出電壓,從而使對電壓的調(diào)節(jié)更加方便,更加穩(wěn)定。近年來,由于計算機控制技術(shù)的研究越來越深入,數(shù)字PWM控制技術(shù)已逐漸取代了模擬PWM控制技術(shù),已成為電力電子設(shè)備中使用的主要技術(shù)。由于PWM技術(shù)的發(fā)展進步,使得交流電機調(diào)速性能不斷提高的。其中,三個開發(fā)規(guī)則的疊加空間矢量PWM控制方法被廣泛采用的準最優(yōu)PWM控制方法的人采樣PWM控制方式和電壓諧波的基礎(chǔ)上,和這兩種控制方法可以很容易地控制,計算簡單,易實現(xiàn)。脈寬調(diào)制技術(shù)是根據(jù)各個負載調(diào)制FET柵極或集體管理的基極偏置的變化是正向偏置或反向偏置晶體管的開啟時間根據(jù)模擬開關(guān)電源電路的輸出控制模式,該模式可使電源電壓的變化輸出電

17、壓時鐘穩(wěn)定的條件下,在工作方式改變是利用微處理器以離散模擬電路控制的非常有效的技術(shù)的數(shù)字輸出。本次研究的目的就是利用單片機產(chǎn)生SPWM波。,2 主電路工作原理2.1 PWM控制的基本原理PWM控制的基本原理:形狀不同當(dāng)時波形隨時間的積分即面積或者說是沖向相等的輸入脈沖波形經(jīng)過慣性環(huán)節(jié)可以或得獲得的輸出波形幾乎一樣,既輸出環(huán)節(jié)的響應(yīng)基本相同。如果把各輸出波形在傅里葉變換后進行分析,則可以看出其低頻段非常接近原有波形,僅在高頻段略有不同1。如圖2.1所示的三個波形不相同,電壓隨時間的積分大小為1個三個脈沖,當(dāng)它們分別加在如圖2.2 (a)所示的同一個R-L環(huán)節(jié)上時,則其輸出響應(yīng)波形基本相同。其中脈

18、沖為沖激脈沖函數(shù)時,環(huán)節(jié)的響應(yīng)即為(d)圖的電路輸出與輸入之比的系統(tǒng)函數(shù)。它們的輸出波形基本相同且如圖2.2(b)所示。 (a) (b) (c) (d)圖2.1 沖量相等、形狀不同的窄脈沖(a) (b)圖2.2 形狀不同而沖量相同的各種窄脈沖及響應(yīng)波形2.2 SPWM法的基本原理脈沖幅值相等并且脈沖寬度按正弦規(guī)律變化并與正弦波等效的PWM波稱為SPWM(sinusoidal PWM)波形1。如圖2.3所示,通過對如圖的波形的截止頻率除以一個確定數(shù)據(jù)后,如K,就可以分成K個等份,它可以被認為是由K個靠在一起的矩形脈沖所組成的波形,這些幅值不相等的脈沖波形的寬度個個都相等。如果把它用如圖所示的幅值

19、相等,而脈沖寬度個個不相等的矩形脈沖來代替這些脈沖序列,使矩形脈沖和正弦波部分的中點重合,并且使矩形脈沖和相應(yīng)的正弦波部分面積相等,則可得到如圖所示的矩形脈沖序列,這就是SPWM波形1。一般使用的PWM開關(guān)技術(shù)逆變器具有一個直流輸入電壓,它通常幅度恒定。逆變器的工作是控制該輸入電壓和輸出交流的幅度和頻率。有跡象表明,脈沖寬度調(diào)制可以被輸出是交流電源的模型通過許多不同的方式實現(xiàn)。一種常用技術(shù)稱為正弦脈寬調(diào)制技術(shù)。為了輸出一個正弦波形在一個特定的頻率下特定的正弦控制信號頻率,一般需要與一個三角波形相比較。在使用SPWM波進行調(diào)制時,畸變系數(shù)和低次諧波被顯著降低。圖2.3 用PWM波來代替正弦半波2

20、.3 PWM控制方法2.3.1 計算法 計算法就是在知道輸出波形的頻率,幅值,以及半個周期內(nèi)的脈沖個數(shù)之后,計算出他們離散的寬度和間距的實際值,從而準確的控制開關(guān)的通斷時間,來控制PWM波的占空比,得到所需要的波形1。2.3.2 調(diào)制法調(diào)制是以基波作為調(diào)制信號,把接收到的調(diào)制信號作為載體,通過調(diào)節(jié)基波以獲得所需的輸出波形。,由于對稱的等腰三角形波有著線性關(guān)系的高度和寬度,所以可以在任何一個的基波與載波的交點,通過對電路接通和斷開開關(guān)器件,來控制電平高低,以獲得更平緩調(diào)制信號,并且到的脈沖寬度與信號振幅成正比,這正好符合PWM控制的要求,所以三角波用得較多。2.4 同步調(diào)制和異步調(diào)制所謂載波比,

21、就把載波頻率與調(diào)制信號頻率之比 1,人們把PWM調(diào)制方式據(jù)基波與載波的變化情況是否一致分為載波比保持一致的調(diào)制方法和載波比不保持一致的兩種調(diào)制方式,即同步調(diào)制和異步調(diào)制。雖然同步調(diào)試模式比異步調(diào)試復(fù)雜得多,但是使用電腦容易實現(xiàn)控制。2.4.1 異步調(diào)制所謂異步調(diào)制、就是調(diào)制信號和載波信號的波形變化不保持同步,即初相和相位可能不同的調(diào)制方式。在異步調(diào)試方式下,載波頻率一般固定不變,所以當(dāng)信號波頻率 變化時,載波頻率與基波頻率的比是隨著的變化而變化的。隨之在信號波的2/T內(nèi), 波的脈沖個數(shù)以及相位也會發(fā)生變化,致使正負半周期以及半周期內(nèi)前后1/4周期的脈沖個數(shù)和相位不對稱。而當(dāng)較低時,載波頻率與基

22、波頻率的比值較大,致使脈沖數(shù)量較多,使得脈沖不對稱對波形的輸出影響不大,使得輸出 波的效果與正弦波相似。同理,當(dāng)變大時,載波頻率與基波頻率的比值減小,一個周期內(nèi)的波數(shù)減小, 脈沖波形不能夠保持對稱,致使輸出波形受到擾動,同時輸出PWM波和基波相比,前面所提到的沖量(面積)明顯不一致,并且對于三相PWM型逆變電路來說,其輸出波形也收到嚴重影響,其對稱性也被嚴重破壞。因此,在異步調(diào)制時,為了在高頻響應(yīng)時,載波和基波的頻率之比能夠很大,一般都使用較高頻率的載波。2.4.2 同步調(diào)制所謂同步調(diào)試,就是載波比N等于常數(shù),載波和基波的變化保持一致的方式。在基本的同步調(diào)試方式中,即使變化,載波比N也保持不變

23、,即N是不變的,載波和基波的頻率保持一致,所以,一個周期內(nèi)的輸出波形數(shù)量是保持不變的。在三相PWM逆變電路中,一般公用一個三角波作為載波,如本設(shè)計中就是如此,公用一個三角波載波,2個不同的基波。這樣可以使三相輸出波形嚴格對稱,從而跟容易計算。為了使讀者更加容易理解。這里給出了如圖2.4所示,同步調(diào)制時N=9時的三相PWM波形。當(dāng)電路輸出頻率很低時,由于在同步調(diào)試下載波頻率與基波頻率的比值應(yīng)該保持一致,所以此時也很低,然而當(dāng)過低時,容易產(chǎn)生不利的影響。相應(yīng)的,同步調(diào)試的頻率在當(dāng)輸出頻率很高時也會變得非常高,這樣,一般的開光器件不能在這么高的頻率范圍內(nèi)工作,所以一般不能在高頻率范圍內(nèi)使用。圖2.4

24、 同步調(diào)制三相PWM波形2.5 規(guī)則采樣法規(guī)則采樣法是一種與通過確定基波與載波的交點,開通和關(guān)斷開關(guān),控制電壓的波形。如圖2.5所示,當(dāng)用三角波作為載波對在其頂點或低點的位置對正弦波進行采樣時,脈寬就可以由階梯波與三角波的交點來確定,由于在一個載波周期內(nèi)交點的位置是對稱的,這種方法稱為對稱規(guī)則采樣1。 圖2.5 規(guī)則采樣法生成SPWM波的原理圖假設(shè)三角波的幅值為1,正弦函數(shù)為 ,M為調(diào)制度且0<M<1,由圖中ABC EDA得,AB/BC=ED/DA,代入后可得: 其中, 為三角載波周期, 為脈沖寬度。所以矩形波開通時間為: 將上式離散化后可得: 式中, 為周期,l為第l個SPWM波

25、,N為采樣的總個數(shù)3 單極性和雙極性PWM控制逆變電路分析3.1 單相橋式PWM逆變電路3.1.1 原理圖 圖3.1 單相橋式PWM逆變電路3.1.2 單極性PWM控制方式1.單相橋式PWM逆變電路(調(diào)制法)1.1電路工作過程a)工作時和在一個時刻只有一個是開通,另外一個是關(guān)斷的,同理和也一樣,比如在負半周,導(dǎo)通,關(guān)斷,和隨著時間的變化一個開通,一個關(guān)斷。b)負載電流落后于電壓,即電壓比電流要先到達零點,在電壓大于零的時候,負載電流有大于零的部分也有小于零的部分,在負載電流大于零的時候,和導(dǎo)通時,。關(guān)斷時,通過的電流不能再流向,只能經(jīng)過電組,電感,和第三個二極管回流,=0。此時,當(dāng)電流減下到0

26、以下后,仍為和導(dǎo)通時,因為 小于零,故只能從第四個二極管流經(jīng)電感,電阻,到第一個二極管,此時仍有。當(dāng)關(guān)斷,開通后,只能從流向電感和電阻,再到第一個二極管回流,此時=0。據(jù)上所述,如論是哪一種關(guān)斷組合, 都是高電平和0之間的一種。同理在的負半周,在開通關(guān)斷的狀態(tài)下,和在一個時刻一定是有一個開通,另外一個關(guān)斷,無論是哪一種情況,負載電壓都只能是負電平和零電平的一種。 1.2.控制方式 如圖3.2所示,調(diào)制信號為標準的正弦波,有正有負,而這里的載波三角在基波大于0的區(qū)間只有正半軸幅值,而在基波小于0區(qū)間只有負半軸幅值。a)在的正半周時,保持通態(tài),保持斷態(tài),當(dāng)時,使導(dǎo)、關(guān)斷,。當(dāng)時,使關(guān)斷、導(dǎo)通,。b

27、)在的負半周時,保持斷態(tài),保持通態(tài)。當(dāng)時,使導(dǎo)通、關(guān)斷,。當(dāng)時,使關(guān)斷、導(dǎo)通,。圖3.2 單極性PWM控制方式波形3.2 雙極性PWM控制方式如圖3.2所示,雙極性PWM控制方式也是和單極性PWM控制方式是通過在基波正弦波和三角波交點時刻控制各開關(guān)器件的通斷,來控制電壓的正負,以及控制其導(dǎo)通時間,即占空比,但是不同的是它的載波三角波是雙極性的,是有正有負的。a)如圖所示的三角波載波,不像單極性的三角波載波一樣只有正幅度,雙極性的三角波載波還有負幅度,因此,所得的PWM波也不像單極性下只有正幅度,而是在正負之間交替變化的,因此它的電位只在正電位和負電位之間變化。b)在的正負半周期內(nèi),對三極管和二

28、極管的控制和單極性方式一樣。 c)當(dāng)時,和導(dǎo)通,和關(guān)斷,這時如 >0,則和通,如 <0,則和通,不管哪種情況都是.當(dāng)時,和導(dǎo)通,和關(guān)斷,這時如<0,則和通,如>0,則和通,不管哪種情況都是。圖3.3 雙極性PWM控制方式波形4 基于MATLAB的分析以及交點計算4.1 MATLAB簡介 MATLAB是美國mathworks公司開發(fā)的目前國際上應(yīng)用最廣泛,最受歡迎的商業(yè)工程計算軟件,其數(shù)學(xué)運算能力強大,并集成了二維和三維圖形功能,并提供了一種高級編程語言,因此可以用于矩陣運算、完成相應(yīng)數(shù)據(jù)分析以及數(shù)值可視化的工作,主要包括Matlab和Simulink兩大部分。Matla

29、b是矩陣實驗室(MatrixLaboratory)的簡稱,和并稱為三大數(shù)學(xué)軟件。由于我們可以用 畫出各種圖形,并且在一個界面畫出多個圖形,設(shè)定每個圖形的顏色,畫圖線段的方式如實線,點畫線,虛線,并且能夠在旁邊注解,除此以外,它還可以滿足各種計算要求,圖像處理功能強大,易于操作,對一些控制過程進行仿真,調(diào)控,優(yōu)化等等一系列優(yōu)點,所以 在系統(tǒng)的設(shè)計,分析以及仿真,和更多領(lǐng)域中都要用到。4.2 查表產(chǎn)生SPWM波理論分析當(dāng)SPWM采用頻率剛好是基波的整數(shù)倍時,可得到與基波效果近似的輸出波形。查表法就是根據(jù)Matlab計算基波和載波的交點從而通過計算可以得到輸出矩形波形的高電平和低電平的持續(xù)時間,即占

30、空比,從而在c語言編程時用數(shù)組來表示高低電平持續(xù)時間,通過編寫對應(yīng)程序來查表進而在中斷程序中賦予定時器初值,當(dāng)中斷溢出時,電平翻轉(zhuǎn)從而就可以控制輸出端口高低電平持續(xù)時間,從而產(chǎn)生SPWM波。如圖4.1所示,本設(shè)計采用的雙極性PWM控制方式。圖4.1 查表法原理采用的雙極性控制方式根據(jù)上敘對 Matlab的介紹,我們知道Matlab是一個處理圖形,分析計算的非常強大的軟件。在本次設(shè)計中就需要計算正弦波與三角波的交點,因此 控制通過使用 對交點的值,以及其持續(xù)時間進行計算,可以快速方便的得結(jié)果。在判斷2個波形之間的交點時,可以借助數(shù)學(xué)領(lǐng)域上的知識來給定。所謂交點,就是在交點附近時刻兩函數(shù)之差值的絕

31、對值趨于0或許某一精度,而在交點附近的極小區(qū)域,離交點越遠,差值的絕對值逐漸增大2。4.3 Matlab計算程序及仿真圖形結(jié)果以下子程序為計算交點的 程序,多次選擇精度后,當(dāng)設(shè)置此精度prec時,效果最理想,載波數(shù)據(jù)?;〝?shù)據(jù), 為交點時刻數(shù)據(jù)。f=50;step = 0.00000001;from = 0;to = 0.02;% plotx=from:step:to;L1=sawtooth(2*pi*10*f*(x+1/1000),0.5);%三角波載波L2 =3*sin(2*pi*f*x)/4;%正弦波基波L3 =4*sin(2*pi*f*x)/9;%正弦波基波plot(x,L1,'

32、;blue',x,L2,'red',x,L3,'magenta');%畫出基波和載波legend('L1','L2','L3','location','NorthWest');%注釋放在左上方title('曲線交點圖', 'L1=sawtooth(2*pi*10*f*(x+1/1000),0.5)','L2=3*sin(2*pi*f*x)/4','L3 =4*sin(2*pi*f*x)/9');%標題xlabel

33、('x');%x軸ylabel('y'); %找交點mCount = 0;n=0;m=0;prec=0.00001; display(strcat('L1與L2曲線的交點:');for n=1:length(x) if(abs(L1(n)-L2(n) <prec) %找2個波的交點 mCount = mCount + 1; m=m+1; t(m)=x(n); display(strcat('第',num2str(mCount),'交點是:'); if mCount=1 display(strcat('

34、(',num2str(x(n),',',num2str(L1(n),')') else display(strcat('(',num2str(x(n),',',num2str(L1(n),'),第 ',num2str(mCount),'與',num2str(mCount-1),'交點電平持續(xù)時間:',num2str(t(m)-t(m-1),'ms')%顯示高或低電平持續(xù)時間 end lh = line(x(n) x(n),min(min(L1),min(L2)

35、 L1(n); %橫坐標 set(lh,'color','green'); set(lh,'LineStyle','-'); text(x(n),L1(n),strcat('P_',num2str(mCount),'(',num2str(x(n),',',num2str(L1(n),')');%在交點處顯示坐標 endend display(strcat('L1與L3曲線的交點:');jCount = 0;t=0;j=0;for i=1:length(

36、x) if(abs(L1(i)-L3(i) <prec) jCount = jCount + 1; j=j+1; t(j)=x(i); display(strcat('第',num2str(jCount),'交點是:'); if jCount=1 display(strcat('(',num2str(x(i),',',num2str(L1(i),')') else display(strcat('(',num2str(x(i),',',num2str(L1(i),'),

37、第 ',num2str(jCount),'與',num2str(jCount-1),'交點電平持續(xù)時間:',num2str(t(j)-t(j-1),'ms,'); end lh = line(x(i) x(i),min(min(L1),min(L3) L1(i); %橫坐標 set(lh,'color','green'); set(lh,'LineStyle','-'); text(x(i),L1(i),strcat('P_',num2str(jCount),

38、'(',num2str(x(i),',',num2str(L1(i),')'); end endMatlab運行出來的結(jié)果L1與L2曲線的交點:第1交點是:(0.00044746,0.10508)第2交點是:(0.0016899,0.37972),第2與1交點電平持續(xù)時間:0.0012424ms第3交點是:(0.0022559,0.48814),第3與2交點電平持續(xù)時間:0.00056607ms第4交點是:(0.0038508,0.70166),第4與3交點電平持續(xù)時間:0.0015949ms第5交點是:(0.0041386,0.7227),第5

39、與4交點電平持續(xù)時間:0.00028782ms第6交點是:(0.0058614,0.7227),第6與5交點電平持續(xù)時間:0.0017227ms第7交點是:(0.0061492,0.70166),第7與6交點電平持續(xù)時間:0.00028782ms第8交點是:(0.0077441,0.48814),第8與7交點電平持續(xù)時間:0.0015949ms第9交點是:(0.0083101,0.37972),第9與8交點電平持續(xù)時間:0.00056607ms第10交點是:(0.0095525,0.10508),第10與9交點電平持續(xù)時間:0.0012424ms第11交點是:(0.010566,-0.1327

40、4),第11與10交點電平持續(xù)時間:0.0010138ms第12交點是:(0.011346,-0.3078),第12與11交點電平持續(xù)時間:0.00077973ms第13交點是:(0.012788,-0.57608),第13與12交點電平持續(xù)時間:0.0014419ms第14交點是:(0.013184,-0.63126),第14與13交點電平持續(xù)時間:0.00039633ms第15交點是:(0.014875,-0.74942),第15與14交點電平持續(xù)時間:0.0016903ms第16交點是:(0.015125,-0.74942),第16與15交點電平持續(xù)時間:0.00025058ms第17交

41、點是:(0.016816,-0.63126),第17與16交點電平持續(xù)時間:0.0016903ms第18交點是:(0.017212,-0.57608),第18與17交點電平持續(xù)時間:0.00039633ms第19交點是:(0.018654,-0.3078),第19與18交點電平持續(xù)時間:0.0014419ms第20交點是:(0.019434,-0.13274),第20與19交點電平持續(xù)時間:0.00077973msL1與L3曲線的交點:第1交點是:(0.00046748,0.06504)第2交點是:(0.0016075,0.21504),第2與1交點電平持續(xù)時間:0.00114ms,第3交點是

42、:(0.0023504,0.29916),第3與2交點電平持續(xù)時間:0.0007429ms,第4交點是:(0.0037041,0.40812),第4與3交點電平持續(xù)時間:0.0013536ms,第5交點是:(0.0042834,0.43322),第5與4交點電平持續(xù)時間:0.00057933ms,第6交點是:(0.0057166,0.43322),第6與5交點電平持續(xù)時間:0.0014332ms,第7交點是:(0.0062959,0.40812),第7與6交點電平持續(xù)時間:0.00057933ms,第8交點是:(0.0076496,0.29916),第8與7交點電平持續(xù)時間:0.0013536

43、ms,第9交點是:(0.0083925,0.21504),第9與8交點電平持續(xù)時間:0.0007429ms,第10交點是:(0.0095325,0.06504),第10與9交點電平持續(xù)時間:0.00114ms,第11交點是:(0.010537,-0.07466),第11與10交點電平持續(xù)時間:0.0010048ms,第12交點是:(0.010537,-0.07468),第12與11交點電平持續(xù)時間:1e-008ms,第13交點是:(0.011405,-0.18988),第13與12交點電平持續(xù)時間:0.00086772ms,第14交點是:(0.012665,-0.33014),第14與13交點

44、電平持續(xù)時間:0.00126ms,第15交點是:(0.013308,-0.38314),第15與14交點電平持續(xù)時間:0.00064336ms,第16交點是:(0.014721,-0.44274),第16與15交點電平持續(xù)時間:0.0014129ms,第17交點是:(0.015279,-0.44274),第17與16交點電平持續(xù)時間:0.00055726ms,第18交點是:(0.016692,-0.38314),第18與17交點電平持續(xù)時間:0.0014129ms,第19交點是:(0.017335,-0.33014),第19與18交點電平持續(xù)時間:0.00064336ms,第20交點是:(0.

45、018595,-0.18988),第20與19交點電平持續(xù)時間:0.00126ms,第21交點是:(0.019463,-0.07468),第21與20交點電平持續(xù)時間:0.00086772ms,圖4.5 Matlab運行結(jié)果圖由MATLAB計算結(jié)果可以得出電平的時間間隔表如4.1表和4.2表所示:表4.1 L1與L2曲線交點電平持續(xù)時間十進制電平時間間隔表第N個交點與第N+1個交點第N個交點與第N+1個交點電平持續(xù)時間(us)1124220566315944028751727602847159480556912421010131107991214411303961416901502501616

46、90170396181441190779表4.2 L1與L3曲線交點電平持續(xù)時間十進制電平時間間隔表第N個交點與第N+1個交點第N個交點與第N+1個交點電平持續(xù)時間(us)1114020742313534057951433605797135380742911401010041110001208671312601406431514121605571714121806431912605 單片機程序設(shè)計5.1 AT89C52介紹芯片At89C52引腳結(jié)構(gòu)如圖5.1所示,。它是由美國ATMEL公司生產(chǎn)的內(nèi)部結(jié)構(gòu)包涵了如定時計數(shù)器CPU,ROM,RAM和可編程I/O口,可編程串口等作為微型計算機所必須的

47、基本功能部件的一種低電壓,高性能CMOS 8位單片機。1.AT89C52的主要性能參數(shù)它是與Mcg-51產(chǎn)品的指令和引腳完全適用的單片機,包涵6時鐘/機器周期和12時鐘/機器周期,我們可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。工作電壓;5.5V-3.3V(5V單片機)/3.8V-2V(3V單片機)工作頻率范圍:0-40MHz。用戶應(yīng)用程序空間為8K字節(jié)片上集成256字節(jié)RAM通用I/O口(32)個,復(fù)位后;P1/P2/P3/P4是準雙向口/弱上拉,P0口是漏極開路輸出,當(dāng)它作為總線擴展用時,不需要加上拉電阻,但是作為I/O口用時,則需加上上拉電阻。具有EEPROM功能和看門狗功能通用異步串行

48、口(UART),還可以用定時器軟件實現(xiàn)多個UART功能共有3個(16位)計數(shù)器和定時器。圖5.1 AT89C52引腳圖2.At89C52功能特性 本設(shè)計中只涉及到單片機的最小系統(tǒng)和其定時,中斷,輸出信號等功能,因此下面只簡要介紹以下這些功能和端口。最小系統(tǒng)如圖5.2所示圖5.2 單片機最小系統(tǒng)其中,單片機最小系統(tǒng)主要由4個部分組成,分別為;(1)晶振,通過18與19管腳與2個電容并聯(lián)使用,來提供振蕩時間周期。(2)復(fù)位電路(用于復(fù)位)(3)電源(用于供電,一般用電腦的USB口供電)(4)用于向單片機注入程序的接口。3.中斷AT89C52中斷系統(tǒng)有共6個中斷源:它由三個定時中斷定時器0、1、2,

49、兩個外部中斷(INT0和INT1)和一個串行中斷組成5。當(dāng)想要開啟某個中斷時,可以通過置位特殊寄存器IE中相應(yīng)的中斷允許控制位,同樣也可以通過置0來關(guān)閉中斷。IE還包括一個中斷總控制位EA,通過置位或清零能夠控制所有中斷。如表5.1所示,通過表我們可以得知IE.6是不能夠被使用的,一般不對它進行設(shè)。定時器2是一個16位的能在數(shù)據(jù)溢出時,自動賦予計數(shù)初值的定時器,它的功能比定時器0和1強大,它不僅可以用內(nèi)部時鐘,也可以在P1.0口輸入外部時鐘,但是一般對定時器的使用都較少。表 5.1 中斷允許控制位符號位地址功能EAIE.7中斷允許控制位,EA=0,中斷總禁止;EA=1,各中斷由各自的控制位設(shè)定

50、-IE.6預(yù)留ET2IE.5定時器2中斷允許控制位ESIE.4串行口中斷允許控制位ET1IE.3定時器1中斷允許控制位EX1IE.2外部中斷1允許控制位ET0IE.1定時器0中斷允許控制位EX0IE.0外部中斷0允許控制位4.定時A.定時器0和定時器1在AT89C52中,通過對單片機內(nèi)部的工作模式進行選擇,一般在模式1下工作為16位計數(shù)器。通過對M1和M0位都置一,可以選擇它工作在模式3下,此時定時器0的高8位和低8位可以分別作為計數(shù)器工作。B.計數(shù)功能對外部事件進行技術(shù)的即對脈沖計數(shù)的功能就是計數(shù)功能。一般,當(dāng)輸入脈沖的電位由0轉(zhuǎn)變?yōu)殡娢?是,計數(shù)器的數(shù)值加一,因此計數(shù)功能的實質(zhì)就是對脈沖由

51、0電平到1電平進行計數(shù)。如圖5所示,T0(P3.4)和T1(P3.5)這兩個信號引腳就是MCS-51系列的芯片的計數(shù)信號輸入端,當(dāng)外部輸入的脈沖在負跳變到正時,計數(shù)器加1。C.定時功能定時功能就是根據(jù)所需要設(shè)定的時間,給予定時器一個初值,其初值可以通過公式計算出來,由于一般晶振都為12Mhz,所以計算出數(shù)字上的1就代表時域上的1微妙,然后通過對內(nèi)部寄存器的置位或清零,打開或關(guān)閉所需要的計數(shù)器,然后再通過對寄存器TR0或TR1開啟計數(shù)器,此后每一微妙,計數(shù)器都自動加一,當(dāng)計數(shù)器的數(shù)值達到65536時,計數(shù)器就會溢出,然后只要設(shè)定了外部中斷允許,此時就可以產(chǎn)生中斷,從而得到想要的定時功能,這樣只要

52、知道計數(shù)值計算出定時時間,或者計數(shù)器的預(yù)置值的其中一個就可以通過計算得到另一個數(shù)值。在本設(shè)計中,由于電平持續(xù)時間對比與1微秒來說太大,如果采用這個微秒級,就會超過計數(shù)范圍,所以本設(shè)計中,是采用一定比例來計算持續(xù)時間的,當(dāng)時這樣并不影響最終不會讓所得的波形失真。并且,這樣不但可以根據(jù)計數(shù)值計算出。D. 定時器2定時器定時器2是一個能在數(shù)據(jù)溢出時,自動賦予計數(shù)初值的定時器定,同時它又具有計數(shù)功能。通過對寄存器C/T2的置位或清零,它可以工作在3鐘模式下,當(dāng)C=0,T2=1時,它能夠在數(shù)據(jù)溢出時自動裝載計數(shù)器的初值,當(dāng)C=1,T2=0,他可以接入一個pwm信號,并且能夠算出它的占空比,當(dāng)C=1,T2

53、=1時,它能夠充當(dāng)波特率的發(fā)生器。并且在定時方式下,它的低8位和高8位都在每個機器周期加一表 5.2 定時器2工作模式RCLK+TCLKCP/RL2TR2MODE00116位自動重載01116位捕捉1×1波特率發(fā)生器××0不用表5.3 T2MOD-定時器2控制寄存器T2MOD地址:0C9H 復(fù)位值:×××××00B-T2OEDCEN76543210符號功能無定義,預(yù)留擴展T2OE定時器2輸出允許位DCEN置1后,定時器2可配置向上或向下計數(shù)5.2 程序設(shè)計流程圖程序流程圖如圖5.3所示開始I/O端口初始化定時器0初

54、始化,定時器1定時器0,定時器1賦予初值,并開啟中中斷定時器0溢出時,發(fā)生中斷,查表,給予定時器另外一個初值,單片機引腳P1.0電平翻轉(zhuǎn),同時開始計數(shù)定時器1溢出時,發(fā)生中斷,查表,給予定時器另外一個初值,單片機引腳P1.1電平翻轉(zhuǎn),同時開始計數(shù)圖5,3 程序流程圖5.3 C語言實現(xiàn)程序5.3.1 程序運行軟件Keil uVision2簡介Keil uVision2是一款可以用C語言編程的開發(fā)軟件,特別是在對單片機編程時,經(jīng)常使用到,它不經(jīng)能夠適用多款單片機,還能夠提供調(diào)試功能,在調(diào)試時人們可以一步一步的程序的進行,以及數(shù)據(jù)的改變,這樣,在程序出錯或與自己的理想有出入時,可容易被發(fā)現(xiàn),當(dāng)它與p

55、rotues一起使用時,通過把編好的程序的HEX文件注入單片機就可以開啟仿真,同時由于C語言更加易于學(xué)習(xí),編程效率高,使用較簡單,大大提高了工作效率和縮短項目的開發(fā)周期,除此以外我們還可以在想要的關(guān)鍵地方嵌入?yún)R編程序,使程序接近于用匯編程序5.3.2 主程序#include<reg52.h>#include<intrins.h>#define uint unsigned intint i=0,j=0;char flag1=0;char flag2=0;sbit P10=P10;sbit P11=P11;int a=12420,5660,15940,2870,17270,2840,15940,5660,12420,10130,7990,14410,3960,16900,2500,16900,3960,14410,7790;int b=11400,7420,13530,5790,14330,5790,13530,7420,11400,10040,10000,8670,12600,6430,14120,5570,14120,6430,12600,8670,1000;void main()P10=0;P11=0;EA=1;ET0=1;ET1=1;TM

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論