adaptive fuzzy sliding mode position control of a...

90
碩士學位論文 直流無刷馬達之適應性模糊滑動模式 位置控制 Adaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 指導教授:賴玲瑩 生:董義雄

Upload: lamnhan

Post on 26-Mar-2018

223 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

中 原 大 學

電 機 工 程 學 系 碩士學位論文

直流無刷馬達之適應性模糊滑動模式

位置控制

Adaptive Fuzzy Sliding Mode

Position Control of a Brushless DC Motor

指導教授:賴玲瑩

研 究 生:董義雄

中 華 民 國 九 十 二 年 六 月

Page 2: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

I

摘要

本文探討模糊滑動模式控制法則 (Fuzzy Sliding Mode

Controller,簡稱 FSMC)應用於直流無刷旋轉馬達位置控制之可行

性。直流無刷旋轉馬達的系統參數具有隨輸入命令不同而微量改變的

特質,而 FSMC 對於受控體模型不精確的情況下亦能達到良好的輸

出響應。本文之控制法則的架構是以模糊控制結合滑動模式控制為

主。而在控制法則之最佳化部分,乃同時將模糊規則庫及控制法則的

增益值皆納入搜尋,並以適應性基因演算法 (Adaptive Genetic

Algorithm,簡稱 AGA)進行參數搜尋的工作,其適應性交配率與突變

率公式可避免落入區域極值而加速收斂。模擬部分使用套裝軟體

Matlab/Simulink予以實現。實驗部分使用俊原科技所提供的直流無刷

旋轉馬達搭配功率放大器、TI DSP(TMS320F243)控制器加以驗證本

文控制法則的可行性。結果顯示,FSMC在馬達參數變動的情況下具

有高強健性,而以 AGA設計之最佳 FSMC將可快速地追隨到位置命

令。

Page 3: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

II

Abstract

Investigated in this thesis is the feasibility of using Fuzzy Sliding

Mode controller (FSMC) for position control of DC brushless rotary

Motor. The parameters of DC brushless rotary Motor will change slightly

with different input command. And FSMC can achieve good output

response even when the plant model has some uncertainty. The structure

of the control algorithm in this thesis is to combine fuzzy control with

sliding mode control. And in the optimization part of the control

algorithm, the 3*3 fuzzy rule base and the gains of the control algorithm

are searched simultaneously through adaptive genetic algorithm (AGA),

whose adaptive crossover rate and mutation rate can avoid falling into

local optimum and speed up the convergence. The simulation part of the

control algorithm design is done through the software of Matlab/Simulink.

As for the experiment part, we use the DC brushless rotary Motor, power

amplifier and TI DSP (TMS320 F243) controller supported by Juniortek

to verify and improve the feasibility of controller. The results show that,

FSMC is highly robust even when the plant model has some uncertainty,

and the optimal FSMC designed by AGA can track position command

rapidly.

Page 4: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

III

誌謝

首先,我要感謝指導教授 賴玲瑩老師,在這一年多來的照顧和

教導,使得我的學習研究過程能夠順利進行。同時也要感謝大葉大學

的周鵬程教授,在學問上及知識上的啟蒙和指正,論文的程式可以進

行的如此順利周老師給予我相當大的幫助。最後還要感謝口試委員本

校洪穎怡老師、中山科學研究院的練福人老師對本文的細心閱讀與指

正。

其次,要感謝研究室的愈仁、培鈞等同學,大葉大學的李志偉同

學,在論文撰寫中給予相當多的意見。此外,我也要感謝中科院的曾

世峰學長,在尋找國防役期間給予我相當多的意見;感謝我的好友張

慧玉,在這一年多來陪我渡過研究所生活,在我最無助時,給予我相

當多的幫助。

最後,我要感謝我的父母及家人,由於他們的鼓勵與支持,才能

使得學業及論文順利進行。在此與大家分享論文的完成與喜悅!

董義雄

民國九十二年六月

中原大學

Page 5: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

IV

目錄

中文摘要……………………………………………………………I

英文摘要……………………………………………………………II

誌謝…………………………………………………………………III

目錄…………………………………………………………………IV

圖目錄………………………………………………………………VI

表目錄………………………………………………………………VIII

第一章 緒 論……………………………………………...1

1.1 前言…………………………………………………….1

1.2 研究動機與目的……………………………………….1

1.3 研究背景……………………………………………….3

1.4 研究步驟……………………………………………….5

1.5 本論文貢獻與大綱…………………………………….6

第二章 滑動模式概要、模糊概要與基因演算法概要….7

2.1 前言…………………………………………………….7

2.2 滑動模式概要………………………………………….7

2.3 模糊概要………………………………………………16

Page 6: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

V

2.4 基因演算法概要………………………………………27

第三章 控制法則設計與實驗結果……………………..39

3.1 前言…………………………………………………...39

3.2 直流無刷馬達伺服控制架構………………………….39

3.3 馬達系統鑑別………………………………………….40

3.4 利用模擬方式以 AGA設計 FSMC…………………..46

3.5 實驗系統………………………………………………56

3.6 實驗結果……………………………………………....58

第四章 C語言程式碼……………………………………64

4.1 程式語言介紹…………………………………………64

4.2 程式碼…………………………………………………66

第五章 結論……………………………………………….74

參考文獻…………………………………………………..76

作者簡歷…………………………………………………..81

Page 7: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

VI

圖目錄

圖 1.1直流無刷馬達伺服控制系統方塊圖…………………………2

圖 2.1模糊控制器基本架構…………………………………………17

圖 2.2模糊估測( fuzzyK )歸屬函數……………………………………18

圖 2.3 fuzzyU 歸屬函數………………………………………………..18

圖 2.4 模糊推論過程………………………………………………..24

圖 2.5 適應性基因演算法運算流程圖……………………………..28

圖 2.6 俄羅斯輪盤選擇法…………………………………………. 33

圖 3.1 傳統三相多重控制迴路之硬體架構………………………..40

圖 3.2 傳統三相多迴路控制方塊圖………………………………..41

圖 3.3 三相單一迴路控制方塊圖…………………………………..42

圖 3.4 本文採用之單相單一迴路控制方塊圖……………………..42

圖 3.5 馬達開迴路及閉迴路系統之位置步階響應………………..44

圖 3.6 馬達系統鑑別架構…………………………………………..44

圖 3.7 馬達位置閉迴路模擬響應與實際響應比較………………..45

圖 3.8 FSMC應用於馬達控制架構………………………………...47

圖 3.9 fuzzyU 之傳統控制架構……………………………………….47

圖 3.10 fuzzyU 之本文控制架構……………………………………...48

Page 8: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

VII

圖 3.11 AGA收斂速度的比較……………………………………..48

圖 3.12 傳統架構與本文架構輸出響應之比較…………………...49

圖 3.13 fuzzyK 估測法則架構………………………………………...49

圖 3.14 fuzzyU 控制法則之歸屬函數………………………………...51

圖 3.15 fuzzyK 估測法則之歸屬函數………………………………...51

圖 3.16 與尺度因子結合的模糊邏輯控制器……………………....52

圖 3.17 AGA調整 FSMC之架構…………………………………...54

圖 3.18 適應函數演化曲線…………………………………………54

圖 3.19 位置閉迴路控制之模擬響應(命令 360度)……………….56

圖 3.20 馬達、功率放大器與數位控制板照片…………………...57

圖 3.21 位置閉迴路控制之 Simulink介面方塊圖………………...59

圖 3.22 模擬數據之實驗響應(命令 360度)……………………….60

圖 3.23 模擬響應與模擬數據實驗響應之比較(命令 360度)…….60

圖 3.24 微調後之實驗響應(命令 360度)………………………….61

圖 3.25 模擬響應與微調後實驗響應之比較(命令 360度)……….62

圖 3.26 720度命令之實驗響應……………………………………..63

圖 4.1 C語言控制程式模組化流程圖……………………………...65

圖 4.2 Simulink之模擬架構………………………………………...65

Page 9: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

VIII

表目錄

表 2.1 模糊集合語性值代表…………………………………………20

表 3.1 馬達系統的鑑別參數…………………………………………45

表 3.2 fuzzyU 控制法則之規則庫(未最佳化)………………………….52

表 3.3 fuzzyK 估測法則之規則庫(未最佳化)………………………….52

表 3.4 fuzzyU 控制法則規則庫(最佳化)……………………………….55

表 3.5 fuzzyK 估測法則規則庫(最佳化)……………………………….55

表 3.6 FSMC控制增益(最佳化)……………………………………...55

表 3.7響應結果之比較…………………..…………………………...63

Page 10: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

1

第一章 緒 論

1.1 前言

本章節將針對研究動機與目的、研究背景、研究步驟、本論文貢

獻與論文大綱作一簡單介紹,其中包含直流無刷馬達的向量控制法

則、模糊滑動模式控制與基因演算法的背景介紹。

1.2 研究動機與目的

隨著時代的演進,現代高科技的工業社會中,由於競爭激烈,因

此傾向產業自動化並降低經濟成本以提高競爭力,其中直流無刷馬達

因具有轉子轉動慣量小、起動性能好、散熱效果強、體積小、且能承

受較高轉速與負載量等特性,已漸漸地取代直流有刷馬達而被廣泛地

運用在各種自動化工業場合,因此本文便以直流無刷馬達當作本文的

實驗主體。

直流無刷馬達伺服控制系統如圖 1.1所示,其中位置迴路是本文

的主控制迴路,其主要功用在於追蹤位置命令並消除外來雜訊對位置

輸出的干擾。因其為外層配置,對馬達輸出位置之影響甚鉅,故位置

控制法則的設計乃為一重要課題。

Page 11: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

2

w

v

u

w

v

u

AC

位置控制

向量控制

PWM控制

功率電晶體

交流馬達

傳 動機 構

光學編碼器

霍耳元件

iV iW

微分處理

速度回授

位置回授

位置命令

電流迴授

速度控制

圖 1.1 直流無刷馬達伺服控制系統方塊圖

直流無刷馬達位置迴路的特性在於其參數會隨著輸入命令不同

而亦有所變動。傳統的 PID控制法則需因應受控體的不同來設計 PID

控制參數,但是當馬達系統輸入命令改變時,系統參數亦可能改變,

原先設計好的 PID控制參數便不是完全適用於此馬達系統,這樣的控

制效果相對跟著不理想,而且要設計好一個具有強健性的 PID控制法

則也是相當不易的。本論文著眼於此,提出一結合滑動模式(sliding

mode)、模糊邏輯(fuzzy logic)和適應性基因演算法(Adaptive Genetic

Algorithms,簡稱 AGA)的強健位置控制法則,將可針對參數變動的

受控體進行有效的控制。

最後將本文所提出的控制法則嵌入 DSP 晶片中,以全數位化的

Page 12: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

3

伺服實驗系統來驗證本文所提出的控制法則是可行的。

1.3 研究背景

直流無刷馬達的向量控制法則在 1970 年代末期被提出來時

[1]-[2],由於計算複雜度遠超過當時類比電路能夠實現的地步,在該

時期無法以硬體實現,只能被視為一個新的馬達控制理論。不過自

1974年 INTEL提供第一個 4位元微處理機 4004,開啟了微算機新紀

元,向量控制法則的實現也有了新的轉機。1970 年代末期德國

Leonhard教授發表了兩個 8位元微處理機[3] 實現直流無刷馬達的向

量控制法則,從此為直流無刷馬達的控制開創了 80 年代蓬勃發展的

局面。在此同時電力電子元件的製作亦有了長足的進步,除了原有的

SCR以外,新的功率元件如 Power BJT(bipolar junction transistor)、

Power MOSFET等陸續推出,使電源轉換功能得以大幅提升。因此在

1980年代及 1990年代,會集了微算機技術、電力電子元件及向量控

制法則,使得直流無刷馬達在控制方面有了突破性發展,並取代直流

有刷馬達驅動器,成為產業驅動市場的主流。

本文所提出的控制法則是以 AGA 設計模糊滑動模式控制法則

(Fuzzy Sliding Mode Controller,簡稱 FSMC)應用在直流無刷馬達,接

下來將對 FSMC與 AGA作一簡介。

Page 13: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

4

由於滑動模式控制能夠提供許多優越的性能,如:降低系統參數

變動的靈敏性、抗外來負載擾動與快速動態響應[4]-[5]。所以這些滑

動模式控制的優點已被廣泛的應用在直流有刷馬達和直流無刷馬達

驅動系統的位置控制[6]-[16],亦有許多的研究在探討滑動模式控制

與模糊控制的結合設計[17]-[22]。Wu等人[18]使用滑動模式來決定模

糊控制規則的參數值;Liu 等人[19] 使用模糊控制來調整滑動曲面

(sliding surface);Ting等人[20] 提出滑動模式來建構模糊控制法則。

因為系統不確定量的邊界值實際上是很難獲得,如何有效的估測邊界

值是研究滑動模式控制的重要課題;因此, Lin 等人[11] 提出適應

模糊滑動控制法則(adaptive fuzzy sliding mode controller),利用適應法

則調整歸屬函數(membership function)的中心值,再由模糊推論機構

(fuzzy inference mechanism)來估測總集不確定量(lumped uncertainty)

的邊界值,完成滑動模式控制且可避免控制量過大,因而使切跳

(Chattering)現象得以降低。然而其規則庫的建立、控制增益的調整等

仍會因為設計者的主觀認定而造成性能響應的偏差;為了解決此一問

題,本文利用 AGA可同時進行多變數參數搜尋的優點而將規則庫與

控制增益參數一併納入最佳化的搜尋程序。

GA最初是由密西根大學的 John Holland 教授於 1975年所發展

出來的。是一種模擬『物競天擇』及『自然遺傳』中適者生存敗者淘

Page 14: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

5

汰原則的最佳化搜尋法則,其應用相當廣泛,但其交配率與突變率是

各研究者依演算法的需要適用於其特定情況而設定為常數,研究指出

其值既不能太小也不宜太大。1994 年 Srinivas 與 Patnaik 提出

AGA[23],以便於 GA計算過程中適應性地調整交配率與突變率,此

後也有相當的論文對 AGA作探討及改進[24]-[26]。

根據以上的討論,AGA可針對 FSMC中的模糊規則庫、控制增

益進行調整及訓練。本文採用以 AGA設計控制法則,以達到使誤差

絕對值和(sum of absolute error,簡稱 SAE)最小化的目的,並將模擬

的結果應用到直流無刷馬達位置控制上。

1.4 研究步驟

(1) 研讀滑動模式控制理論[5]、模糊控制理論[27]、適應性基因演

算法理論及基因演算法程式[28]。

(2) 研讀 DSP相關手冊[29]與控制旋轉馬達相關文獻。

(3) 利用Matlab/Simulink建立起本文所提出的控制法則。

(4) 建立整體系統架構,包含旋轉式馬達、數位控制器、驅動器。

(5) 將模擬架構寫成 C語言程式碼,並利用 TI 編譯器將 C語言轉

換成馬達可接受的機械碼,嵌入 DSP晶片以便進行馬達控制實

驗。

Page 15: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

6

(6) 實驗結果。

1.5 本論文貢獻與大綱

本文先以模擬方式利用 AGA來設計一具有強健性的 FSMC,再

以模擬的數據當作實驗的起始值,在實驗過程必須對模擬數值進行微

調,以便得到更良好的控制效果。經由實驗可知本文所提出的控制法

則對於馬達系統參數變動的動情況下亦能達到不錯的控制結果。

本論文共分為五章,各章節之內容大綱分別說明如下:

第一章為序論,說明本文的研究動機、研究背景、研究步驟及本論文

的貢獻。第二章為基礎理論介紹,包含了滑動模式理論、模糊理論與

適應性基因演算法基礎理論與演算架構。第三章為控制法則設計與實

驗結果,此一章節為本文的重點,裡面介紹了本文所用到的硬體架

構、直流無刷馬達數學模式的鑑別、控制法則之設計與實驗結果。第

四章為本文程式語言開發介紹。第五章為結論,對本文的研究成果作

總結與提出本論文未來可進行的方向。

Page 16: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

7

第二章 滑動模式概要、模糊概要與基因演算法概要

2.1 前言

本章節將針對滑動模式概要、模糊概要、適應性基因演算法概要

作一深入的介紹,並且說明本文為何要將滑動模式控制、模糊控制與

適應性基因演算法結合在一起。

2.2 滑動模式概要

滑動模式控制(Sliding mode control)所處理的系統是以狀態變數

方程式為對象,特別的是刻意加入了切換條件,也就是以曲面函數為

原則。曲面函數有一個特別的地方就是必須對時間可微分一次。整個

狀態空間被區分成三個部分,分別是曲面函數大於零、等於零、小於

零。在曲面函數等於零的這個子空間必須是連續的且包含了平衡點,

系統的設計目標是在曲面函數等於零的空間中產生滑動模態。當系統

在曲面函數等於零之外,必須使得所有的軌跡在有限的時間接觸到這

個空間。這一個階段稱之為迫近模態(approaching phase)。然後必須保

證在系統狀態點到達曲面函數等於零的空間時將不再脫離這個空

間,並且狀態點需朝著系統的平衡點逼近。對於單一輸入的系統具有

Page 17: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

8

一切換條件也就是順滑模態發生在順滑面上。但是對於多輸入系統或

具有多個切換條件的系統順滑模態的產生是由數個順滑面的交集的

空間中。

在何種條件之下迫近模態才存在並且產生順滑模態?在狀態空間

中定義一個時變的曲面函數 s(X;t)。前面也說過順滑曲面將空間分成

兩個部分,所謂迫近就是使系統的狀態點朝著順滑面接近。我們歸納

如下:

當曲面函數大於零時,則其函數值必須隨著時間的增加而遞減。

當曲面函數小於零時,則其函數值必須隨著時間的增加而遞增。

若以數學表示則為:

if ( ) ;0);(,0; <> tXstXs &

if ( ) ;0);(,0; >< tXstXs & (2.1)

這是一個充要的條件,亦即順滑模態存在上式一定成立,而若上式成

立則順滑模態必然存在 。

首先討論迫於條件,然而這個條件會因為不同的系統而有所差

異,但是唯一相同的就是任何的迫近條件都需要讓系統在有限時間內

接觸到順滑模態。

Page 18: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

9

底下介紹一個最常使用的迫近條件的形式:

);();();( tXstXstXs η−<& 當 0);( ≠tXs (2.2)

其中η是一個正定的常數。但是如何知道這樣的條件一定成立呢?可

以利用 Lyapunov 的原理來證明這樣的條件保證系統在有限時間之

內接觸到順滑模態。首先可以選取 Lyapunov函數:

);(2 tXsV = (2.3)

將上一式對時間 t作一次微分得到:

);();(2 tXstXsV &=

當迫近條件成立時使得:

02);(2.

<−=−<= VtXsdtdVV ηη

因此可以確定 V是一個 Lyapunov函數,且呈現遞減收斂的趨勢。

由前面的敘述知道迫近模態是連續性的軌跡,在進入順滑模態

Page 19: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

10

(或是滑動曲面等於零的空間)之後還是連續的。但是卻由不連續的切

換條件所組成的。顯然在不連續的切換條件和連續的順滑模之間一定

還存在著一層微妙的關係。Filippov[5] 提出”等效控制”的概念。如果

假設系統的狀態和控制輸入都是連續的情形下,可是一旦進入順滑模

態之後,控制輸入就以不連續的方式不斷的切換著。

不論系統在怎樣的模式下,滑動模式控制必須先將系統轉換成狀

態空間的形式。然後以狀態誤差的形式表現出來,也就是以誤差所組

成的一個線性或非線性的方程式,在方程式中可以包含系統的所有誤

差狀態。若考慮一個單一輸入動態系統:

uxbxfx n )()()( += (2.4)

x 是系統的輸出,u 是控制輸入。在上式中 f(x)一般來說,無法確切

知道,但是可以用一個已知的函數來代表 f(x)的最大或最小值。同樣

的 b(x)也可以用一個已知函數來代替其最大或最小值。因此這樣的控

制系統問題便是要追蹤一個特定時變的狀態,即便系統在 f(x)和 b(x)

有模式化過程中的不精確。而為了解決問題的方便可以將這些狀態轉

換成和目標狀態的誤差。假設 x~代表追蹤誤差 dXXX −=~,為了達成

追蹤的目的,令:

Page 20: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

11

)0()0( XX d = (2.5)

然後定義一個時變的一個函數 s(X;t) :

xdtdtXs

n~);(

1−

+= λ (2.6)

λ是一個正定的常數。因此(2.5)使得 s(X;t)=0。如此一來問題變成對

任何時間大於零而言若 dxx ≡ 則相當所有的狀態保持在 s(X;t)的表面

上。 0≡s 代表線性微分方程具有唯一解 0~ ≡x 。在(2.6)中可以看出只要

將函數微分一次就可以獲得控制力 u。

為了使得 s保持在滑動曲面上而當狀態點在曲面外時可以根據下

式來選擇系統的控制輸入。

ssdtd

η−≤2

21 (2.7)

η是一個正定的常數。(2.7)說明了到達曲面的距離平方是沿著所有路

徑方向遞減。也就是說限制了路徑必須指向曲面移動。因此只要滿足

(2.7),則一旦路徑到達曲面必維持在曲面上,也就形成了滑動條件

(sliding condition)。然而一旦在滑動曲面上,系統就如下所式:

Page 21: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

12

0~1

=

+

xdtd n

λ

再者,從(2.6)中知道一旦系統到達滑動曲面或順滑模態之後,系統的

追蹤誤差會成指數型態收斂到平衡點。

2.2.1 滑動模式控制的基本特性

經由上述討論得知滑動模式控制法則其基本特性如下︰

(1) 根據系統的特點來選取一個適當的滑動曲面函數。

(2) 曲面函數必須是追蹤誤差函數,然後在利用這個曲面函數取得

所需要的控制輸入。

(3) 控制輸入函數的選取必須滿足迫近條件。

(4) 系統反應速度快,具有對參數不確定性的強健性。

2.2.2 控制輸入函數推導

考慮以下模型(本文以此模型說明本文控制法則的由來):

UFRXKXXCXM +=+++ 3&&& (2.8)

M:質量

Page 22: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

13

C:阻尼

K:彈簧系數

R:硬彈簧系數

F:外力

U:控制輸入

這是一個二階的系統但是具有一個非線性的三次方項。首先考慮希望

系統的追蹤誤差收斂速度能夠加快,由誤差函數知道曲線的斜率是愈

大愈好,但是這樣一來卻導致系統在迫近模態(approaching phase)中的

收斂速度降低。所以曲線斜率的選取亦是一重大課題,為了得到一適

當的斜率,本文以 AGA進行參數搜尋。

考慮下面的滑動曲線:

0=+= ees λ& (2.9)

其中 e代表追蹤誤差,λ是曲線斜率。對於一個控制系統希望得的當

然是控制輸入,因此直接將上式做一次微分,可以得到如下的式子:

Page 23: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

14

)exp( te ⋅−= λ

在此可以看到系統的誤差函數,只要將λ數值選取愈大那麼系統的誤

差值就收斂愈快。

因為我們的目的是希望獲得控制輸入 U,因此考慮將(2.9)微分一

次得到下式:

0=+= ees &&&& λ (2.10)

從(2.8)知道 [ ]UFRXKXXCM

X ++++−

= 31 &&& ,代入上式可以得到:

( ) [ ] eUFRXKXXCM

eXXs d λλ +++++−

=+−= 31 &&&&&&

然後定義另一個控制輸入力U,也就是說當 0=s& 時所應該的控制

力。那麼U如下所示:

[ ] eMFRXKXXCU λ++++−= ˆˆ 3& (2.11)

F是 F的預估值。由於本文的受控系統具有有隨輸入命令不同而微量

改變的特質,也就是鑑別出來的系統參數並不是很精確的,所以本文

Page 24: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

15

利用模糊控制法則的優點來替代U。但系統還需要另外一項來抑制不

確定性,從另一個觀點來看就是在跨越滑動曲面時的不連續控制力,

因此整個控制輸入為:

)sgn(ˆˆ)( sKUtU fuzzy −=

sgn函數定義為:

sgn(s)=+1 if s > 0

sgn(s)=-1 if s < 0

可以選擇 ),(ˆˆ XXKK &= ,如此一來就可以滿足(2.7) :

[ ] ( ) sKsFFssKFFsssdtd ˆˆ)sgn(ˆˆ

21 2 −−=−−=⋅= &

η+−= FFk ˆˆ (2.12)

然而 K的數值是隨著系統的不確定性參數範圍而增加的,由於要得到

一精確的 K有其困難之處,本文在此用模糊估測器估測 K。經由以上

的討論可以歸納本文所提出的控制律如下:

)sgn(ˆˆ)( sKUtU fuzzyfuzzy −=

Page 25: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

16

2.3 模糊概要

模糊理論是由美國加州大學(L. A. Zadeh) 教授於 1965年所發表

的,他提出了模糊集合 (Fuzzy set) 的觀念,強調以模糊邏輯來描述

現實生活中事物性質的等級,以彌補傳統集合中,以二值邏輯來描述

事物的缺點。基本上而言,模糊集合與傳統集合在觀念上只有少許的

差異,模糊集合可視為傳統集合的擴展,它取具無限點的「歸屬函數」

來描述一個集合,而在傳統集合中,則只取 0與 1兩個「特徵函數」

值來描述一個集合。所以事實上,我們可以認為傳統集合是模糊集合

的一個特定形式。依照模糊理論及結合專家系統(expert system) 所發

展的模糊邏輯控制法則(fuzzy logic controller),簡單來講是以 IF∼

THEN 形式,來表示專家或控制人員判斷的控制演算法。E. H.

Mamdani 教授於 1974 年在蒸汽機自動運轉控制上成功地驗證了模

糊邏輯控制器的優越性能,此後便造成一股研究風潮。以模糊理論所

實現的控制器大至上分為四個部分(圖 2.1):模糊化介面(fuzzification

interface)、知識庫(knowledge base)、推論機(inference engine)、解模

糊化介面(defuzzification interface)。以下就這四部分簡單的加以說明:

Page 26: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

17

Renferenceinput Fuzzification

interfaceInferenceengine

Defuzzifica-tion

InterfacePlant

Knowledgebase

+ _

圖 2.1 模糊控制器基本架構

(一) 模糊化介面

在設計模糊控制法則時,首先我們必須先決定控制器的輸入與輸

出變數,一般是依據系統特性與控制目的之權衡選擇,其決定的方式

有二:

(1) 依據專家的知識與操作員的經驗。

(2) 以感測器(sensor)量測到的信號,及對受控系統輸出響應有

決定性影響者,如感測器的量測誤差、系統本身的誤差等。

在成本與實際複雜度的考量下,應儘量設法減少輸入與輸出變數

個數。因此本文在模糊估測( fuzzyK )部分採用一個輸入及一個輸出(圖

Page 27: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

18

2.2) , fuzzyU 部份採用二個輸入及一個輸出(圖 2.3)。

圖 2.2 模糊估測( fuzzyK )歸屬函數

圖 2.3 fuzzyU 歸屬函數

模糊化介面的功能便是接受由受控系統量測出的狀態變數明確

Page 28: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

19

值(state variable crisp value)與輸入之命令值(或參考值),依適當的語

言,將所收到的資料,映射到對應的模糊空間上,使原本的數字化為

口語項。設計此介面的方法首先針對各輸入、輸出變數的變動範圍考

慮它們的全集合 (universal set),然後決定其模糊分隔 (fuzzy

partition),並將輸入及輸出變數的全集合分割成m及 n個模糊集合。

X11,---,X1m ∈ F(A) X21,---,X2m ∈ F(B) U 1,---,Um ∈ F(C) ( 2 . 1 3 )

其中 iX1 、 iX 2 及 iU 分別為輸入、輸出變數 1x 、 2x 及u之模糊集合,

)(AF 、 )(BF 及 )(CF 則代表在輸入、輸出變數之全集合 A、B、C中

所有模糊集合的聯集。由於輸入模糊集合的個數,關係著模糊控制法

則前鑑部(antecedents)的組合數,直接影響到控制規則的數目,因此

對於m的選取,端賴設計者視系統之需要,於精確性與簡單性之間求

得平衡點,一般以不超過 9個模糊集合為佳。本文在模糊估測( fuzzyK )

部分,前鑑部和後鑑部(consequents)皆是採用 3個模糊集合(圖 2.2);

在 fuzzyU 前鑑部採用 3個模糊集合,然而後鑑部由於考量到控制精度的

因素,所以將模糊空間切割成 9 個模糊集合(圖 2.3)。每個模糊集合

皆有個語性值代表其模糊狀態,本文以表 2.1當作模糊集合語性值代

表。

Page 29: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

20

PVB (Positive very big)

PB (Positive big)

PM (Positive medium)

PS (Positive small)

Z0 (Zero)

非常大 正大 正中 正小 零

NS (Negative small)

NM (Negative medium)

NB (Negative big)

NVB (Negative very big

Z0 (Zero)

負小 負中 負大 非常小 零

表 2.1 模糊集合語性值代表

當受控系統量測的明確值送到模糊控制系統中,模糊化介面便將

收集到的資料映射到模糊集合上,亦即將原來的數字映射至歸屬函數

上,一般而言其值域皆介在[0,1]範圍內。在決定語言變數的歸屬函數

時,必須注意以下的因素:

(1) 嚴謹性︰不同形狀所定義的歸屬函數,所產生的控制效果,是

有很大的差別的,換言之如果控制者要求較嚴謹,則必須選擇斜

率較陡的,以便於當論域稍微有變動時能作明顯的表現。

(2) 涵蓋性︰當我們在考慮歸屬函數涵蓋的程度時,原則上是讓論域

中的每一元素,所對應的歸屬值不可太低,如此方能考慮到每一

元素。

(3) 重疊性︰對於歸屬函數之間的重疊程度,一般來講重疊的程度越

大時,模糊控制器對系統的行為變化將有較好的適應性,但原則

Page 30: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

21

上仍不可過於重疊以免兩個歸屬函數的值很難被區分,詳細的內

容請參考[30]。

一般常用的連續型模糊變數歸屬函數如圖 2.3,由於三角形歸屬

函數具有線性性質且計算容易,因此一般模糊控制法則設計以三角形

歸屬函數最常見。

(二) 知識庫

模糊控制器人性化的特性主要仰賴知識庫中之資料庫(data base)

和模糊規則庫(fuzzy rule base)的建立︰

(1) 資料庫︰主要提供每一語言變數(即以自然語言的字或句子定義

為模糊集合) 所需要的定義,例如:輸出入變數的模糊分隔、歸

屬函數的論域大小、形狀等等,及配合模糊關係合成運算子

(compositional operators)與解模糊化的運算法則等,這些知識將

用來提供模糊化、推論機、解模糊化等構件執行時使用。

(2) 模糊規則庫︰它代表著整個控制系統的思考法則,其中所儲存的

控制規則,是結合人們智慧,把受控體的各種可能的狀態,以

if-then 條列式的形式表成包含人類判斷之模糊性的控制演算法

則,設計的好壞影響到整個控制效果。一般形式表示如下:

Page 31: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

22

IF < condition i > THEN < action > i=1,2,…q (2.14)

q為控制規則個數,其中前件部是此系統有可能會遭遇到的狀

況,而後件部是控制器在此狀況下對應所得之控制訊號。規則

庫產生的方式一般有下面幾種方法:

直接轉換操作員的操作技巧與經驗為模糊語言控制規則。

根據受控體對控制輸入與系統輸出的反應去歸納受控行

為,以試誤法進行設計。

經由控制系統本身進行學習或修正控制規則,這是較系統

化的作法。

(三) 推論機

當控制法則的輸入已模糊化之後,接著必須依所觸動的控制規

則,進行合成運算,以便推論出想要的輸出。模糊推論便是藉由模糊

邏輯的運算來模擬人類思考判斷的方式,挑選模糊規則庫中適用的語

意化控制法則,以並行的方式對輸入的模糊化變數作運算,去求得模

糊化之輸出。以下就簡單之模糊推論法,以一個雙輸入單輸出之模糊

系統,說明兩個規則同時存在時,其推論之處理步驟。

Page 32: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

23

022221222

12121111

is is then is and is if : R

is then is and is if : R

UuUuXxXxUuXxX x

(2.15)

模糊控制法則之輸入不是模糊的,而是明確的數值。其推論過程

(圖 2.4(a)),可分成下列三個步驟:

(1) 首先對 if 部分(condition part)各條件( jij Xx is )根據已知的輸入

值 0

1x 、 0

2x ,計算各法則前件部之歸屬函數值 ri ,也就是對

各輸入變數所對應的模糊集合之歸屬度取最小值或最大值,圖

2.4是以最小值為例。

(2) 對 ri 及 then 部分(action part)的輸出( i is Uu )模糊集合取邏輯積

(min),作為各法則的結合程度值,得到其對應之推論結果 iU ,

此即為最簡單之切頭法,如圖 2.4(a)。

(3) 最後對整個規則群作模糊邏輯和(max),綜合各法則之推論結果

iU ,計算出整體之推論結果。

以上是推論過程中最為常見的一種方法,我們稱它為

min-min-max,另外一種推論方式和上述之作法大致相同,但步驟(2)

中的邏輯積改成代數積(algebraic product),(圖 2.4(b)),與前者相比會

有較平滑之推論結果,我們稱此法為 min-product-max。

Page 33: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

24

11X 21X

12X 22X1x 2x

1x 2x

2U

1U

2r

1r

01x 0

2x

u

u

u

0U

(a) 推論法 1

12X

11X 21X

22X

1U

2U1x

1x

2x

2x

1r

2r

u

u01x 0

2x

u

0U

(b)推論法 2

圖 2.4 模糊推論過程

(四) 解模糊化介面

解模糊化便是將推論所得的模糊結果,轉化為一明確的輸出值,

以便對受控體進行控制。底下介紹幾種常見的方法,至於該使用何種

方法,習慣上還是取決於問題的特性和設計者的喜好。

(1) 最大歸屬度法(maximum membership value )

此法是在輸出的模糊集合中,選擇歸屬度最大的元素,作為解模

Page 34: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

25

糊輸出的操作量。

例如:30

23.0

18.0

01

18.0

23.0

30

++++−

+−

+−

=u

因元素 0的歸屬度為 1,按照最大歸屬度法原則,輸出 0=u 。

(2) 加權平均法(weighted average )

所謂的加權,是把元素的歸屬度拿來當作加權的係數,以便考慮

每一元素實際的貢獻,因此對模糊貢獻而言,可做到比最大歸屬

度法更精緻的控制。公式如下:

∑ ×=

i

iii

hzhzu )( (2.16)

例如:30

23.0

18.0

01

18.0

23.0

30

++++−

+−

+−

=u

輸出 02.3

03.08.018.03.0

3.028.01108.0)1(3.0)2(==

++++×+×+×+×−+×−

=u

Page 35: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

26

(3) 重心法(Center of Area,COA)

此法是計算推論結果其面積的重心點,並以此點的值作為輸出

量,故輸出u可寫為:

∫∫ ×

=dzzh

dzzhzu

)()( (2.17)

2.3.1 模糊控制法則的基本特性

經由上述討論得知模糊控制法則其基本特性如下:

(1) 簡化系統設計的複雜性,特別適用於非線性、時變、模型不完全

的系統上。

(2) 利用控制法則來描述系統變數間的關係。

(3) 不用數值而用語言式的模糊變數來描述系統,模糊控制器不必對

被控制對象建立完整的數學模式。

(4) 模糊控制法則是一語言控制器法則,使得操作人員易於使用自然

語言進行人機對話。

(5) 模糊控制法則是一種容易控制、掌握的較理想的非線性控制器,

具有較佳的適應性及強健性(robustness)、較佳的容錯性(fault

tolerance)。

Page 36: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

27

2.4 基因演算法概要

GA 的基本理論基礎是由密西根大學的 John Holland 教授於

1975 年首先提倡,是基於過程的一種最佳化搜尋機構。其基本精神

在於仿效達爾文的物競天擇觀念,模擬自然界中『適者生存,不適者

淘汰』的進化法則,亦即從母代中保留具有較好特性的物種(染色

體),並且隨機性的相互交換彼此的資訊(基因),以期望能夠產生較母

代更優秀的子代,如此重複下去以產生適應能力最強的最佳物種。目

前有許多研究提出各式各樣的 GA,但其基本架構都非常類似,簡單

來講,GA 有六個因素必須考慮:定義染色體字串 (chromosome

string)、選擇族群大小 (population size)、定義適應性函數 (fitness

function)、如何複製(reproduction)、交配(crossover)及突變(mutation)。

基因演算法的整體流程架構圖如圖 2.5,若需更詳細內容可參閱[31]。

Page 37: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

28

開始

隨機產生初始族群

計算適應函數值

是否滿足終止條件

複製

計算Pc及交配

計算Pm及突變

最佳參數解

圖 2.5 適應性基因演算法運算流程圖

(一) 定義染色體字串

GA將每種搜尋參數的可能解以字串的形式表示,此字串稱為染

色體,不同的染色體代表不同的參數解集合,染色體內部的個別字元

稱為基因(genes)。為了有效的搜尋參數,首先必須先確認每個參數的

搜尋範圍,並將每個參數以固定長度字串予以編碼(encoding)。最常

用的編碼方式有二進位碼(binary code)及實數碼(real code),舉例如下:

二進位碼 : [0 1 1 0 1 0 0 1 1 0 1 0]

Page 38: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

29

實數碼 : [2.5 17 2 11 10 0.34 9 7]

依其搜尋參數的多寡或範圍予以取捨,且參數搜尋的解析度

(resolution)決定於每個參數編碼的長度(二進位碼)或搜尋的離散度

(實數碼)。雖然越長或離散度越高的編碼位元可得到越高的解析度,

但相對必須犧牲運算速度及浪費記憶體空間,所以必須依問題的複雜

性予以取捨。

(二) 選擇族群大小

族群大小即是我們設定一個族群中有多少組可能解,或稱多少組

染色體,或多少組個體(individuals)。選擇適當的族群大小是實現 GA

的基本課題。如果族群大小太小則 GA會收斂得太快,且常常會因族

群訊息的不夠充分而導致較差的解。如果族群大小太大則 GA將收斂

得太慢而導致搜尋時間過長。故應該在這兩者之間取得一平衡來應

用。Grefenstette [32]曾提出如何選擇 GA中的族群大小以使控制參數

達到最佳化,其實驗結果顯示每個族群 10到 160組染色體為最佳,

類似的研究可參考[33],本文採用 40組染色體。

Page 39: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

30

(三) 定義適應性函數

在 GA中,適應函數的選取是非常重要的,因為所訂出來的適應

函數代表基因演算法的性能指標(performance index,簡稱 PI)。例如:

22121 4),( vvvvf += ,其中 iv 稱為函數 f 的參數。GA的目的就是要找

到使 f 函數值最大的參數向量 ),( 21 vv ,一般來說,我們希望適應度越

大越好,此外適應函數的不同會造成系統響應的不同及最佳化的搜尋

問題。

本文為一求極小的問題(SAE),但本文 AGA 的適應值是越大越

好,因此可將極小的問題取倒數分之一,如此一來適應函數值即變成

越大越好︰

適應函數值=SAE

1 (2.18)

而適應函數以誤差準則來說,大致上有下列幾種:

(1) 平方誤差的積分準則(sum of square error criterion,SSE)

2

0( )

N

ke k

=∑ (2.19)

Page 40: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

31

(2) 平方誤差與時間乘積的積分準則 (sum of time square error

criterion, STSE)

2

0

( )N

kke k

=∑ (2.20)

(3) 誤差絕對值的積分準則(sum of absolute error criterion,SAE)

0

( )N

ke k

=∑ (2.21)

(4) 誤差絕對值與時間乘積的積分準則(sum of time absolute error

criterion,STAE)

0

( )N

kk e k

=∑ (2.22)

每一種目標函數的設定都有其物理意義:以 SSE與 SAE來說,它

們注重全區域的平均響應,但若系統存在微小的穩態誤差(steady state

error)則很可能被忽略。反之,STSE 與 STAE則較 SSE與 SAE能察覺

到穩態誤差的存在但暫態方面的響應相對較差。

Page 41: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

32

(四) 複製

複製亦即將舊的一代中挑選出較好的染色體或個體到下一代

中。它模擬自然界的選擇過程,將每個染色體依適應度的高低來決定

其被複製到下一代的機率。故經適應函數評比之後而有較高適應值的

染色體,即有較高的機率被複製。如果一個族群中共有n個染色體則

經過複製運算作用後必仍有n個染色體存在。然後這n個新的染色體

將被放到一個稱為交配槽(mating pool)的緩衝區(buffer)中以待進一步

的運算。複製的方法有數種,本文選用輪盤法(roulette wheel method)。

簡單介紹如下:

根據族群裡每個染色體(個體)適應度所佔的百分比來決定其被

挑選的機率;亦即適應度越高者越容易被挑選,在此將列出複製的關

係式子:假設有一個族群,其大小為n個個體,且每一個個體所對應

的適應函數值分別表示為 ),...,3,2,1( nifi = ,則在此族群中,每一個體

被拷貝到下一子代的機率為:

∑=

= n

jj

ii

f

fp

1

(2.23)

其中 ip 是第 i個染色體被選取的機率, if 是第 i個染色體的適應值,

Page 42: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

33

∑=

n

ijf

1全體染色體適應值的總合,至於每一個體被複製到下一子代的

個數可由 ii pnn ×= 得到。

如果以賭輪盤的方法來看,把依輪盤分成甘扇形,面積越大的編

號,越容易中獎,因此獎金低會比較低。以適應函數觀點來看,其值

越大者所佔面積也就越大。圖 2.6為俄羅斯輪盤選擇法,整個輪盤面

積為 nS ,假設 1號個體的適應值比較小,故所佔的面積也比較小;4

號個體的適應值最大,故所佔的面積也最大。選擇配種代表,就像轉

輪盤射飛鏢一樣,面積大者被選中的機率比較高。

圖 2.6 俄羅斯輪盤選擇法

(五) 交配

所謂交配過程即隨機(random)的選取族群內的個體,根據交配機

率選擇兩個個體配成一對,藉由兩個體間相互交換字串中的部分位

Page 43: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

34

元,以組成另外新的兩個個體的一種運算過程,其目的是想要藉此過

程,產生比上一代更好的個體。其方法主要有兩種(本文採用單點交

配):

(1) 單點交配(single-point crossover)

單點交配就是在所選出的兩字串中,隨機的選取一交配點(mating

point),並交換兩字串中此交配點後的所有字元,例如:

A=010101 A=010111

交配後......>

B=101011 B=101001

(2) 雙點交配(double-point crossover)

雙點交配是在所選出的兩字串中,隨機的選取兩個交配點,並交

換兩個字串中兩個交配點間的所有字元,舉例如下:

A=010101 A=000111

交配後......>

B=101011 B=111001

Page 44: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

35

交配的過程中雖然包含許多隨機性,但並非無目標的到處搜尋,

因為在作交配之前,已經把適應力強的物種複製到子代中,因此當交

配取其位元交換時,將可產生適應力更佳的物種。

(六) 突變

突變運算子是為了尋找更寬廣的參數空間以獲得整體最佳解。它

能引進新的基因式樣避免過早收斂而不致陷入局部最佳解。突變是一

個隨機過程,突變機率都設在 0.01至 0.08之間,設 0使得 GA得不

到最佳解,設太大則 GA收斂不起來。假如有 100染色體,突變機率

為 0.08,則平均有 8個染色體會進行突變(由產生的亂數決定)。一般

突變只是在位元串中任選出一位元,原來是 0則變成 1,原來是 1則

變成 0,任選當然是看亂數給的是多少,舉例如下:

1001 0011突變後.....>1001 1001

2.4.1 基因演算法的基本特性︰

經由上述討論得知基因演算法其基本特性如下︰

(1) GA是以參數集合的編碼方式進行而不是參數本身,因此可以跳

脫搜尋空間分析上的限制。

Page 45: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

36

(2) 傳統上,許多找最佳解的方法都是在搜尋空間中的某一個點,利

用某些轉移規則(transition rule),決定下一點該往何方向移動,

這種點對點(point to point)的搜尋法則較容易陷入局部最佳解,尤

其對多峰谷函數極容易找到錯誤的峰值。GA藉著交配、突變的

族群進行多點搜尋,較不易落入局部最佳值。

(3) GA只使用適應函數的資訊,也就是成本函數(cost function),而

不需要其他的輔助資訊(例如連續、可微分…),因此可適用於各

種型態的適應函數,藉由”適者生存,不適者淘汰”的觀念,一代

一代繁衍保留優良染色體,淘汰不良染色體,逐漸找到最佳解。

(4) GA使用隨機性的(probable)規則方式去引導搜尋方向,而非確定

性的(deterministic)方式,且其搜尋的方向及區域必須根據適應值

隨時調整。

2.4.2 適應性基因演算法

交配率與突變率為GA交配與突變運算時染色體內基因選擇與改

變的依據,就傳統 GA而言,其交配率和突變率的設定是整體性的,

如果其值設得太小易使系統陷入區域極值,反之若值設得太大,固然

能使系統跳離區域極值,但是因為突變或交配的次數太頻繁,很容易

使系統又陷入另一不確定的區域之中,使系統再次不穩定而無法收

Page 46: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

37

斂。有鑑於此,Srinivas與 Patnaik提出適應性基因演算法 AGA[23],

AGA是依各個體適應值的結果動態地調整交配率 cp 與突變率 mp 。在

此將某一世代的最高適應值與平均適應值分別以 maxf 及 avgf 表示,[23]

觀察到當 GA 收斂到區域極值時 avgff −max 會逐代遞減,故為避免陷

於區域極點,就有必要適應性的調整 cp 與 mp ,因此每代的 cp 與 mp 可

與其當代的 avgff −max 成反比。此外, cp 與 mp 應與當代族群中適應

值的大小有關,適應值越接近 maxf 者 其 cp 與 mp 應較低。假設欲交

配的母代個體適應值分別為 if 及 jf ,而 'f 為其中較大值,即

),max('ji fff = ,則 cp 應與 '

max ff − 成正比;再令 f 為突變時母代的

適應值,則 mp 應與 ff −max 成正比。最後,考量到 cp 與 mp 之最大值

為 1,因此 'f 與 f 需以 avgf 為分界,當 avgff <' , avgff < 時則分別

令 mc pp , 為 43 ,kk ;[23]得到 AGA的標準式如下:

<=

≥−−

=

,

,

'3

'

max

'max

1

avgc

avgavg

c

ffkp

ffffffkp

(2.24)

<=

≥−−

=

,

,

4

max

max2

avgm

avgavg

m

ffkp

ffffffkp

(2.25)

Page 47: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

38

本文將 AGA的交配參數 1k 、 3k 值及突變參數參數 4k 、 2k 值皆設

為 1。[26]發現(2.24~2.25)式其缺點在於僅著眼點於同一代間個體的

cp 與 mp 值之合理性,然而 cp 與 mp 的設定應該是要考量整體性的(代

與代之間),對於與其他代間的關係若互不相關,這會造成不同代間,

個體適應值較高的 cp 、 mp 分別與個體適應值較低的 cp 、 mp 具有相

同的值甚至更低,更甚者,還有可能會造成區域極值的情況發生。因

此[26]採用最理想狀態下的適應函數值來取代每代最佳值的方式藉

以解決上述問題,即以理想最高值 100取代式中之 maxf 。

Page 48: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

39

第三章 控制法則設計與實驗結果

3.1 前言

本章節將針對本論文實驗所用到的直流無刷馬達系統架構、馬達

數學模型的鑑別(系統鑑別)以及控制法則的設計作一深入的探討。最

後並將設計好的控制法則應用到直流無刷馬達,實驗過程必須對控制

增益進行微調,以得到較良好的輸出響應,並且驗證本文所提出的控

制法則是具有強健性的。

3.2 直流無刷馬達伺服控制架構

直流無刷馬達的控制迴路設計,較直流有刷馬達複雜,主要的區

別在於內迴圈的電流迴路旋轉磁場的建立,其使用定子上的三相線

圈,而且各相線圈的激發,必須由轉子的位置加以決定。在實用上,

轉子的絕對位置可由霍耳元件(Hall Sensor)加以量測,然而廠商的霍

耳元件所能提供的轉子位置解析度只能達到 60 度,所以必須再利用

光學編碼器的訊號加以輔助,以提高轉子位置的解析度。參考圖 3.1,

可知向量控制方塊中,除了由速度控制迴路來的控制訊號之外,還必

須加入由霍耳元件所提供的 U、V、W電流訊號,以及光學編碼器的

位置回授訊號。

Page 49: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

40

w

v

u

w

v

u

AC

位置控制

向量控制

PWM控制

功率電晶體

交流馬達

傳 動機 構

光學編碼器

霍耳元件

iV iW

微分處理

速度回授

位置回授

位置命令

電流迴授

速度控制

圖 3.1傳統三相多重控制迴路之硬體架構

除了向量控制方塊之外,由於使用三相線圈,因此對進行電流回

授控制時,必須至少回授三相中的任何二相電流,方能達到控制的目

的。至於未加回授的相電流,可由三相電流相加為零的性質,加以計

算求得。至於在外迴圈的位置、速度控制迴路的架構上,就跟直流有

刷馬達相同。

3.3 馬達系統鑑別

一般而言,要設計 FSMC 是不需要馬達的數學模型,但因為本

文是以模擬方式設計 FSMC,所以在進行模擬前必須先知道馬達的數

學模型,然而因為廠商所給的馬達數學模型只適用於具有電流迴圈及

Page 50: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

41

速度迴圈的控制架構,因此廠商所給的馬達數學模型並不適用於本文

的控制架構,所以馬達系統的鑑別是進行模擬前的重要步驟。

由於要建立一個傳統的直流無刷馬達控制系統如圖 3.2所示,應

該要依據馬達工作原理,並針對各控制迴路的重要參數,加以回授並

控制調整之,其控制迴路由內而外包括電流、向量、速度與位置等四

大控制迴路。就傳統而言,要設計控制法則時,首先經由對內迴路的

控制和化簡,可以將原先複雜的高階系統(圖 3.1 的交流馬達方塊),

隔離成各個獨立的低階系統(一階系統)分別設計之(如圖 3.2中的電流

模型、速度模型及位置模型等方塊),其中電流控制 1 與電流控制 2

為相同的控制法則,所以在設計時只要設計電流控制 1即可。但這樣

變成要設計許多個控制法則,也是相當麻煩的方法,所以本文在設計

控制法則時,對於內迴路,包括電流、速度皆省略之,只進行位置迴

路控制之設計及實驗,見圖 3.3。

PositionController

Vector Control

+

-

+

-

+-

+

-

U

V

W

VelocityController

CurrentController1

CurrentController2

CurrentModel

VelocityModel

PositionModel

PositionCommand

Velocity Feedback

Position Feedback

PositionOutputθθ&

圖 3.2傳統三相多迴路控制方塊圖

Page 51: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

42

PositionController

Vector Control

+

-

U

V

W

CurrentModel

VelocityModel

PositionModel

PositionCommand

Plant

PositionOutput

Position Feedback

θθ&

圖 3.3三相單一迴路控制方塊圖

參考[34] 可以得到三相直流無刷馬達架構轉換成單相直流有刷

馬達的數學架構(圖 3.4),如此一來本文便將位置控制迴路的馬達系

統假設成高階(三階)的拉氏轉移函數來鑑別,但由於轉速(θ& )的積分即

是角度(θ ),所以此馬達的數學模型可表示成式 3.1。

PositionController

+

-

PositionCommand

Position Feedback

)(sIPlant(G(s))

PositionOutput

)(sθ

圖 3.4 本文採用之單相單一迴路控制方塊圖

sbassK

sIssG 1)()()( 2 ⋅

++==

θ (3.1)

Page 52: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

43

參數 K、a、b 之鑑別,先給直流無刷馬達一步階輸入訊號,然

後將馬達的輸出訊號擷取出來,並將之存取在電腦裡面,取樣頻率為

100 HZ ,總執行時間為 400 ms。圖 3.5為馬達系統的開迴路(上)與

閉迴路(下)響應,本文是利用馬達系統的閉迴路響應來鑑別馬達的開

迴路數學模式參數,原因在於如果用馬達的開迴路響應鑑別馬達的開

迴路數學模式參數,很容易得到不穩定的參數,但是用馬達的閉迴路

響應鑑別馬達的閉迴路數學模式參數,再反推馬達的開迴路數學模式

參數則沒有此問題產生。觀察此輸出響應,發現此訊號有點延遲現象

產生,所以本文便將馬達的轉移函數修正為式 3.2.1。

τθ sesbass

KsIssG −⋅⋅

++==

1)()()(

2 (3.2.1)

接著利用模擬的響應和實際響應的誤差絕對值累積和(SAE)的倒

數當作 AGA的適應函數,做參數搜尋,期望得到一組最佳的參數估

測,將估測的轉移函數表示成式 3.2.2。

τθ sesbsas

KsIssG −⋅⋅

++==

1ˆˆ

ˆ

)(ˆ)(ˆ)(ˆ

2 (3.2.2)

Page 53: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

44

圖 3.6為馬達系統鑑別架構,圖 3.7為鑑別後的模擬輸出響應與

實際輸出響應的比較。鑑別後的 K、 a、 b與延遲時間 τ如表 3.1。

圖 3.5 馬達開迴路及閉迴路系統之位置步階響應

Tuning Variables

PositionCommand

G(s)

AGAOperation

e

)(ˆ sG

Motor Position Signal

Estimated Position Signal

Position Feedback

Position Feedback

圖 3.6 馬達系統鑑別架構

Page 54: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

45

圖 3.7 馬達位置閉迴路模擬響應與實際響應比較

K 3852821.914737

a 176.448941

b 55023.169935

sampling period 0.01 sec

time delay 0.01 sec

表 3.1 馬達系統的鑑別參數

Page 55: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

46

3.4 利用模擬方式以 AGA設計 FSMC

根據 3.3節的討論,本文得到馬達的數學模型如下:

0.01s2

13555023.1699s176.448941s

47373852821.91)(ˆ −⋅⋅++

= es

sG (3.3)

接著本文以模擬方式(模擬軟體以 Matlab 搭配 Simulink 為主)利

用 AGA 設計最佳 FSMC。FSMC 的控制定律推導以敘述於 2.2 節,

若將其應用於馬達控制,則其架構如圖 3.8所示,馬達系統的輸入控

制量為 fuzzyU 控制法則與 fuzzyK 估測法則的線性組合,值得注意的一點在

fuzzyU 制法則部分,就傳統而言,模糊控制輸入通常是以誤差與誤差變

化率當作輸入變數(圖 3.9,式 3.4、3.5)。

誤差率 )()()( kykyke r −= (3.4)

誤差變化率 ))1()((1)( −−=∆ kekeT

ke (3.5)

但本文在進行模擬時,發現用這樣的輸入變數模擬時, AGA的

收斂速度不甚理想,基於這樣的理由,本文便提出新的控制架構如圖

3.10所示,此架構是以位置誤差與模糊控制器的前一次輸出當作模糊

輸入變數,這樣的控制架構可避免掉微分器的使用,控制法則的實現

Page 56: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

47

也變得較簡單。為了比較這兩種控制架構,以 SAE的倒數為 AGA的

適應函數對兩者進行最佳化設計,圖 3.11 是兩者的最佳化過程,由

圖可以清楚的知道,本文提出的控制架構在第 30 代就已經達到程式

所設定的中斷條件(適應值達 0.3),但是傳統控制架構卻需要到第 94

代才可到達程式的中斷條件。圖 3.12 為兩種控制架構的輸出響應比

較圖,圖 3.13為 fuzzyK 估測法則架構。

e

Fuzzy Sliding Mode Controller (FSMC)

U Plant( )

)sgn(*ˆ sK fuzzy

fuzzyU

Control Effort

Position Feedback

PositionCommand

PositionOutput

)(sθ)(sI )(ˆ sGSaturation

圖 3.8 FSMC應用於馬達控制架構

FuzzyController

KD

Error Signal

Unit Delay

Sampleing Period

Output Signal (UK)

Discrete Derivative

Saturation

Saturation

1−ZT1

KP

圖 3.9 fuzzyU 之傳統控制架構

Page 57: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

48

KP

FuzzyController

ErrorSignal

Unit Delay

OutputSignal (UK)

Saturation

Saturation

1−Z

KD

圖 3.10 fuzzyU 之本文控制架構

圖 3.11 AGA收斂速度的比較

Page 58: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

49

圖 3.12 傳統架構與本文架構輸出響應之比較

L

SeFuzzyController

ErrorSignal

Unit Delay

SamplingPeriod

Output Signal

Saturation

S Fout

T1

1−Z

Sgn

K

)(sSgn

圖 3.13 fuzzyK 估測法則架構

FSMC,其歸屬函數可分為 fuzzyU 控制法則歸屬函數與 fuzzyK 估測法

則歸屬函數,分別為 圖 3.14及圖 3.15;規則庫亦分為 fuzzyU 控制法則

Page 59: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

50

規則庫與 fuzzyK 估測法則規則庫,分別為表 3.2 及表 3.3。 fuzzyU 控制法

則的輸入歸屬函數採用三個等腰三角形,輸出歸屬函數則用到九個等

腰三角形。採用等腰三角形的原因在於,實際的馬達控制實驗用等腰

三角形,模糊控制法則做解模糊化動作較可以在系統需求的時間內做

完計算,如果在需求的時間內算不完,旋轉馬達則出現亂轉的現象,

即便在模擬時是完美的響應,套到實驗也是失敗的。但用等腰三角形

會得到較差的響應,為了克服此問題,可以將前鑑部歸屬函數增加,

但這樣一來規則庫將會增加,計算時間的問題又會出現。有鑑於此,

本文將 fuzzyU 控制法則後鑑部的歸屬函數切割成九個等腰三角形,這樣

一來可以得到較好的控制結果。至於 fuzzyK 估測法則歸屬函數其輸出與

輸入都是用三個等腰三角形,其論域範圍皆設定在-600至 600之間,

而為了讓所有輸入訊號皆能進到-600至 600之中,以防止無規則可激

發的狀況發生,有必要導入尺度因子(scaling factors)的觀念,圖 3.16

中的 KP、KD、U即為尺度因子,簡單來講,尺度因子擁有類似放大

器的功用,可準確地將輸入訊號映射至模糊控制法則的論域中。一般

而言,尺度因子是有系統化的方法可計算而得的[35],本文採用 AGA

搜尋較佳的參數值;飽和器(saturation)的使用則是避免輸入訊號超過

-600至 600,超過這範圍將又造成無規則可激發。

Page 60: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

51

圖 3.14 fuzzyU 控制法則之歸屬函數

圖 3.15 fuzzyK 估測法則之歸屬函數

Page 61: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

52

PZN

N

P

Z

e

U

NS NM ZE

PS ZE PVB

NS NVB NVB

表 3.2 fuzzyU 控制法則之規則庫(未最佳化)

PZNIN

OUT P Z P

表 3.3 fuzzyK 估測法則之規則庫(未最佳化)

KP

FuzzyController

In1

In2

Out

KD

USaturation

Saturation

圖 3.16 與尺度因子結合的模糊邏輯控制器

根據 2.4 節的討論知道 AGA 具有輕易處理多目標或多變數最佳

化的能力,而本文便是以 AGA的觀念來設計最佳的 FSMC,搜尋參

數包含模糊控制法則的規則庫和一些控制增益(圖 3.8、3.10 及 3.13

Page 62: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

53

中的 KP、KD、U、Se、L),至於模糊推論及解模糊化的方法將分別

採取最常用的 min-min-max 及重心法。控制增益參數 KP、KD、Se

搜尋的範圍皆訂在[-1 1]之間,U的搜尋範圍訂在[0.5 1]之間,L的搜

尋範圍訂在[0 10]之間,值得一題的是控制增益盡量用小的數字,增

益太大時,應用到實驗部份大部分都不成功的。

AGA 調整 FSMC 之架構如圖 3.17 所示,利用閉路系統的 SAE

和最大超越量(MO)的線性組合當作 AGA的適應函數,進行控制法則

最佳化,式 3.6為 AGA的適應函數。

MOSAE ⋅+=

1010000

適應函數 (3.6)

線性組合之間的比例係數是根據模擬響應的結果去設定的。

AGA 的搜尋代數定為 30,族群大小為 40,起始交配率為 0.7,起始

突變率為 0.02,可得適應函數圖 3.18,搜尋結果如表 3.4∼3.6所示。

圖 3.19 為位置閉迴路控制模擬響應,由模擬響應知道系統的最

大超越量為 0%,穩態誤差(steady state error,簡稱 SSE)為 0。

Page 63: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

54

AGA Operation

Tuning Variable

e

FSMC

U Plant( )

)sgn(*ˆ sKfuzzy

fuzzyU

Control Effort

Position Feedback

PositionCommand

Position Feedback

PositionOutput

)(sθ)(sI )(ˆ sGSaturation

圖 3.17 AGA調整 FSMC之架構

圖 3.18 適應函數演化曲線

Page 64: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

55

PZN

N

P

Z

e

U

ZE NB NVB

PS ZE ZE

PVB PVB NVB

表 3.4 fuzzyU 控制法則規則庫(最佳化)

PZNIN

OUT N Z N

表 3.5 fuzzyK 估測法則規則庫(最佳化)

SeUKDKP

0.1288-0.6811 0.9927 -0.0992

L

3.6625

表 3.6 FSMC控制增益(最佳化)

Page 65: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

56

圖 3.19位置閉迴路控制之模擬響應(命令 360度)

接著本文將模擬得到的最佳化 FSMC(表 3.5∼3.7)當作馬達控制

實驗的起始值,將此起始值應用到直流無刷馬達控制實驗上。

3.5 實驗系統

本實驗所用硬體設備照片如圖 3.20 所示;主體為永磁式直流無

刷伺服馬達(圖右),最大馬力為 0.5 馬力,無負載下最高轉速為

4000RPM;配合使用的運動控制卡(圖左上)以德州儀器公司(TI)的數

位訊號處理器 TMS320F243[29]為主控制器,負責所有數值運算、資

料存取、資料傳輸,並搭配 CPLD可程式邏輯控制晶片負責光學編碼

Page 66: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

57

器(光學編碼器之解析度為 4000 脈衝/圈)信號擷取與解碼,並搭配由

俊原科技公司所選用的功率驅動器(圖左下)用以驅動馬達,驅動電路

功率約為在 1馬力左右。

圖 3.20馬達(右)、功率放大器(左下) 與數位控制板(左上)照片

本文所用的電腦為 Pentium 4個人電腦一部;電腦軟體設備包含

了Windows 98 操作系統、Matlab/Simulink 5.3、DSP專用的 Simulink

Block、DSP 的 C語言編譯器、DSP控制版的使用者介面程式。

執行實驗測試時,首先在個人電腦編寫 DSP控制器程式,然後

下載到 DSP控制器。當系統開始運作時,個人電腦只做人機介面傳

遞一些參數與資料以便將控制結果畫圖顯示,所有控制過程所需的控

制量運算都經由 DSP控制器來執行,產生 Pulse Width Modulation(簡

Page 67: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

58

稱 PWM)信號到功率驅動器,再由功率驅動器產生驅動電流使馬達移

動。由於系統中加上電流和光學編碼器(encoder)等感測器回授元件,

故可做電流、速度、位置迴路控制。

3.6 實驗結果

進行實驗前,先要將本文的模擬架構(圖 3.8中的控制法則 FSMC)

轉換成 C 語言程式碼,控制器參數則是將模擬的最佳值套進程式裡

面,之後再利用 TI編譯器將 C語言程式碼轉換成馬達系統可接受的

機械碼,當編譯通過後便將機械碼下載到 DSP 晶片裡,這樣一來便

可以進行實際的馬達控制實驗。

圖 3.21 為位置閉迴路控制之 Simulink 介面方塊圖,此方塊圖只

是一人機介面,實際的運算都是在 DSP 晶片裡面,電腦只是用來做

參數傳遞的工具。

Page 68: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

59

圖 3.21位置閉迴路控制之 Simulink介面方塊圖

進行馬達控制實驗時,發現模擬的數據所造成的實驗響應與模擬

響應有些微的出入。由圖 3.22可以看出,當命令由 0度到 360度時,

實驗響應的最大超越量比模擬響應大(MO為 1.1%),但穩態誤差皆為

0;但當命令由 360度轉回 0度時,馬達的輸出並不會追隨到 0度,

系統的穩態誤差滿大的,圖 3.23 為模擬響應與模擬數據實驗響應的

比較。

Page 69: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

60

圖 3.22 模擬數據之實驗響應(命令 360度)

圖 3.23 模擬響應與模擬數據實驗響應之比較(命令 360度)

為了要克服此問題,本文在作馬達控制實驗時,微調一下控制增

Page 70: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

61

益 U,模擬值的 U為 0.9927,經過微調後的 U為 0.515,其餘的參數

與模擬值一樣。圖 3.24為微調後的馬達輸出響應,圖 3.25為模擬響

應與微調後實驗響應的比較。

圖 3.24 微調後之實驗響應(命令 360度)

Page 71: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

62

圖 3.25 模擬響應與微調後實驗響應之比較(命令 360度)

圖 3.26 是將命令由 360 度換成 720 度的位置角度命令,但是控

制法則的參數不變,由圖可知將命令換掉亦可得到不錯的響應。系統

的最大超越量有稍微變大(大 4 度),但整體的超越量則變小(MO 為

0.42%),由[36]知道馬達系統參數具有隨輸入增減而微量改變的特

質,由此也可得知本文提出的控制法則具有強健性存在,最後將模擬

響應與實驗響應結果整理於表 3.7,以方便作一比較。

Page 72: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

63

圖 3.26 720度命令之實驗響應

MO SSE

Simulation

Experiment(360度)

Experiment(720度)

0 %0

1.1 %0

0.42%0

表 3.7 響應結果之比較

Page 73: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

64

第四章 C語言程式碼

4.1 程式語言介紹

本文實驗所用的 C程式語言是根據周鵬程博士所編著的遺傳演

算法原理與應用-活用Matlab裡面的範例加以修改而成的[28]。特別

注意的一點,此套程式在模糊歸屬函數部分只可使用等腰三角形,原

因在於,本套程式在解模糊化部份是使用特別的重心法,也就是所謂

的高度法,這可以省去計算三角形面積重心的時間,但是控制效果相

對會比較差一點。

C 語言的撰寫格式,如果以方塊圖的方式表示的話,可參見圖

4.1。可區分成程式檔頭宣告、傳輸參數設定區、副程式參數設定區、

主程式模組、online_loop 程式模組、offline_loop 程式模組與控制實

現模組。雖然看起來似乎有許多程式模組要設定,但真正要費心的,

其實只有傳輸參數設定與控制實現模組,其餘大部分可使用標準副程

式。

C 語言的開發是將 Simulink 模擬架構(圖 4.2)轉換成程式語言,

根據架構圖可以清楚訊號的走向,如此一來便可以成功的將 C 寫出

來,接著便可以進行馬達控制實驗。

Page 74: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

65

(

做較精準的定位控制才使用下面模組)

程式檔頭宣告(*.h)

傳輸參數設定區

程式內部參數設定區

主程式模組 (main)(啟動4k HZ的計時中斷)

迴路控制模組(伺服迴路控制啟動)

迴路控制模組(伺服迴路控制啟動)

(取樣頻率)

控制實現模組(控制法則實現)

online_loop() 程式模組(編碼器位置高速度取樣)

offline_loop() 程式模組(未使用)

圖 4.1 C語言控制程式模組化流程圖

圖 4.2 Simulink之模擬架構

Page 75: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

66

4.2 程式碼 /********************************************************************

FSMC程式碼開始

********************************************************************/ #define MAIN #include "f24x.h" #include "acm4.h" #include "motion.h" #include "dos.h" #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" /***************************************/ /* variables defined for simulink use */ #define cmd (PLC_data[0x8000]) #define p_fbk (PLC_data[0x8001]) #define out (PLC_data[0x8002]) #define MAX(i,j) (i>=j)?i:j #define MIN(i,j) (i<=j)?i:j #define N_rules 9 #define N_rules1 3 #define KP -0.2360 #define KD 0.0180 #define Se -0.5460 #define U 0.5780 #define L 2.6960 /*******************************************************************/ double dfuzzy_num,dfuzzy_den,output,outputold=0; double weight,uf,uc,uw,uw1,WF,WS; double S,S1,S2,e,e1,edot,edot1; double eold=0; int n,set; /*******************************************************************/ #define PLC_enable (*(unsigned *)(&PLC_data[120]))

Page 76: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

67

double fuzzy_controller(double,double); double Sliding_Surface (double,double); double compute_grade (double,int); double compute_grade1 (double,int); double compute_grade2 (double,int); /*******************************************************************/

定義歸屬函數

/*******************************************************************/ int KP_membership[3][3]= /* MB of input1 */ {{-600,-300, 0 }, {-300, 0 ,300}, { 0 ,300 ,600}}; int KD_membership[3][3]= /* MB of input2 */ {{-600,-300, 0 }, {-300, 0 ,300}, { 0 ,300 ,600}}; int UK_membership[9][3]= /* MB of output1 */ {{-600,-480,-360}, {-480,-360,-240}, {-360,-240,-120}, {-240,-120, 0 }, {-120, 0 , 120}, { 0 , 120, 240}, { 120, 240, 360}, { 240, 360, 480}, { 360, 480, 600},}; int Se_membership[3][3]= /* MB of input1 */ {{-2,-1 ,0 }, {-1, 0 ,1 }, {0 , 1 ,2 },}; int Us_membership[3][3]= /* MB of input2 */ {{-2,-1 ,0 }, {-1, 0 ,1 }, {0 , 1 ,2 },};

Page 77: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

68

/*******************************************************************/

定義規則庫

/*******************************************************************/ int Rule[N_rules][3]= {{1,1,4}, {1,2,6}, {1,3,4}, {2,1,3}, {2,2,5}, {2,3,1}, {3,1,5}, {3,2,9}, {3,3,1},}; int Rule1[N_rules1][3]= {{1,0,3}, {2,0,2}, {3,0,1}}; void main(void) { if(PLC_start_come()) { asm(" lacc #_offline_loop"); asm(" ldp #0"); asm(" sacl PLC_aLoop"); asm(" lacc #_online_loop"); asm(" ldp #0"); asm(" sacl PLC_aIntr"); } main_loop(); } void online_loop(void) {} void offline_loop(void) {}

Page 78: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

69

void main_loop(void) { if(PLC_start_come()) { reset_servo(); position_set(); fgCmd =4000;} if(PLC_stop_come()) { reset_servo(); return; } /* Fs = 100 Hz */ if (PLC_10ms_come()) return; cmd=fgCmd; p_fbk=XinAngL; uf = fuzzy_controller (cmd,p_fbk); uc = Sliding_Surface (cmd,p_fbk); if ((U*(uf-uc))>=4096) out=4096; else if ((U*(uf-uc))<=-4096) out=-4096; else out=(U*(uf-uc)); } /**************************************************************

)(ˆ tU fuzzy 控制法則

***************************************************************/ double fuzzy_controller(double input,double input1) { for (n=0;n<=N_rules-1;n++)

Page 79: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

70

{ e=(input-input1); e1=(KP)*e; if (e1>580) e1=580; else if (e1<-580) e1=-580; else e1=e1; set=Rule[n][0]-1; uw=compute_grade(e1,set); /********************************************************/ edot =outputold; edot1=(KD)*edot; if (edot1>580) edot1=580; else if (edot1<-580) edot1=-580; else edot1=edot1; set=Rule[n][1]-1; uw1=compute_grade1(edot1,set); /*********************************************************/ WF =MIN(uw,uw1); set=Rule[n][2]-1; dfuzzy_num=dfuzzy_num+(WF*UK_membership[set][1]); dfuzzy_den=dfuzzy_den+WF;} output=dfuzzy_num/dfuzzy_den; outputold=output; return (output);}

Page 80: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

71

/**********************************************************/

fuzzyK 估測法則

/**********************************************************/ double Sliding_Surface(double input,double input1) { e=input-input1; edot =100*(e-eold); eold=e; S=(L)*e+edot; S1=(Se)*S; if (S>1) S=1; else if (S<-1) S=-1; else S=S; for (n=0;n<=N_rules1-1;n++) { if (S1>1.9) S1=1.9; else if (S1<-1.9) S1=-1.9; else S1=S1; set=Rule1[n][0]-1; WS=compute_grade2(S1,set); set=Rule1[n][2]-1; dfuzzy_num=dfuzzy_num+(WS*Us_membership[set][1]); dfuzzy_den=dfuzzy_den+WS; } output=dfuzzy_num/dfuzzy_den; return (S*output); }

Page 81: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

72

/**********************************************************/

計算權重

/**********************************************************/ double compute_grade(double e1,int set) { if ((e1< KP_membership[set][0]) || (e1>KP_membership[set][2])) weight=0; else if (e1> KP_membership[set][1]

/* ON THE RIGHT SIDE OF A TRIANGLE */ weight=((KP_membership[set][2]-e1)/ (KP_membership[set][2]-KP_membership[set][1])); else weight=((e1-KP_membership[set][0])/ (KP_membership[set][1]-KP_membership[set][0]));

/* ON THE LEFT SIDE OF A TRIANGLE */ return weight; } /********************************************************************

計算權重

********************************************************************/ double compute_grade1(double edot1,int set) { if ((edot1< KD_membership[set][0]) || (edot1>KD_membership[set][2])) weight=0; else if (edot1> KD_membership[set][1]) weight=((KD_membership[set][2]-edot1)/ (KD_membership[set][2]-KD_membership[set][1])); else weight=((edot1-KD_membership[set][0])/ (KD_membership[set][1]-KD_membership[set][0])); return weight; }

Page 82: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

73

/********************************************************************

計算權重

********************************************************************/ double compute_grade2(double S1,int set) { if ((S1< Se_membership[set][0]) || (S1>Se_membership[set][2])) weight=0; else if (S1> Se_membership[set][1])

/* ON THE RIGHT SIDE OF A TRIANGLE */ weight=((Se_membership[set][2]-S1)/ (Se_membership[set][2]-Se_membership[set][1])); else weight=((S1-Se_membership[set][0])/ (Se_membership[set][1]-Se_membership[set][0]));

/* ON THE LEFT SIDE OF A TRIANGLE */ return weight; } void reset_servo(void) { PLC_enable=0; } void position_set() { PLC_enable=0x31; } /********************************************************************

FSMC程式碼結束

********************************************************************/

Page 83: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

74

第五章 結論

馬達系統數位化設計,可說是趨勢所至,可將馬達運動控制卡、

I/O介面、驅動器等,皆濃縮集結在一片小小的電子板中,不但系統

程式規劃極有彈性,整體的成本也大大的降低。本文的系統即為全數

位化系統,在實驗時,只要在程式上修改控制法則內容,即可改變系

統的響應,完全不須修改硬體,在設計馬達系統時,可說是相當便利。

本篇論文重點在探討強健 FSMC 的設計方法,首先量測直流無

刷旋轉馬達的閉迴路響應來鑑別系統的數學模型,再利用 AGA搜尋

FSMC之規則庫參數及控制增益,改良以往以試誤法調整 FSMC之系

統響應。

接著將模擬架構寫成 C語言程式碼,利用 TI編譯器將 C語言編

譯,編譯通過後將程式碼下載到 DSP 晶片裡,進行馬達實驗,實驗

結果顯示,馬達參數在位置命令不同情況下,採用 AGA 所設計之

FSMC具有強健性,可因應不同之位置命令輸入而達到最佳的輸出響

應。

有了本文中的知識與概念之後,相信在未來可以針對本文所提出

的方法做更進一步的研究。本論文未來可進行方向歸納如下:

(1) 針對本文所提出的方法作外加負載的實驗。

Page 84: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

75

(2) 比較本文單一迴路控制與傳統多重迴路控制的效果。

(3) 先利用 AGA以離線方式模擬 FSMC,接著將模擬的 FSMC

當作馬達實驗初始值,進行馬達控制實驗。然後再利用 AGA

就較小的搜尋範圍重新線上訓練 FSMC,期望得到更佳的控

制效果。

(4) 利用類神經網路(Neural Network,簡稱 NN)的優點,亦即無

須假設鑑別系統的轉移函數架構即可線上估測馬達的網路

型模式,若收斂效果較佳,則可改善模擬的最佳化 FSMC效

果,使其更合用於實驗系統。

Page 85: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

76

參考文獻

[1] F. Blaschke, “The principle of field orientation as applied to the

new transvektor closed-loop control system for rotating-field

machines,” Siemens Review, vol. 39, no. 5, pp. 217-220, 1972.

[2] K. Hesse, “Zur Dynamik drehzahlgerelter Antriebe mit

Stromri-chtergespeisten Asynchron-Kurzschluβlaufermaschinen,”

Darmstadt, Techn, Hochsch., Diss., 1969.

[3] R. Gabriel. W. Leonhard, and C. J. Nordby, “Field-oriented control

of a standard ac motor using microprocessors,” IEEE Trans. Ind.

Appl., vol. 16, no. 2, pp. 186-192, Mar./Apr. 1980.

[4] V. I. Utkin, “Sliding mode control design principles and

applications to electric drives, ”IEEE Trans. Industrial Electronics,

vol. 40, no. 1, pp. 23-36, 1993.

[5] J. E. Slotine, and W. Li, Applied Nonlinear control, New Jersey:

Prentice-Hall, 1991.

[6] M. H. Park, and K. S. Kim, “Chattering reduction in the position

control of induction motor using the sliding mode,” IEEE Trans.

Power Electronics, vol. 6, no. 3,pp. 317-325, 1991.

[7] E. Y. Y. Ho, and P. C. Sen, “Control dynamics of speed drive

systems using sliding mode controllers with integral

compensation,” IEEE Trans. Industry Applications, vol. 27, no. 5,

pp. 883-892, 1991.

[8] T. L. Chern, and Y. C. Wu, “Design of brushless DC position servo

systems using integral variable structure approach,” IEE Proc. B,

Page 86: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

77

vol. 140, no. 1, pp. 27-34, 1993.

[9] S. K. Chung, J. H. Lee, J. S. Ko, and M. J. Youn, ’’Robust speed

control of brushless direct-drive motor using integral variable

structure control,” IEE Proc. Electric Power Applications, vol. 142,

no. 6, pp. 361-370, 1995.

[10] F. J. Lin, and S. L. Chiu, “Adaptive fuzzy sliding-mode controller

for synchronous motor drive,” IEEE Trans. Aerospace and

Electronic Systems, vol. 34, no. 2, pp. 532-542, 1998.

[11] F. J. Lin, and S. L. Chiu, “Adaptive fuzzy sliding-mode control for

PM synchronous servo motor drives,” IEE Proc. Control Theory

Applications, vol. 145, no. 1, pp. 63-72, 1998.

[12] C. M. Liaw, Y. M. Lin, and K. H. Chao, “A VSS speed controller

with model reference for induction motor drive,” IEEE Trans.

Industrial Electronics, vol. 48, no. 6, pp. 1136-1147, 2001.

[13] W. J. Wang, and J. Y. Chen, “A new sliding mode position

controller with adaptive load torque estimator for an induction

motor,” IEEE Trans. Energy Conversion, vol. 14, no. 3, pp.413-418,

1999.

[14] A. Benchaib, A. Rachid, E. Audrezet, and M. Tadjine, “Real-time

sliding-mode observer and control of an induction motor,” IEEE

Trans. Industrial Electronics, vol. 46, no. 1, pp. 128-138, 1999.

[15] H. J. Shieh, and K. K. Shyu, “Nonlinear sliding-mode torque

control with adaptive backstepping approach for induction motor,”

IEEE Trans. Industrial Electronics, vol. 46, no. 2, pp. 380-389,

1999.

[16] J. P. Karunadasa, and A. C. Renfrew, “Design and implementation

Page 87: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

78

of microprocessor based sliding mode controller for brushless servo

motor,” IEE Proc. B, vol. 138, no. 6, pp. 345-363, 1991.

[17] Q. P. Ha, Q. H. Nguyen, D. C. Rye, and H. F. Durrant-Whyte,

“Fuzzy sliding-mode controllers with applications,” IEEE Trans.

Industrial Electronics, vol. 48, no. 1, pp. 38-46, 2001.

[18] J. C. Wu, and T. S. Liu. , “A fuzzy sliding-mode approach to fuzzy

control design,” IEEE Trans. Control Systems Technology, vol. 4,

no .2, pp. 141-151, 1996.

[19] T. H. Liu, and M. T. Lin, “A fuzzy sliding-mode controller design

for a synchronous reluctance motor drive,” IEEE Trans. Aerospace

and Electronic Systems, vol. 32, no. 3, pp. 1065-1076, 1996.

[20] C.S. Ting, T. H. Li, and F. C. Kung, “An approach to systematic

design of fuzzy control systems,” Fuzzy sets and Systems, vol. 77,

pp. 151-166, 1996.

[21] R. Palm, “Robust control by fuzzy sliding mode, ” Automatica, vol.

30, pp. 1429-1437.

[22] Y. S. Lu, and J. S. Chen, “A self-organizing fuzzy sliding-mode

controller design for a class of nonlinear servo servo system,” IEEE

Trans. Industrial Electronics, vol. 41, no. 5, pp. 492-502, 1994.

[23] M. Srinivas and L. M. Patnaik, “Adaptive probabilities of crossover

and mutation in genetic algorithms,” IEEE Trans. System, Man,

Cybern., vol. 24, no. 4, pp. 656-667, April 1994.

[24] 陳俊儒。 「加強型基因演算法及其在模糊建模之應用」。 碩士

論文, 大葉大學電機工程研究所, 民 86。

[25] Yun Weimin, “The analysis of global convergence and

Page 88: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

79

computational efficiency for genetic algorithms,” Control Theory

and Applications, vol. 13, no. 4, 1996.

[26] 胡喬峰。 「利用適應性基因演算法設計最佳模糊控制器」。 碩

士論文,中原大學電機工程研究,民 89。

[27] 王文俊編著。認識 fuzzy。台北市:全華科技,2000。

[28] 周鵬程編著。遺傳演算法原理與應用-活用 Matlab。台北市:全

華科技,2001。

[29] TMS320F/C24x DSP Controllers Reference Guide, Peripheral

Library and Specific Devices, Number SpRU161C, Texas

Instrument, Tune 1999.

[30] C. S. George Lee, 類神經-模糊控制系統講義, 台灣科技大學電

機系, 1998.

[31] D. E. Goldberg, Genetic algorithms in search, and machine learning.

Reading, MA: Addison-Wesley, 1989.

[32] J. J. Grefenstrtte, “Optimization of control parameters for genetic

algorithms,” IEEE Trans. System, Man, Cybern., vol. 16, no. 1, pp.

122-128, 1986.

[33] 簡士期。 「族群數可變型基因演算法則之探討」。 碩士論文,

交通大學控制工程研究所,民 85。

[34] 劉昌煥編著。交流電機控制:向量控制與直接轉矩控制原理。

台北市:台灣東華,民 90。

[35] Th. Lubin, E. Mendes and C. Marchand, “Fuzzy Controller in A.C.

Page 89: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

80

Servo Motor Drive,” Electrical Machines and Drives, 1995.

[36] 蕭順治。「永磁同步馬達的模糊電流控制器之設計」。 碩士論

文,中原大學電機工程研究所,民 91。

Page 90: Adaptive Fuzzy Sliding Mode Position Control of a …read.pudn.com/downloads10/ebook/41691/9078021.pdfAdaptive Fuzzy Sliding Mode Position Control of a Brushless DC Motor 뻉뇐뇂ꅇ뿠곂볼

81

作者簡歷

姓名:董義雄

生日:民國 68年 01月 02日

籍貫:台灣省屏東縣

學歷:民國 86年畢業於省立屏東高中

民國 90年畢業於私立大葉大學電機工程系

民國 92年畢業於私立中原大學電機工程所

地址:屏東縣恆春鎮南灣路 394號

電話:(08)8895455