国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于代碼生成技術(shù)的Matlab/Simulink實驗教學(xué)改革

2018-09-04 12:41張海華李新旻
實驗技術(shù)與管理 2018年8期
關(guān)鍵詞:代碼生成電機實驗教學(xué)

劉 濤, 蔡 燕, 張海華, 李新旻

(天津工業(yè)大學(xué) 電工電能新技術(shù)天津市重點實驗室, 天津市電機系統(tǒng)先進設(shè)計與 智能控制技術(shù)工程中心, 天津 300387)

Matlab/Simulink是一款高級科學(xué)計算與工程仿真軟件,能夠?qū)崿F(xiàn)動態(tài)系統(tǒng)建模、仿真和綜合集成分析以及線性/非線性系統(tǒng)、數(shù)字控制及數(shù)字信號處理的仿真[1-2],近十幾年在電力電子系統(tǒng)和電機驅(qū)動等領(lǐng)域得到了廣泛的應(yīng)用[3-5]。

在高等院校,Matlab/Simulink相關(guān)課程通常安排在教學(xué)計劃的后期,與其他專業(yè)課程相區(qū)別。該課程綜合了電路理論、電器學(xué)、自動控制理論、信號與系統(tǒng)、電力系統(tǒng)、電力電子、電機學(xué)、電機拖動等多門課程的核心知識,對教學(xué)方法和實驗設(shè)計的要求很高[6-8]。目前,Matlab/Simulink的教學(xué)包括簡單的編程練習(xí)和基礎(chǔ)仿真訓(xùn)練,學(xué)生掌握的知識是碎片化的,缺乏整體系統(tǒng)模型的概念。

本文在傳統(tǒng)的Matlab/Simulink課程中引入代碼生成技術(shù)和物理實驗系統(tǒng),使虛擬仿真技術(shù)與實驗教學(xué)緊密結(jié)合,借此提高學(xué)生對所學(xué)理論知識的實踐運用能力[9-12]。以傳統(tǒng)經(jīng)典的PID控制系統(tǒng)和電機控制系統(tǒng)實驗為例,對Matlab/Simulink課程的實驗教學(xué)進行改革,力求把理論知識與實際相結(jié)合,在Simulink建模的基礎(chǔ)上實現(xiàn)理論與實踐的一體化教學(xué),使學(xué)生加深對復(fù)雜系統(tǒng)及其與專業(yè)知識之間映射關(guān)系的理解,初步積累項目經(jīng)驗和提高解決復(fù)雜工程的能力。

1 Matlab/Simulink中的代碼生成技術(shù)

代碼生成技術(shù)是將Matlab/Simulink中建立的算法模型自動生成代碼,然后轉(zhuǎn)換為能夠控制實際物理模型的高級語言程序,通過將程序進行編譯、鏈接、下載到開發(fā)板中,將Matlab/Simulink中虛擬形式的控制系統(tǒng)轉(zhuǎn)換為可以直接實現(xiàn)功能的硬件系統(tǒng)控制程序。

Matlab/Simulink中的代碼生成技術(shù)體現(xiàn)在軟件所包含的Matlab Coder、Simulink Coder和Embedded Coder 3個工具箱中。其中,Matlab Coder用于Matlab編程語言與C/C++代碼之間的轉(zhuǎn)換;Simulink Coder用于Simulink仿真模型與C/C++代碼之間的轉(zhuǎn)換;Embedded Coder專門針對嵌入式系統(tǒng)實現(xiàn)C/C++代碼的生成,同時提供Matlab Coder和Simulink Coder的配置選項和高級優(yōu)化,以便對所生成代碼的函數(shù)、文件和數(shù)據(jù)進行精細控制。

生成的C/C++代碼并不能直接應(yīng)用于物理硬件系統(tǒng),需要根據(jù)目標(biāo)控制器選擇合適的編譯環(huán)境,同時使用專用的接口工具實現(xiàn)Matlab/Simulink與編譯環(huán)境的連接。例如,針對TI公司的C2000系列微控制器,需要采用Code Composer Studio 6作為編譯環(huán)境,同時下載C2000支持包作為Matlab/Simulink的插件實現(xiàn)接口工具。

2 實驗教學(xué)流程

基于代碼生成技術(shù)的Matlab/Simulink實驗教學(xué)流程如圖1所示。

圖1 基于代碼生成技術(shù)的實驗教學(xué)流程

傳統(tǒng)的Matlab/Simulink課程的實驗教學(xué)模式包含3部分:

(1) 課程基本定義與基本方法:講授仿真所涉及的基本理論知識和方法,該部分與學(xué)生以往所學(xué)的課程相關(guān),例如講授電機驅(qū)動系統(tǒng)仿真時,講授電機學(xué)和電機拖動相關(guān)知識;

(2) 基本公式與推理過程:從基本理論和方法中提取關(guān)鍵公式和推理過程,用于仿真模型的搭建;

(3) Matlab/Simulink仿真模型實現(xiàn):講授Matlab /Simulink仿真模型的建立過程和相關(guān)參數(shù)設(shè)定方法。

傳統(tǒng)的實驗教學(xué)按基本理論的講解、基本公式的推演、仿真模型的實現(xiàn)逐步推進,最后通過仿真實現(xiàn)對理論的闡明和驗證,整個教學(xué)過程停留在單個反饋環(huán)中,所有的過程均利用黑板和個人電腦完成,很難讓學(xué)生將理論知識、技術(shù)手段與實際工程相結(jié)合,而且仿真結(jié)果只是在數(shù)學(xué)層面驗證基本理論的正確性,沒有對學(xué)生進行實際硬件操作的訓(xùn)練,且并未考慮實際物理系統(tǒng)與數(shù)學(xué)模型的聯(lián)系與區(qū)別。

附加代碼生成技術(shù)后,教學(xué)過程增加了2個環(huán)節(jié):

(1) C/C++代碼生成:將Matlab/Simulink仿真模型對應(yīng)的算法模型進行轉(zhuǎn)換,生成相應(yīng)的C/C++代碼,在此基礎(chǔ)上,利用接口工具對代碼進行參數(shù)配置和優(yōu)化,使其成為編譯環(huán)境可以識別的程序語言;

(2) 實際控制系統(tǒng):將C/C++代碼下載到硬件系統(tǒng)的微控制器中,通過完成算法的功能實現(xiàn)對物理系統(tǒng)的控制,從而驗證算法對應(yīng)的理論知識。

可以看到:附加代碼生成技術(shù)后,通過實驗驗證,增加一條反饋環(huán),可以觀察到算法對系統(tǒng)的控制作用,加深學(xué)生對系統(tǒng)知識的理解,學(xué)生可以觀察到數(shù)學(xué)模型與實際物理系統(tǒng)的聯(lián)系與區(qū)別。重要的是:基于代碼生成技術(shù),不需要經(jīng)過繁瑣的程序設(shè)計與硬件學(xué)習(xí)便可完成實驗,減少了學(xué)習(xí)周期和實驗設(shè)計的難度。

3 課程實驗教學(xué)實例設(shè)計

3.1 PID控制系統(tǒng)

PID控制堪稱自動控制理論中的經(jīng)典,在Matlab/Simulink教學(xué)中,有必要將其加入相關(guān)實驗教學(xué)過程。

圖2是基于Matlab/Simulink代碼生成技術(shù)的PID控制系統(tǒng)教學(xué)平臺。圖2中:

① 為實際物理系統(tǒng),包括鋁合金支架、電磁鐵、H橋電路、光電傳感器、arduino開發(fā)板等組件,可以實現(xiàn)電磁鐵對鐵球的磁懸浮控制,進而控制鐵球的懸停位置;

② 為實際物理系統(tǒng)的結(jié)構(gòu)示意圖,其中,光電傳感器測量鐵球與電磁鐵之間的距離,并通過模擬電路傳遞給arduino開發(fā)板的模擬數(shù)字轉(zhuǎn)換端口,arduino根據(jù)鐵球位置設(shè)定值,利用PID控制器得到合適的輸出值,結(jié)合脈寬調(diào)制(pulse-width modulation,PWM)技術(shù)向H橋電路發(fā)出PWM信號,從而控制電磁鐵對鐵球的吸引力;

圖2 基于Matlab/Simulink代碼生成技術(shù)的 PID控制系統(tǒng)教學(xué)平臺

③ 為Matlab/Simulink仿真模型,分為控制算法仿真部分和硬件系統(tǒng)仿真部分,其中控制算法部分主要包括PID控制器和鐵球位置設(shè)定模塊,體現(xiàn)經(jīng)典控制理論中的數(shù)學(xué)模型,硬件系統(tǒng)仿真部分包括模/數(shù)轉(zhuǎn)換以及脈寬調(diào)制,與實際物理硬件系統(tǒng)相對應(yīng)。

在實驗教學(xué)中,學(xué)生通過實際物理系統(tǒng)和結(jié)構(gòu)示意圖推導(dǎo)系統(tǒng)的控制原理,并在此基礎(chǔ)上搭建PID控制系統(tǒng)的Matlab/Simulink仿真模型,通過代碼生成技術(shù),將仿真模型轉(zhuǎn)換為C代碼,經(jīng)過接口工具,將生成的代碼編譯、鏈接、下載到arduino開發(fā)板中,實現(xiàn)鐵球的磁懸浮控制。學(xué)生可以通過Matlab/Simulink中的虛擬示波器觀察鐵球的位置波動曲線,從而對PID控制器進行相應(yīng)的調(diào)試。由于代碼生成技術(shù)的輔助,學(xué)生在操作過程中不需要進行繁瑣的編程,而是將主要精力放在PID控制器的特性學(xué)習(xí)和參數(shù)調(diào)試中,從而提高學(xué)習(xí)效率。

3.2 電機控制系統(tǒng)

基于Matlab/Simulink代碼生成技術(shù)的電機控制系統(tǒng)教學(xué)平臺如圖3所示。

圖3 基于Matlab/Simulink代碼生成技術(shù)的 電機控制系統(tǒng)教學(xué)平臺

電機控制系統(tǒng)涉及電機拖動、自動控制和電力電子等多門課程的交叉,對實驗教學(xué)設(shè)計有較高的要求。圖3中:

① 為實際的硬件物理系統(tǒng),由兩臺永磁同步電機、DRV8301驅(qū)動板和Launchpad 28069M開發(fā)板組成;

② 為Matlab/Simulink搭建的仿真電路;

③ 為代碼生成工具運行時輸出的報告。

在實驗教學(xué)中,通過對圖3①中硬件系統(tǒng)各部分的講解,使學(xué)生直觀地了解交流電機控制系統(tǒng)所需的控制器、驅(qū)動器、變流器各自的作用和相互關(guān)系。在此基礎(chǔ)上,對仿真模型進行講解,使學(xué)生了解控制算法的實現(xiàn)方法,以及仿真與實際物理系統(tǒng)的映射關(guān)系。利用代碼生成技術(shù),將仿真模型進行轉(zhuǎn)換,并利用接口工具將代碼傳遞給微控制器所需的編譯環(huán)境Code Composer Studio 6中,通過編譯、鏈接、下載到微控制器中。學(xué)生通過調(diào)試,能夠更為實際地理解交流電機中坐標(biāo)變換、閉環(huán)控制、空間矢量調(diào)制技術(shù)等重要環(huán)節(jié)。

4 教學(xué)過程和評價系統(tǒng)的描述

Matlab/Simulink課程的教學(xué)過程可分為課前預(yù)習(xí)、教師講解、學(xué)生自主學(xué)習(xí)、學(xué)生自主實驗以及總結(jié)5部分。

在正式上課之前,要求學(xué)生對相關(guān)內(nèi)容進行預(yù)習(xí),了解實驗所涉及的理論知識、實驗原理、實驗步驟,并提交實驗預(yù)習(xí)報告。教師根據(jù)學(xué)生預(yù)習(xí)的情況,有重點地講解相關(guān)知識內(nèi)容,以節(jié)省在課堂上對基礎(chǔ)知識進行講解所花費的時間。

在實驗人數(shù)安排上,安排3~4人為一組,通過分工合作,每人完成不同部分的程序編寫與調(diào)試、記錄參數(shù)和數(shù)據(jù)、下載程序與硬件調(diào)試,完成全部的實驗步驟。通過組內(nèi)交流,總結(jié)并記錄實驗中出現(xiàn)的問題以及解決方法。每次實驗結(jié)束后,學(xué)生通過交換位置,確保每人都能掌握整個實驗過程,并各自撰寫實驗總結(jié)報告。教師對學(xué)生在實驗中遇到的問題進行解答,鞏固和加深學(xué)生對知識的理解。

實驗結(jié)束后,從有無預(yù)習(xí)報告、仿真模型搭建、代碼生成、實際物理系統(tǒng)調(diào)試、實驗數(shù)據(jù)以及實驗報告等方面對學(xué)生的學(xué)習(xí)情況進行綜合評分,評分中應(yīng)兼顧學(xué)生的團隊合作能力和表達溝通能力。

5 結(jié)語

基于代碼生成技術(shù)對Matlab/Simulink實驗課程進行重新設(shè)計,加入了實際物理系統(tǒng),使得學(xué)生在基礎(chǔ)理論學(xué)習(xí)的基礎(chǔ)上,通過代碼生成工具對仿真模型進行轉(zhuǎn)換,并將所生成的代碼進行編譯、鏈接、下載到硬件系統(tǒng)的微控制器中,完成實際物理系統(tǒng)的控制與調(diào)試。該實驗課程的改革實現(xiàn)了仿真模型與實際物理系統(tǒng)對學(xué)生理論學(xué)習(xí)過程的雙重反饋,加深了學(xué)生對所學(xué)內(nèi)容的理解,鍛煉了學(xué)生將理論知識應(yīng)用到實際工程的能力,增強學(xué)生的學(xué)習(xí)興趣,提高了學(xué)生的團隊協(xié)作能力和解決復(fù)雜工程項目的能力。在設(shè)計的電氣傳動控制系統(tǒng)案例中,應(yīng)用代碼生成技術(shù),簡化了系統(tǒng)的編程設(shè)計過程,取得了良好的教學(xué)效果。

猜你喜歡
代碼生成電機實驗教學(xué)
泵用電機水潤滑軸承選擇與應(yīng)用
關(guān)于電機滾動軸承的選擇與計算
瞻望電機的更新?lián)Q代
小議初中化學(xué)演示實驗教學(xué)
電容器的實驗教學(xué)
對初中化學(xué)實驗教學(xué)的認識和體會
Lustre語言可信代碼生成器研究進展
一種基于模型和模板融合的自動代碼生成方法
幾何體在高中數(shù)學(xué)實驗教學(xué)中的應(yīng)用
電機隱憂
长顺县| 斗六市| 达尔| 区。| 南康市| 洛南县| 墨脱县| 武川县| 宜章县| 锦州市| 安化县| 大城县| 通州市| 江永县| 威远县| 泸水县| 彰化市| 安泽县| 六安市| 安国市| 贵德县| 海口市| 云霄县| 文水县| 山东| 祁东县| 长丰县| 南投市| 庆云县| 平乡县| 郸城县| 永平县| 运城市| 来安县| 西平县| 论坛| 义乌市| 永安市| 利川市| 荣成市| 平潭县|