國
立
交
通
大
學
資訊學院 資訊學程
碩
士
論
文
質子交換膜燃料電池之自動學習溫度控制的方法
The Method of Automatic Learning Temperature Control in PEM Fuel Cell
研 究 生:洪國泰
指導教授:孫春在 教授
質子交換膜燃料電池之自動學習溫度控制的方法
The Method of Automatic Learning Temperature Control in PEM
Fuel Cell
研 究 生:洪國泰 Student:Kuo-Tai Hung
指導教授:孫春在 Advisor:Dr. Chuen-Tsai Sun
國 立 交 通 大 學
資 訊 學 院 資 訊 學 程
碩 士 論 文
A Thesis
Submitted to College of Computer Science
National Chiao Tung University
in partial Fulfillment of the Requirements
for the Degree of
Master of Scince
in
Computer Science
June 2012
Hsinchu, Taiwan, Republic of China
質子交換膜燃料電池之自動學習溫度控制的方法
學生:洪國泰
指導教授:孫春在 博士
國立交通大學 資訊學院 資訊學程碩士班
中文摘要
在環保與石油即將枯竭的趨勢下,發展綠色能源已成為世界各國勢在必行的 政策。綠色能源中的燃料電池是發電效率最好的,但燃料電池在運作時,需要注 意燃料電池本身的狀況,否則運作的效能就會降低,而燃料電池的運作溫度是影 響到燃料電池發電效率的指標之一。 然而,通常在實現燃料電池溫度控制前,必頇花費許多人力與時間進行資料 的收集與分析,接著再開發相關的控制方法進行實驗,之後一直不斷的實驗與調 整參數,直到能將燃料電池的溫度控制在目標範圍內。由於上述的程序非常繁瑣, 人力與時間的花費是非常高的,所以必頇找到一個自動學習的方法,減少人力與 時間的花費,也能夠達到燃料電池穩定控制溫度的功能。 本研究提出以智慧代理人結合自適應網路模糊推論系統來處理自動學習溫度 控制的問題,來減少人力在實驗與分析數據時所產生的錯誤和花費的時間。而實 驗結果顯示,系統透過自動學習後,燃料電池的溫度可以控制在目標範圍內。除 此固定輸出的燃料電池溫度控制研究外,本研究的方法也可以適用在變動輸出的 燃料電池溫度控制研究上。 關鍵字:燃料電池、溫度控制、智慧代理人、自適應網路模糊推論系統The method of automatic learning temperature control in PEM fuel
cell
Student: Kuo-Tai Hung Advisor: Dr. Chuen-Tsai Sun
Degree program of Computer Science
National Chiao Tung University
Abstract
Under the trend of environmental protection and the exhausted of the petroleum,
developing green energy has become one policy that countries in the world must carry
out. Among green energies, fuel cell has the best generating efficiency; however, the
cell situation needs to be paid attention when operating it or the efficiency will be
decreased. The operating temperature is one of the indications that influence the
generating efficiency.
However, normally before controlling the temperature of the fuel cell, the data
collecting and analyzing is labor and time consuming. Later, it needs to develop
experiments on related control method and keep doing experiments and adjusting
parameters until the temperature of the fuel cell is within the target. Due to that the
above mentioned procedure is extremely complicated, the cost of labor and time is high;
therefore, we need to find an automatic learning method to reduce the cost of labor and
time to reach the function of stabilizing the temperature of fuel cell.
This research proposes to combine intelligent agent and ANFIS to process the automatic
learning temperature control to decrease the error and time in experiments and data
analyze. The results show that the temperature of fuel cell can be controlled within
targets through automatic learning. Besides exporting the research of the temperature
control of fuel cell, this research can be used on the different loadings of fuel cell.
Keyword: Fuel cell, temperature control, Agent, Adaptive network fuzzy inference system
誌謝
碩士的求學階段已進入尾聲,這段期間雖然辛苦,但覺得非常值得,因為這 樣的求學過程,讓我在知識與心境上都有所成長。這段期間非常感謝指導教授, 孫春在老師。在老師的指導與鼓勵下,讓我學習到研究的意義與目的,也讓我瞭 解到多接觸新的事物,可以讓人容易有新的創意想法。因為老師的指導,今日才 可以順利完成研究,老師的恩情,學生銘記在心。另外,我還要感謝立先學長的 協助,幫我解答了很多我不知道的問題。除此之外,我還要感謝我的同事與朋友, 提供我許多寶貴的意見。 最後我要感謝我的家人,在求學這段期間,因為你們的體諒與支持,讓我可 以有更多的時間進行研究,努力的衝刺。謝謝你們!目錄
中文摘要 ... i Abstract….. ... ii 誌謝……. ... iii 目錄…….. ... iv 表目錄….. ... vii 圖目錄….. ... viii 第一章 緒論 ... 1 1.1 研究背景與動機 ... 1 1.2 研究問題 ... 3 1.3 研究目標 ... 3 第二章 文獻探討 ... 4 2.1 燃料電池簡介 ... 4 2.1.1 燃料電池的種類 ... 4 2.1.2 質子交換膜燃料電池的運作原理 ... 6 2.1.3 燃料電池的極化效應 ... 7 2.2 燃料電池溫度控制之介紹 ... 7 2.2.1 理想的溫度控制模型 ... 8 2.2.2 模糊增量性 PID 溫度控制 ... 9 2.2.3 類神經網路結合 PID 的溫度控制 ... 9 2.3 模糊理論 ... 10 2.3.1 模糊集合 ... 10 2.3.2 模糊集合的運算 ... 10 2.3.3 模糊邏輯與模糊推論 ... 12 2.4 類神經網路 ... 14 2.4.1 類神經網路的基本架構 ... 14 2.4.2 類神經網路的運作過程 ... 15 2.5 自適應式網路模糊推論系統 ... 16 2.5.1 ANFIS 的架構 ... 16 2.5.2 ANFIS 參數學習 ... 18 第三章 研究方法 ... 19 3.1 測詴儀器與工具 ... 19 3.1.1 硬體裝置與工具 ... 193.1.2 電腦端的軟體工具 ... 21 3.2 測詴系統之架構 ... 22 3.2.1 電力控制功能 ... 22 3.2.2 偵測功能 ... 23 3.2.3 通訊功能 ... 23 3.3 控制模組 ... 23 3.3.1 智慧代理人與自適應網路模糊推論系統 ... 25 3.4 控制流程 ... 26 3.4.1 智慧代理人─控制風扇 ... 26 3.4.2 智慧代理人─收集資料 ... 28 3.4.3 智慧代理人─篩選資料的概念 ... 29 3.4.4 使用者─修改篩選出來的資料 ... 30 3.4.5 智慧代理人─學習 ... 31 3.4.6 自適應網路模糊推論系統─訓練 ... 33 3.4.7 自適應網路模糊推論系統─控制 ... 35 3.4.8 智慧代理人─監督 ... 36 第四章 研究結果 ... 37 4.1 實驗項目 ... 37 4.1.1 電池堆溫度差之實驗 ... 37 4.1.2 精簡訓練資料量之實驗 ... 39 4.1.3 篩選資料之實驗 ... 41 4.1.4 實機實驗 ... 42 4.2 電池堆溫度差的實驗結果 ... 43 4.2.1 一秒間隔的電池堆溫度差 ... 43 4.2.2 二秒間隔的電池堆溫度差 ... 44 4.2.3 三秒間隔的電池堆溫度差 ... 46 4.2.4 四秒間隔的電池堆溫度差 ... 47 4.2.5 五秒間隔的電池堆溫度差 ... 49 4.2.6 六秒間隔的電池堆溫度差 ... 51 4.2.7 七秒間隔的電池堆溫度差 ... 52 4.2.8 八秒間隔的電池堆溫度差 ... 54 4.2.9 九秒間隔的電池堆溫度差 ... 55 4.2.10 十秒間隔的電池堆溫度差 ... 57 4.2.11 各種取樣間隔時間的電池堆溫度差比較表 ... 58 4.3 精簡訓練資料量之實驗 ... 60 4.3.1 風扇電壓變動基本單位為 0.2V ... 60 4.3.2 風扇電壓變動基本單位為 0.3V ... 61 4.3.3 風扇電壓變動基本單位為 0.4V ... 62
4.3.4 風扇電壓變動基本單位為 0.5V ... 63 4.3.5 比較測詴結果 ... 63 4.4 篩選資料功能之實驗結果 ... 64 4.5 實機實驗的結果 ... 65 4.5.1 環境溫度 30℃的實驗結果 ... 66 4.5.2 環境溫度 24℃的實驗結果 ... 66 4.5.3 環境溫度 21.5℃的實驗結果 ... 67 4.5.4 環境溫度 20℃的實驗結果 ... 68 4.5.5 環境溫度 18.5℃的實驗結果 ... 70 第五章 結論 ... 72 參考文獻 ... 73
表目錄
表 1 學習資料範例 ... 32 表 2 儲存資料範本 ... 39 表 3 資料的分配狀況 ... 41 表 4 測詴數據 ... 43 表 5 測詴數據 ... 45 表 6 測詴數據 ... 46 表 7 測詴數據 ... 48 表 8 測詴數據 ... 50 表 9 測詴數據 ... 51 表 10 測詴數據 ... 53 表 11 測詴數據 ... 54 表 12 測詴數據 ... 56 表 13 測詴數據 ... 57 表 14 高溫資料的 ANFIS 測詴結果比較表 ... 59 表 15 中溫資料的 ANFIS 測詴結果比較表 ... 59 表 16 低溫資料的 ANFIS 測詴結果比較表 ... 60 表 17 ANFIS 測詴結果比較表 ... 64 表 18 測詴數據 ... 65圖目錄
圖 1 火力、核能與燃料電池發電之電能生成過程比較 ... 4 圖 2 PEMFC 的發電原理 ... 6 圖 3 燃料電池 I-V curve ... 7 圖 4 溫度特性曲線 ... 8 圖 5 Mamdani 模糊推論過程圖 ... 12 圖 6 Sugeno 糢糊推論過程圖 ... 13 圖 7 Tsukamoto 模糊推論過程圖 ... 13 圖 8 前授型類神經網路 ... 15 圖 9 回歸型類神經網路 ... 15 圖 10 ANFIS 的架構 ... 17 圖 11 PEM 電池堆模組 ... 19 圖 12 壓力計 ... 20 圖 13 電磁閥 ... 20 圖 14 軟體介面 ... 21 圖 15 測詴系統架構 ... 22 圖 16 Agent 控制關係圖 ... 24 圖 17ANFIS 控制關係圖 ... 24 圖 18 控制流程圖 ... 26 圖 19 風扇控制方法 ... 27 圖 20 資料收集結束時機 ... 28 圖 21 篩選資料應避免的轉折點 ... 30 圖 22 修改篩選資料之流程圖 ... 31 圖 23 ANFIS 的訓練過程 ... 34 圖 24 ANFIS 控制流程 ... 35 圖 25 監督流程 ... 36 圖 26 實驗流程 ... 37圖 27 不同時間單位的電池堆溫度差之實驗流程圖 ... 38 圖 28 改變訓練資料量之實驗流程 ... 40 圖 29 篩選資料之實驗流程 ... 42 圖 30 實機實驗流程 ... 43 圖 31 使用高溫資料的測詴結果 ... 44 圖 32 使用中溫資料的測詴結果 ... 44 圖 33 使用低溫資料的測詴結果 ... 44 圖 34 使用高溫資料的測詴結果 ... 45 圖 35 使用中溫資料的測詴結果 ... 45 圖 36 使用低溫資料的測詴結果 ... 46 圖 37 使用高溫資料的測詴結果 ... 47 圖 38 使用中溫資料的測詴結果 ... 47 圖 39 使用低溫資料的測詴結果 ... 47 圖 40 使用高溫資料的測詴結果 ... 48 圖 41 使用中溫資料的測詴結果 ... 49 圖 42 使用低溫資料的測詴結果 ... 49 圖 43 使用高溫資料的測詴結果 ... 50 圖 44 使用中溫資料的測詴結果 ... 50 圖 45 使用低溫資料的測詴結果 ... 50 圖 46 使用高溫資料的測詴結果 ... 51 圖 47 使用中溫資料的測詴結果 ... 52 圖 48 使用低溫資料的測詴結果 ... 52 圖 49 使用高溫資料的測詴結果 ... 53 圖 50 使用中溫資料的測詴結果 ... 53 圖 51 使用低溫資料的測詴結果 ... 53 圖 52 使用高溫資料的測詴結果 ... 54 圖 53 使用中溫資料的測詴結果 ... 55 圖 54 使用低溫資料的測詴結果 ... 55 圖 55 使用高溫資料的測詴結果 ... 56
圖 56 使用中溫資料的測詴結果 ... 56 圖 57 使用低溫資料的測詴結果 ... 56 圖 58 使用高溫資料的測詴結果 ... 57 圖 59 使用中溫資料的測詴結果 ... 58 圖 60 使用低溫資料的測詴結果 ... 58 圖 61 測詴結果 ... 61 圖 62 測詴結果 ... 62 圖 63 測詴結果 ... 62 圖 64 測詴結果 ... 63 圖 65 決策樹的訓練結果 ... 64 圖 66 實測值與計算值的輸出圖 ... 65 圖 67 固定溫度控制 ... 66 圖 68 固定溫度控制 ... 67 圖 69 固定溫度控制 ... 67 圖 70 變動溫度控制 ... 68 圖 71 固定溫度控制 ... 69 圖 72 變動溫度控制 ... 69 圖 73 固定溫度控制 ... 70 圖 74 變動溫度控制 ... 71
第一章 緒論
1.1 研究背景與動機
2011 年世界氣象組織(World Meteorological Organization)公佈各項氣象簡報, 內容列出 2011 年全球所發生的災害事件,以及近年的平均升溫資料,報告指出北 極海冰縮小至歷年來的最小範圍,而全球變暖的事實是確實存在的[17,18]。全球暖 化的結果正以各種方式在威脅著人類,不僅會產生異常氣候直接危害到人類的生 命安全,對糧食的供應問題也會有所影響[19]。因此,如何防止全球持續暖化,除 了世界氣象組織要注意外,全世界的人類也需要去努力防範。 全球暖化的主因是過度的溫室效應所造成的,從世界氣象組織溫室氣體公報 來看,主要造成溫室效應的氣體有二氧化碳(CO2)、甲烷(CH4)、氧化亞氮(N2O)及 氯氟碳化合物(CFCs),其中又以二氧化碳最被重視,因為它是溫室效應氣體中, 唯一由人類大量排出的,主要是因為人類燃燒礦石燃料、毀林及土地利用的變化 所造成的。溫室氣體公報更指出,根據 2009 年全球觀測制作的大氣溫室氣體數據 來看,二氧化碳比 1750 年多增加了 38%[20]。而在 2011 年時,已增加至 39%[18]。 為了阻止大氣中的二氧化碳含量持續增加,就必頇大量減少汽車、發電廠、 工廠所排放的二氧化碳,節能省電是減碳的方法之一,改變發電的方式也是方法 之一。綠色能源電力的發電種類有太陽能發電、風力發電及燃料電池發電,這三 種環保的發電方式,不會像火力發電廠在發電過程中,會產生大量的二氧化碳。 而又以燃料電池是被視為一種最有潛力的潔淨能源,其供電包含範圍極廣,小至 毫瓦大至數仟瓦;也因具有零污染、高效率、低噪音…等優點,所以適合取代高 污染與低效率的傳統汽、柴油引擎的選擇,成為近年來美、日、歐等國爭相研發 的重點[21]。
以質子交換膜燃料電池(proton exchange membrane fuel cell, PEMFC)為例,該 系統所需要的燃料是氫氣,而氫氣可以由電解水的方式產生,此過程不需要化石 燃料,對於人類對化石燃料的需求具有降低的效果。但這些環保發電方式,在操 作上也有需要注意的問題,以燃料電池來說,為了維持燃料電池高效率的發電, 電池堆(Stack)的溫度必頇維持在最佳操作點、適當的溼度及氫氣的進氣壓力,而要 達到這樣的目的,就要去控制燃料電池的周邊元件,如:泵、風扇、閥[10]。 燃料電池的運作原理,是將化學能轉化為電能,除此之外還會有熱能產生, 而燃料電池產生的電能越大時,電池堆所產生出來的熱也就越多,因此熱管理對
燃料電池是一件非常重要的事,因為讓燃料電池運作在過高的溫度下,將減少電 池堆的使用壽命,也會影響發電的效率;而運作在太低的溫度時,其發電效率也 會不佳[12,13]。在處理燃料電池的溫度控制時,需注意到燃料電池在運作期間,電 池堆本身就是一個發熱源,輸出的電量不同,就會產生不同的熱量,此發熱源的 散熱條件與環境溫度、陽極端(Anode)的氫氣溫度與陰極端(Cathode)的空氣溫度有 關,所以要做燃料電池的溫度控制,可以透過取得陽極端的氫氣進氣溫度、環境 溫度、電池堆溫度與電池堆的輸出功率,從這些資料去控制風量大小,讓燃料電 池系統運作在適當的溫度點。
在燃料電池溫度控制領域的研究上,Luis A.M. Riascos 等人以數學模型提出溫 度控制的方法[14],Yanjun Li 等人使用人工類神經網路結合 PID 控制,達到控制 燃料電池運作溫度的效果[15], Binrui Wang 等人提出使用 Fuzzy Incremental PID 控制燃料電池系統溫度[16],上述的研究成果,均能達到穩定燃料電池運作溫度的 效果。而要達到溫度控制的方法有很多種,有的是監控電池堆的溫度、環境溫度, 來調整風流量控制燃料電池的運作溫度;有的則是量測電池堆的溫度並加上控制 進氣溫度,達到穩定溫度的目的。但要完成電池堆溫度控制的方法,首先要收集 該電池堆的實驗數據,而收集資料的過程,必需針對電池堆的狀況,去控制電池 堆的周邊裝置,因此需要一位非常瞭解燃料電池的專家來進行這項實驗。實驗過 程中,會把電池堆放在恆溫箱內,透過調整恆溫箱的溫度,讓電池堆處在不同的 溫度下,接著再控制風扇的風流量,監控與收集該風流量對電池堆所造成的影響。 反覆改變著恆溫箱與風流量的設定值,直到收集完各種環境溫度與風流量的實驗 數據,如此一來,可從這些數據分析出風流量的大小與電池堆的影響,並建立相 關的運算式或表格並使用在溫度控制上。 收集詳細的實驗數據,再加以分析,對於在做溫度控制時,可以讓燃料電池 在運作時,其溫度落在適當的控制範圍內,但缺點是需要至少一位專家在進行實 驗,而且實驗的組合參數很多,需要花很多的時間,之後還要將收集到的數據做 整理與分析。而且當燃料電池系統的裝置規格有變更時,其實驗需要再重新來過。 而為了要減少人力運用在收集資料、分析數據的時間,又要讓燃料電池可以運作 在適當的溫度範圍內,自動化學習的溫度控制功能就有強烈的存在需求。若可以 有一套有自我學習能力的系統,能夠讓燃料電池運作在適當的溫度範圍內,不用 管電池堆、風扇的規格,也不用管燃料電池系統的散熱結構,只要系統能自我進 行學習,而達到溫度控制的目的,可省去開發者與實驗者在這部份花費的精力與 時間。
要達到自動化學習溫度控制的功能,一定要先收集資料並進行資料的篩選, 接著從篩選的資料中來得到輸入與輸出的關係。而類神經網路的優點就是不需要 瞭解系統的數學模型,以神經網路來取代系統模型,從已知的數據去學習,就能 得到輸入與輸出關係式,也因此本研究將會利用類神經網路的優點,來探討溫度 控制的能力。 在文獻的研究中,系統的架構會依據不同的控制需求而有不同的周邊裝置, 像是泵、風扇、加熱器等裝置。而本研究將探討一個擁有充足氫氣來源的燃料電 池系統中,風扇是可控制的周邊裝置,當系統在不同的環境溫度下,利用風扇的 風量變化,帶走電池堆的熱能,以達到穩定控制燃料電池運作溫度的效果。在監 控數據方面,本研究將取環境溫度、電池堆的溫度與溫度差來當作輸入資料,而 控制項則是以調整風扇電壓的大小,改變風扇轉速來達到散熱的效果。我們提出 以智慧型代理人來負責篩選適當的學習資料,接著再利用自適應類神經網路的高 運算學習能力,進行燃料電池溫度控制的研究。
1.2 研究問題
根據研究動機,我們的研究問題如下所列: 1. 探討智慧型代理人篩選資料的正確性,以及其影響自適應網路模糊推論 系統的訓練結果。 2. 探討自適應網路模糊推論系統使用精簡的資料的控制效果。 3. 探討自適應網路模糊推論系統透過學習後的表現狀況: (1) 風扇電壓的實測數據與自適應網路模糊推論系統輸出的差異。 (2) 不同環境溫度下的溫度控制表現。1.3 研究目標
本研究以燃料電池溫度控制為切入點,詴著結合智慧型代理人與自適應網路 模糊推論系統,來探討溫度控制的課題,並希望燃料電池的運作溫度與控制目標 溫度差異能小於 0.5℃。第二章 文獻探討
2.1 燃料電池簡介
在 21 世紀,環保與能源的問題受到世界各國所重視,而燃料電池是受矚目的 環保能源之一。燃料電池的運作原理是利用氫氣與氧氣的電化學反應,產生電力 與熱能,因為是直接從化學能轉換成電能,過程簡單,所以發電效率高,電能生 成過程比較如圖 1 所示。而且燃料電池在化學反應過程中,噪音低且不會產生有 毒物質,僅有少量的二氧化碳會被排出。所以燃料電池是屬於既環保且發電效率 高的能源裝置。 圖 1 火力、核能與燃料電池發電之電能生成過程比較2.1.1 燃料電池的種類
燃料電池的種類有很多種,常用的分類是依電解質的性質加以區分,如鹼性 燃料電池、磷酸燃料電池、質子交換膜燃料電池、熔融碳酸鹽燃料電池、固態氧 化物燃料電池等五種[1,2,23,24]。而分類上,又能以運作的溫度範圍來分類,像鹼 性燃料電池、質子交換膜燃料電池與直接甲醇燃料電池就可以歸為低溫型燃料電 池,磷酸燃電池歸為中溫型燃料電池,而熔融碳酸鹽燃料電池與固態氧化物燃料 電池可歸為高溫型燃料電池。燃料電池的電化學反應,依不同的燃料與操作溫度, 來決定使用的觸煤種類,而不同的燃料電池,在燃料的處理上也會有所不同。下 面將對鹼性燃料電池、磷酸燃料電池、質子交換膜燃料電池、熔融碳酸鹽燃料電 池、固態氧化物燃料電池做簡單的介紹。而本研究的實驗是以質子交換膜燃料電 池為主,所以關於質子交換膜燃料電池的介紹會較為詳細。1. 鹼性燃料電池(Alkaline fuel cells) AFC 的電解質載體為石綿網,電解質為氫氧化鉀溶液,屬於液態電解質 的燃料電池。該燃料電池的操作溫度範圍約在攝氏 70~200℃之間。AFC 的電能轉換效率是所有燃料電池中最高的,但是因為電解質的腐蝕性強, 因此夀命較短。AFC 以純氫為陽極端的燃料,純氧為陰極端的氧化劑, 催化劑可以使用鉑、金、銀等貴重金屬,或鎳、鈷等過渡金屬。至今成 功的運用於人造衛星上。
2. 磷酸燃料電池(Phosphoric acid fuel cells)
PAFC 使用的電解質為濃度 100%的磷酸,屬於液態電解質的燃料電池。 該燃料電池的操作溫度範圍約在攝氏 160~220℃,因溫度高,所以廢熱可 以回收再利用。PAFC 的電能轉換效率約可達 37~42%,但酸性電解質因 具有腐蝕性,所以會降低燃料電池的使用壽命。至今較常運用於大型發 電機組上。
3. 質子交換膜燃料電池(Polymer electrolyte membrane fuel cells)
PEMFC 使用的電解質為質導度佳的質子交換膜,薄膜的表面塗有加速化 學反應的觸媒,觸媒大部份為白金。此燃料電池的操作溫度在 100℃以下, 因此廢熱利用價值低,然而低溫操作的特性,使得 PEMFC 具有啟動時間 短的優勢。而 PEMFC 的電能轉換效率約在 45~50%,較 PAFC 高,且腐 蝕問題較低,較適合於家庭電源與汽車動力的應用。
4. 熔融碳酸鹽燃料電池(Molten carbonate fuel cells)
MCFC 使用的電解質為鋁酸鋰的鹼性碳酸鹽,屬於液態電解質的燃料電 池。該燃料電池的操作溫度約在攝氏 600~700℃,由於操作溫度極高,所 以觸媒的使用上不需要貴重金屬,一般可以使用鎳或氧化鎳作為陽極與 陰極的觸媒,而且廢熱可回收再利用。與低溫型燃料電池相比,MCFC 的缺點是啟動速度慢,不適合應用於備用電源,較適合於中央集中型電 廠。
5. 固態氧化物燃料電池(Solid oxide fuel cells)
SOFC 使用的電解質為氧化鋯,屬於固態電解質燃料電池。該燃料電池的 操作溫度約在攝氏 650~1000℃,由於操作溫度極高,所以廢熱可以回收 再利用,其電能轉換效率介在 40~50%之間。在應用方面,由於啟動速度 慢,故不適用於備用電源,較適合於大型發電廠。
2.1.2 質子交換膜燃料電池的運作原理
質子交換膜燃料電池(PEMFC)為一化學產電之裝置,透過氫氣與氧氣反應, 主產物為電力,副產物為水和熱。PEMFC 運作時,陽極端需供應氫氣,陰極端需 供應氧氣,二條件必頇同時成立,才能進行反應運作。氫氣在觸媒層進行反應, 分解出氫離子與電子,氫離子經質子交換膜移至陰極端,而電子經由電力線移至 陰極端;而氧氣在陰極端與氫離子、電子結合形成水。其發電原理如圖 2 所示。 陽極、陰極的半反應式與總反應式如(1)、(2)、(3)所示[21, 22,23]。 氫氣 氧氣 水 氫離子 電子 熱 圖 2 PEMFC 的發電原理 陽極端半反應式: 陰極端半反應式: 總反應式:2.1.3 燃料電池的極化效應
燃料電池發電時,電極上會產生一系列物理與化學過程,這些過程多多少少 會有些阻力,為了使電極上的反應能持續,必頇消耗自身的能量去克服。因此, 電極電位就會與理想電位有所偏離,這樣的現象稱為極化。如圖 3 燃料電池 I-V curve 所示,燃料電池的極化分為活化極化、歐姆極化與濃度極化三個區域[3]。活 化極化是電極電位接近可逆電位時,有時會因反應速率常數太小而無法偵測到電 流,造成這種速率的緩慢現象,歸因於無法克服反應過程中的活化能。歐姆極化 的發生則是由燃料電池電解質內離子流的阻抗,以及電極材料內電子流的阻抗的 加總結果。濃度極化則是當燃料電池處於高電流狀態時,其氧化劑必頇適時地移 動至電極表面,一旦燃料氣體與氧化劑來不及提供,也就無法在電極表面維持足 夠的反應物濃度。燃料電池的發電效率與 I-V curve 有關,當燃料電池的壓力、氣 體濃度與電池堆的溫度處於不同的狀態,其 I-V curve 有會有不同的表現。 圖 3 燃料電池 I-V curve2.2 燃料電池溫度控制之介紹
燃料電池的電能轉換效率與操作條件息息相關,特別是電池堆的溫度[15],太 高的操作溫度,會傷害燃料電池內的質子交換膜,也會造成發電效率降低;而太低的操作溫度,則會使得燃料電池的轉換效率降低,所以溫度控制是操作燃料電 池的重點項目之一。圖 4 是質子交換膜燃料電池的溫度特性曲線[13],圖中的曲線 描繪燃料電池在不同的溫度時的發電特性,由圖中曲線可知,當燃料電池溫度越 高時,其發電效率就會越高,但溫度不得高於 PEM 燃料電池可承受的溫度,否則 性能反而會下降。 圖 4 溫度特性曲線 燃料電池的溫度控制方法,已有多位學者運用不同的知識領域進行研究,下 面將針對已發表的溫度控制方法做簡單的介紹。
2.2.1 理想的溫度控制模型
有很多的燃料電池研究,都是使用數學模型進行研究,而這些數學模型,可 以很輕易的從文獻中取得[7, 8, 9]。其中,Luis A.M. Riascos 在發表的文獻裡[14], 分別以電化學模型與熱力學模型來建立燃料電池的理想溫度控制模型,電化學模 型主要是在描述質子交換膜燃料電池的極化曲線,透過此理論模型,只要能取得 該燃料電池的相關參數,也能容易的取得燃料電池電器特性的理論值;而熱力學 模型則是要去計算燃料電池的相對溼度與操作溫度,再將電化學與熱力學模型結 合,即可模擬出燃料電池電器特性與放熱反應。而 Luis 的控制處理則是以增濕器 來實施,使用已知的燃料電池模型數學式,去計算燃料電池需要的濕度及溫度值, 透過增濕器把濕度與溫度控制住,以達到燃料電池的理想溫度控制。 然而上述的研究,在實際能利用的前提是,必頇取得數學模型內所需要的參數值,而這些參數值的取得,將會影響到此模型的控制精準度。另外,燃料電池 隨著使用的時間的增長,其老化的現象對參數有很重大的影響,在這樣的情況下, 要如何更新這些參數則更顯得困難重重。更重要的是,燃料電池的應用通常不會 只有一個電池而已,而是多個電池所組成的電池堆,在這樣的情況下,其參數的 複雜度,以及電池堆在製程與組裝上的誤差,都會讓此方法難以實行。
2.2.2 模糊增量性 PID 溫度控制
傳統的 PID 控制適用在線性控制的領域,而燃料電池的溫度控制是屬於非線 性的控制領域,故 Binrui Wang 所提出的文獻[16]裡,使用 Fuzzy 結合 PID 完成非 線性的控制,以達到燃料電池溫度控制的目的。此文獻是以 PID 為基礎,透過 fuzzy 來調整控制中的比例(P)、積分(I)、微分(D)參數,以影響控制項的輸出結果,而此 輸出結果即風扇的電壓大小,由不同的電壓值來處理不同的散熱需求。而 fuzzy 系 統中使用到的輸入項,有電池堆輸出電流大小、希望的電池堆溫度與實際的電池 堆溫度差、希望的電池堆溫度與環境溫度差,透過上述三個輸入項來決定當時 PID 控制中的參數值。 由於 fuzzy 系統是在模仿人類的推論行為與決策,這需依賴專家的經驗,編 成模糊規則後才能使用,若無專家的經驗,則模糊規則難以建立,而專家的經驗, 需從長期的實驗過程一點一滴來累積。綜合上述的觀點,可以知道此系統的建立, 不僅需要花大量的時間進行實驗,且需要專家以過往的經驗來分析實驗數據,從 中建立 fuzzy 系統所需要的模糊規則。2.2.3 類神經網路結合 PID 的溫度控制
由於燃料電池的溫度控制是屬於非線性、不確定性的問題,而類神經網路適 用在處理非線性及不確定的問題上,若要將其應用在燃料電池的溫度控制上,是 非 常 合 適 的 。 而 在 Yanjun Li 所 提 出 的 文 獻 [15] 裡 , 是 以 類 神 經 網 路 結 合 PID(Proportional-Integral-Derivative)的控制方法來進行燃料電池溫度控制,其中 Yanjun Li 是把 P、I、D 視為類神經網路中的神經元,透過倒傳遞的方法訓練網路, 使得 PID 可以應用在非線性的場合裡,透過不同的輸入狀況與加權值,影響其 P、 I、D 神經元的輸出結果,而這樣的系統可以適用於處理非線性、不確定的問題, 比起僅能處理線性問題的線性 PID 控制來得強大。 上述的研究可以達到溫度控制的結果,但在完成前,需要花時間收集大量的 實驗數據,之後再進行訓練,完成上述的動作後,才能上機。若電池堆、風扇的規格有所變動時,收集實驗數據的動作必需重來,且收集數據的過程需要有專業 的人員在旁邊操作儀器,人力與時間都需要有相當程度的付出。
2.3 模糊理論
人類生活的世界裡,日常生活中總是充滿著不精準且模糊的回答,像是「身 高很高」,而很高這樣的描述是沒有絕對的標準。若要在傳統的電腦世界裡,分辨 這樣的描述方式是很困難的,因為在電腦世界裡,只有真與假的表示,並無法完 全表達模糊的境界,而模糊理論就是適合應用在此方面[4,5]。 模糊理論最早是在 1965 年時,由美國加州大學查德(L.A. Zadeh)教授所提出的 [5,25]。該理論是以模糊集合的概念,強調以模糊邏輯來描述現實生活中事物性質 的等級,以彌補傳統集合中,使用二值邏輯來描述事物的缺點。而模糊系統已經 被廣泛的應用在圖樣辨識、自動控制及信號處理等各種領域。以下將一一介紹模 糊理論的基本概念。2.3.1 模糊集合
模糊集合是將人類思維中不精確、模稜兩可、多重意義的現象有歸屬函數 (membership function) μA(x) 來 表 示 , 是 模 糊 理 論 的 基 礎 , 它 是 從 特 徵 函 數 (characteristic function)衍生出來的。傳統集合的特徵函數是用 0 與 1 這兩個值表示, 而模糊集合與傳統集合有所不同,模糊集合的表示值是在實軸閉區間[0,1]之間,而 μA(x)值的大小,反映 x 對於模糊集合的歸屬程度。而一個模糊集合常用以下兩種 方式表示。 1. 連續型的歸屬函數,其全集合Ω的元素有無限多個,則一個糢糊集合 A 的表示如下:
x x A A( )/ 2. 離散型的歸屬函數,其全集合Ω的元素為有限個,若全集合有 n 個元素, 則一個模糊集合 A 的表示如下: n n A A A x x x x x x A ( 1)/ 1 ( 2)/ 2 ( )/2.3.2 模糊集合的運算
若有 A、B 兩個模糊集合,我們可以定義模糊集合的聯集、交集與補集的概念如下[4,5]: 1. 聯集運算 )] ( ), ( max[ ) ( ) ( ) (x A x B x A x B x B A 2. 交集運算 )] ( ), ( min[ ) ( ) ( ) (x A x B x A x B x B A 3. 補集運算 ) ( 1 ) (x A x A 除了上述的基本概念運算外,模糊集合的運算性質也是值得注意,其中大部 份的性質與傳統集合的運算性質雷同,僅有互補律不一樣。若 A、B、C 均為模糊 集合,模糊集合的運算性質如下所示: 4. 交換律 A B B A A B B A , 5. 結合律 C B A C B A C B A C B A ) ( ) ( ) ( ) ( 6. 分配律 ) ( ) ( ) ( ) ( ) ( ) ( C A B A C B A C A B A C B A 7. 冪等律 A A A A B A , 8. 相等律 A A A A A A , , 9. 轉移律 C A C, B A 則 若 10. 復歸律 A A 11. 互補律 A A A A ,
12. 第摩根律 B A B A B A B A ) ( ) ( ,
2.3.3 模糊邏輯與模糊推論
模糊推論是模糊輸入經由模糊邏輯運算,並透過模糊規則庫求得模糊輸出的 必經過程。在糢糊推論中,會有已知的規則,如:IFxisA,THEN yisB,而 IF 後 面所接的敘述為命題部,稱 THEN 後面接的敘述為推論部,若已知 'A 要求 'B ,則 'B 可由模糊關係的合成法則求得,即 B A B' ' 常用的模糊推論模式有三種:Mamdani、Sugeno 以及 Tsukamoto,以下將做分 別介紹。 1. Mamdani 模糊推論模式 Mamdani 糢糊推論是運用最大最小值法求得輸出值,該值為模糊輸出值, 需再經過解模糊化才能得到最後的輸出值。推論過程圖如圖 5 所示。 圖 5 Mamdani 模糊推論過程圖 2. Sugeno 模糊推論模式 Sugeno 模糊推論是以多項式來表達各規則之結果,並運用加權平均法則 進行解模糊化,以得到最後的輸出值。Sugeno 模糊推論過程圖如圖 6 所示。 圖 6 Sugeno 糢糊推論過程圖 3. Tsukamoto 模糊推論模式 Tsukamoto 模糊推論是以單調歸屬函數表示規則結論項,每一規則之輸出 結果包含加權值的影響,而最後的輸出結果為每一規則之輸出之總合並 經過加權之平均。Tsukamoto 模糊推論過程圖如圖 7 所示。 圖 7 Tsukamoto 模糊推論過程圖
2.4 類神經網路
類神經網路的歷史可以追溯至 1943 年,當時是由心理學家 Warren McCulloch, 與數學家 Walter Pits 提出描述神經元運作的數學模式。而類神經網路的學習機制, 則是 Hebbian 在 1949 年提出了著名的 Hebbian 學習定律,奠定了研究方向[25]。 1957 年,Rosenblatt 提出了感知器(Perceptron)模型,是第一個實踐類神經網路的研 究成果[25,26]。 類神經網路是一種平行計算系統,也是一種模仿生物神經網路的系統,在此 系統中,使用了大量相連的人工神經元。在現今的時代中,類神經網路已被廣泛 的應用在各種產品上,如:家電控制、汽車控制、智慧型辨識等領域。以下將對 類神經網路做基本的介紹。2.4.1 類神經網路的基本架構
人類擁有高等智慧是因為有一個大腦,此大腦是具有大量生物神經細胞的神 經網路。所以模擬人腦的類神經網路就是包含大量的人工神經元,且經過適當的 連結,建構出一個神經網路。而類神經網路的基本架構可分為兩類:前授型網路 (feed-forward net)及回歸型網路(recurrent net)[25]。前授型網路是一種階層式的網路,如圖 8 所示。它是以許多層的概念架構而 成的,最基本且常見的前授型類網路是由輸入層、隱藏層及輸出層所組成。每一 層皆包含一些神經元,同一層中的神經元不相連,相鄰層的神經元彼此相連。此 網 路 的 訊 號 傳 遞 方 向 是 單 向 的 , 由 輸 入 層 傳 至 輸 出 層 。 倒 傳 遞 網 路 (Back-propagation net) 是最具代表性的前授型網路。
圖 8 前授型類神經網路 回歸型網路中的神經元彼此相連,其每個神經元的輸出會接至其餘的神經元, 而每個神經元的輸入來自於其它神經元的輸出。回歸型網路中的每個神經元是平 行的接收所有神經元的輸出,並無階層關係,這是兩者最大的差異。霍普菲爾 (Hopfield)是最具代表性的回歸型網路,如圖 9 所示。 圖 9 回歸型類神經網路
2.4.2 類神經網路的運作過程
不論是前授型類神經網路或是回歸型類神經網路,其運作過程皆可分為二個階段: 1. 學習階段 當類神經網路處於學習階段時,網路將依學習演算法,從已知的訓練資 料,經由反覆的運算,調整網路連接的加權值。 前授型類神經網路的學習過程是屬於監督式的學習過程,它需要訓練範 例與目標輸出值,將訓練範例當作輸入,透過演算法調整加權值,逼近 目標輸出值。回歸型類神經網路的學習過程則是記憶過程,利用學習演 算法調整加權值,進行記憶的動作。 2. 回想階段 當類神經網路處於回想階段時,外來的輸入資料傳遞給網路,網路便依 回想演算法去運算,並將結果由輸出級的神經傳送出去。 前授型類神經網路的回想是屬於分類或預測,是希望達到輸入一個待推 的範例,而類神經網路可以說出可能的結果。回歸型類神經網路的回想 是一種聯想過程,是希望能夠達到輸入一個樣式,而神經網路可以聯想 出該樣式與哪個範例最接近。
2.5 自適應式網路模糊推論系統
自適應式網路模糊推論系統(Adaptive Network-Based Fuzzy Inference System, ANFIS)是從 Sugeno 的模糊模型所發展出來的,其概念最早是在 1993 年時,由 Jang 所提出的[11]。ANFIS 的基本概念是利用類神經網路的優點,透過學習而自行調整 最佳的模糊規則,所以它同時具備類神經網路與模糊理論的能力。以下將介紹 ANFIS 的架構與學習方式。
2.5.1 ANFIS 的架構
圖 10 是 ANFIS 的架構圖,它是由 5 層的神經元所組成的。而 ANFIS 利用類 神經網路來調整前提部與推論部的參數,前提部的參數落在第 1 層,而推論部的 參數落在第 4 層。底下將針對每一層的功能及運算做說明。圖 10 ANFIS 的架構 1. 第 1 層
第 1 層主要的工作是計算變數 x 與 y 觸發 Ai與 Bi的高度值。其中 A1、
A2是變數 x 的模糊集合函數,B1、B2是變數 y 的模糊集合函數。類神經
網路在此層主要調整的前提部參數有(a1,a2,a3,a4)、(b1,b2,b3,b4)
與(c1,c2,c3,c4)。主要公式如下: (4) 1 1 ) ( 1 2 1 1 1 11 b a c x x O (5) 1 1 ) ( 2 2 2 2 2 12 b a c x x O (7) 1 1 ) ( (6) 1 1 ) ( 4 3 2 4 4 4 14 2 3 3 3 13 b b a c x x O a c x x O 2. 第 2 層 該層的神經元執行的是模糊規則的適合度運算,為前提部觸發高度之乘 積或較低者,公式如下: (8) min 1 1 1 1 21 1 21 w (x) (y) O (μ , μ ) O A B 或 A B
(9) min 2 2 2 2 22 2 22 w (x) (y) O (μ , μ ) O A B 或 A B 3. 第 3 層 該層的神經元主要是進行適合度正規化的運算,公式如下: (10) 2 1 1 1 31 w w w w O (11) 2 1 2 2 32 w w w w O 4. 第 4 層 該層的神經元主要是進行模糊則的推論運算,除了有來自第 3 層的資料 外,還有來自輸入端變數 x 與變數 y 的參數。而類神經網路在此層主要 調整的推論部參數有(p1,q1,r1) 與(p2,q2,r2)。主要公式如下: (12) ) ( 1 1 1 1 41 w1f1 w px qy r O (13) ) ( 2 2 2 2 2 42 w2f w p x q y r O 5. 第 5 層 該層只有一個神經元主要是進行前一層神經元輸出值的總合運算,其運 算結果是該網路的輸出值,公式如下: (14) w w wif 1f1 2f2 f i i
2.5.2 ANFIS 參數學習
如前面一節所提到的,ANFIS 在學習的過程中,目的是在調整前提部與推論 部的參數。而這些參數可以藉由輸入資料及輸出資料的關係,透過演算法來求得, 讓 ANFIS 網路能夠逼近或近似輸入─輸出的資料關係。 ANFIS 參數的學習是採用混合式的學習方式路[25],學習步驟如下: 1. 首先會先固定前提部的參數,假設這些被固定的前提部參數是已知的。 2. 將要訓練的輸入資料輸入至網路,利用最小平方估測法推計算出最佳的 推論部參數,得到近似的輸出值。 3. 接著比對 ANFIS 網路輸出值與實際的目標輸出值,得到輸出的誤差值。 4. 接著再利用最除坡降法,反推得到前提部的參數調整量。 5. 將前提部的參數調整過後,回到步驟 2 再繼續學習,直到輸出的誤差值 足夠小為止。第三章 研究方法
本研究之主要目的為控制燃料電池的操作溫度在想要的溫度點。因此本研究 的測詴主體是一顆 PEM 電池堆模組,其內部包含了 22 個電池(Cell),電池是串接 而成的,除了電池外,尚有 2 個風扇。而研究的方法是從環境溫度、電池堆溫度 以及電池堆變化的溫度差參數,尋求風扇電壓的設定值,繼而達到穩定的溫度控 制,而這樣的一個控制關係,將利用智慧型代理人結合 ANFIS 去達到自動訓練與 控制的目的,其中智慧型代理人所扮演的角色就是負責前段的資料收集與篩選, 之後,再將篩選完的資料拿去做訓練,以取得 ANFIS 的相關參數。接下來將依序 介紹測詴儀器與工具、測詴系統架構、系統控制方法、資料篩選的概念、智慧型 代理人結合 ANFIS 的運作機制與方法。3.1 測詴儀器與工具
在本章節將針對本研究會使用到的儀器與工具做簡單的介紹,待瞭解各儀器 與工具的用途後,再做更深入的介紹。3.1.1 硬體裝置與工具
1. PEM 電池堆模組 該電池堆模組是由燃料電池與風扇所組成的。在燃料電池的部份是由 22 個電池所組成的,每個電池的質子交換膜(proton exchange membrane)面積 為 8 cm2,最大輸出電流為 2A,而電池電極的部份是以串聯的方式連接。該模組內總共配有 2 顆風扇,每顆風扇的工作電壓範圍在 3V 到 12V 之 間。PEM 電池堆模組如圖 11 所示。
圖 11 PEM 電池堆模組 2. 壓力計
壓力計如圖 12 所示,其功用主要是偵測電池堆內的氫氣蓄壓狀態。 圖 12 壓力計 3. 電磁閥 電磁閥如圖 13 所示,其功用是讓電池堆內多餘的水排出,讓電池堆運作 時,不會出現泛溢(Flooding)的現象,而電池堆的性能可以更加穩定。 圖 13 電磁閥 4. 電源供應器 電源供應器之主要功用為提供電力給電路板,而該電源供應器供給電路 板之電壓設定為 20V,最大輸出電流設為 3A。 5. 電路板 電路板的主要功能是提供電力、控制與偵測周邊的裝置。它直接面對需 要控制與需要被偵測的物件,如電池閥、風扇、壓力計、溫度感測器以 及電池堆的輸出電流值。在電力的部份,電路板可以供應電力給電磁閥、 壓力計與風扇,其中風扇的風量大小是依據供應電壓的大小來決定。控 制功能的部份,電路板可以控制電池堆的輸出電流值,也可以控制電磁
閥開關的時間長短。而在偵測的部份,電路板可以讀取壓力計的壓力值、 環境溫度與電池堆溫度。 6. 電腦 電腦將與電路板連接,其連接線材為 USB 線材,且電腦與電路板可以透 過 USB 的線材進行通訊。電腦端所負責的功能為:處理設定、運算及收 集資料。而透過運算後的結果,電腦端的軟體即可知道控制值,之後再 將控制值傳給電路板,讓電路板進行風扇的控制。
3.1.2 電腦端的軟體工具
1. Java 軟體 使用 Java 開發出一套控制軟體,該軟體有收集資料以及通訊的功能,並 包含一使用者操作介面,使用者介面如圖 14 所示,其介面包含各周邊裝 置的設定參數。在收集資料的部份包含:電池堆輸出電流、環境溫度、 電池堆溫度以及電池堆的變化溫度,以上數據的記錄時間為每秒一次。 在通訊功能的部份,該軟體與電路板是使用 UART 的通訊格式,且該軟 體可以與 Matlab、Weka 結合,利用它們來處理 ANFIS 與決策樹的運算。 圖 14 軟體介面 2. Matlab 具有強大的運算能力,在此負責處理 ANFIS 的訓練與運算。 3. Weka負責處理決策樹的學習與篩選資料的功能。
3.2 測詴系統之架構
本研究之測詴系統架構如圖 15 所示。此系統具即時量測與控制風扇轉速之功 能,可以設定電池堆的輸出電流值,並偵測電池堆的溫度、電池堆每秒的溫度差 與環境溫度等數據,透過上述的偵測數據來決定風扇的轉速,以達到控制電池堆 溫度的效果。在測詴系統的架構中,我們可以用電力控制部、偵測部及通訊部來 加以區別。 電池堆模組 MCU CP2102 ADC Module DAC Module DC/DC Module E-Load Module Tx NB USB Rx 電路板 電池堆 風扇 電磁 閥 壓力 計 電池堆 溫度偵 測器 環境溫 度偵測 器 SPI SPI 電源供 應器 圖 15 測詴系統架構3.2.1 電力控制功能
電力控制功能在系統架構中所扮演的角色是提供電力與控制裝置的狀態。在 圖 15 中,直流電轉直流電模組(DC/DC module)就是負責處理直流電壓轉換的功能, 風扇、壓力計、電磁閥的電壓都是經過這一級的處理。以電磁閥為例,電源供應 器提供 20V 的電壓給電路板,透過直流電轉直流電模組後,就能將 20V 轉成電磁 閥所需要的操作電壓 12V。 在此測詴系統架構中,電磁閥與壓力計所需要的輸入電壓是固定的,不需要 變動電壓的功能,而需要進行電壓變動的裝置只有風扇而已。電壓變動的功能需要數位轉類比模組(DAC module)與直流電轉直流電模組結合才行。首先,微處理 器(MCU)將要設定的風扇電壓值送給數位轉類比模組,而數位轉類比模組將微處 理器送來的訊號轉換成電壓後,就能改變直流電轉直流電模組的輸出電壓值。如 此要控制風扇的風流量,即可透過改變風扇的操作電壓,讓風扇有不同的風流量, 以達到不同程度的散熱效果。 電子負載模組(E-Load module)之主要功能為模擬負載的電力需求,所以該模組 會直接與電池堆的正、負極連接在一起,微處理器透過設定數位轉類比模組的電 壓值,即可設定該模組對電池堆的電流抽載量。
3.2.2 偵測功能
該系統架構所需要偵測的項目有壓力值、環境溫度值與電池堆溫度值。而要 達到偵測的功能需要依靠類比轉數位模組(ADC module),該模組負責將類比訊號 轉換成數位訊號。以環境溫度為例,微處理器若要取得環境溫度值,則微處理將 通知類比轉數位模組,將取得的環境溫度類比電壓值轉為數位訊號傳給微處理器, 而微處理器取得此資料後,即可將其轉換為溫度值。3.2.3 通訊功能
該系統架構所使用的通訊功能,是使用 CP2102 這顆 IC 來達成。該 IC 負責處 理電腦端與電路板的通訊,電腦端傳送過來的 USB 封包,透過此 IC 後,會轉換 成 UART 的格式,再傳給微處理器;或是將微處理要傳給電腦端的資料,會以 UART 的格式傳給 CP2102,而 CP2102 再將其轉換成 USB 的封包,再傳給電腦。3.3 控制模組
本研究在系統控制的部份希望能達到具有自動學習控制溫度的功能。而本研 究將給合智慧代理人(Agent)及自適應網路模糊推論系統(ANFIS)來完成控制,其控 制關係圖的部份,如圖 16 與圖 17 所示。 風扇控制權的部份,智慧代理人與自適應網路模糊推論系統均有控制權,但 它們不會同時擁有控制權,而風扇控制權的部份,將分為二階段。第一階段的控 制,如圖 16 所示,風扇是由智慧代理人所控制,而此階段最重要的任務是收集與 篩選資料,而偵測資料傳送給智慧代理人(橘色虛線),待資料收集完畢後,使用者 可以協助智慧代理人,讓它學習篩選正確的資料。第二階段的控制如圖 17 所示, 經訓練後的自適應網路模糊推論系統可以直接做溫度的控制,依據偵測資料(橘色虛線),由自適應網路模糊推論系統控制風扇的狀況。 User 電腦端 電池堆模組 Tstack △Tstack (電堆溫度差) 調整 Agent 風扇 Tambi. Tambi. (環境 溫度) 環溫 電路板 電池堆 環境溫度 電池堆溫度/電池堆之溫度變化 電力 通訊 調整篩選資料 P_Tstack (前一次的 電堆溫度) Tstack(電堆溫度) + ─ 圖 16 Agent 控制關係圖 User 電腦端 電池堆模組 Tstack Tref (控制 溫度) ANFIS 風扇 + -Tambi. Tambi. (環境溫度) 環溫 電路板 電池堆 環境溫度 電池堆溫度/電池堆之溫度變化 電力 通訊 使用者命令 Tstack (電堆溫度) 圖 17ANFIS 控制關係圖
3.3.1 智慧代理人與自適應網路模糊推論系統
智慧代理人與自適應網路模糊推論系統在系統控制中各司其職,下面將針對 智慧代理人與自適應網路模糊推論系統各個負責的功能來進行說明。 1. 智慧型代理人的功能 智慧型代理人的功用有二種,一是控制風扇、收集資料;二是篩選訓練 資料;三是監督自適應網路模糊推論系統的溫度控制能力是否需要調 整。 智慧型代理人的主要功能之一是負責控制的風扇電壓、收集資料與篩選 資料。而智慧型代理人可以透過控制不同的風扇電壓點,讓電池堆的溫 度有所變化,在此過程中,並記錄風扇電壓、環境溫度與電池堆溫度變 化的數據。 篩選資料的用途是要用來做自適應網路模糊推論系統訓練,若資料篩選 的不好,則會讓自適應網路模糊推論系統的訓練結果有誤,反而會讓控 制沒辦法達到預期的效果。在篩選資料的部份,智慧型代理人是使用決 策樹的方式來進行學習篩選資料。除此之外,控制風扇與篩選資料的基 本規則將會在 3.4 的章節中再做進一步的說明。 當自適應網路模糊推論系統擁有風扇的控制權時,智慧型代理人的第三 個功能就會被啟動,此功能就是監督自適應網路模糊推論系統,觀察自 適應網路模糊推論系統在控制溫度時,若電池堆的溫度與控制目標溫度 差超過 0.5℃,則判斷自適應網路模糊推論系統的參數需要再被重新訓練。 此時風扇的主控權將再回到智慧型代理人身上。 2. 自適應網路模糊推論系統的功能 自適應網路模糊推論系統的運算功能,在本研究是使用 Matlab 來實現的。 而自適應網路模糊推論系統不論是訓練模式或是控制模式,其輸入部份 有三個項目,輸出則只有一個項目。 當自適應網路模糊推論系統處於訓練模式時,其輸入項是環境溫度、電 池堆溫度以及電池堆溫度變化差,輸出項則是風扇的電壓值。在自適應 網路模糊推論系統的設定部份,其環境溫度的模糊集有二個梯形歸屬函 數;電池堆溫度的模糊集有五個梯形歸屬函數;電池堆溫度變化差的模 糊集有五個梯形歸屬函數。而設定的訓練時間(epochs)為 30 次,訓練方 法設定的是混合式(hybrid)的訓練法。當自適應網路模糊推論系統處於控制模式時,其輸入項是環境溫度、電 池堆溫度以及電池堆溫度與控制溫度的差值,輸出項則是風扇的電壓 值。
3.4 控制流程
瞭解智慧代理人與自適應網路模糊推論系統各別的功用之後,以下將介紹整 個控制流程的過程,其流程圖如圖 18 所示。在開始說明之前,可以由圖中觀察出, 圖內的流程是由智慧型代理人、自適應網路模糊推論系統及使用者合力完成,其 中使用者的部份僅需參與一次的修改即可,之後若觀察到篩選資料不如預期時, 再進行修改即可。 控制風扇 收集資料 篩選資料 訓練 ANFIS ANFIS控 制 監督 智慧型代理人 自適應網路模 糊推論系統 收集完 未收集完 觀察/修改 資料篩選 是否符合 標準 使用者 學習 圖 18 控制流程圖3.4.1 智慧代理人─控制風扇
在自適應網路模糊推論系統未經過訓練之前,先由智慧代理人控制風扇的電 壓大小,而其控制方法是有其規則性的,控制方法如圖 19 所示,詳細的流程說明 如下所述。 1. 在開始控制前,先設定風扇可以控制的電壓上限值與電壓下限值,而風 扇控制的區間就落在這個範圍內,其範圍即為圖 19 的紅色區間。2. 在燃料電池開始運作時,風扇的電壓會先設定在電壓的下限值,如圖 19 的○1 。 3. 等待電池堆溫度上升到上限時,即改變風扇電壓至上限值,如圖 19 的 ○2 。 4. 等待電池堆溫度下降至下限時,將再次改變風扇電壓,而此時風扇電壓 的設定值,如下面的運算式(15)所示,其中運算式的 c 表示風扇設定的次 數,k 為風扇電壓的基本單位,為圖 19 的○3 。 (15) ) 1 ( _
_vol fan vol k c
fan low 5. 等待電池堆溫度上升至上限時,再次改變風扇電壓,此時風扇電壓的設 定值,如下面的運算式(16)所示,為圖 19 的○4 。
1
(16) k -__vol fan vol c
fan high 6. 重複第 4 點與第 5 點的工作。而當風扇電壓控制越到後面時,即風扇電 壓越來越接近控制範圍的中間值時,其電池堆的溫度就很難接近溫度上 限值或下限值,此時風扇電壓的變更條件,就以控制時間來決定。例如: 當風扇電壓 5V 的控制時間已達 3 分鐘,就強制變更風扇電壓。 時間 風扇電壓 電壓下限值 電壓上限值 1 2 3 4 圖 19 風扇控制方法
3.4.2 智慧代理人─收集資料
在這部份的工作除了收集資料外,此階段還要判斷收集資料的工作是否告一 段落。儲存的資料有時間、風扇電壓值、環境溫度值、電池堆溫度值、電池堆電 流值。整個處理的程序如下所述: 1. 建立一個新名稱且編號為 1 的檔案。 2. 每秒記錄一次資料,並將資料儲存至檔案內。 3. 判斷是否已達資料收集完成的工作,其完成點如圖 20 中的圓形選取處, 而圖中的實線為當時風扇所設定的電壓值,虛線並無任何設定動作,而 風扇電壓之設定如同黑線與紅線的線形變化。從 3.4.1 小節得知,風扇的 電壓控制是有規則性的,所以當其風扇的電壓呈現交叉、重疊的情況時, 即表示收集資料已完成。 4. 判斷記錄時間是否已達 30 分鐘,若已達到進入程序 5,若未達 30 分鐘, 則回到程序 2。 5. 建立新檔案其编號遞增 1 號,回到程序 2。 時間 風扇電壓 電壓下限值 電壓上限值 收集資料完成點 圖 20 資料收集結束時機3.4.3 智慧代理人─篩選資料的概念
完成收集資料的程序後,接著就是開始篩選資料的工作,而這些被篩選出來 的資料將使用在訓練自適應網路模糊推論系統,以便於能得到自適應網路模糊推 論系統內的前提部與推論部的參數。 本研究在篩選資料的部份,牽涉到基本概念與使用的方法。關於基本概念的 部份,將會在下一個段落做詳細的介紹,而篩選資料所使用的方法,其智慧代理 人是使用決策樹的方式來進行篩選。決策樹是適用在分類資料的工具,尤其在本 研究中是要進行資料「要」或「不要」的分類。 如 3.4.2 節所提到的,在儲存資料的部份共有五個項目,分別為時間、風扇電 壓值、環境溫度值、電池堆溫度值、電池堆電流值。會用在訓練自適應網路模糊 推論系統的資料則有四個項目,分別為風扇電壓值、環境溫度值、電池堆溫度值 以及電池堆的溫度變化值,而最後一項「電池堆的溫度變化值」是由儲存資料裡 的「時間」與「電池堆溫度值」結合出來的產物,其運算式如下所示: (17) 1 2 Ts Ts Tstack t t 運算式中的ΔTstack為電池堆的溫度變化值,而 Tstn則表示為 tn 秒時電池堆的 溫度值。 在篩選資料的過程中,有二個基本概念是篩選資料時要被注意的,其概念如 下: 1. 風扇電壓改變時的溫度變化值 當環境溫度與電池堆產生電量的狀況均處於穩定的狀態,若風扇電壓的 設定值也是固定時,即風扇所能帶走的熱量是固定的,此時的溫度變化 趨勢是可以被預測的。 若環境溫度與電池堆產生電量的狀況維持不變,則依據 3.4.1 節所提到的 風扇控制方法,則將會出現溫度的變化與風扇的變化有落後的現象。舉 例來說,有一電池堆的溫度是呈現上升的趨勢,而當時的風扇電壓設定 值為 3V,若突然將風扇電壓設定為 12V,即風扇的風流量大幅增加,可 以使電池堆的溫度往下降,但現實的表現並非如此,而是如圖 21 紅色圓 圈選取處所示,電池堆溫度的表現為上升的幅度逐漸縮小,經過幾秒鐘 的時間後,其溫度才開始往下降。 所以在此區間的電池堆溫度變化就不能被用來作為訓練資料,必頇捨棄掉。 2. 電池堆的溫度變化值 電池堆的溫度變化值如運算式(17)所示,由運算式可以得知,在同樣一份 資料下,該數據深受時間參數的影響。舉例來說,有一電池堆的溫度變 化是每秒上升 0.2℃,若 t2 與 t1 的時間差為 10 秒,則ΔTstack的值即為 2 ℃;若 t2 與 t1 的時間差為 5 秒,則ΔTstack的值即為 1℃。 從上述例子可以得知,t2 與 t1 的時間差不一樣時,其電池堆溫度變化的 數據也會不同。若電池堆溫度變化是處於緩慢上升或下降,則 t2 與 t1 時 間差距取的太短時,從數據上會有容易誤判的情況,會誤以為溫度已穩 定了;若 t2 與 t1 時間差距取的太長時,雖然可以觀察到真正的情況,但 容易導致溫度控制上會有震盪的情況發生。 時間 電池堆溫度 風扇電壓變更造成的現象 圖 21 篩選資料應避免的轉折點
3.4.4 使用者─修改篩選出來的資料
當智慧代理人篩選出要用來訓練的資料時,使用者可以決定要不要修改篩選 出來的資料,若使用者覺得不需要修改,則修改與智慧代理人再次學習篩選的功 能就會被跳過,程序上會直接進入訓練自適應網路模糊推論系統。但是如果使用 者經觀察後,發現有些數據不應該被篩選進來當作訓練資料,此時就能進行調整的動作。而完整的處理程序流程,如圖 22 所示,從圖中可以觀察到兩個行程。 1. 智慧代理人篩選資料完後,使用者介面將會顯示出這些被篩選出來的資 料,而使用者則觀察完這些被篩選出來的資料後,可以決定是否要進行 調整的動作,若不進行調整的話,則可直接進入訓練自適應網路模糊推 論系統,程序如圖 22 中,藍色與紅色箭頭所標示的方式進行。 2. 智慧代理人篩選資料完後,使用者介面將會顯示出這些被篩選出來的資 料,而使用者則觀察完這些被篩選出來的資料後,若要進行調整,則直 接刪除不想要的資料,而智慧代理人就會依據所留下的數據來進行學習, 接著就可以訓練自適應網路模糊推論系統,程序如圖 22 中,藍色與綠色 箭頭所標示的方式進行。 顯示 篩選資料 修改 是否 調整? 訓練 ANFIS 學習 是 觀察 否 圖 22 修改篩選資料之流程圖
3.4.5 智慧代理人─學習
智慧代理人篩選出來的訓練資料,對於訓練自適應網路模糊推論系統所產生 的參數是非常重要的,而智慧代理人若能具有學習篩選資料的功能,對於使用者 而言,就能減輕使用者的負擔,甚至可以達到篩選資料可以不需要使用者在旁監 督。當然要達到自動篩選的功能,智慧代理人一定要有學習的能力,透過學習達 到自動篩選。表 1 學習資料範例 環境溫 度 電池堆溫 度 電池堆溫度 差 風扇電 壓 計數時間 溫度差的 差值 資料選 擇 21.3 36.16 0.57 4 1 1 0 21.4 36.69 0.53 4 2 0.04 1 21.5 37.19 0.5 4 3 0.03 1 21.53 37.69 0.5 4 4 0 1 21.53 38.16 0.47 4 5 0.03 1 21.46 38.6 0.44 4 6 0.03 1 21.5 39.01 0.41 4 7 0.03 1 21.56 39.45 0.44 4 8 0.03 1 21.53 39.86 0.41 4 9 0.03 1 21.5 40.27 0.41 4 10 0 1 21.53 40.66 0.39 4 11 0.02 1 21.56 41.01 0.35 4 12 0.04 1 21.6 41.18 0.17 6.5 1 1 0 21.5 40.74 -0.44 6.5 2 0.61 0 21.5 40.1 -0.64 6.5 3 0.2 1 21.53 39.51 -0.59 6.5 4 0.05 1 21.53 38.98 -0.53 4.5 1 0.06 1 21.63 38.87 -0.11 4.5 2 0.42 0 21.69 39.1 0.23 4.5 3 0.34 0 21.73 39.39 0.29 4.5 4 0.06 1 21.79 39.69 0.3 4.5 5 0.01 1 21.69 39.98 0.29 4.5 6 0.01 1 21.6 40.24 0.26 4.5 7 0.03 1 21.63 40.51 0.27 4.5 8 0.01 1 21.6 40.71 0.2 4.5 9 0.07 1 21.66 40.95 0.24 6.4 1 1 0 21.63 40.92 -0.03 6.4 2 0.27 0 21.66 40.51 -0.41 6.4 3 0.38 0 21.63 39.98 -0.53 6.4 4 0.12 1 21.6 39.48 -0.5 6.4 5 0.03 1 21.56 39.1 -0.38 4.6 1 1 0 在本研究中,智慧代理人的分類是使用決策樹來進行,而決策樹是屬於受監 督的學習模式,這一部份的學習功能是使用 Weka 平台來進行,透過 Weka 平台內
的 M5P 模組,進行決策樹的學習。而為了讓學習更有效率,能準確的篩選出訓練 所需要的資料,故本研究在儲存資料的部份,新增了計數時間、相鄰兩筆資料的 電池堆溫度差的差值與資料選擇三筆資料,其說明如下所示: 1. 計數時間 該計數時間是依據風扇電壓的設定狀態來決定此參數的數值,若風扇電 壓不改變時,則計數時間是以遞增的方式在做變化;若風扇電壓變動時, 則計數時間會先重置為 1,再開始遞增。 請參考表 1 學習資料範例。在表中最左邊的項目即為計數時間,此計數 值一直計數至 12,而風扇電壓在這段期間都是 4V 的設定,直到風扇電 壓變更為 6.5V 時,計數時間才重置為 1。 2. 電池堆溫度差的差值 該參數是計算資料相鄰的電池堆溫度差的差值,並取其絕對值。該數值 越大時,表示此筆數據落在溫度的轉折區,不可拿來當作訓練資料。而 計數時間為 1 的資料,其電池堆溫度差的差值令其為 1,表示此值絕對不 能挑選。如表 1 第二筆資料的電池堆溫度差的差值,是第二筆資料的電 池堆溫度差減掉第一筆資料的電池堆溫度差再取絕對值。 3. 資料選擇 資料選擇的定義即為是否要當作自適應網路模糊推論系統的訓練資料, 若此數值為 1 時,表示此列的數據要當作訓練資料;若此數值為 0 時, 表示此列的數據不適合當作訓練資料。
3.4.6 自適應網路模糊推論系統─訓練
自適應網路模糊推論系統的訓練目的,主要是要取得前提部與推論部的參數, 讓學習後的自適應網路模糊推論系統能夠近似輸入與輸出的關係。而本研究中, 與自適應網路模糊推論系統相關的運算是使用 Matlab 來處理。以下將介紹使用 Matlab 進行自適應網路模糊推論系統的訓練流程,其處理程序如圖 23 所示,說明 如下: 1. 開始訓練Java 軟體啟動 JMatLink,產生一個虛擬平台,讓 Java 與 Matlab 連接,使 得 Java 可以直接使用 Matlab 進行運算的處理。
2. 載入資料
z, o],其中 x、y、z 均為輸入變數,o 為輸出變數。 3. 設定歸屬函數 此步驟的主要目的是設定輸入變數歸屬函數的數目與類型,以及輸出變 數的歸屬函數的類型。在本研究中,輸入變數共有三個項目,其歸屬函 數的數目設定,分別是環境溫度數歸屬函數的數目為二,電池堆溫度歸 屬函數的數目為五,電池堆溫度差歸屬函數的數目也是為五。 在歸屬函數類型的部份,三個輸入變數的歸屬函數類型均設定為梯形, 在輸出變數的部份,為風扇的電壓值,其歸屬函數類型設定為 constant。 在 Matlab 指 令 的 部 份 則 是 genfis1(data, [2, 5, 5], char(„trapmf‟), char(„constant‟))。
4. 進行混合式學習
Matlab 的學習指令為 anfis(data, in_fis, numepochs),data 的欄位代入要訓 練的輸入、輸出資料,in_fis 的欄位則代入 genfis1(… )的輸出結果,而 numepochs 則為訓練次數,在本研究的訓練次數設定為 30 次。 5. 結束訓練 訓練結束,可以中止 Java 與 Matlab 的連接。 設定歸屬 函數的數 目與類型 載入資料 執行混合 式學習 結束訓練 data=[x, y, z, o]
in_fis=genfis1(data, [2 5 5], char(„trapmf‟, „trapmf‟))
out_fis=anfis(data, in_fis, numepochs)
開始訓練
使用 Matlab 進行運算
3.4.7 自適應網路模糊推論系統─控制
待自適應網路模糊推論系統訓練完後,就能開始使用自適應網路模糊推論系 統來做溫度控制,流程圖如圖 24 所示,而其使用流程如下: 1. 設定溫度 設定電池堆的溫度控制點,即希望電池堆溫度保持在設定的溫度點。 2. 偵測數據 偵測環境溫度與電池堆的溫度值,並計算設定的電池堆溫度點與目前的 電池堆溫度差。 3. 計算Java 軟體透過 JMatLink 與 Matlab 連結,並呼叫 Matlab 的命令 evalfis(x, out_fis),即可得到要設定的風扇電壓值,其中 x 為程序 2 的偵測數據, 而 out_fis 為自適應網路模糊推論系統訓練完的變數。 4. 設定風扇電壓值 將程序 3 計算得到的結果去設定風扇電壓值。 偵測 設定控制 溫度值 計算 設定風扇 電壓 evalfis(x, out_fis) 環境溫度、電池堆溫度、 電池堆溫度與欲控制的溫度差 使用 Matlab 進行運算 圖 24 ANFIS 控制流程