§ 瀏覽學位論文書目資料
  
系統識別號 U0002-2507201111052700
DOI 10.6846/TKU.2011.00912
論文名稱(中文) 利用Matlab編寫低階單晶片程式以建構控制系統之硬體
論文名稱(英文) USING MATLAB TO PROGRAMING MICROCHIPS FOR HARDWARE IMPLEMENTATION
第三語言論文名稱
校院名稱 淡江大學
系所名稱(中文) 航空太空工程學系碩士班
系所名稱(英文) Department of Aerospace Engineering
外國學位學校名稱
外國學位學院名稱
外國學位研究所名稱
學年度 99
學期 2
出版年 100
研究生(中文) 宋季勇
研究生(英文) Chi-Yung Sung
學號 698430039
學位類別 碩士
語言別 繁體中文
第二語言別
口試日期 2011-06-16
論文頁數 68頁
口試委員 指導教授 - 蕭富元
委員 - 洪建君
委員 - 蕭照焜
關鍵字(中) Simulink
Real-Time Workshop
單晶片
C碼
關鍵字(英) Simulink
Real-Time Workshop
Microchip
C code
第三語言關鍵字
學科別分類
中文摘要
本篇論文主要探討如何將Simulink的模型,透過Real-Time Workshop toolbox轉換為C程式語言,並燒入至單晶片中,以簡化硬體實做時的程序。首先,我們先建立一個簡單的simulink模型 來學習如何利用 Real-Time Workshop toolbox 將此模型轉為C碼,此C碼經過必要的修改後,再將之燒錄至單晶片中。經過模擬軟體與實際電路的測試,我們發現此套程序是可行的。於是我們由簡至繁,分別測試各種不同的模型、並透過實作驗證,由Real-Time Workshop toolbox轉譯出來的控制器,在經過簡單修改後,其效能與在Simulink上表現一致。此外,我們亦探討了模型轉譯的過程中,所需記憶體的規模問題。本研究主要為日後相關系統控制實做奠基,期能透過簡單的模型轉譯手段,免除非資工背景工程人員編寫單晶片C碼之不便。
英文摘要
This thesis investigates the process to translate a simulink model to C codes, and to implement the C codes on a microchip for control purpose. First of all, we establish a simple simulink model to learn the translation process using the Real-Time Workshop toolbox. After the C codes are generated, it should be slightly modified before microchip usage. This process is verified to be successful by simulations and experiments. Then various control models,
including simple and complicated ones, are tested and verified to be functional. Hardware-in-loop simulations demonstrate that the performance of translated system is as good as it was in the simulink. Moreover, we realize that the memory requirement may become an important issue in the translation. As a result, we also investigate this problem in this thesis. This thesis potentially contributes to future hardware implementation for control purpose, since it simplifies the process to coding a microchip, which is not a profession of an engineer with non-computer-science background.
第三語言摘要
論文目次
中文摘要 I
英文摘要 II
致謝 III
1 緒論 1
1.1 研究動機 1
1.2 文獻回顧 2
1.3 研究步驟 2
2 軟體及硬體介紹 4
2.1 軟體介紹 4
2.2 硬體介紹 8
3 Simulink建模和C 語言轉換 16
3.1 Simulink建模 16
3.2 參數設定 17
3.3 C Code 轉換及程式修改 22
3.4 利用SimLab-8051進行模擬 26
3.5 實際硬體測試 29
3.6 中斷測試 30
3.7 四輸入一輸出計算模型測試 32
3.8 判斷程式記憶體佔用空間 35
4 PIC 18f4523硬體測試37
4.1 浮點數解碼模型 37
4.2 P 控制器模型 44
4.3 PD控制器模型 47
4.4 PID控制器模型 51
4.5 Fuzzy控制器模型 54
5 結論 58
參考文獻 60

2.1 Simulink系統方塊. . . . . . . . . . . . . . . . . . . . . . . 5
2.2 SimLab-8051使用介面. . . . . . . . . . . . . . . . . . . . . 6
2.3 RS-232通訊測試軟體. . . . . . . . . . . . . . . . . . . . . 7
2.4 MPLAB IDE 開發環境. . . . . . . . . . . . . . . . . . . . 8
2.5 89C51/89S51單晶片腳位定義圖[7] . . . . . . . . . . . . . . 9
2.6 89C51/89S51基本電路圖[7] . . . . . . . . . . . . . . . . . . 10
2.7 PIC18F4523單晶片腳位定義圖. . . . . . . . . . . . . . . . 11
2.8 RS-232連接MAX232/MAX3232電路圖[7] . . . . . . . . . . 12
2.9 MAX232/MAX3232基本電路圖[7] . . . . . . . . . . . . . . 12
2.10 RS-232傳輸通訊模組. . . . . . . . . . . . . . . . . . . . . 13
2.11 RS-232傳輸線. . . . . . . . . . . . . . . . . . . . . . . . . 13
2.12 LEAPER-48 IC 燒錄器. . . . . . . . . . . . . . . . . . . . 14
2.13 PIC 多功能實驗板. . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Simulink model . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 點進Real-time Workshop 進行參數設定. . . . . . . . . . . 17
3.3 在System target file 選取ert.tlc . . . . . . . . . . . . . . . 18
3.4 在Type 裡選取Fixed-step . . . . . . . . . . . . . . . . . . 19
3.5 在Hardware Implementation 裡選取Intel 8051 . . . . . . . 20
3.6 在Interface 裡取消兩個選項. . . . . . . . . . . . . . . . . . 21
3.7 在tool 中按下Build Model 產生C 程式碼. . . . . . . . . . 22
3.8 ert main 檔程式修改區. . . . . . . . . . . . . . . . . . . . 23
3.9 副程式檔中的程式碼. . . . . . . . . . . . . . . . . . . . . . 24
3.10 修改過後的程式碼. . . . . . . . . . . . . . . . . . . . . . . 26
3.11 指撥開關/8個LED 實習版. . . . . . . . . . . . . . . . . . 27
3.12 指撥開關測試結果. . . . . . . . . . . . . . . . . . . . . . . 28
3.13 實體測試的結果. . . . . . . . . . . . . . . . . . . . . . . . 29
3.14 中斷測試程式碼和結果. . . . . . . . . . . . . . . . . . . . . 32
3.15 四輸入一輸出計算模型. . . . . . . . . . . . . . . . . . . . . 33
3.16 四輸入一輸出計算模型程式碼. . . . . . . . . . . . . . . . . 34
3.17 四輸入一輸出模型RS232通訊結果. . . . . . . . . . . . . . . 35
3.18 M51檔記憶體使用情況. . . . . . . . . . . . . . . . . . . . . 36
4.1 IEEE 4 byte 轉為浮點數model . . . . . . . . . . . . . . . . 38
4.2 程式修改(一) . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 程式修改(二) . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4 stept function 內程式修改. . . . . . . . . . . . . . . . . . . 42
4.5 透過RS232通訊測試程式來驗證結果. . . . . . . . . . . . . 43
4.6 單晶片與電腦連結示意圖. . . . . . . . . . . . . . . . . . . . 44
4.7 P Controller Simulation . . . . . . . . . . . . . . . . . . . 45
4.8 P Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.9 P Controller simulation Y 值. . . . . . . . . . . . . . . . . 46

4.10 P Controller simulation U 值. . . . . . . . . . . . . . . . . 47
4.11 PD Controller Simulation . . . . . . . . . . . . . . . . . . 48
4.12 PD Controller . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.13 PD Controller 微分區間設定. . . . . . . . . . . . . . . . . 49
4.14 PD Controller simulation U 值. . . . . . . . . . . . . . . . 50
4.15 PD Controller simulation Y 值. . . . . . . . . . . . . . . . 50
4.16 PID Controller Simulation . . . . . . . . . . . . . . . . . . 52
4.17 PID Controller Simulation . . . . . . . . . . . . . . . . . . 52
4.18 PID Controller simulation U 值. . . . . . . . . . . . . . . 53
4.19 PID Controller simulation Y 值. . . . . . . . . . . . . . . 53
4.20 Fuzzy model . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.21 SystemTest視窗設定. . . . . . . . . . . . . . . . . . . . . . 55
4.22 SystemTest變數定義. . . . . . . . . . . . . . . . . . . . . . 55
4.23 SystemTest連結輸入及輸出. . . . . . . . . . . . . . . . . . 56
4.24 Save Results 設定. . . . . . . . . . . . . . . . . . . . . . . 56
4.25 Fuzzy查表模型. . . . . . . . . . . . . . . . . . . . . . . . . 57
參考文獻
[1] 黃永安.馬路.劉慧敏,“MATLAB7.0/Simulink6.0建模仿真開發與高級
工程運用”, 清華大學出版社,2005.
[2] 鈦思科技股份有限公司,“視覺化建模環境-Simulink 入門與進階”, 鈦思科
技股份有限公司,2001.
[3] 張丁才,“活用C 語言程式設計”, 高立圖書有限公司,2001.
[4] 陳健宗,“圖解C 語言”, 博碩文化股份有限公司,2009.
[5] 郭庭吉.吳金戊,“單晶片8051專題製作-使用Keil uvision3組合語言”, 文魁資訊股份有限公司,2008.
[6] 劉銘中.林琮烈,“MCS-51 單晶片原理與設計實務(KEIL C 語言版)”, 儒
林圖書有限公司,2007.
[7] 張義和.王敏男.許宏昌.余春長,“例說89S51 C 語言”, 新文京開發出版
股份有限公司,2009.
[8] 溫植燁,“8051單晶片實務與應用: 使用Keil C”, 文魁資訊股份有限公
司,2004.
[9] 曾百由,“微處理器原理與應用-C 語言與PIC18微控制器”, 五南圖書出版
股份有限公司,2006.
[10] Y.C. Chen, F.Y. Hsiao, J.F. Shen, F.C. Hung, and S.Y. Lin, Application of Matlab to the Vision-Based Navigation of UAVs, IEEE, 2010.
[11] F.Y. Hsiao, J.F. Shen, and Y.C. Chen, Autonomous Flight of Rotorcraft UAV Using Vision-based Navigation, IASTED, 2009.
[12] Daniel Ernst, Kimon Valavanis, Richard Garcia, and Jeff Craighead, Unmanned Vehicle Controller Design, Evaluation and Implementation: From MATLAB to Printed Circuit Board, Springer, 2007.
[13] http://foundy.blog.163.com/blog/static/26338344200902212525282/
[14] http://foundy.blog.163.com/blog/static/2633834420100150439615/
論文全文使用權限
校內
校內紙本論文立即公開
同意電子論文全文授權校園內公開
校內電子論文立即公開
校外
同意授權
校外電子論文立即公開

如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信