58
DEPARTMENT OF ELECTRICAL ENGINEERING HSIU-PING INSTITUTE OF TECHNOLOGY 指 導 老 師:趙維和 專題製作學生:二技電二甲 管崑閔 AD96048 中華民國 九十七 年 十二 月 十日

DEPARTMENT OF ELECTRICAL ENGINEERING HSIU-PING …ir.hust.edu.tw/bitstream/310993100/1539/1/AD9613.pdf · 第二章 電機機械 . 2-1 電機機械介紹 . 常見的電機機械是一種雙側性的能量轉換設備,彼此以磁場相連。其

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

修 平 技 術 學 院 電 機 工 程 系

DEPARTMENT OF ELECTRICAL ENGINEERING HSIU-PING INSTITUTE OF TECHNOLOGY

實實務務專專題題報報告告書書 電電機機機機械械等等效效電電路路參參數數測測定定

之之模模擬擬與與研研發發

指 導 老 師:趙維和

專題製作學生:二技電二甲 管崑閔 AD96048

中華民國 九十七 年 十二 月 十日

中文摘要

電機機械等效電路參數測定之模擬與研發

學生:管崑閔 指導老師:趙維和

摘要

本文主要研究在將電機機械內所包含之各種機械,藉以參數不同之模

擬,如變壓器、直流機、感應馬達、同步機…等等,針對各種不同參

數,研究與比較出各種機械特性,並以模擬驗證。

在程式的設計上,本文以 Matlab 程式在個人 PC 上來發展控制軟體。

English abstract

Simulation and research and development the electrical machinery machinery equivalent circuit parameter determination

abstract This article main research in contains the electrical machinery

machinery in each kind of machinery,so as to parameter different simulation,for example Transformer,DC Machines,Induction Motors,Synchronous Machines,in view of each kind of different parameter,studies and compares each physical characteristics, and simulates the confirmation. In program design,this article comes up the development control software by the Matlab program in individual PC.

目 錄

中文摘要

英文摘要

第一章 續論

1-1 研究動機..........................................1

1-2 研究目的..........................................2

第二章 電機機械

2-1 電機機械介紹......................................3

2-2 變壓器介紹........................................5

2-3 直流機介紹........................................9

2-4 感應馬達介紹......................................12

2-5 同步機介紹........................................16

第三章 MATLAB 軟體介紹

3-1 簡介..............................................19

3-2 Matalb 的使用環境.................................20

3-3 矩陣與線性代數簡介................................28

3-4 Matlab 程式設計技巧...............................33

第四章 模擬與操作

4-1 GUI 概述..........................................41

4-2 設計面板..........................................44

4-3 程式編輯..........................................50

第五章 結 論

5-1 結 論.............................................51

5-2 討論與建議........................................52

參考文獻...................................................53

第一章 續 論

1-1 研究動機

從十九世紀電磁感應原理被發現至今,這將近兩百年的歷史當中,電

機機械一直是人類從事電能與機械能間互相轉換的最重要工具。正如許多

其他由人所設計的現代裝置一般,所有電機機械的相關知識,都是架構在

一套完備的物理學原理和數學方式上,最後再用一個能涵蓋其物理現象的

數學模型來描述它。這個數學模型可以用來做進一步的定性及定量分析,

幫助使用者了解機構本體的特性,以充分發揮其性能,甚至可用來作為改

善或改變的依據,幫助我們設計更新、更符合需求的電機機械。

隨著電腦科技的日益進步,電機機械的技術越來越精確化及智慧化。

由於電機機械的電氣參數會受到材料及工作環境因素的影響;例如,定子

電阻會受高低轉速的不同而改變,轉子電阻值及其相對應的轉子時間常數

會隨溫度升高而產生變化等,這些因素均會造成磁通的偏差而影響控制精

度。如何對電機機械的特性,在排除各種不同的情況下進行相關實驗,並

量測出電機機械電氣參數的變化情形,以作為以後之依據,此即為主要研

究動機。

1

1-2 研究目的

從一個較客觀的角度來看電機機械的學習,就好像學習者帶著基本的

電磁理論與靜態交流電路兩件工具,試著從認識各種電機機械的實體結構

出發,一路進行理解分析,終於聯貫到每一樣電機機械的操作行為。而實

體結構是看得見的本像,操作行為則是看不見的現象,從本像到現象是很

多人難以融貫的癥結。

工程科學的進步同時帶動了學習方法上的調整,現代人學習電機機械

已經擁有比二十年前更多更便利的資源。精算分析的好處是,在進行高精

密設計時,可以提供較精確可靠的數據,大幅減少設計本體時來回微調的

程序。

為了改善電機機械的的控速精度及提昇大範圍速度命令之控速能力,

使電機機械在工業應用上能更為便利與廣泛。在過去幾年,已有許多學者

致力於將不同的控制理論應用在控制電機機械系統上。

在理論上的量測,均需要複雜的數學基礎理論,對於初學者而言,都

無法著手設計。因此,我們將以電腦模擬之方式在量測出電機機械參數之

變化情形後,將之表現於一個以電腦模擬為架構的視窗裡。

2

第二章 電機機械

2-1 電機機械介紹

常見的電機機械是一種雙側性的能量轉換設備,彼此以磁場相連。其

中,將機械能轉變為電能形式的設備,稱做發電機(generator)。若該設備將

吸收的電能轉變為持續性輸出的機械能,則稱做馬達(motor)。若一機械被

設計來作為某些特定的機械運動中使用,則一般稱之為致動器或驅動器

(actuator)。

在電機機械中,一般會學到有核心繞線的變壓器設備(transformer)。這

種變壓器用來調整交流系統的介面端電壓。雖然輸出入兩端皆是電能形

式,但其實該設備將吸收的電能,先換作磁能,然後再換以電能形式輸出。

由此觀點,核心繞線的變壓器設備也屬於能量轉換設備的範疇。

電機機械的起源可追溯到 1831 年 Michael Faraday 所發明的碟機,而碟

機是一個全直流機。之後,直到 1870 年代,電機機械才又引起實驗室與實

際應用的興趣。

3

電機機械的史中一個重要的里程碑,是 Niola Tesla 在 1888 年所發明的

三項感應馬達專利。而在 1900 年,實用化的核心繞線的變壓器設備,開啟

了長途電力傳輸的新頁。電機機械應用,正沿著電力架構的擴張而激增當

中。

雖然今日所應用的電機機械觀念源自於一世紀前,然而,對電機機械

的修正與改良的程序仍未停止。更好的鐵磁及絕緣物質,使電機機械的功

率密度能有明顯的增強。高容量的製造技術,造成較便宜的電機機械,進

而產生更廣泛的應用性。

最後,近十年所發展的「固態革命」造就了可靠且高功率的切換設備

及微處理器,帶領著電力馬達驅動控制的顯著改進。這些都是對駕馭與控

制能量的能力之進化,持續的加強對人類生活的改善。

電機機械多可見於製造工廠或大樓的高壓交流電(HVAC)設備房間

內。然而,更多的電機機械被整合於相關應用設備、推進器、伺服設備中,

因此,一般人甚至不曉得它們的存在。

4

2-2 變壓器介紹

變壓器(transformer)在電力系統中,正如同機械系統的傳動裝置

(transmission)一般,若設計得當,這兩種設施皆可以將輸入端得到的功率

由輸出端輸出,而只會有少量的損失。而且,這兩種設施皆可任意地將輸

入與輸出參數相互對調,提供作雙側能量流動。

變壓器是一種利用磁場的作用把某一電壓準位的電能轉換成另一電壓

準位的裝置。變壓器由兩個或多個纏繞著同一個鐵磁性材料鐵心的線圈所

組成,連接交流電源的繞組稱一次繞組或輸入繞組,連接到負載的稱二次

繞組或輸出繞組,如果有第三個繞組則稱之為三次繞阻。

圖 2-1 由 William St

anley 在 1885 年製

造的第一個實用的變

壓器注意其鐵心是由

個別的鐵片所組成

5

變壓器的發明及交流電源的發展消除了電力系統及電能準位上的限

制。變壓器理想地把一電壓準位轉換到另一電壓準位而不影響能量的供

應。現代電力系統中,交流電能的發電電壓為 12 到 25 kV,而傳輸電壓

則介於 110 kV 和接近 1000 kV 之間,再以變壓器降低至 12 到 34.5 kV

之間以供區域配電,最後我們可以在家中、辦公室及工廠中安全的使用 120

V 的電壓。

變壓器的主要目的是在一相同頻率下,將一電壓準位的電能轉換至另

一電壓準位。電力變壓器根據鐵心的型式而有兩種不同的構造。第一種稱

為內鐵式(coreform),其鐵心由矩形鋼薄片所組成,線圈則纏繞在矩形鐵

心的兩邊,如圖 2-2 所示。第二種稱為外鐵式(shell form),其鐵心由具

有三支腳的鋼薄片所組成,線圈則纏繞在中間腳上,如圖 2-3 所示。

圖 2-2 內鐵式

變壓器的結構

6

圖 2-3 (a)外鐵式變壓器的結構 (b)典型的外鐵式變壓器

變壓器的一次和二次繞組其纏繞方式係一繞組纏繞在另一繞組之上,

而低壓繞組均在最裏面,如此安排有以下兩個目的︰

1. 簡化高壓繞組和鐵心之間的絕緣問題。

2. 這樣的繞法比把兩繞組分開纏繞有較少的漏磁通。

7

理想變壓器是一種包含一次和二次繞組而且沒有損失的裝置,圖 2-4

所示為一理想變壓器。

圖 2-4 (a)理想變壓器 (b)理想變壓器的符號

8

2-3 直流機介紹

直流電機在電機機械的發展史上看似過氣,但仍具不可或缺的重要

性。在人類發展出可靠的高功率固態開關切換元件之前,直流馬達一直是

變速驅動的機電系統中最主要的電機設備。然而,「電力電子革命」引導了

一個重要的轉變,將原本的直流馬達驅動,改為由變速感應馬達驅動,特

別是小型到中型馬力的變速應用。

而直流馬達更在小功率和大型的功率應用上,仍存在利基。例如:在

使用轉柄旋轉馬達的自動化設備上、擋風玻璃的雨刷、吹風機馬達、電動

窗馬達,直流機是較經濟的選擇。

其他高功率的應用方面,如推進器和鋼鐵工廠的轉動車床,直流機的

力矩密度使得直流機的應用,更勝可變頻率的交流感應馬達驅動,因此,

在部份新的產品中,仍應用到直流馬達。

大部分的直流電機與交流電機一樣,具有交流的電壓和電流-直流電機

有直流電輸出,是因為其內部有將交流轉換為直流之設備。這設備稱為換

9

向器,所以直流電機也稱為換向電機。

最簡單可能之旋轉直流電機如圖 2-5 所示。它由單一迴圈導線旋轉於

固定轉軸所組成。此電機之旋轉部分稱為轉子(rotor),靜止部分稱為定子

(stator)。此電機之磁場是由如圖 2-5 所示之定子上南北磁極之磁鐵所提

供。

因為磁通必須走最短路徑通過氣隙,所以它與極面下之轉子面的每處

都成垂直。又因為空氣隙寬度一定,所以極面下各處之磁阻是相同的。固

定的磁阻意味著極面下各處之磁通密度都是固定的。

圖 2-5 曲線極面

間之簡單旋轉迴圈

︰(a) 透視圖

10

圖 2-5 (b) 磁場線 (c) 頂視圖

圖 2-5 (d) 前視圖。

11

2-4 感應馬達介紹

由於感應馬達(induction motors)有相對較低的製造成本,且易於操控,

使其成為最普遍的機電設備。相對於直流馬達與同步馬達都會需要有兩個

激磁連接(簡稱為雙激磁,doubly excited),感應馬達只需要一個激磁連接

(稱之為單激磁,single excited)。在感應馬達中,其二次側繞組會與單激磁

繞組進行磁耦合,所造成的磁感應會感應產生電流,這也是感應馬達其名

稱的由來。

在那些需要小功率,且可以單相配電的應用中,都頗適合使用感應馬

達。在日常生活中,單相感應馬達普遍用於如洗衣機、烘乾機、電扇及空

氣調節裝置等應用中,而在一般工業的應用中,會運用三相感應馬達於各

種額定馬力輸出中。國家電機製造協會(National Electrical Manufacturers

Association,NEMA)有依據其力矩-速度的變化形式以及製作方式進行定義

與分類,NEMA 同時也維護著一份公認的標準架構尺度表,可確保不同製

造商之間的馬達可進行互換安裝更新。

12

典型兩極感應電動機的定子如圖 2-6 所示,有兩種不同型式的感應電

動機轉子可以置於定子內,其中之一叫做鼠籠式轉子,或簡稱籠式轉子;

另一種叫做繞線式轉子。圖 2-7 與圖 2-8 顯示鼠籠式感應電動機的轉

子,鼠籠式感應電動機轉子是由一串鑲嵌於轉子表面凹槽的導體棒組成,

並且在兩端用大的短路環圈將其短路在一起。繞線式轉子有一組完整的三

相繞組,正好是定子繞組的反映映象。圖 2-9 顯示兩種繞線式轉子,而圖

2-10 則是一個完整的繞線式轉子感應電動機。

圖 2-6 典型感應電動機的定子,顯示定子的繞組

13

(a) (b) 圖 2-7 (a) 鼠籠式轉子的概圖 (b) 典型的鼠籠式轉子

(a) (b)

圖 2-8 (a) 典型小型鼠籠式感應電動機的截面圖

(b) 典型大型鼠籠式感應電動機的截面圖

14

圖 2-9 感應電動機的典型繞線式轉子,注意滑環以及連

接轉子繞組到滑環的金屬棒

圖 2-10 繞線式轉子感應電動機的截面圖,注意電刷和滑環,同時也注意

轉子繞組成螺旋形以消除凹槽諧波

15

2-5 同步機介紹

穩定狀態下運轉的同步機,其機械轉速會等於由一載有交流電的相繞

組,其所建構的旋轉磁場的平均速度。造成在穩態下運轉的同步機,其機

器速度會等於,或同步於相繞組之交流電的頻率。應用中的同步機的整體

功率等級,會大過感應馬達的整體功率等級,但由於大部分的同步機皆有

高額定功率,因此其總數會少於感應馬達。

單向同步機可用於低功率,提供精準的操作速度,可直接由配電的電

壓來運作。電子鐘是運用磁滯馬達之實例。其他重要的低功率同步機的應

用是電腦磁碟機的驅動器。雖然個人電腦是由單向功率供電,磁碟機驅動

馬達一般是無刷直流馬達,由轉換電力(conditioned power)而非直接來自配

電電壓的電力供應。

一般工業馬達的使用三相同步機,以美國而言,其典型額定電壓量為

230 到 4160 V 之間。通常同步馬達被安裝在接近固定的負載應用,如空氣

壓縮機,因此,可以適當地調變場激磁,使馬達運轉於領先的功率因數,

進而改善整個工廠的功率因數。

16

同步機的所有重要的應用,都發生於三相交流發電上。運轉於發電機

模式的同步機,一般稱為交流發電機(alternatir)。同步機的家族成員包括了

小型自動交流發電機、備用型之電動柴油引擎發電機、水輪發電機、發電

廠的渦輪交流發電機。

同步發電機或交流發電機為用來將機械功率轉換為交流電功率的同步

電機。同步發電機中,須供應一直流電流至轉部繞組以產生轉部磁場。接

著以原動機帶動發電機之轉部而在電機內部產生旋轉磁場。此旋轉磁場在

發電機定部繞組中將感應三相電壓。

電機內通常會有場繞組 (field winding) 與電樞繞組 (armature

winding),場繞組主要是用來產生主磁場,而電樞繞組是用來感應電壓。

轉部上的磁場電路必須要有直流電源供應。由於轉部是在旋轉的,為了要

供應直流功率至其場繞組,兩種常見之法︰

1. 藉著滑環(slip rings)及電刷(brushes)由外部直流電源供應此直流功

率。

2. 藉著架設於同步發電機之軸上的特殊直流電源供應此直流功率。

17

圖 2-11 同步電機之平滑極雙極轉部

圖 2-12 (a) 同步電機之突極六極轉部 (b) 突極八極同步電機之轉部

18

第三章 MATLAB 軟體介紹

3-1 簡介

Matlab 是一家名為 Mathworks 的公司所出版的,從 1984 年發

展至今已經十多年了;從早期使用 DOS 的版本直到 1993 年左右有

了在 Windows 3.1 上使用的版本;一直到目前為止最新的版本是

7.0.0。

Matlab 是『Matrix Laboratory』的縮寫,這套軟體主要是用於矩

陣式的數值運算,其有特殊的演算法則使其可以做如此的運算。

Matlab 有以下幾個特點:

★ 資料視覺化

★ 強大的數值運算

★ 豐富的 Toolbox

★ 可以做自動控制的模擬

★ 2D/3D 的繪圖

19

3-2 Matalb 的使用環境

在啟動之後最好先行設定路徑;假如沒將路徑設定好有可能在您存

檔後於下次執行時,Matlab 的 compiler 會找不到您編輯的程式以至於

無法正確執行。以下即為其路徑的設定

在 Matlab 中,一般有以下幾種輸入方式來產生矩陣

A﹒直接輸入

B﹒隨機產生

C﹒建立一個 M-file

D﹒由外部的資料檔 load 進來

20

A﹒直接輸入:

假設我們要輸入一個 3X3 的矩陣,您可以打入

A=[1 2 3;4.2e-2 5 6;7 8 9] - 每個元素間以空格分開

當按下 ENTER;Matlab 應出現以下的情況

我們可以很明顯得看到這一個 A 矩陣被

定義為一個 3X3 的矩陣;這樣的直接輸入

方式在矩陣小時還可以處理,但若是較大

的矩陣如 16X16,這樣一筆一筆輸入十分

容易出錯,所以最好將之寫成一個檔案而

輸入;這樣修改起來也較方便

21

B﹒隨機輸入:

在隨機輸入中有以下幾個指令 rand,magic,hilb

1﹒rand 的使用方式為 rand(m,n);產生

一個 M x N 的隨機矩陣其元素分佈於 0~1

之間

2﹒magic 的使用方式為 magic(n);產生一個

無論列相加或行相加都可以得到相同和的

矩陣

22

3﹒hilb 的使用方式為 hilb(n);產生一

個 N x N 的 Hilbert 矩陣

C﹒建立一個 M-file

可以在如下圖處點選,當出現編輯器時即可進行編輯;並

且如第三張圖按該 .M 檔檔名可知其答案

23

D. 由外部的資料檔 load 進來,也是如上所述存成 M-file 的模式再

load 進 Matlab

進行矩陣的運算

在 Matlab 軟體中的基本算數運算符號如下

+:加法運算 -:減法運算

*:乘法運算 / :右除法運算

\ :左除法運算 ^ :次方運算

’ :轉置矩陣

其中必須注意到左、右除法;因為矩陣中 A-1*B ≠ B*A-1,而其中 B/A

=B*A-1 A\B=A-1*B,在矩陣的運算中是不相等的,而若是純量則左、

右除法均相等如 1/4=4\1=0.25

在 Matlab 系統中,允許使用者使用複變數來做定義及運算,可以以 I

或 j 來代表虛數,如 z=3+4j

24

如左圖所示,其輸入一個名為 a

的複變數矩陣

a=[1+5j 2+3j ;2+3j 3+5j]

而下一個答案是為其轉置矩陣

(transpose)後的答案

矩陣的加、減、乘法運算分別如下圖所示

我們可以看到建立出兩個矩陣

a=[1 2;3 4];b=[5 6;7 8]; 最後的分號使矩陣不顯

示出來,而矩陣 C 即是 a+b

矩陣 D 即是 a*b

25

矩陣元素的相關運算:其包含了

<:小於 <=:小於等於 >:大於

>=:大於等於 ==:等於 ~=:不等於

Matlab 比較矩陣中的相對應元素的關係是用 1、0 來加以表示;

如 2+2~=4 其將回傳 0 表示其解和正確值不合。

在 Matlab 中常用的函數

在 matlab 中有定義出許多方便的函數可

以加快操作,如左圖分別是三個函數

eye 單位矩陣

zeros 零矩陣

ones 全部元素均為一的矩陣

26

diag 求出對角矩陣

Inv 求出反矩陣

Det 求出矩陣的大小

當矩陣是一方陣(nxn),存在一組數值λ(常數)

滿足下列方程式

Ax=λx

我們稱λ為 A 矩陣的特徵值(eigen value),可用

eig(A)求得;而 x 所對應的向量值稱為特徵向

量,可用[X,D]=eig(A)求得

27

3-3 矩陣與線性代數簡介

矩陣是線性代數的基本運算元,線性代數定義了矩陣的運算,如:加

法、減法、轉置、內積、反元素、線性方程式、特徵值、特徵向量、矩陣

分解等等。

利用這些運算是建立系統的數學模型,以進一步作系統分析。

以下將介紹一些線性代數的一些理論該如何使用 Matlab 加以處理;本

講義著重於 Matlab 之應用,而其相關理論之證明不在此加以贅述。

多項式的運算

多項式的建立是以向量的形式表示,由最右邊算起為零階,右邊第二

為一階依此類推。例如一個一元三次方程式:

4x+3x+2x+1

以 a=[4 3 2 1]。而多項式的運算包含求根、求函數值、方程式微分及多

項式分解。以下為幾個常用指令

28

假設我們要求出 X+3X+2=0 的根,並且再還原

回原多項式。

其使用兩個函數

b=roots(a) 求出 a=0 方程式的根

c=poly(b) 可由根向量求出多項式

解線性方程式

在分析及解決問題過程中,通常藉由已知條件試著將系統以方程式來

表示,再由求出之方程式解進一步了解系統。是故解方程式十分重要。解

線性方程式就是找出是否存在一唯一矩陣,假設我們有一聯立方程式

3x + 2y=7 2x – y =0

使矩陣 A,B 有以下關係:

29

很明顯的我們可以由這樣的方式中求出我們所需要

的解 x=1 y=2

由以上簡單的例子,我們可以慢慢擴大維度解出更複雜的例子;同時

我們可以注意到,我們所舉的例子是恰有一解的方程式。而若我們所求為非

唯一解的方程式(即非線性獨立),Matlab 將有錯誤訊息。

因其維度不同所以其可能無解或有無限多

組解,是故顯示出錯誤的訊息

30

LU,QR 及 Cholesky 分解

Matlab 解線性方程式是基於下列三種分解法則:

Cholesky 分解 :針對對稱且正定的矩陣

高斯消去法 :針對一般方陣

正交化 :針對矩形矩陣(行數≠列數)

Cholesky 分解

在 Cholesky 分解中我們可以看見由

一個對稱矩陣經 chol(a) 轉換成一個

上三角矩陣

31

高斯消去法

LU 分解法是將正方矩陣(square)分解成一個

上三角形矩陣及一個下三角形矩陣,這樣的

分解又稱為三角分解法。主要用途為簡化一

個大矩陣的行列式值的計算過程,求反矩陣

和求聯立方程組;這種解析的上下矩陣並非

唯一。此兩三角形矩陣相乘可以得回原矩

陣。

語法:[L,U]=lu(a)

正交化

QR 分解法是將矩陣分解成一個正規正

交矩陣與上三角形矩陣;原矩陣 a

不必為正方矩陣,若矩陣 a 大小為 mXn

則矩陣 Q 為 mXm,矩陣 R 為

nXn。

語法:[Q,R]=qr(a)

32

3-4 Matlab 程式設計技巧

Matlab 基本上是一種以命令執行(command driver)的方式來執行指

令;在 Matlab 中輸入一個指令就執行一次; Matlab 也提供連續執行一系

列命令的能力,這些由一連串命令或函式所構成的 Matlab 程式就叫做 M

檔案(M-file);它的附加檔名是以 .m 來加以命名。由一連串敘述所組成的

檔可以在其中再呼叫別的 M 檔(這就好像是主程式中呼叫副程式的原理一

樣)

由於 Matlab 提供了 M 檔案的執行方式,這也讓使用者可以加入自己

所設計的函式以及增加一些自己使用上特殊的應用,就 Matlab 程式的特點

歸納以下幾點:

一、 一個函式或指令巨集均是以 M-file 的形式存在

二、 M 檔案和 M 檔案之間可以相互呼叫

三、 每一行都是一個敘述可以獨立拿來執行

四、 程式碼十分簡短

33

以下我們用一個簡單的例子來加以說明

這個 M 檔包含了三個命令

1. 定義矩陣 a

2. 求矩陣 a 的特徵值並將他定義於 b 矩陣

3. 求出以 b 特徵值的多項式

我們可以看到當輸入 test 時,只要在該路徑下

有相關的 M 檔則將會執行該 M 檔中的命令;

我們可以看到其計算出在 M 檔中所做的定義

34

程式流程之控制

Matlab 軟體控制流程的方法類似於一般高階語言的控制方

式;其有 for 迴圈、while 迴圈、if 指令、switch 等等,以下將

逐一介紹。

For 迴圈

For 迴圈可以讓使用者設定一個已知的重

覆數,來使一組指令重複執行。

For 一般的使用方式

for i=起始值:遞增值:終止值

敘述

end

35

while 迴圈

While 來執行迴圈數尚未決定的迴圈運算。

while 一般的使用方式

While expression

敘述

end

36

IF、ELSEIF、指令

可以經由 if、else 這個指令來對是否符合

條件來進行判別真偽

if、else 一般的使用方式

If expression

敘述

else

敘述

end

switch 指令

在 switch 指令下只有一個 case 的敘述會被

執行;若都沒有符合的狀況將執行 otherwise

switch 一般的使用方式

Switch 條件式 Case 情況一,

指令及敘述

……………….

Otherwise End

37

繪圖功能

Matlab 提供許多種圖形的繪製功能,可以用來圖示資料的分

布情形及其特性。繪圖有許多種模式,我們以下只介紹二維及三

維的繪圖。

二維 x-y 座標圖

以下將就常用的基本座標圖函數加以描述

在繪圖中有以下幾個指令:

1﹒在圖中我們使用 plot(x,y)將已知的點

繪出。

2﹒loglog 和 plot 的使用方式相同,但其座標

軸皆以對數比表示。

3﹒semilogx 和 plot 的使用方式相同但是其 x

軸以對數比例表示

4﹒polar(θ,ρ)用極座標來繪圖,θ為角度,

ρ為大小

38

其他還有一些說明,可以強化圖形之說明

title(‘string’):以 string 為標題文字

xlabel(‘string’):x 軸上說明文字

ylabel(‘string’):y 軸上說明文字

gtext(‘string’):在 mouse 處貼上字串

grid:在座標上畫格線

39

三維立體圖

在三維中主要是使用到 mesh(z)來繪製三維的網狀圖

在這之中我們可以看見 meshz 將矩陣中的元素

值在鄰近的區域均以直線連接

在這個例子中,plot3(x,y,z)分別是代表

X Y Z 的立體座標

40

第四章 模擬與操作

4-1 GUI 概述

圖形與使用者介面(Graphical User Interface,GUI),是 MATLAB 提供很

方便的工具,它可以利用 GUIDE 直接進行功能按鈕編排、物件特性設定、

圖形位置排列對齊、操作區設計等。因此,使用者可根據實際的需求以及

喜好,將辛苦的研究成果以圖形方式表示出來,更可貴的是設計方法及設

計步驟簡單,表達力強,程式也易於維護。

我們已經知道,MATLAB 是數學運算功能很強的軟體,運算的結果通

常都必須以圖形來表示,其繪圖能力更是不在話下,利用 GUI 又可讓其除

了運算能力之外,使得使用者更易於將圖形表現得多元化,不需一行行的

以程式指令去設定,只要用滑鼠去點選即可。在叫回(Callback)的處理模式

下,我們也可以用程式設計方式將各相關的處理程式整合成單一的處理系

統,使得研究成果表現得更好,這就是使用 GUI 的目的。

41

進入 GUI 的方法是在 command window 下打指令 guide

→按 enter 鍵

圖 4-1 GUI 模板選擇畫面

42

在「Create New GUI」的頁面中,你可以選擇幾個樣版:

Blank GUI (Default):空白樣版

GUI with Uicontrols:含有 UI 控制物件(UI Controls)的樣版

GUI with Axes and Menu:含有圖軸和下拉選單的樣版

Modal Question Dialog:含有對話窗的樣版

如果你已經有之前所設計的畫面,也可以點選「Open Existing GUI」,

來開啟以前的檔案,如下圖所示:

43

4-2 設計面板

在「Create New GUI」頁面,並點選「Blank GUI (Default)」來開啟空白

樣版,其畫面如下:

在上述的畫面中,左邊是各種 UI 控制物件和圖軸的選單,選取之後,

你就可以在中間空白部分,以滑鼠點選並拖放來擺置你所需要的 UI 控制

物件或圖軸等。

44

我們可以修改預設的 GUIDE 編輯面版,讓它更好用:如果嫌左邊的

圖式太小,可以點選 File/Preference,並點選「Show names in component

palette」,就可以顯示左邊各個圖式的文字說明。

如果要在面版周圍顯示尺規(Ruler),可以在下拉選單選擇 「Tools/Grid

and Rulers…」,然後再點選跳出視窗的「Show rulers」,就可以在面版周圍

顯示尺規。

我們先改變 GUIDE 面版的大小(由拖放面版右下角的黑點來達成 )

接著在面版上放置控制物件

45

我們可以使用滑鼠右鍵來點選任一個 UI 控制物件,並選取「Inspect

Properties」,以改變其性質。

以拉霸為例,以滑鼠右鍵點選後,選取「Inspect Properties」,即可開啟

「性質檢視器」(Property Inspector)。

在性質檢視器中,左邊是物件的性質,右邊則是此性質所對應的值,我們

可以點選右邊來改變這些值。

完成物件代號的設定後,我們就可以設定物件的反應命令。我們希望這些

反映命令能夠使這個 GUI 應用程式達到下列功能:

46

當使用者拖放拉霸時,能將拉霸的位置(預設值是介於 0 和 1 之間)顯

示在文字欄位。文字欄位值被改變時,拉霸的位置能夠隨之改變。

在 GUIDE 的環境下,一個物件的反應命令都是由一個特定的函式來完

成,這個函式就稱為反應函式,而函式名稱就是「物件代號_Callback」。

我們以滑鼠右鍵點選拉霸,並選取「View Callbacks/Callback」,即可開啟

MATLAB 程式編輯器。

此程式編輯器會顯示反應命令必須加入的位置,拉霸的 Tag 是 mySlider,

所以其反應函式是 mySlider_Callback(),所加進去的兩列敘述如下:

position = num2str(get(handles.mySlider, 'Value')); set(handles.myText, 'String', position);

第一列敘述抓出拉霸的位置,並轉成數值。

第二列則將此數值設定為文字欄位的顯示文字。

47

使用者加入的程式碼

GUIDE 自動產生的程式碼

按下 GUIDE 面版的工具列的三角形按鈕,即可開啟可使用的 GUI 介面

由於所產生的程式碼並不在 MATLAB 的搜尋路徑中,因此會先跳出一

個詢問視窗:

48

直接按下「確定」後就會跳出我們所設計的 GUI 介面如下:

在設計反應命令時,最重要的事,就是要能讓不同的 UI 控制物件都

能存取其他物件以及相關資料,因為每一個 UI 控制物件的反應命令都是

以函式的型式來進行。

因此 GUIDE 在每一個反應函式內提供了一個結構變數 handles,以便

提供資料的共通,可達到下列兩項功能:

經由 handles 來存放或取用共通的資料。

經由 handles 來取得每一個 UI 控制物件的性質。

49

4-3 程式編輯

由於 GUIDE 的各個物件使用上,當使用者叫出來以後,它會自動產生

我們的.M 程式,我們只需要去找到這些地方,再加入我們要執行的程式。

每個元件都有相對應的叫回程式(Callback program),在我們開啟.M 程式

後,可以使用如下圖所示的方法,可以快速找到我們所需的 Callback 在哪

裡。

50

第五章 結 論

5-1 結論

MATLAB 的使用,已行之有年並有許多應用的地方,在本文的模擬當

中,雖然只有架構出一變壓器之模擬,但在電機機械的領域裡,還有許多

如直、交流機與感應電動機等,皆可以使用本例子的方法去架構出。

在模擬的過程,碰到了許多的問題,例如旗標(Tag)的設定、握把的程

式等,但在老師的協助之下,還是一一去克服。

雖然以模擬的方式,無法考慮到實際現場情形,如溫度、溼度等,這

些也都是我們無法掌控的,但我們也都以理想的情況下去模擬,或許將來

我們也可以將更多考慮的因素,也加在這種架構下也未嘗不可。

51

5-2 建議

對於初學者而言,在剛開始模擬架構時,最好是先有構思,要把各個

元件放在哪裡,因為,元件一但被叫出來,就會馬上有一個.M 程式出現,

如果三心二意,想再把元件刪除,.M 程式卻不會跟著被移除,到時候不僅

程式看起來很亂,要除錯時更加麻煩,反而會找不到問題點。

由於 GUIDE 也可以架構一個選單系統,在將來希望可以將與電機機械

有關之模擬,一次全架構在一起,只要把它使用分類選單,屆時,我們需

要執行哪種模擬時,即可點選該選單尋找即可。

52

53

參考文獻

Jimmie J. Cathey 著 ; 孫樹威譯 電機機械 = Applying MATLAB --初版.-

台北市 : 麥格羅希爾,2002[民 91]

蒙以正 編著. Matlab 入門與精選--二版-- 台北市 : 儒林圖書公司

林超群編譯. 自動控制系統設計與 MATLAB 語言--初版--台北市 : 全華

科技圖書股份有限公司,民 88