第一篇:交流電動(dòng)機(jī)調(diào)速系統(tǒng)軟件設(shè)計(jì)-本科論文(精)
XXX大學(xué)本科畢業(yè)設(shè)計(jì)(論文電機(jī)交流調(diào)速軟件設(shè)計(jì) 學(xué)生姓名: 學(xué)生學(xué)號(hào): 院(系: 年級(jí)專業(yè): 指導(dǎo)教師:教授 助理指導(dǎo)教師:副教授 二〇一一年六月
Xxx大學(xué)本科畢業(yè)設(shè)計(jì)(論文摘要 摘要
本文主要介紹基于意法公司STM32處理器的三相交流異步電動(dòng)機(jī)調(diào)速系統(tǒng)的軟件設(shè)計(jì)。詳細(xì)闡述異步電動(dòng)機(jī)矢量控制系統(tǒng)和電壓空間矢量PWM(SVPWM調(diào)制技術(shù)原理及軟件實(shí)現(xiàn)。使用IAR公司的EWARM開發(fā)環(huán)境進(jìn)行C語(yǔ)言程序開發(fā),同時(shí)嵌入μcos-ii實(shí)時(shí)操作系統(tǒng),以提高系統(tǒng)的實(shí)時(shí)性。然后通過MATLAB/Simulink 軟件進(jìn)行仿真驗(yàn)證。實(shí)驗(yàn)及仿真結(jié)果表明,所設(shè)計(jì)的三相交流異步電動(dòng)機(jī)調(diào)速系統(tǒng)具有轉(zhuǎn)矩脈動(dòng)小,輸出電流波形好,系統(tǒng)響應(yīng)速度快等優(yōu)點(diǎn)。
關(guān)鍵詞三相異步電動(dòng)機(jī),矢量控制,SVPWM,STM32,μcos-ii實(shí)時(shí)操作系統(tǒng),MATLAB仿真
本科畢業(yè)設(shè)計(jì)(論文 ABSTRACT 目錄 緒論 矢量控制的基本原理 電壓空間矢量PWM(SVPWM的基本原理 4 STM32簡(jiǎn)介 μcos-ii實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介 基于STM32的μcos-ii實(shí)時(shí)操作系統(tǒng)移植 7 MATLAB/Simulink仿真軟件簡(jiǎn)介 8 調(diào)速系統(tǒng)軟件實(shí)現(xiàn) 9 調(diào)速系統(tǒng)仿真模型及仿真 1 緒論
當(dāng)前,三相交流異步電動(dòng)機(jī)已廣泛應(yīng)用于現(xiàn)代工業(yè)及相關(guān)領(lǐng)域,其調(diào)速系統(tǒng)顯然成為應(yīng)用的關(guān)鍵,而調(diào)速系統(tǒng)的實(shí)現(xiàn)有很多種方式。20世紀(jì)70年代德國(guó)學(xué)者Blaschke等人提出了矢量控制方法。這種控制方法就是采用矢量變換使交流異步電機(jī)定子電流勵(lì)磁分量和轉(zhuǎn)矩分量之間實(shí)現(xiàn)解耦,交流異步電動(dòng)機(jī)的磁通和轉(zhuǎn)矩分別進(jìn)行獨(dú)立控制,從而使交流異步電動(dòng)機(jī)變頻調(diào)速系統(tǒng)具有了直流調(diào)速系統(tǒng)的優(yōu)點(diǎn)。因此,近幾年來得到相當(dāng)廣泛的應(yīng)用。
矢量控制采用脈寬調(diào)制(PWM技術(shù)控制輸出電壓,PWM技術(shù)主要有正弦PWM(SPWM、消除指定次數(shù)諧波的PWM(SHEPWM、電流滯環(huán)跟蹤PWM(CHBPWM、電壓空間矢量PWM(SVPWM等控制技術(shù)。其中經(jīng)典的SPWM控制主要著眼于使變壓變頻器的輸出電壓盡量接近正弦波,并未顧及輸出電流的波形。而電流滯環(huán)跟蹤控制則直接控制輸出電流,使之在正弦波附近變化,這就比只要求正弦電壓前進(jìn)了一步。然而交流電動(dòng)機(jī)需要輸入三相正弦電流的最終目標(biāo)是在電
動(dòng)機(jī)空間形成圓形旋轉(zhuǎn)磁場(chǎng),從而產(chǎn)生恒定的電磁轉(zhuǎn)矩,這正是電壓空間矢量PWM(SVPWM控制技術(shù)的控制目標(biāo)。如此,SVPWM控制技術(shù)具有系統(tǒng)逆變器直流端母線電壓利用率高、開關(guān)損耗小、電動(dòng)機(jī)轉(zhuǎn)矩波動(dòng)小等優(yōu)越性能,應(yīng)用更為廣泛。
本文詳細(xì)闡述異步電動(dòng)機(jī)矢量控制系統(tǒng)和電壓空間矢量PWM(SVPWM調(diào)制技術(shù)原理及基于意法公司STM32處理器的軟件實(shí)現(xiàn),同時(shí)嵌入μcos-ii實(shí)時(shí)操作系統(tǒng),以提高系統(tǒng)的實(shí)時(shí)性,然后通過MATLAB/Simulink軟件進(jìn)行仿真驗(yàn)證。實(shí)驗(yàn)及仿真結(jié)果表明,該設(shè)計(jì)的三相交流異步電動(dòng)機(jī)調(diào)速系統(tǒng)具有轉(zhuǎn)矩脈動(dòng)小,輸出電流波形好,系統(tǒng)響應(yīng)速度快等優(yōu)點(diǎn)。矢量控制的基本原理 2.1矢量控制的基本思路
通過坐標(biāo)變換,使異步電動(dòng)機(jī)等效成直流電動(dòng)機(jī),模仿直流電動(dòng)機(jī)的控制策略,得到直流電動(dòng)機(jī)的控制量,然后經(jīng)過相應(yīng)的坐標(biāo)反變換,就能夠控制異步電動(dòng)機(jī)。即通過坐標(biāo)變換實(shí)現(xiàn)的控制系統(tǒng)就叫作矢量控制系統(tǒng)(VC 系統(tǒng)?;Y(jié)構(gòu)框圖如圖2-1。
2.2坐標(biāo)變換 2.2.1坐標(biāo)變換引出
由于異步電動(dòng)機(jī)的動(dòng)態(tài)數(shù)學(xué)模型復(fù)雜,即是一個(gè)多變量(多輸入輸出,并且電壓(電流、磁通、轉(zhuǎn)速、頻率之間相互影響的高階、強(qiáng)耦合、非線性系統(tǒng),因此,要分析和求解這樣的數(shù)學(xué)模型所列的方程顯然是十分困難的。在實(shí)際應(yīng)用中必須設(shè)法予以簡(jiǎn)化,而簡(jiǎn)化的基本方法就是坐標(biāo)變換。
2.2.2坐標(biāo)變換的基本思路
坐標(biāo)變換的基本思路是能把異步電動(dòng)機(jī)的物理模型等效的變換為類似直流電動(dòng)機(jī)的模式,所依據(jù)的原則是:在不同的坐標(biāo)下所產(chǎn)生的磁動(dòng)勢(shì)完全一樣。
首先看看直流電動(dòng)機(jī)的物理模型,如圖2-1中所示。圖中F 為勵(lì)磁繞組,A 為電樞繞組,其中F 在定子上,A 在轉(zhuǎn)子上。這里把F 的軸線稱作d 軸,主磁通Ф的方向就是沿著d 軸的方向;A 的軸線則稱為q 軸,由于換向器電刷的作用,電刷兩側(cè)每條支路中導(dǎo)線的電流方向總是相同的,因此,電樞磁動(dòng)勢(shì)的軸線始終被電刷限定在q 軸位置上,其效果好象一個(gè)在q 軸上靜止的繞組一樣,即電樞繞組。由此可描述直流電動(dòng)機(jī)的物理模型是建立在兩個(gè)相互垂直的坐標(biāo)系上的,其中d 軸勵(lì)磁繞組A 的勵(lì)磁電流a i 決定主磁通Ф,而q 軸電樞繞組F 的電樞電流f i 在主磁通Ф下產(chǎn)生電磁轉(zhuǎn)矩,與主磁通Ф無(wú)關(guān)。
在交流電動(dòng)機(jī)三相對(duì)稱的靜止繞組A、B、C 中,通以三相平衡的正弦電流A i ,B i ,C i 時(shí),所產(chǎn)生的合成磁動(dòng)勢(shì)是旋轉(zhuǎn)磁動(dòng)勢(shì)F ,它在空間呈正弦分布,以同步轉(zhuǎn)速 1 順著 A-B-C 的相序旋轉(zhuǎn)。其物理模型如圖2-2(a 所示。
依據(jù)坐標(biāo)變換的原則,要建立與直流電動(dòng)機(jī)的物理模型等效的物理模型,可由下面的方法進(jìn)行坐標(biāo)變換:一是將三相靜止坐標(biāo)系轉(zhuǎn)換為兩相靜止坐標(biāo)系(3/2變換,二是將兩相靜止坐標(biāo)系轉(zhuǎn)換為兩相旋轉(zhuǎn)坐標(biāo)系(3s/2r 變換,如圖2-2。如
此得到與直流電動(dòng)機(jī)的物理模型的等效的坐標(biāo)系。2.2.3坐標(biāo)變換之三相二相變換(2s/2r 變換
2s/2r 變換即二相靜止坐標(biāo)系到兩相旋轉(zhuǎn)坐標(biāo)系的變換,α、β軸為靜止的, d,q 軸是以轉(zhuǎn)速 1ω旋轉(zhuǎn)的,α軸與d 軸的夾角為?,根據(jù)文獻(xiàn)[8]知,(式2-4 ??????????????????????---=??????C B A β232302121132αi i i i i
????????????---=2323021211322/3C ??????? ?????????---=2321232110322/3C ?? ????=??
??????????-=??????q d s 2/r 2q d βαcos sin sin cos i i C i i i i ???? 則兩相旋轉(zhuǎn)坐標(biāo)系到二相靜止坐標(biāo)系的變換的變換陣為,(式2-5 由(式2-4兩邊左乘以變換陣的逆矩陣,可得(式2-6 則二相靜止坐標(biāo)系到兩相旋轉(zhuǎn)坐標(biāo)系變換的變換陣為,(式2-7 2.3異步電動(dòng)機(jī)在兩相同步旋轉(zhuǎn)坐標(biāo)上的數(shù)學(xué)模型 2.3.1磁鏈方程
在dq 坐標(biāo)系的磁鏈方程為,(式2-8 其中, —— dq 坐標(biāo)系定子與轉(zhuǎn)子同軸等效繞組間的互感;
—— dq 坐標(biāo)系定子等效兩相繞組的自感;——dq 坐標(biāo)系轉(zhuǎn)子等效兩相繞組的自感;sd ψ、sq ψ、rd ψ、rq ψ分別表示d、q 軸上定子磁鏈,d、q 軸上轉(zhuǎn)子磁 鏈;??????-=????cos sin sin cos s 2/r 2C ??
??????????-=??????βαq d cos sin sin cos i i i i ??????????-=????cos sin sin cos r 2/s 2C ??????????????????????????=??????????????rq rd sq sd r m r m m s m s rq rd sq sd 00000000i i i i L L L L L L L L ψψψψr m r l L L L +=ms m 23L L =s m s l L L L += sd i、sq i、rd i、rq i 分別表示d、q 軸方向定子繞組電流,d、q 軸方向轉(zhuǎn)子繞組電流;2.3.2電壓方程
在dq 坐標(biāo)系的電壓方程為,(式2-9 其中, s R 為轉(zhuǎn)子內(nèi)電阻,r R 為定子內(nèi)電阻;1ω為同步角轉(zhuǎn)速,其等于定子頻率;s ω為轉(zhuǎn)差,ωωω-=1s ,ω為轉(zhuǎn)子轉(zhuǎn)速;sd u、sq u、rd u、rq u 分別表示d、q 軸方向定子繞組電壓,d、q 軸方向轉(zhuǎn)子繞組電壓。
2.3.3轉(zhuǎn)矩與運(yùn)動(dòng)方程 在dq 坐標(biāo)系的電轉(zhuǎn)矩方程為,(式2-10 運(yùn)動(dòng)方程為,(式2-11 2.3.4異步電動(dòng)機(jī)在兩相同步旋轉(zhuǎn)坐標(biāo)上的狀態(tài)方程 由于鼠籠型轉(zhuǎn)子內(nèi)部是短路的,故有 rd u = rq u = 0 ,由代數(shù)變換可知,其狀 態(tài)方程,即s r i--ψω狀態(tài)方程, ??????????????????????????+-+-+--+=??????????????rq rd sq sd r r r s m m s r s r r m 1m m m 1s s s 1m 1m s 1s s rq rd sq sd i i i i p L R L p L L L p L R L p L p L L p L R L L p L L p L R u u u u ωωωωωωωω(rq sd rd sq m p e i i i i L n T-=t n J T T d d p L e ω+=(式2-12(式2-13(式2-14(式2-15(式2-16 其中, ——電機(jī)漏磁系數(shù);——轉(zhuǎn)子電磁時(shí)間常數(shù)。2.4按轉(zhuǎn)子磁鏈定向的矢量控制 2.4.1按轉(zhuǎn)子定向的旋轉(zhuǎn)坐標(biāo)系
現(xiàn)令d 軸沿著轉(zhuǎn)子總磁鏈?zhǔn)噶糠较?并稱之為M 軸,而q 軸再逆時(shí)針轉(zhuǎn)90°,即垂直于轉(zhuǎn)子總磁鏈?zhǔn)噶?稱之為T 軸。即有
r rm rd ψψψ==, 0==rt rq ψψ(式2-17 2.4.2按轉(zhuǎn)子定向的旋轉(zhuǎn)坐標(biāo)系的狀態(tài)方程 轉(zhuǎn)矩方程為(式2-18 L p rq sd rd sq r m 2p(d d T J n i i JL L n t--=ψψωsd
r m rq 1rd r rd(1d d i T L T t +-+-=ψωωψψsq r m rd 1rq r rq(1d d i T L T t +---=ψωωψψs sd sq 1sd 2r s 2m r 2r s rq r s m rd r r s m sd d d L u i i L L L R L R L L L T L L L t i σωσωψσψσ+++-+=s sq sd 1sq 2r s 2m r 2r s rd r s m rd r r s m sq d d L u i i L L L R L R L L L T L L L t i σωσωψσψσ+-+--=r r r R L T =r s 2m 1L L L-=σr st r m p e ψi L L n T = 轉(zhuǎn)差方程為(式2-19 d、q 解耦方程(式2-19 2.4.3按轉(zhuǎn)子磁鏈模型(計(jì)算 ? 按轉(zhuǎn)子磁鏈模型如下圖圖2-3, 2.4.4按轉(zhuǎn)子磁鏈定向的矢量控制 矢量控制的結(jié)構(gòu)框圖如下圖2-4,r r st m s 1ψωωωT i L ==-sm r m r 1i p T L +=ψ 電壓空間矢量PWM(SVPWM的基本原理 4 STM32簡(jiǎn)介
4.1基于CORTEX-M3內(nèi)核的STM32 CORTEX-M3是ARM公司最新推出的基于ARM v7體系架構(gòu)的處理器核,具有高性能、低成本、低功耗的特點(diǎn),專門為嵌入式應(yīng)用領(lǐng)域設(shè)計(jì)。ARM v7架構(gòu)采用了Thumb.2技術(shù)。保持了對(duì)現(xiàn)存ARM解決方案完整的代碼兼容性,比單純 ARM代碼少使用3l%的內(nèi)存,減少了系統(tǒng)開銷,同時(shí)能夠比Thumb技術(shù)高出38%的性能。在中斷處理方面,CORTEX-M3集成了嵌套向量中斷控制器 NVIC。NVIC可以配置 1~ 240 個(gè)帶有256個(gè)優(yōu)先級(jí)、8級(jí)搶占優(yōu)先權(quán)的物理中斷。同時(shí),搶占(Pre-eruption、尾
鏈(Tail-chaining、遲到技術(shù)(Late-arriving的使用,大大縮短了異常事件的響應(yīng)事件。CORTEX-M3異常處理過程中由硬件自動(dòng)保存和恢復(fù)處理器狀態(tài),進(jìn)一步縮短了中斷響應(yīng)時(shí)間,降低了軟件設(shè)計(jì)的復(fù)雜性。
STM32是意法公司基于CORTEX-M3內(nèi)核的一款高性能單片機(jī),在具有與其它單片機(jī)相同功能的同時(shí),在電機(jī)控制方面尤為突出,可產(chǎn)生高精度的可控6路PWM 波,其可設(shè)置死區(qū)時(shí)間與故障輸出保護(hù),并且設(shè)有正交編碼器速度反饋接口,實(shí)現(xiàn)高精度速度檢測(cè)。并且意法公司針對(duì)交流感應(yīng)電動(dòng)機(jī)還專門設(shè)計(jì)了應(yīng)用程序庫(kù),方便使用者二次開發(fā)。ARM是目前嵌入式領(lǐng)域應(yīng)用最廣泛的 R I S C微處理器結(jié)構(gòu),它以低成本、低功耗、高性能等優(yōu)點(diǎn)占據(jù)了嵌入式系統(tǒng)應(yīng)用領(lǐng)域的領(lǐng)先地位。
C o r t e x-M3內(nèi)核是 A R M新型 V 7架構(gòu)系列的微控制器版本,廣泛應(yīng)用于企業(yè)、汽車系統(tǒng)、家庭網(wǎng)絡(luò)和無(wú)線技術(shù)領(lǐng)域,特別在電機(jī)數(shù)字控制領(lǐng)域的性能尤為突出。
4.2STM32的高級(jí)定時(shí)器 4.2.1高級(jí)定時(shí)器的結(jié)構(gòu)圖 參考文獻(xiàn)[11],其結(jié)構(gòu)如下圖4-1, 4.2.2高精度PWM產(chǎn)生
時(shí)鐘可為APB總線頻率的2倍,最大72MHz,可提供13.8ns 定時(shí)精度。有邊沿或中心對(duì)稱模式,方便PWM波的結(jié)構(gòu)調(diào)整。在更新率倍頻模式,中心對(duì)稱模式下無(wú)精度損失,每個(gè)PWM周期可產(chǎn)生兩次中斷或DMA連續(xù)傳輸。
4.2.2高精度PWM管理
可編程的死區(qū)產(chǎn)生是其最大的特點(diǎn),由8位寄存器控制死區(qū)時(shí)間,在時(shí)鐘為
72MHz時(shí)13.8ns 最大精度(從0 到14μs, 非線性。有專門的故障停機(jī)輸入控制,由關(guān)閉6路PWM輸出且發(fā)出中斷請(qǐng)求來實(shí)現(xiàn),且異步操作(無(wú)須時(shí)鐘同步,更適合實(shí)時(shí)控制。
4.3STM32的速度檢測(cè)
STM32可直接與增量式正交編碼器相連而無(wú)需外部邏輯電路,其中正交編碼器的第三個(gè)輸出口,可連至外部中斷口來觸發(fā)定時(shí)器的計(jì)數(shù)器復(fù)位。當(dāng)自動(dòng)重載寄存器的值配置為正交編碼器每轉(zhuǎn)產(chǎn)生的計(jì)數(shù)脈沖時(shí),則計(jì)數(shù)器的值直接為轉(zhuǎn)子的角度/位置,非常方便速度檢測(cè)。
4.4STM32的ADC ADC轉(zhuǎn)換速度可達(dá)1MHZ,精度為達(dá)12位,采樣時(shí)間可編程(1.5-239.5個(gè)時(shí)鐘周期,最小采樣時(shí)間達(dá)107ns,滿足高性能異步電動(dòng)機(jī)調(diào)速的采樣頻率要求。有多通道基于定時(shí)器的掃描采樣功能,且每個(gè)ADC通道可被來自定時(shí)器的6個(gè)事件觸發(fā),或由外部事件和軟件觸發(fā),由此可將ADC與定時(shí)器并聯(lián)控制,得到更好的調(diào)速性能。μcos-ii實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介
μC/OS-II是著名的源代碼公開的實(shí)時(shí)內(nèi)核,是一個(gè)完整的,易移植、易固化、易裁剪的占先式實(shí)時(shí)多任務(wù)內(nèi)核。μC/OS-II是用ANSI C編寫的,包含一小部分與微處理器類型相關(guān)的匯編語(yǔ)言代碼,使之可供不同架構(gòu)的微處理器使用。雖然μC/OS-II是在PC機(jī)上開發(fā)和測(cè)試的,但μC/OS-II的實(shí)際對(duì)象是嵌入式系統(tǒng),并且很容易移植到不同架構(gòu)的微處理器上。至今,從8位到64位,μC/OS-II已在超過40中不同架構(gòu)的微處理器上運(yùn)行?;赟TM32的μcos-ii實(shí)時(shí)操作系統(tǒng)移植 7 MATLAB/Simulink仿真軟件簡(jiǎn)介 8 調(diào)速系統(tǒng)軟件實(shí)現(xiàn)
8.1調(diào)速系統(tǒng)軟件的結(jié)構(gòu)圖 調(diào)速系統(tǒng)軟件的結(jié)構(gòu)圖如圖8-1,磁場(chǎng)定向控制(FOC 軟件的流程圖如圖8-2, 8.2 9 調(diào)速系統(tǒng)仿真模型及仿真 電流采樣
(A i ,B i ,C i =得到相電流(αi ,βi = Clarke(A i ,B i ,C i(d i ,q i = Park(αi ,βi *d V = PID 調(diào)節(jié)(d i ,*d i *q V = PID 調(diào)節(jié)(q i ,*d i(q V ,d V = 飽和處理(*q V ,*d V(αV ,βV = 反Park(q V ,d V SVPWM(αV ,βV
結(jié) 束 結(jié)論
參考文獻(xiàn)
[1] 華成英,童詩(shī)白.模擬電子技術(shù)基礎(chǔ)[M] 北京:高等教育出版社,2006 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文參考文獻(xiàn)
[2] 楊路明.C語(yǔ)言程序設(shè)計(jì)教程[M] 北京:北京郵電大學(xué)出版社,2005 [3] 王曉明.電動(dòng)機(jī)的單片機(jī)控制.北京:北極航空航天大學(xué)出版社,2002.[4] 王兆安,黃俊.電力電子技術(shù).北京:機(jī)械工業(yè)出版社,2000.[5] 李華德,白晶,李志明.交流調(diào)速控制系統(tǒng).北京:電子工業(yè)出版社,2004.[6] 羅政球.提高電子電路抗干擾能力經(jīng)驗(yàn)談[J].電子制作,2006,10.[7] 胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2006,3.[8] 陳伯時(shí).電力拖動(dòng)自動(dòng)控制系統(tǒng).北京:機(jī)械工業(yè)出版社,2004,07.[9](澳霍姆斯(Holmes,D.G.,(美利波(Lipo,T.A.著;周克亮譯.電力電子變換 器PWM技術(shù)原理與實(shí)踐.北京:人民郵電出版社,2010,02.[10](英姚文詳,宋巖譯.ARM Cortex-M3權(quán)威指南.北京:北京航空航天大 學(xué)出版社,2009,7.[11] 彭剛,春志強(qiáng).基于ARM Cortex-M3的STM32系列嵌入式微控制器應(yīng)用實(shí)踐.北京:電子
工業(yè)出版社,2011,01.[12] 侯殿有,才華.ARM嵌入式C編程標(biāo)準(zhǔn)教程.北京:電子工業(yè)出版社,2011,01.[13](美Jean J.Labrosse著,邵貝貝等譯.嵌入式實(shí)時(shí)操作系統(tǒng)μCOS-Ⅱ(第2版.北京: 北京航天航空大學(xué)出版社,2003,05.[14] 陳瑤,李佳,宋寶華.Cortex-M3 + μC/OS-II嵌入式系統(tǒng)開發(fā)入門與應(yīng)用.北京:人民郵
電出版社,2010,08.[15] 馬小亮.大功率交--交變頻調(diào)速及矢量控制技術(shù)(第3版.北京:機(jī)械工業(yè)出版社,2004, 07.[16] Schildt, Herbert.c: The complete Reference(c 4/E.McGraw-Hill/Osborne Media ,2000,4.[17] Jean J.Labrosse.Embedded Software.Newnes ,2007,9.65 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)(空 1 行 附錄 A:XX 公式的推導(dǎo) 附錄 A:XX 公式的推導(dǎo)(空 1 行(空 1 行 黑體三號(hào)居中 XX 公式的推導(dǎo)過程是:(宋體五號(hào),距行固定值 20 磅,英文用 Times New Roman 五號(hào))65 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文)(空 1 行 致謝 致 謝(空 1 行 黑體三號(hào)居中 XXX…(宋體小四號(hào),距行固定值 20 磅)67
第二篇:交流調(diào)速系統(tǒng)講義
課程名稱:調(diào)速系統(tǒng)
班級(jí):電氣 09-5 班
時(shí)間:2012.9.25 三、四節(jié) 第一章
交流調(diào)壓調(diào)速系統(tǒng) 定義:改變異步電動(dòng)機(jī)定子供電電壓的大小以調(diào)節(jié)電動(dòng)機(jī)運(yùn)行速度的系統(tǒng),稱為交流調(diào)壓調(diào)速系統(tǒng),這屬于轉(zhuǎn)差功率消耗型調(diào)速系統(tǒng)。
1.1 異步電動(dòng)機(jī)調(diào)壓調(diào)速的原理 1.1.1 調(diào)壓調(diào)速的原理 根據(jù)異步電動(dòng)機(jī)的電磁轉(zhuǎn)矩公式:(也可以叫機(jī)械特性方程)
])()/ [(2/ 32 “20 12 ”2 1 1“221X X s r r fs r U nTpe? ? ???
(1-1)
式中可變的參數(shù)只有轉(zhuǎn)差率 s 和定子電壓 U 1,當(dāng) s 一定時(shí),電磁轉(zhuǎn)矩 T e 與定子電壓 U 1正比。一般在一工況下負(fù)載轉(zhuǎn)矩不變,改變 U 1,s 隨之變化,而同步轉(zhuǎn)速pnfn1160? 是不變的,則電動(dòng)機(jī)的轉(zhuǎn)速 n 發(fā)生了變化。這就是調(diào)壓調(diào)速的原理。
1.1.2 調(diào)壓調(diào)速的機(jī)械特性 根據(jù)式(1-1)可得調(diào)壓調(diào)速的機(jī)械特性如圖 1-1
圖 1-1 異步電動(dòng)機(jī)在不同電壓下的機(jī)械特性 根據(jù)圖 1-1 曲線可得出異步電動(dòng)機(jī)調(diào)壓調(diào)速機(jī)械特性的特點(diǎn):
1、不同電壓時(shí),空載轉(zhuǎn)速 n 0 不變;pnfn n11 060? ?
2、不同電壓時(shí),臨界轉(zhuǎn)差率 s m 不變;2 ”20 121“2)(X X rrs m? ??
3、調(diào)壓調(diào)速屬于一種弱磁調(diào)速;根據(jù)公式N smK N fU1144.4? ?
0風(fēng)機(jī)類負(fù)載特性011N7.0 U1NU1N5.0 U0nECABDSnmSFeTmax
eT圖5-1
異步電動(dòng)機(jī)在不同電壓下的機(jī)械特性
4、調(diào)壓調(diào)速的穩(wěn)定工作范圍為 0
1.1.3 力矩電機(jī)調(diào)壓調(diào)速的機(jī)械特性 如何解決異步電機(jī)調(diào)速范圍小的問題:只有增大 s m。根據(jù)2 ”20 121“2)(X X rrs m? ?? 可得,只有增大電動(dòng)機(jī)轉(zhuǎn)子電阻,才能使 s m 增大。這種轉(zhuǎn)子電阻很大的電動(dòng)機(jī)稱為力矩電動(dòng)機(jī)。它的調(diào)壓調(diào)速的機(jī)械特性如圖 1-2 所示。
圖 1-2 力矩電動(dòng)機(jī)調(diào)壓調(diào)速的機(jī)械特性 力矩電機(jī)高壓調(diào)速機(jī)械特性很軟,調(diào)速范圍較大,開環(huán)應(yīng)用不多。
1.1.4 調(diào)壓調(diào)速的方法 ? 1、自耦變壓器調(diào)壓(TU);-對(duì)小容量電機(jī),體積重量大。
? 2、帶直流磁化繞組的飽和電抗器調(diào)壓(LS);-控制鐵心電感的飽和程度改變串聯(lián)阻抗,體積重量大。
? 3、晶閘管交流調(diào)壓(TVC)。用電力電子裝置調(diào)壓調(diào)速,體積小,輕便。
圖 1-3 調(diào)壓器調(diào)壓
飽和電抗器調(diào)壓
晶閘管交流調(diào)壓 1.1.5 晶閘管交流調(diào)壓電路的控制方式 對(duì)電力電子電路中的晶閘管器件,有兩種控制方式,現(xiàn)以晶閘管單相交流調(diào)壓器電路如圖 1-4 為例來加以說明:
圖 1-4 晶閘管單相調(diào)壓電路
1、相位控制方式
通過改變晶閘管的導(dǎo)通角來改變輸出交流電壓。電壓輸出波形如圖 1-5 所示。
特點(diǎn):輸出電壓較為精確、快速性好;但有諧波污染。
圖 1-5 單相交流調(diào)壓電路相位控制方式時(shí)輸出電壓波形
2、開關(guān)控制方式
把晶閘管作為開關(guān),將負(fù)載與電源完全接通幾個(gè)半波,然后再完全斷開幾個(gè)半波。交流電壓的大小靠改變通斷時(shí)間比 t 0 / tp 來調(diào)節(jié)。輸出電壓波形如圖 1-6 所示。
圖 1-6
單相交流調(diào)壓電路開關(guān)控制方式時(shí)輸出電壓波形 特點(diǎn):是有級(jí)調(diào)速,轉(zhuǎn)矩脈動(dòng)較大,不產(chǎn)生諧波污染,通常用于電加熱設(shè)備中。
~RU1U1VT2VT圖5-3
晶閘管單相調(diào)壓電路U0?? ? ?? ? 2 ? t ?圖5-4
晶閘管相位控制下的負(fù)載電壓波形U00t 通 pt 斷t ?圖5-5
晶閘管開關(guān)控制下的負(fù)載電壓波形
1.2 晶閘管三相交流調(diào)壓電路 1.2.1 三相交流調(diào)壓電路的接線形式 晶閘管三相交流調(diào)壓器有多種接線形式,這里列舉五種:
圖 1-7 三相全波星形聯(lián)接的調(diào)壓電路
圖 1-8 帶零線的三相全波星形聯(lián)接調(diào)壓電路
圖 1-9 三相半控星形聯(lián)接的調(diào)壓電路
圖 1-10
晶閘管三角形聯(lián)接的調(diào)壓電路
圖 1-11 晶閘管與負(fù)載接成內(nèi)三角形的調(diào)壓電路
1、三相半控星形聯(lián)接的調(diào)壓電路 三相半控星形聯(lián)接的調(diào)壓電路如圖 1-7 所示。
特點(diǎn):每相電壓和電流波形正、負(fù)不對(duì)稱,負(fù)載電路中有偶次諧波,不存在直流分量,輸出轉(zhuǎn)矩小,效率低。
應(yīng)用:要求不高的小容量場(chǎng)合。
2、晶閘管三角形聯(lián)接的調(diào)壓電路
晶閘管三角形聯(lián)接的調(diào)壓電路如圖 1-10 所示 特點(diǎn):電路結(jié)構(gòu)簡(jiǎn)單,諧波成分復(fù)雜,運(yùn)行效率低。
應(yīng)用:小容量電動(dòng)機(jī)。
3、帶零線的三相全波星形聯(lián)接調(diào)壓電路
帶零線的三相全波星形聯(lián)接調(diào)壓電路如圖 1-8 所示 特點(diǎn):零線電流大,諧波對(duì)電機(jī)和電網(wǎng)影響大。
應(yīng)用:很少應(yīng)用。
第三篇:電氣工程綜合實(shí)訓(xùn)(matlab)報(bào)告電動(dòng)機(jī)調(diào)速系統(tǒng)仿真
電氣工程綜合實(shí)訓(xùn)(matlab)報(bào)告
題
目
電動(dòng)機(jī)調(diào)速系統(tǒng)仿真
專
業(yè)
班
級(jí)
學(xué)
生
姓
名
學(xué)
號(hào)
指
導(dǎo)
教
師
時(shí)
間
一、課程設(shè)計(jì)目的1、掌握MATLAB環(huán)境下傳遞函數(shù)建模和Power
System模塊建模的方法;
2、根據(jù)控制對(duì)象的物理特性,掌握控制系統(tǒng)動(dòng)態(tài)建模的方法和分析方法;
3、了解控制系統(tǒng)校正的一般過程,根據(jù)被控對(duì)象的性能指標(biāo)要求進(jìn)行系統(tǒng)校正。
二、課程設(shè)計(jì)內(nèi)容
1、某晶閘管供電的雙閉環(huán)直流調(diào)速系統(tǒng),整流裝置采用三相橋式電路,基本數(shù)據(jù)如下:
直流電動(dòng)機(jī):220V、17A、1460r/min、,允許過載倍數(shù)。
晶閘管裝置放大系數(shù):;
電樞回路總電阻:;
時(shí)間常數(shù):,;
電流反饋系數(shù):;
轉(zhuǎn)速反饋系數(shù):。
設(shè)計(jì)一轉(zhuǎn)速電流雙閉環(huán)控制的調(diào)速系統(tǒng),設(shè)計(jì)指標(biāo)為電流超調(diào)量,空載起動(dòng)到額定轉(zhuǎn)速時(shí)的轉(zhuǎn)速超調(diào)量。取電流反饋濾波時(shí)間常數(shù),轉(zhuǎn)速反饋濾波時(shí)間常數(shù)。取轉(zhuǎn)速調(diào)節(jié)器和電流調(diào)節(jié)器的飽和值為12V,輸出限幅值為10V,額定轉(zhuǎn)速時(shí)轉(zhuǎn)速給定。仿真觀察系統(tǒng)的轉(zhuǎn)速、電流響應(yīng)和設(shè)定參數(shù)變化對(duì)系統(tǒng)響應(yīng)的影響。
要求:
(1)根據(jù)轉(zhuǎn)速電流雙閉環(huán)控制的直流調(diào)速系統(tǒng)動(dòng)態(tài)結(jié)構(gòu)圖,按傳遞函數(shù)構(gòu)建仿真模型;
(2)按工程方法設(shè)計(jì)和選擇轉(zhuǎn)速和電流調(diào)節(jié)器參數(shù),ASR和ACR都采用PI調(diào)節(jié)器。
(3)設(shè)定模型仿真參數(shù),仿真時(shí)間10s,并在6s時(shí)突加1/2額定負(fù)載,觀察控制系統(tǒng)電流、轉(zhuǎn)速響應(yīng)。
(4)修改調(diào)節(jié)器參數(shù),觀察在不同參數(shù)條件下,雙閉環(huán)系統(tǒng)電流和轉(zhuǎn)速的響應(yīng),(5)使用Power
System模塊建立直流電機(jī)雙閉環(huán)系統(tǒng)仿真模型,并與傳遞函數(shù)模型運(yùn)行結(jié)果進(jìn)行比較。
可能會(huì)用到的公式:=
供電電源電壓:=.勵(lì)磁電阻為:
電樞電感估算式:(c=0.4)
反電勢(shì)常數(shù):
電動(dòng)機(jī)軸上的飛輪慣量:
電動(dòng)機(jī)轉(zhuǎn)動(dòng)慣量:
額定負(fù)載轉(zhuǎn)矩為:
(1)
設(shè)計(jì)思路:
在直流調(diào)速系統(tǒng)中,通過PI調(diào)節(jié)器實(shí)現(xiàn)的轉(zhuǎn)速負(fù)反饋控制,可使系統(tǒng)轉(zhuǎn)速穩(wěn)態(tài)無(wú)靜差,消除負(fù)載轉(zhuǎn)矩?cái)_動(dòng)對(duì)穩(wěn)態(tài)轉(zhuǎn)速的影響;為實(shí)現(xiàn)在允許條件下電機(jī)的最快起動(dòng),采用電流負(fù)反饋控制,可以獲得一段使電流保持為最大值的恒流過程。為了使轉(zhuǎn)速負(fù)反饋和電流負(fù)反饋起作用,可在系統(tǒng)中設(shè)置兩個(gè)調(diào)節(jié)器,分別引入兩種負(fù)反饋機(jī)制以調(diào)節(jié)轉(zhuǎn)速和電流,其中,把轉(zhuǎn)速調(diào)節(jié)器(ASR)的輸出當(dāng)作電流調(diào)節(jié)器(ACR)的輸入,再用ACR的輸出去控制電力電子變換器。
此處作為工程設(shè)計(jì)方法,可以將調(diào)節(jié)器的設(shè)計(jì)過程分為兩步:第一步,先選擇調(diào)節(jié)器的結(jié)構(gòu),以確保系統(tǒng)穩(wěn)定,同時(shí)滿足所需的穩(wěn)態(tài)精度;第二步,在選擇調(diào)節(jié)器的參數(shù),以滿足動(dòng)態(tài)性能指標(biāo)的要求。為獲得良好的靜態(tài)和動(dòng)態(tài)性能,轉(zhuǎn)速和電流兩個(gè)調(diào)節(jié)器一般都采用PI調(diào)節(jié)器。
轉(zhuǎn)速電流雙閉環(huán)控制的直流調(diào)速系統(tǒng)動(dòng)態(tài)結(jié)構(gòu)圖
(2)
參數(shù)計(jì)算過程:
ACR設(shè)計(jì)過程:
①確定各時(shí)間常數(shù)
a.由查表可知,三相橋式整流裝置的滯后時(shí)間常數(shù)s;
b.由題已知電流濾波時(shí)間常數(shù)s;
c.按小時(shí)間常數(shù)近似處理,取電流環(huán)小時(shí)間常數(shù)之和s。
②選擇ACR結(jié)構(gòu)
根據(jù)設(shè)計(jì)要求,并保證穩(wěn)態(tài)電流無(wú)差,可按典型Ⅰ型系統(tǒng)設(shè)計(jì)PI型ACR,其傳遞函數(shù)為;由于,由查表可知,各項(xiàng)指標(biāo)均滿足條件。
③計(jì)算ACR參數(shù)
ACR超前時(shí)間常數(shù):s;
ACR開環(huán)增益:要求時(shí),取,因此
所以,ACR的比例系數(shù)為
④檢驗(yàn)近似條件
電流環(huán)截止頻率:
a.校驗(yàn)晶閘管整流裝置傳遞函數(shù)的近似條件,滿足近似條件;
b.校驗(yàn)忽略反電動(dòng)勢(shì)變化對(duì)電流環(huán)動(dòng)態(tài)影響的條件,滿足近似條件;
c.校驗(yàn)電流環(huán)小時(shí)間常數(shù)近似處理?xiàng)l件,滿足近似條件;綜上所述,PI型ACR的傳遞函數(shù)為
ASR設(shè)計(jì)過程:
①確定各時(shí)間常數(shù)
a.由可得,電流環(huán)等效時(shí)間常數(shù)為
s;
b.由題已知轉(zhuǎn)速濾波時(shí)間常數(shù)s;
c.按小時(shí)間常數(shù)近似處理,取轉(zhuǎn)速環(huán)小時(shí)間常數(shù)之和為
s;
②選擇ASR結(jié)構(gòu)
根據(jù)設(shè)計(jì)要求,可選用PI型ACR,其傳遞函數(shù)為;由于,由查表可知,各項(xiàng)指標(biāo)均滿足條件。
③計(jì)算ASR參數(shù)
根據(jù)跟隨和抗擾性能都較好的原則,取h=5,則ACR超前時(shí)間常數(shù)為s
由可得,ASR開環(huán)增益為
由可得,ASR的比例系數(shù)為
④檢驗(yàn)近似條件
轉(zhuǎn)速環(huán)截止頻率:
a.校驗(yàn)電流環(huán)簡(jiǎn)化條件,滿足簡(jiǎn)化條件;
b.校驗(yàn)轉(zhuǎn)速環(huán)小時(shí)間常數(shù)近似處理?xiàng)l件,滿足近似條件;
⑤校核轉(zhuǎn)速超調(diào)量
當(dāng)突加階躍給定時(shí),ASR飽和,所以此處應(yīng)按照退飽和的情況重新計(jì)算超調(diào)量。當(dāng)h=5時(shí),查得,則超調(diào)量為
顯然,能滿足設(shè)計(jì)要求。
綜上所述,PI型ASR的傳遞函數(shù)為
(3)
仿真模型與波形圖(注:圖要有圖標(biāo)):
仿真模型:
圖1-1轉(zhuǎn)速電流雙閉環(huán)控制的直流調(diào)速系統(tǒng)仿真模型
仿真時(shí)間10s,并在6s時(shí)突加1/2額定負(fù)載:電流調(diào)節(jié)器KT=0.5:
圖1-2
KT=0.5電流波形
圖1-3KT=0.5電流、轉(zhuǎn)速響應(yīng)波形
電流調(diào)節(jié)器KT=0.25時(shí):
圖1-4KT=0.25
電流波形
圖1-5KT=0.25電流、轉(zhuǎn)速響應(yīng)波形
電流調(diào)節(jié)器KT=1時(shí):
圖1-6KT=1電流波形
圖1-7
KT=1電流、轉(zhuǎn)速響應(yīng)波形
(4)
對(duì)結(jié)果進(jìn)行分析:
電流調(diào)節(jié)器KT=0.5,電壓調(diào)節(jié)器h=5時(shí)的電流和轉(zhuǎn)速的響應(yīng)跟隨性能超調(diào)小,動(dòng)態(tài)跟隨性能適中。電流調(diào)節(jié)器KT=0.25時(shí),可看出起動(dòng)時(shí)電流響應(yīng)超調(diào)減小,但上升時(shí)間變長(zhǎng)。電流調(diào)節(jié)器KT=1時(shí),可看出起動(dòng)時(shí)電流響應(yīng)超調(diào)增大,但上升時(shí)間變短。
(5)
使用Power
System模塊建立直流電機(jī)雙閉環(huán)系統(tǒng)仿真模型:
圖1-8Power
System模塊建立直流電機(jī)雙閉環(huán)系統(tǒng)仿真模型
圖1-9Power
System模塊建立直流電機(jī)雙閉環(huán)系統(tǒng)仿真波形
2、轉(zhuǎn)速開環(huán)SPWM控制的變頻調(diào)速系統(tǒng)建立和仿真
上圖為此系統(tǒng)的總框圖,其中spwm模塊,inverter模塊是經(jīng)過封裝的子系統(tǒng)模塊,子系統(tǒng)模塊需要自己搭建。
提示:1)、調(diào)制波是三相正弦調(diào)制波,其中
2)、等腰三角波可用脈沖發(fā)生器(幅值設(shè)為4,周期設(shè)為1
/1980,占空比設(shè)為50%)和一個(gè)常數(shù)2比較,得到新的脈沖,再經(jīng)過積分環(huán)節(jié),得到等腰三角形波,再經(jīng)過一個(gè)增益模塊(1980*2)對(duì)其進(jìn)行放大,(也可以不按照我的方法,但是最后得到的仿真時(shí)長(zhǎng)為0.01s時(shí)的三角波形需如圖所示:)
3)、正弦調(diào)制波模塊和三角波模塊組合到一起,兩個(gè)信號(hào)比較后經(jīng)延時(shí)(relay模塊)進(jìn)行大于還是小于的判斷,從而得到正負(fù)半周都有的脈沖波形。正半周用來驅(qū)動(dòng)逆變器的上橋臂,負(fù)半軸驅(qū)動(dòng)下橋臂。
4)、逆變器的仿真模塊我們用3個(gè)switch模塊構(gòu)成等效的逆變橋,又前面生成的spwm波形送入這個(gè)逆變環(huán)節(jié),然后送入電動(dòng)機(jī)模型,而不必考慮驅(qū)動(dòng)電路,因?yàn)榉抡孢^程中沒有電壓,電流的概念,而是純粹的數(shù)字來體現(xiàn)的電壓和電流。Ud是經(jīng)過整流,濾波后的直流電,在仿真中用一個(gè)常數(shù)代替。
5)電機(jī)參數(shù):
額定功率2200VA,額定電壓(線電壓)380V,額定頻率50Hz,轉(zhuǎn)速1500r/min,定子電阻Ra=0.435歐,轉(zhuǎn)子電阻Rr=0.816歐,定子電感Ls=0.004H,轉(zhuǎn)子電感Lr=0.002H,定、轉(zhuǎn)子互感Lm=0.06931,極對(duì)數(shù)np=2,轉(zhuǎn)動(dòng)慣量J=0.089kgm2,摩擦系數(shù)F=0,仿真類型選用Continurous,Variable-step,算法采用ode23s(stiff/Mod.Rosenbrock),仿真時(shí)長(zhǎng)1s,由于電機(jī)控制數(shù)據(jù)量較大,Scope中的記錄點(diǎn)數(shù)限制取消。
6)要求空載啟動(dòng)后,在0.3s時(shí)對(duì)系統(tǒng)突加10Nm負(fù)載,0.5s時(shí)負(fù)載突變?yōu)?0Nm,0.7s時(shí)負(fù)載又突減為5Nm,記錄下整個(gè)過程的相關(guān)波形圖,除了圖示示波器,等腰三角形子模塊的波形也需要顯示,所有波形圖中需要標(biāo)出是那種曲線。
7)給出子系統(tǒng)的仿真圖。
(1)
設(shè)計(jì)思路:
①正弦調(diào)制仿真模型的搭建:調(diào)制波是三相正弦調(diào)制波,其中
圖2-1
正弦調(diào)制仿真模型結(jié)構(gòu)圖
圖2-2
正弦調(diào)制仿真波形
②等腰三角載波仿真模型:等腰三角波可用脈沖發(fā)生器(幅值設(shè)為4,周期設(shè)為1
/1980,占空比設(shè)為50%)和一個(gè)常數(shù)2比較,得到新的脈沖,再經(jīng)過積分環(huán)節(jié),得到等腰三角形波,再經(jīng)過一個(gè)增益模塊(1980*2)得到。
圖2-3等腰三角載波仿真模型
圖2-4等腰三角載波仿真波形
③SPWM仿真模型的搭建:
將以上兩個(gè)模塊組合到一起,正弦和三角信號(hào)比較后經(jīng)延時(shí)(MATLAB/Simulink中的Relay模塊)進(jìn)行大于“0”還是小于“0”的判斷,這樣得到了所要的正負(fù)半周都有的脈沖波形。正半周驅(qū)動(dòng)六相橋的上橋臂,負(fù)半周用來驅(qū)動(dòng)下橋臂。
圖2-5SPWM仿真模型
圖2-6SPWM仿真波形
④逆變器的仿真模型:
逆變器的仿真模塊我們用3個(gè)switch模塊構(gòu)成等效的逆變橋,又前面生成的spwm波形送入這個(gè)逆變環(huán)節(jié),然后送入電動(dòng)機(jī)模型,而不必考慮驅(qū)動(dòng)電路,因?yàn)榉抡孢^程中沒有電壓,電流的概念,而是純粹的數(shù)字來體現(xiàn)的電壓和電流。Ud是經(jīng)過整流,濾波后的直流電,在仿真中用一個(gè)常數(shù)代替。
圖2-7逆變器的仿真模型
(2)
參數(shù)計(jì)算過程:
額定功率2200VA,額定電壓(線電壓)380V,額定頻率50Hz,轉(zhuǎn)速1500r/min,定子電阻Ra=0.435歐,轉(zhuǎn)子電阻Rr=0.816歐,定子電感Ls=0.004H,轉(zhuǎn)子電感Lr=0.002H,定、轉(zhuǎn)子互感Lm=0.06931,極對(duì)數(shù)np=2,轉(zhuǎn)動(dòng)慣量J=0.089kgm2,摩擦系數(shù)F=0,仿真類型選用Continurous,Variable-step,算法采用ode23s(stiff/Mod.Rosenbrock),仿真時(shí)長(zhǎng)1s,由于電機(jī)控制數(shù)據(jù)量較大,Scope中的記錄點(diǎn)數(shù)限制取消。輸入逆變器的整流電壓取:Ud=V。
電機(jī)參數(shù)設(shè)置:
(3)
仿真模型與波形圖(注:圖要有圖標(biāo)):
仿真模型:
圖2-8轉(zhuǎn)速開環(huán)SPWM控制調(diào)速系統(tǒng)仿真模型
仿真波形:
圖2-9負(fù)載變化曲線
圖2-10轉(zhuǎn)速n波形
圖2-11電磁轉(zhuǎn)矩Te波形
圖2-12轉(zhuǎn)子電流Ir波形
圖2-13定子電流Is波形
(4)
對(duì)結(jié)果進(jìn)行分析:
空載起動(dòng),電磁轉(zhuǎn)矩較大但存在一定波動(dòng),轉(zhuǎn)速快速上升,大約經(jīng)過0.15s達(dá)到穩(wěn)定1500r/min,轉(zhuǎn)子電流正負(fù)變化趨近于0,定子電流穩(wěn)定后為三相對(duì)稱電流;在0.3s時(shí)對(duì)系統(tǒng)突加10Nm負(fù)載,轉(zhuǎn)速下降,電磁轉(zhuǎn)矩上升;0.5s時(shí)負(fù)載突變?yōu)?0Nm,轉(zhuǎn)速下降,電磁轉(zhuǎn)矩上升;0.7s時(shí)負(fù)載又突減為5Nm,轉(zhuǎn)速上升,電磁轉(zhuǎn)矩下降??梢姡_環(huán)控制轉(zhuǎn)速有靜差。
三、課程設(shè)計(jì)總結(jié)
短短的一周matalab課程設(shè)計(jì),讓我得到最大的心得和體會(huì)是:有時(shí)候一件挺簡(jiǎn)單的事,想象起來應(yīng)該是挺容易辦到的,但是實(shí)際操作起來因?yàn)樽陨砣狈Φ闹R(shí)太多而遭到處處碰壁,在此次課程設(shè)計(jì)中,我真真切切感覺到matalab強(qiáng)大的功能,第一次讓我感覺到什么叫做學(xué)以致用,以及讓我體會(huì)到理論與實(shí)際直接的結(jié)合,讓我掌握了matalab環(huán)境下傳遞函數(shù)建模和Power
System模塊建模的方法,我覺得matalab真的是一門很強(qiáng)大的工具,我想在以后的學(xué)習(xí)以及工作中將受益無(wú)窮。
江SU大學(xué)
第四篇:異步電動(dòng)機(jī)調(diào)速論文
摘要:通過遠(yuǎn)端計(jì)算機(jī)控制變頻器來使電動(dòng)機(jī)變頻調(diào)速
Abstract:through Remote terminal to control the inverter to change the frequency control of motor speed
關(guān)鍵詞:電動(dòng)機(jī),變頻器,變頻調(diào)速,遠(yuǎn)程控制
Key words:motor,inverter,frequency control,remote contorl
目前交流異步電動(dòng)機(jī)的調(diào)速系統(tǒng)已經(jīng)廣泛應(yīng)用于數(shù)控機(jī)床風(fēng)機(jī),泵類,電梯,空調(diào)等一系列民用,工用設(shè)備的電力源和動(dòng)力源,并起到了節(jié)能省電,提高設(shè)備自動(dòng)化,提高產(chǎn)品質(zhì)量,改善生活水平的良好效果。三相異步電動(dòng)的原理
右圖是電動(dòng)機(jī)的基本結(jié)構(gòu):
三相異步電動(dòng)機(jī)的兩個(gè)最基本組成部分分為定子(固定部分)和轉(zhuǎn)子(旋轉(zhuǎn)部分)。其中電動(dòng)機(jī)之所以能夠轉(zhuǎn)動(dòng),很重要的原因是因?yàn)殡姍C(jī)在通三相交流電的時(shí)候,定子上會(huì)產(chǎn)生一個(gè)旋轉(zhuǎn)地磁場(chǎng)。當(dāng)磁場(chǎng)與導(dǎo)體發(fā)生相對(duì)運(yùn)動(dòng)的時(shí)候,鼠籠式導(dǎo)體切割磁力線而在其內(nèi)部產(chǎn)生感應(yīng)電動(dòng)勢(shì)和感應(yīng)電流。感應(yīng)電流又使導(dǎo)體受到一個(gè)電磁力的作用,于是導(dǎo)體就沿磁鐵的旋轉(zhuǎn)方向轉(zhuǎn)動(dòng)起來,這就是電動(dòng)機(jī)的基本原理,且旋轉(zhuǎn)的磁場(chǎng)和閉合的轉(zhuǎn)子繞組的轉(zhuǎn)速不同,這也是異步的含義。如何讓電動(dòng)機(jī)反轉(zhuǎn):
閉合的轉(zhuǎn)子是跟著磁場(chǎng)旋轉(zhuǎn)地方向運(yùn)動(dòng)的,要使電動(dòng)機(jī)反轉(zhuǎn),可以改變旋轉(zhuǎn)磁場(chǎng)的方向。旋轉(zhuǎn)磁場(chǎng)的方向是由定子中三相繞組中電流相序決定的,若想改變旋轉(zhuǎn)磁場(chǎng)的方向,只要改變通入定子繞組的電流相序,即將三根電源線中的任意兩根對(duì)調(diào)即可。這時(shí),轉(zhuǎn)子的旋轉(zhuǎn)方向也跟著改變,這時(shí),電動(dòng)機(jī)就處于反轉(zhuǎn)狀態(tài)。另外,電動(dòng)機(jī)的轉(zhuǎn)速n=
60f,其中f表示輸入的三相電的頻率,p表示電動(dòng)機(jī)的p極數(shù)。所以我們可以通過控制頻率來達(dá)到控制電動(dòng)機(jī)轉(zhuǎn)速的目的。
變頻器的原理:
下圖為交-直-交變頻器的簡(jiǎn)易主電路,它先把從電網(wǎng)上接進(jìn)來的頻率和電壓都固定的交流電整流成直流電,再把直流電逆變成頻率,電壓都可連續(xù)可調(diào)的三相交流電源。
在圖中的整流部分是由二極管構(gòu)成的橋式電路,他的輸出電壓的平均值Ud不變,如果要是Ud連續(xù)并且可調(diào),則可使用晶閘管代替二極管來控制起關(guān)斷。整流之后,是濾波,濾波電路可分為電容濾波和電感濾波。如果用電容濾波就構(gòu)成電壓源變頻器,如果是電感濾波則構(gòu)成電流濾波器。
當(dāng)然,想要控制電動(dòng)機(jī),逆變出來的電壓才是控制的關(guān)鍵。通過改變開關(guān)的狀態(tài),可以逆變出不同頻率和電壓的交流電,從而控制電動(dòng)機(jī)的變頻調(diào)速。
變頻調(diào)速原理:
在異步電動(dòng)機(jī)調(diào)速時(shí),總希望保持主磁通φm為額定值,有異步電動(dòng)機(jī)定子每相電動(dòng)勢(shì)有效值Es?4.44f1N1KΦm可知,如果略去定子阻抗下降,有 Us?Es?4.44f1N1KΦm
(1)有上式可知,若定子端電壓不變,隨著f1升高,φm將減小,如果在電流相同的情況下,φm減小會(huì)導(dǎo)致電動(dòng)機(jī)輸出轉(zhuǎn)矩下降,嚴(yán)重時(shí)會(huì)是電動(dòng)機(jī)堵轉(zhuǎn)。因此,在變頻器調(diào)速過程中應(yīng)該同時(shí)改變定子電壓和頻率,以保持磁通不變。實(shí)驗(yàn)所用的是通用變頻器,是變壓變頻(VVVF)裝置。調(diào)節(jié)頻率的時(shí)候電動(dòng)機(jī)的電壓也會(huì)變化。電動(dòng)機(jī)額定電壓對(duì)應(yīng)的是基頻,在基頻下進(jìn)行調(diào)速時(shí),電壓與頻率滿足電動(dòng)機(jī)的V/F曲線,有恒轉(zhuǎn)矩和恒定壓比調(diào)速,如圖1。但是在基頻以上是,由于電壓將不會(huì)再上升,屬于恒功率調(diào)速,如下圖。
電機(jī)變頻遠(yuǎn)程控制:
在自動(dòng)化的工業(yè)生產(chǎn)中,變頻控制往往與計(jì)算機(jī)遠(yuǎn)程控制相聯(lián)系在一起,從而實(shí)現(xiàn)電機(jī)的遠(yuǎn)程變頻控制。對(duì)三相異步電動(dòng)機(jī)的遠(yuǎn)程變頻控制有2種方案:開環(huán)控制和閉環(huán)控制。
在控制理論中,定義能夠自動(dòng)追蹤,將輸出信號(hào)的一部分反饋回輸入端,進(jìn)行自動(dòng)有差調(diào)節(jié)的控叫做閉環(huán)控制;輸出與輸入無(wú)反饋關(guān)系,即不能進(jìn)行自動(dòng)調(diào)整的控制方式叫做開環(huán)控制。
在開環(huán)控制中,通過計(jì)算機(jī)的串行口發(fā)出指令,經(jīng)過D/A(數(shù)字信號(hào)模擬信號(hào)轉(zhuǎn)換器)信號(hào)轉(zhuǎn)換,將計(jì)算機(jī)的指令送入變頻器,從而控制電機(jī)。在閉環(huán)控制中,通過計(jì)算機(jī)的串行口發(fā)出指令,經(jīng)過D/A 信號(hào)轉(zhuǎn)換,將計(jì)算機(jī)的指令送入變頻器,帶動(dòng)電機(jī),同時(shí)利用速度傳感器將電機(jī)的轉(zhuǎn)速通過A/D(模擬信號(hào)數(shù)字信號(hào)轉(zhuǎn)換器)轉(zhuǎn)換,反饋給輸入端,計(jì)算機(jī)將電機(jī)的實(shí)際運(yùn)行轉(zhuǎn)速與發(fā)出指令應(yīng)達(dá)到的轉(zhuǎn)速相比較,實(shí)現(xiàn)有差調(diào)節(jié),從而達(dá)到電機(jī)轉(zhuǎn)速的精確控制。
在電機(jī)的變頻遠(yuǎn)程控制中,無(wú)論是采用開環(huán)控制還是采用閉環(huán)控制,都存在利用計(jì)算機(jī)的串口發(fā)送數(shù)據(jù)的問題。發(fā)送數(shù)據(jù)時(shí)可以握手,也可以沒有握手,握手可以是硬件握手,也可以是軟件握手。如果不使用握手,則接收器必須能在發(fā)送器發(fā)送下一個(gè)數(shù)據(jù)之前讀取當(dāng)前數(shù)據(jù)30 6。接收器可以緩沖接收到的字符,在該字符被讀取之前將它保存在一個(gè)特殊的地址里。通常,這可能只保留單個(gè)字符。如果在下一個(gè)字符到來時(shí),這個(gè)緩存沒有被清空,則緩存內(nèi)以前的任何字符都會(huì)被覆蓋,下圖顯示了這樣的一個(gè)例子。
在這個(gè)例子里,接收器成功地讀取了緩沖區(qū)的2個(gè)字符,但是當(dāng)?shù)? 個(gè)字符來到的時(shí)候它還沒有讀取第3個(gè)字符,這樣第4 個(gè)字符就覆蓋了第3個(gè)字符。如果發(fā)生這種情況則必須采取一定的握手措施,在接收器讀取數(shù)據(jù)之前讓發(fā)送器停止發(fā)送數(shù)據(jù)。硬件握手由發(fā)送器向接收器詢問是否準(zhǔn)備好接收數(shù)據(jù)。如果接收緩存是空的,則接收器通知發(fā)送器可以發(fā)送。數(shù)據(jù)一旦到達(dá)接收緩存,接收器立即通知發(fā)送器停止發(fā)送,直到緩存中的數(shù)據(jù)被取走。用于這一目的幾個(gè)硬件信號(hào)包括:
(1)CTS 清除發(fā)送(CLEAR TO SEND);(2)RTS 準(zhǔn)備接收(TEADY TO SEND);
(3)DTR數(shù)據(jù)終端準(zhǔn)備好(DATA TERMINAL READY);(4)DSR數(shù)據(jù)裝置準(zhǔn)備好(DATA SET READY)。
軟件握手使用特定的控制字符。即DC-1~ DC-4控制字符。
結(jié)語(yǔ):
交流變頻調(diào)速具有系統(tǒng)體積小,重量輕、控制精度高、保護(hù)功能完善、工作安全可靠、操作過程簡(jiǎn)單,通用性強(qiáng),使傳動(dòng)控制系統(tǒng)具有優(yōu)良的性能,同時(shí)節(jié)能效果明顯,產(chǎn)生的經(jīng)濟(jì)效益顯著。尤其當(dāng)與計(jì)算機(jī)通信相配合時(shí),使得變頻控制更加安全可靠,易于操作(由于計(jì)算機(jī)控制程序具有良好的人機(jī)交互功能),變頻技術(shù)必將在工業(yè)生產(chǎn)發(fā)揮巨大的作用,讓工業(yè)自動(dòng)化程度得到更大的提高
參考文獻(xiàn):
[1]張劍杰,王樹林.三相異步電動(dòng)機(jī)變頻調(diào)速的實(shí)現(xiàn) 2004.01 [2]肖朋生.張文.王建輝.變頻器及其控制技術(shù) 機(jī)械工業(yè)出版社 2008.2
第五篇:軟件設(shè)計(jì)模式淺析論文
軟件設(shè)計(jì)模式淺析
陳亞東
(中原工學(xué)院軟件學(xué)院,河南 鄭州450000)
摘要:什么是軟件設(shè)計(jì)模式呢?其實(shí)廣義的來講,軟件設(shè)計(jì)模式是可解決一類軟件問題并且能反復(fù)使用的軟件設(shè)計(jì)方案;狹義的來講,軟件設(shè)計(jì)模式是對(duì)被用來在特定場(chǎng)景下解決一般設(shè)計(jì)問題的類和相互通信的對(duì)象的描述。是在類和對(duì)象的層次描述的可反復(fù)使用的軟件設(shè)計(jì)問題的解決方案。軟件設(shè)計(jì)模式通常描述了一組相互緊密作用的類與對(duì)象。
在課堂學(xué)到的軟件設(shè)計(jì)模式,我學(xué)習(xí)的并不好,對(duì)各種模式的運(yùn)用和實(shí)現(xiàn),感覺簡(jiǎn)單,但是要做起來還是有些難度。本文簡(jiǎn)單講述了以面向?qū)ο蠹夹g(shù)為基礎(chǔ)的軟件設(shè)計(jì)模式的分析。
關(guān)鍵詞:設(shè)計(jì)模式;設(shè)計(jì)方案;面向?qū)ο?/p>
中國(guó)分類號(hào):TP311.5文獻(xiàn)標(biāo)志碼:A
Software design patterns is
analysed
Chenyadong
(Zhongyuan University of TechnologySoftware college,henan zhengzhou450000)Abstract: What is a software design pattern? Actually, broadly speaking, the software design pattern is a type of the software can solve the problem and the repeated use of the software design;Narrowly speaking, the software design pattern is to be used in specific scenarios and communicate with each other to solve the problem of general design of the description of the object.Is described in the level of the classes and objects can be repeated use of the software design of the solution of the problem.Software design patterns usually describes a set of mutually close function classes and objects.Learned in the class of software design pattern, I'm not a very good learning, for the use of various patterns and implementation, feeling is simple, but want to do or some difficulty.This article simply describes the software design based on object-oriented technology pattern analysis.Key words: design patterns;Design scheme;object-oriented
對(duì)于軟件設(shè)計(jì)模式,從上課到現(xiàn)在,我在頭腦中還沒有一個(gè)完整的概念,主要是因
為我的基礎(chǔ)比較差,憑自身能力還不能寫出
來一個(gè)項(xiàng)目。通過上網(wǎng)搜索,知道了什么是
軟件設(shè)計(jì)模式,它是一套被反復(fù)使用,多數(shù)
人知曉的,經(jīng)過分類編目的,代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié),使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性
[1]廠模式、單例模式、生成器模式、工廠方法模式、原型模式、適配器模式等等。
一、設(shè)計(jì)模式 模式是用來描述所交流的問題及解決方案的,一個(gè)完整的設(shè)計(jì)模式主要由模式名稱、問題、解決方案、效果四個(gè)基本要素組成。設(shè)計(jì)模式體現(xiàn)的是程序整體的一種構(gòu)思,所以有時(shí)候它也會(huì)出現(xiàn)在分析或者是概要設(shè)計(jì)階段中,設(shè)計(jì)模式的核心思想是通
過增加抽象層,把變化部分從那些不變的部[2][2]。軟件設(shè)計(jì)模式分為基礎(chǔ)模式、委托模式、接口模式、代理模式、創(chuàng)建型模式、抽象工
分中分離出來。這就是我所了解的設(shè)計(jì)模式。設(shè)計(jì)模式有五種原則,“開-閉”原則(OCP)、單一職責(zé)原則(SRP)、里氏代換原則(LSP)、依賴倒置原則(DIP)和接口隔離原則(ISP)[3],設(shè)計(jì)模式就是實(shí)現(xiàn)了上面所說的五種原則,從而達(dá)到了代碼復(fù)用、增加可維護(hù)性的目的。
在設(shè)計(jì)模式經(jīng)典著作《GOF95》中,設(shè)計(jì)模式從應(yīng)用的角度上被分為三個(gè)大的類型,分別是創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式。又根據(jù)模式的范圍分,模式既用于類又用于對(duì)象,類模式是處理類和子類之間的關(guān)系,這些關(guān)系通過繼承建立,是靜態(tài)的,在編譯時(shí)刻便確定下來了;對(duì)象模式是處理對(duì)象間的關(guān)系,這些關(guān)系在運(yùn)行時(shí)刻是可以變化的,更具動(dòng)態(tài)性。從某種意義上來說,幾乎所有模式都使用繼承機(jī)制,所以“類模式”只指那些集中于處理類間關(guān)系的模式,而大部分模式都屬于對(duì)象模式的范疇。
二、設(shè)計(jì)模式的分類
創(chuàng)建型設(shè)計(jì)模式是用來創(chuàng)建對(duì)象的模式,抽象了實(shí)例化過程,工廠模式、抽象工廠模式、單件模式、生成器模式、原型模式都屬于創(chuàng)建型設(shè)計(jì)模式。簡(jiǎn)單來說一下創(chuàng)建型結(jié)構(gòu)模式有哪幾種模式吧,首先說一下工廠模式,工廠模式:客戶類和工廠類分開,消費(fèi)者任何時(shí)候需要某種產(chǎn)品,只需要向工廠請(qǐng)求即可,消費(fèi)者無(wú)須修改就可以接納新產(chǎn)品;缺點(diǎn)就是當(dāng)產(chǎn)品修改時(shí),工廠類也要做出相應(yīng)的修改。比如:如何創(chuàng)建及如何向客戶端提供。抽象工廠模式:為一個(gè)產(chǎn)品族提供統(tǒng)一的創(chuàng)建接口,當(dāng)需要這個(gè)產(chǎn)品族的某一系列的時(shí)候,可以從抽象工廠中選出相應(yīng)的系列創(chuàng)建一個(gè)具體的工廠類。單件模式:保證一個(gè)類有且僅有一個(gè)實(shí)例,提供一個(gè)全局訪問點(diǎn)。生成器模式:將復(fù)雜對(duì)象創(chuàng)建與表示分離,同樣的創(chuàng)建過程可創(chuàng)建不同的表示,允許用戶通過指定復(fù)雜對(duì)象類型和內(nèi)容來創(chuàng)建對(duì)象,用戶不需要知道對(duì)象內(nèi)部的具體構(gòu)建細(xì)節(jié)。原型模式:通過“復(fù)制”一個(gè)已經(jīng)存在的實(shí)例來返回新的實(shí)例(不新建實(shí)例)。被復(fù)制的實(shí)例就是“原型”,這個(gè)原型是可定制的。原型模式多用于創(chuàng)建復(fù)雜的或者耗時(shí)的實(shí)例,因?yàn)檫@種情況下,復(fù)制一個(gè)已經(jīng)存在的實(shí)例使程序運(yùn)行更高效;或者創(chuàng)建值相等,只是命名不一樣的同類數(shù)據(jù)。這幾種模式老師也讓做過作業(yè),做起來感覺也挺簡(jiǎn)單的。
結(jié)構(gòu)型模式討論的是類和對(duì)象的結(jié)構(gòu),它采用繼承機(jī)制來組合接口或?qū)崿F(xiàn)(類結(jié)構(gòu)型模式),或者通過組合一些對(duì)象來實(shí)現(xiàn)新的功能(對(duì)象結(jié)構(gòu)型模式)。結(jié)構(gòu)型模式有這幾種模式,組合模式:定義一個(gè)接口,使之用于單一對(duì)象,也可以應(yīng)用于多個(gè)單一對(duì)象組成的對(duì)象組。裝飾模式:給對(duì)象動(dòng)態(tài)添加額外的職責(zé),就好像給一個(gè)物體加上裝飾物,完善其功能。代理模式:在軟件系統(tǒng)中,有些對(duì)象有時(shí)候由于跨越網(wǎng)絡(luò)或者其他障礙,而不能夠或者不想直接訪問另一個(gè)對(duì)象,直接訪問會(huì)給系統(tǒng)帶來不必要的復(fù)雜性,這時(shí)候可以在客戶程序和目標(biāo)對(duì)象之間增加一層中間層,讓代理對(duì)象來代替目標(biāo)對(duì)象打點(diǎn)一切,這就是代理模式。享元模式:Flyweight是一個(gè)共享對(duì)象,它可以同時(shí)在不同上下文(Context)使用。外觀模式:外觀模式為子系統(tǒng)提供了一個(gè)更高層次、更簡(jiǎn)單的接口,從而降低了子系統(tǒng)的復(fù)雜度,使子系統(tǒng)更易于使用和管理。外觀承擔(dān)了子系統(tǒng)中類交互的責(zé)任。橋梁模式:橋梁模式的用意是將問題的抽象和實(shí)現(xiàn)分離開來實(shí)現(xiàn),通過用聚合代替繼承來解決子類爆炸性增長(zhǎng)的問題。適配器模式:將一個(gè)類的接口適配成用戶所期待的接口。一個(gè)適配器允許因?yàn)榻涌诓患嫒荻荒茉谝黄鸸ぷ鞯念惞ぷ髟谝黄?,做法是將類自己的接口包裝在一個(gè)已存在的類中。對(duì)于這幾種模式,我理解的太籠統(tǒng),也不太明白,只是根據(jù)這些定義來用心理解來消化。
行為型設(shè)計(jì)模式著力解決的是類實(shí)體之間的通訊關(guān)系,希望以面向?qū)ο蟮姆绞矫枋鲆粋€(gè)控制流程。行為型設(shè)計(jì)模式種類比較多,其中觀察者模式和訪問者模式運(yùn)用的比較多。模版模式:定義了一個(gè)算法步驟,并允許子類為一個(gè)或多個(gè)步驟提供實(shí)現(xiàn)。子類在不改變算法架構(gòu)的情況下,可重新定義算法中某些步驟。觀察者模式:定義了對(duì)象之
間一對(duì)多的依賴,當(dāng)這個(gè)對(duì)象的狀態(tài)發(fā)生改變的時(shí)候,多個(gè)對(duì)象會(huì)接受到通知,有機(jī)會(huì)做出反饋。迭代子模式:提供一種方法順序訪問一個(gè)聚合對(duì)象中各個(gè)元素, 而又不需暴露該對(duì)象的內(nèi)部表示。責(zé)任鏈模式:很多對(duì)象由每一個(gè)對(duì)象對(duì)其下一個(gè)對(duì)象的引用而連接起來形成一條鏈。請(qǐng)求在這個(gè)鏈上傳遞,直到鏈上的某一個(gè)對(duì)象決定處理此請(qǐng)求。發(fā)出這個(gè)請(qǐng)求的客戶端并不知道鏈上的哪一個(gè)對(duì)象最終處理這個(gè)請(qǐng)求,這使系統(tǒng)可以在不影響客戶端的情況下動(dòng)態(tài)的重新組織鏈和分配責(zé)任。備忘錄模式:在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)。這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)。命令模式:將請(qǐng)求及其參數(shù)封裝成一個(gè)對(duì)象,作為命令發(fā)起者和接收者的中介,可以對(duì)這些請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤銷操作。狀態(tài)模式:允許一個(gè)“對(duì)象”在其內(nèi)部狀態(tài)改變的時(shí)候改變其行為,即不同的狀態(tài),不同的行為。訪問者模式:表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作。可以在不改變各元素的類的前提下定義作用于這些元素的新操作。解釋器模式:給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用該表示來解釋語(yǔ)言中的句子。中介者模式:用一個(gè)中介對(duì)象來封裝一系列的對(duì)象交互。策略模式:定義一組算法,將每個(gè)算法都封裝起來,并且使它們之間可以互換。策略模式使這些算法在客戶端調(diào)用它們的時(shí)候能夠互不影響地變化。因?yàn)槭菍W(xué)時(shí)太少的原因,老師講的模式并不多,這幾個(gè)模式好多都沒有講,我們只能根據(jù)一些書籍和資料來學(xué)習(xí)。
三、模式分析
對(duì)于工廠模式,是最常見的一種模式之一。在面向?qū)ο缶幊讨? 常用的方法是用new操作符構(gòu)造對(duì)象實(shí)例,但在有些情況下,new操作符直接生成對(duì)象會(huì)帶來一些問題。創(chuàng)建對(duì)象之前必須清楚所要?jiǎng)?chuàng)建對(duì)象的類信息,但個(gè)別情況下無(wú)法達(dá)到此要求,譬如打開一個(gè)視頻文件需要一個(gè)播放器對(duì)象,但是用戶可能不知道具體播放器叫什么名字,需要系統(tǒng)分派給這個(gè)視頻文件一個(gè)合適的播放器,這種情況下用new運(yùn)算符并不合適。許多類型對(duì)象的創(chuàng)造需要一系列步驟,比如需要計(jì)算或取得對(duì)象的初始設(shè)置,需要選擇生成哪個(gè)子對(duì)象實(shí)例,在生成需要對(duì)象之前必須先生成一些輔助功能對(duì)象。在這些情況, 新對(duì)象的建立就是一個(gè) “過程”,而不僅僅是一個(gè)操作。為了能方便地完成這些復(fù)雜的對(duì)象創(chuàng)建工作,可引入工廠模式。工廠模式的實(shí)例分析: // EventFactory類
public class EventFactory:LogFactory{
public override EventLog Create(){
return new EventLog();} }
// FileFactory類
public class FileFactory:LogFactory{
public override FileLog Create(){
return new FileLog();} }
客戶程序有效避免了具體產(chǎn)品對(duì)象和應(yīng)用程序之間的耦合,增加了具體工廠對(duì)象和應(yīng)用程序之間的耦合,在類內(nèi)部創(chuàng)建對(duì)象通常比直接創(chuàng)建對(duì)象更靈活,通過面向?qū)ο蟮氖址ǎ瑢⒕唧w對(duì)象的創(chuàng)建工作延遲到子類,提供了一種擴(kuò)展策略,較好的解決了緊耦合問題。
工廠模式客戶端程序: public class App {
public static void Main(string[] args){
LogFactory factory = new EventFactory();
//FileFactory factory = new FileFactory();
Log log = factory.Create();
log.Write();} }
對(duì)于抽象工廠模式,在軟件系統(tǒng)中,經(jīng)常面臨“一系列相互依賴對(duì)象”的創(chuàng)建工作,由于需求變化,這“一系列相互依賴的對(duì)象”也要改變,如何應(yīng)對(duì)這種變化呢?如何像工廠模式一樣繞過常規(guī)的”new”,提供一種“封裝機(jī)制”來避免客戶程序和這種“多系列具體對(duì)象創(chuàng)建工作”的緊耦合呢?其中有一種說法就是可以將這些對(duì)象一個(gè)個(gè)通過工廠模式來創(chuàng)建。但是,既然是一系列相互依賴的對(duì)象,它們是有聯(lián)系的,每個(gè)對(duì)象都這樣解決,如何保證他們的聯(lián)系呢?所以運(yùn)用抽象工廠模式,是一種有效的解決途徑。抽象工廠模式提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定他們具體的類。適用于一個(gè)系統(tǒng)獨(dú)立于其產(chǎn)品創(chuàng)建、組合和表示時(shí),一個(gè)系統(tǒng)由多個(gè)產(chǎn)品系列中的一個(gè)來配置時(shí),強(qiáng)調(diào)一系列相關(guān)產(chǎn)品對(duì)象的設(shè)計(jì)以便進(jìn)行聯(lián)合時(shí),提供一個(gè)產(chǎn)品類庫(kù),只想顯示其接口而非實(shí)現(xiàn)時(shí)。抽象工廠模式的結(jié)構(gòu),如下圖:
圖1抽象工廠模式的結(jié)構(gòu)
抽象工廠模式與工廠模式的區(qū)別就在于工廠模式提供一個(gè)接口,用于創(chuàng)建相關(guān)和依賴對(duì)象的家族,而不需要明確指定具體類。抽象工廠模式允許客戶使用抽象接口來創(chuàng)建一組相關(guān)產(chǎn)品,而不需要關(guān)心具體實(shí)際產(chǎn)出的產(chǎn)品是什么。
對(duì)于適配器模式,是將一個(gè)類的接口,轉(zhuǎn)換成客戶期望的另一個(gè)接口,適配器讓原本接口不兼容的類可以一起工作。打個(gè)比方
說,一個(gè)team要為外界提供S類服務(wù),但team里面沒有能夠完成此項(xiàng)任務(wù)的member,只有team外的A可以完成這項(xiàng)服務(wù)。為保證對(duì)外服務(wù)類別的一致性(提供S服務(wù)),一是將A招安到team內(nèi),負(fù)責(zé)提供S類服務(wù),二是A不準(zhǔn)備接受招安,可安排B去完成這項(xiàng)任務(wù),并讓B做好A的工作,讓B工作的時(shí)候向A請(qǐng)教,此時(shí),B是一個(gè)復(fù)合體(提供S服務(wù),是A的繼承弟子)。這種模式的使用過程是客戶通過目標(biāo)接口調(diào)用適配器的方法對(duì)適配器發(fā)出請(qǐng)求,適配器使用被適配者接口把請(qǐng)求轉(zhuǎn)換成被適配者的一個(gè)或者多個(gè)調(diào)用接口,客戶接收到調(diào)用的結(jié)果,但并未察覺這一切是適配器在起轉(zhuǎn)換作用。就是將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的類可以一起工作。適配器模式有三種適用場(chǎng)合,一是使用一個(gè)已經(jīng)存在的類,而它的接口不符合要求,二是創(chuàng)建一個(gè)可以復(fù)用的類,該類可以與其他不相關(guān)的類或不可預(yù)見的類(即那些接口可能不一定兼容的類)協(xié)同工作,三是使用一些已經(jīng)存在的子類,但不可能通過子類化以匹配各自接口。對(duì)象適配器可以適配它的父類接口。適配器模式還分為了累適配器和對(duì)象適配器兩種,這里就不再具體介紹了。適配器模式的優(yōu)點(diǎn)就是方便設(shè)計(jì)者自由定義接口,不用擔(dān)心匹配問題,而它的缺點(diǎn)是這個(gè)模式屬于靜態(tài)結(jié)構(gòu),由于只能單繼承,所以不適用于多種不同的源適配到同一個(gè)目標(biāo)。
對(duì)于命令模式,將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,可用不同請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤消的操作。這種模式的適用性是抽象出待執(zhí)行的動(dòng)作以參數(shù)化某對(duì)象,在不同時(shí)刻指定、排列和執(zhí)行請(qǐng)求,支持取消操作,支持修改日志,用構(gòu)建在原語(yǔ)操作上的高層操作構(gòu)造一個(gè)系統(tǒng)。命令模式的實(shí)現(xiàn):
public class Receiver{//接收者public void action(){
System.out.println(“我在行動(dòng)
");} }
public interface Command {//抽象命令
public abstract void execute();} public
class
ConcreteCommand
implements Command{//具體命令Receiver rcv;//含有接收者的引用
ConcreteCommand(Receiverrcv){this.rcv=rcv;}publicvoid execute(){rcv.action();}//執(zhí)行命令}
public class Invoker{//請(qǐng)求者Command command;public command){
this.command=command;}
public void startExecuteCommand(){command.execute();} }
public class Application{//客戶程序public static void main(String args[]){Command ConcreteCommand(r);
Invoker i=new Invoker();i.startExecuteCommand();} }
命令模式的結(jié)構(gòu):
command=new
void
setCommand(Command
圖2命令模式的結(jié)構(gòu)
命令模式中請(qǐng)求者不直接與接收者交互,即請(qǐng)求者不包接收者的引用,徹底消除了彼此之間的耦合。滿足“開-閉原則”。如果增加新的具體命令和該命令的接受者,不必修改調(diào)用者的代碼,調(diào)用者就可以使用新的命令對(duì)象;反之,如果增加新的調(diào)用者,不必修改現(xiàn)有的具體命令和接受者,新增加的調(diào)用者就可以使用已有的具體命令。由于請(qǐng)求者的請(qǐng)求被封裝到了具體命令中,就可以將具體命令保存到持久化的媒介中,在需要的時(shí)候,重新執(zhí)行這個(gè)具體命令。因此,使用命令模式可以記錄日志。使用命令模式可以對(duì)“請(qǐng)求”進(jìn)行排隊(duì)。每個(gè)請(qǐng)求都各自對(duì)應(yīng)一個(gè)具體命令,因此可以按一定順序執(zhí)行這些具體命令。
四、總結(jié)
在現(xiàn)代軟件開發(fā)當(dāng)中,軟件設(shè)計(jì)模式起
到至關(guān)重要的作用。尤其是自從面向?qū)ο蟮恼Z(yǔ)言普遍使用以后,促成了團(tuán)隊(duì)合作設(shè)計(jì)的軟件設(shè)計(jì)幾乎成了不可能完成的任務(wù)。軟件設(shè)計(jì)模式在程序中的運(yùn)用是非常廣的,在程序設(shè)計(jì)的過程中,是對(duì)反復(fù)出現(xiàn)的問題的很用設(shè)計(jì)模式可確保更快的開發(fā)正確的代碼,并且降低在設(shè)計(jì)或者視線中出現(xiàn)的錯(cuò)誤的可能性。通過學(xué)習(xí)軟件設(shè)計(jì)模式這門課程,了解到這么多種模式,雖然還不能熟練運(yùn)用和操作,但是我會(huì)在以后的工作和實(shí)踐中去多加鍛煉。
Receiverr=new Receiver();熱潮,而在此時(shí),沒有一個(gè)好的設(shè)計(jì)模式,i.setCommand(command);好的解決辦法,是良好思路的經(jīng)驗(yàn)集成。使
參考文獻(xiàn):
[1]鐘茂生,王文明。軟件設(shè)計(jì)模式及其使用[J].計(jì)算機(jī)應(yīng)用,2002,22(8):32-35 [2]Gamma E.Design patterns elements of reusable object-oriented software[M].北京:機(jī)械工業(yè)出版社,2002
[3]廖志剛,李增智。設(shè)計(jì)模式在系統(tǒng)中的應(yīng)用[J]。計(jì)算機(jī)工程與應(yīng)用,2002,(12):7-10