周 磊 宋麗蓉
南京工程學(xué)院 江蘇南京 210067
MATLAB在自動控制原理教學(xué)中的應(yīng)用*
周 磊 宋麗蓉
南京工程學(xué)院 江蘇南京 210067
自動控制原理是自動化學(xué)科重要的專業(yè)基礎(chǔ)課,在近年的教學(xué)實踐中將MATLAB語言引入自動控制原理的教學(xué)和實踐中,并給出了MATLAB語言在教學(xué)中的應(yīng)用實例。在教學(xué)實踐中,精選教學(xué)內(nèi)容,改革教學(xué)方式,提高課堂教學(xué)效率。實踐證明,將自動控制原理與MATLAB語言的學(xué)習(xí)相結(jié)合,能夠提高學(xué)生的學(xué)習(xí)效率與學(xué)習(xí)積極性,培養(yǎng)學(xué)生的創(chuàng)新能力。
自動控制原理;MATLAB;教學(xué)改革
自動控制原理是高校電類和機械類及相關(guān)專業(yè)的一門專業(yè)基礎(chǔ)課,同時也是自動化專業(yè)最重要的專業(yè)基礎(chǔ)課之一。它是線性系統(tǒng)理論、最優(yōu)控制、系統(tǒng)辨識、自適應(yīng)控制等專業(yè)課的基礎(chǔ)。該課程主要講述反饋控制系統(tǒng)的基本概念、基本原理、基本分析方法和綜合設(shè)計方法。
MATLAB除了傳統(tǒng)的交互式編程之外,還提供了豐富可靠的矩陣運算、圖形繪制、數(shù)據(jù)處理等功能。此外,提供了大量的工具箱,如系統(tǒng)辨識工具箱、神經(jīng)網(wǎng)絡(luò)工具箱等,以及仿真環(huán)境。自動化專業(yè)學(xué)生如果能夠在學(xué)習(xí)自動控制原理的同時,學(xué)會使用MATLAB語言,不僅對掌握和應(yīng)用自動控制原理有幫助,還可以學(xué)會如何使用計算機輔助分析、設(shè)計控制系統(tǒng),為今后的工作和學(xué)習(xí)打下良好的基礎(chǔ)。
在教學(xué)改革中,把MATLAB語言作為一種基本工具與教學(xué)內(nèi)容有機結(jié)合,用于控制系統(tǒng)的建模、計算、分析、設(shè)計和仿真,使理論教學(xué)和實踐教學(xué)的效果、效率顯著提高。
本課程以傳遞函數(shù)為基礎(chǔ),采用時間域分析法、根軌跡分析法和頻率特性分析法分析控制系統(tǒng)的性能,主要用來解決單輸入單輸出系統(tǒng)的控制問題,系統(tǒng)可以是線性或非線性的,定?;驎r變的。
通過本課程的學(xué)習(xí)了解自動控制原理的基本原理和方法,以便進行系統(tǒng)分析與設(shè)計,同時為進一步學(xué)習(xí)自動控制原理打下較扎實的基礎(chǔ)。系統(tǒng)分析是指在規(guī)定的條件下,對數(shù)學(xué)模型已知的性能進行分析,包括定量分析和定性分析。定量分析是通過系統(tǒng)對某一個輸入信號的實際響應(yīng)來進行的;定性分析則研究系統(tǒng)穩(wěn)定性、動態(tài)性、穩(wěn)態(tài)性和關(guān)聯(lián)性等一般特性。各種設(shè)計方法往往來源于系統(tǒng)分析,因此,系統(tǒng)分析是十分重要的。系統(tǒng)設(shè)計是構(gòu)造一個能完成給定任務(wù)的系統(tǒng),這個系統(tǒng)具有所希望的瞬態(tài)、穩(wěn)態(tài)性能以及抗干擾性能。一般情況下,設(shè)計過程不是一個簡單的一次能完成的過程,而是一個逐步完善的過程。在這個過程中,有可能引入補償器或調(diào)整某些參數(shù)。
將MATLAB語言和自動控制原理有機結(jié)合進行教學(xué),既降低了自動控制原理的抽象性,增強了直觀性,又使學(xué)生在學(xué)習(xí)本課程的同時掌握MATLAB編程語言。在教學(xué)內(nèi)容上通過建模組成控制系統(tǒng),對系統(tǒng)進行分析和設(shè)計。對于講課內(nèi)容突出重點和難點,將重點放在建立系統(tǒng)數(shù)學(xué)模型、分析系統(tǒng)性能上,對于簡單、易于理解的內(nèi)容不需花大量的時間,比如在以往的教學(xué)過程中要花大量的時間在數(shù)學(xué)計算上,現(xiàn)在使用MATLAB語言提供的函數(shù)實現(xiàn)快速計算。又例如,在建立系統(tǒng)數(shù)學(xué)模型的章節(jié)中,調(diào)用MATLAB函數(shù)建立控制系統(tǒng)的數(shù)學(xué)模型。讓學(xué)生在Simulink環(huán)境中對這些模型進行仿真,逐步掌握建立系統(tǒng)仿真結(jié)構(gòu)模型的方法。既深化了系統(tǒng)模型方面的概念,又學(xué)習(xí)了如何使用仿真工具Simulink。在系統(tǒng)分析章節(jié)中,由系統(tǒng)中的輸入信號求線性方程的解(系統(tǒng)的輸出信號),通過學(xué)生編制MATLAB程序來繪制系統(tǒng)的時間響應(yīng)曲線,大大減少了教師繪制曲線的麻煩和不精確??傊?,如果將MATLAB語言和自動控制原理的內(nèi)容有機結(jié)合,會極大地推動自動控制原理教學(xué),使教學(xué)質(zhì)量進一步得以提高。
自動控制原理課程是一門理論性很強的專業(yè)基礎(chǔ)課,內(nèi)容比較抽象,難以理解,包含大量復(fù)雜的數(shù)學(xué)公式推導(dǎo)和圖表曲線。采用傳統(tǒng)的教學(xué)方式,教師寫板書,學(xué)生記筆記都很費時,授課信息量不大,學(xué)生聽課枯燥無味,課堂效率不高。將MATLAB語言和多媒體相結(jié)合進行教學(xué),教師邊操作邊講解,授課信息量大,能夠提高教學(xué)效率。
在傳統(tǒng)的教學(xué)模式中,教師往往是教學(xué)的主體,只注重傳授具體的知識,而不太重視學(xué)生獨立思考問題、分析問題和解決問題的能力,在知識日新月異的今天我們應(yīng)該特別重視學(xué)生能力的培養(yǎng)。教師應(yīng)在課堂教學(xué)中鼓勵學(xué)生主動思考問題,以培養(yǎng)學(xué)生的思維能力和表達(dá)能力。通過提問學(xué)生、課堂討論、課堂測驗和學(xué)生上講臺做題,及時反饋學(xué)生接受知識的情況,從而進一步改進教學(xué)方法和教學(xué)手段,提高課堂教學(xué)效率。
對于控制系統(tǒng)性能分析以圖解法為主,以往需花較多時間繪制系統(tǒng)的時間響應(yīng)曲線,現(xiàn)用MATLAB強大的計算功能,能輕而易舉的繪制系統(tǒng)的曲線,并能動態(tài)的演示這些曲線,使學(xué)生深刻理解所學(xué)內(nèi)容,提高聽課效率。對于課堂布置的課后作業(yè)題,學(xué)生做完后也可用MATLAB編程檢查對錯,可以提高學(xué)生分析問題、解決問題的能力。
學(xué)生對新知識的理解,僅僅通過課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須通過實踐教學(xué)進一步加強感性認(rèn)識。通過實踐教學(xué),培養(yǎng)學(xué)生將控制理論的方法用于解決實際控制系統(tǒng)的問題,將理論與實際應(yīng)用相結(jié)合。根據(jù)控制系統(tǒng)的性能要求,獨立完成系統(tǒng)設(shè)計、系統(tǒng)構(gòu)建和系統(tǒng)調(diào)試,寫出相應(yīng)的實驗報告。使學(xué)生了解MATLAB在控制系統(tǒng)中的應(yīng)用和Simulink仿真軟件在控制系統(tǒng)中的應(yīng)用。
在實驗教學(xué)中,以培養(yǎng)學(xué)生實踐動手能力為主要目的,使學(xué)生在實際操作過程中既能夠?qū)W習(xí)理論知識,又能學(xué)會從實踐中獲得知識的能力。由硬件來設(shè)計自動控制原理的實驗有一定的難度,其中一些內(nèi)容很難由硬件來實現(xiàn)。而利用MATLAB軟件設(shè)計自動控制原理的實驗具有很多優(yōu)點,MATLAB的Simulink仿真功能和控制系統(tǒng)工具箱為自動控制原理的實驗提供了極大的方便,同時可以培養(yǎng)學(xué)生應(yīng)用計算機輔助分析和設(shè)計控制系統(tǒng)的綜合能力。
根據(jù)題目要求編寫程序:
>> num=1;
>> i=0;
>> for xi=-0.5:0.5:0.5
den=[1 2*xi 1];
sys=tf(num,den);
i=i+1;
subplot(3,1,i)
step(sys);
end
系統(tǒng)單位階躍響應(yīng)曲線如圖1所示。
由圖1分析可知,阻尼比為-0.5時,系統(tǒng)時間響應(yīng)曲線呈發(fā)散狀態(tài),系統(tǒng)不穩(wěn)定;阻尼比為0時,系統(tǒng)時間響應(yīng)曲線呈等幅振蕩狀態(tài),系統(tǒng)臨界穩(wěn)定;阻尼比為0.5時,系統(tǒng)時間響應(yīng)曲線呈收斂狀態(tài),系統(tǒng)穩(wěn)定。
根據(jù)題目要求編寫程序:
>> num=1;
>> den=conv([0.05 1],[0.05 0.21]);
>> sys=tf(num,den);
>> rlocus(sys);
系統(tǒng)根軌跡如圖2所示。
根據(jù)題目要求編寫程序:
>> num1=1;den=conv([1 0],conv([1 5],[0.1 1]));
>> num2=100;figure(1);
>> [mag1 phase1 w1]=bode(num1,den);
>> margin(mag1,phase1,w1);
>> figure(2);
>> [mag2,phase2,w2]=bode(num2,den);
>> margin(mag2,phase2,w2);
系統(tǒng)Bode圖如圖3和圖4所示。
圖3 k=1時的Bode圖
圖4 k=100時的Bode圖
從圖中可以看出:當(dāng)k=1時,系統(tǒng)幅值穩(wěn)定裕度為37.5dB,相位裕度為86.6o,所以閉環(huán)系統(tǒng)穩(wěn)定;當(dāng)k=100時,系統(tǒng)幅值穩(wěn)定裕度為-2.5dB,相位裕度為-7.38o,所以閉環(huán)系統(tǒng)不穩(wěn)定。
在自動控制原理教學(xué)中,將MATLAB用于理論教學(xué)和實踐教學(xué),根據(jù)教學(xué)內(nèi)容,采取合理的現(xiàn)代化技術(shù)手段,運用先進的教學(xué)方式和方法,極大地調(diào)動了學(xué)生學(xué)習(xí)自動控制原理的主動性,提高了學(xué)生的實際動手能力和創(chuàng)新能力。
[1]胡壽松.自動控制原理[M].北京:科學(xué)出版社,2001
[2]黃中霖.控制系統(tǒng)MATLAB計算及仿真[M].北京:國防工業(yè)出版社,2001
[3]王丹力.MATLAB控制系統(tǒng)設(shè)計 仿真 應(yīng)用[M].北京:中國電力出版社,2007
Application of MATLAB to automatic control theory teaching
Zhou Lei, Song Lirong
Nanjing institute of technology, Nanjing, 210067,China
Automatic control theory is one of important basic course of automation control major; MATLAB was introduced into our teaching and experiment of this course in recent years. It gave examples of MATLAB in the teaching. In teaching practice, the teaching contents are chosen elaborately and reformed teaching methods. It proves that students are more interested and more active by using MATLAB in automatic control theory course. It can be seen that the teaching effect is very good.
automatic control theory; MATLAB; teaching reform
book=57,ebook=271
2010-02-14
周磊,碩士,講師。宋麗蓉,本科,副教授。
*本文系江蘇省教育科學(xué)“十一五”規(guī)劃重點資助課題(B-a/2008/01/008);“十一五”國家課題“我國高校應(yīng)用型人才培養(yǎng)模式研究”子課題(FIB070335-A7-02)。