李雯 肖凱 曾迎生
摘要:科學規劃和合理設計課程實驗是新建本科院校有效開設《自動控制原理》課程非常重要的一項措施。選擇與MATLAB語法兼容的自由軟件Octave作為實驗平臺,設計了自動控制系統數學模型、時域分析、根軌跡分析和頻域分析共4個合計12個學時的實驗。教學安排上,先課堂講授相關的理論知識和分析方法,隨后通過實驗來分析、驗證、鞏固相關知識點。實驗內容中,既有示例性實驗,也包括設計性和探索性實驗。通過課程實驗,激發了學生學習課程的熱情和信心,取得了較好的效果。
關鍵詞:自動控制原理;實驗教學; Octave軟件;仿真實驗;新建本科院校
中圖分類號: TP 13? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)10-0136-03
Abstract: Scientific planning and rational design of course experiment is a very important measure for the newly-established undergraduate colleges to offer the course of automatic control principle effectively. Octave, a free software which is grammatically compatible with Matlab is chosen as the experimental platform, the mathematical model, time domain analysis, root locus analysis and frequency domain analysis of the automatic control system are designed. In the teaching arrangement, the relevant theoretical knowledge and analytical methods are taught in class firstly, and then the relevant knowledge points are analyzed, verified and consolidated through experiments. In the experiment content, not only the example experiment, but also the design experiment and the exploration experiment are included. Through the course experiment, students' enthusiasm and confidence in learning the course have been stimulated and good results have been achieved.
Key words: automatic control principle; experimental teaching; Octave software; simulation experiment; newly-established undergraduate colleges
1 引言
近年來,新建本科院校普遍開設了電子信息、電氣自動化等熱門專業?!蹲詣涌刂圃怼氛n程是電子信息專業、電氣自動化專業的一門重要的專業基礎課程,其具有理論性較強、概念抽象、闡述通用的分析方法、與實際應用有一定的距離、學習難度較大等特點,這些特點對在新建本科院校中開設《自動控制原理》課程,提出了一定的挑戰?
根據新建本科院校學生普遍數理基礎較薄弱,抽象思維能力較缺乏的現狀,除了合理調整教學內容,適當補充課程學習涉及的數理基礎知識,大幅度增加控制系統分析方法的實際運用等教學內容外,科學規劃和合理設計實驗內容,開展與課程講授內容同步的課程實驗,促進學生在實驗中不斷消化、理解和反復思考課程內容,激發學生學習課程的熱情和信心,是非常重要的一項措施。
2 實驗平臺的選擇
經典的自動控制原理實驗平臺是由自動控制原理實驗箱構成的硬件平臺,有各高校自主研發的,也有一些教輔設備廠家開發的產品,但硬件平臺存在初期投入大,實驗臺套有限,實驗維護工作量大,實驗擴展難度較大等問題[1]。針對上述問題,近年來,利用計算機進行仿真實驗在很多高校得到了普遍應用[2],也有一些高校在原有的硬件平臺基礎上,增加一部分仿真實驗內容,充分發揮各自的優點,取得了較好的教學效果[3]。
根據所在學校民辦新建本科院校的實際情況,考慮采用計算機仿真進行課程實驗,能夠以較小的投入盡快開設出課程實驗。
目前,各高校主要利用Matlab進行自動控制原理課程的仿真實驗,商用軟件Matlab是一種高效的科學及工程計算語言,在控制系統計算機輔助分析與設計方面獲得了廣泛的應用[4]。
與主流實驗平臺不同,本文選擇自由軟件Octave作為實驗平臺。Octave是一種開放源代碼的科學計算軟件,旨在提供與Matlab語法兼容的科學計算與數值分析工具[5]。Octave與Matlab語法兼容,基本功能相似,完全可以勝任《自動控制原理》課程實驗中有關控制系統建模、仿真與分析的內容,但具有完全免費、開放源代碼、占用空間小等顯著優點,因此最終選擇Octave軟件作為《自動控制原理》課程的實驗平臺。
3 課程實驗設計
根據《自動控制原理》課程大綱、課程教材和授課進度的要求,設計了控制系統數學模型、時域分析、根軌跡分析、頻域分析等四個課程實驗[6-7]。
3.1自動控制系統數學模型實驗
包括傳遞函數建立與運算、結構圖的等效變換和微分方程的求解等三部分實驗內容,安排了4個學時完成該實驗。
(1)傳遞函數建立與運算
傳遞函數建立與運算實驗包括拉氏變換與反變換、多項式運算與建立傳遞函數等內容。
利用拉氏變換函數laplace(ft,t,s)和拉氏反變換函數ilaplace(Fs,s,t)完成對給定原函數和像函數的變換。實驗中,結合課堂講授的例題,給出參考示例,要求同學獨立編輯、運行示例文件,記錄和觀測實驗結果,與課堂講授內容進行對比,鞏固對拉氏變換與反變換的理解。
利用多項式求根函數roots(p)、由根構建多項式函數poly(r)、多項式相乘函數conv(p,q)、求多項式值函數polyval(n,s)對給定多項式進行相應運算,記錄和觀測實驗結果,強化傳遞函數是一個有理真分式的概念。
利用函數tf(num,den)建立傳遞函數的一般描述形式,利用函數zpk(z,p,k)建立傳遞函數的零極點描述形式,記錄和觀測實驗結果,對比分析傳遞函數這兩種描述形式的不同特點,為后續課程學習和實驗奠定基礎。
(2)結構圖的等效變換
首先利用串聯等效函數series(sys1,sys2 )、并聯等效函數parallel (sys1,sys2 )、反饋等效函數feedback (sys1,sys2,sign )對給定結構圖進行等效變換,記錄和觀測實驗結果,熟悉和掌握結構圖的三種基本等效變換。
在此基礎上,對課堂上已經學習的一個結構圖等效變換的例題,要求學生自己編寫一個m文件,利用以上三種基本等效變換函數,求出該系統的傳遞函數。
基本等效變換的內容屬于驗證性實驗,綜合變換的內容屬于設計性實驗,正確理解了課堂例題的系統結構圖等效變換基本思路,是正確編寫m文件的前提。
(3)微分方程求解
由于Octave中求解微分方程的函數dsolve的調用方法和Matlab略有不同。實驗中,提供了Matlab的調用方法作為參考,要求同學們借助Octave中的help信息,在Octave中完成函數dsolve的正確調用和給定微分方程的求解,記錄具體的Octave調用命令和運行結果,體會Octave和Matlab在語法方面的細微差別,這部分實驗屬于探索性實驗。
3.2自動控制系統時域分析實驗
包括了穩定性分析、穩態誤差分析、一階系統動態響應分析、二階系統動態響應分析、動態性能指標計算等五部分實驗內容,4個學時。
(1)穩定性分析
利用Octave的求根函數roots(p),求得傳遞函數的極點值,而后根據極點在復平面的分布情況來判斷控制系統的穩定性。實驗中以課堂講授的勞斯穩定判據的例題為例,確定系統的極點,判斷系統的穩定性,掌握穩定性分析的基本方法。
(2)穩態誤差分析
首先給出利用函數step(sys,t)求給定的0型、Ⅰ型和Ⅱ型系統的單位階躍響應及穩態誤差的例程。要求同學們在Octave集成工作環境中編輯、調試、運行該例程,觀察并分析三個系統的單位階躍響應曲線,記錄穩態誤差的大小,分析單位階躍輸入下的穩態響應特性,與課堂學習的內容進行對照,判斷結果的合理性。
隨后,以上述例程為基礎,利用函數lsim(sys,u,t)編制m文件,分別求給定的0型、Ⅰ型和Ⅱ型系統在單位斜坡輸入下的輸出響應和穩態誤差,獲得期望的輸出。根據實驗結果,觀察并分析三個系統的輸出響應曲線,記錄穩態誤差的大小,分析單位斜坡輸入下的穩態響應特性,判斷結果的合理性。
(3)一階系統動態響應分析
首先給出利用函數step(sys,t)求典型一階系統的單位階躍響應的例程。在在該例程中時間常數T=1,運行該例程,觀察Figure窗口的曲線特性,記錄工作空間中向量y在T 、2T、3T、4T等關鍵時刻的值,并根據一階系統單位階躍響應曲線初始斜率與時間常數的關系,確定系統的時間常數。隨后,修改時間常數T=0.5和T=2,確定上述內容。
(4)二階系統動態響應分析
首先給出利用函數step(sys,t)求典型二階系統的單位階躍響應的例程。在該例程中,自然頻率wn =1,阻尼系數ξ取為0、0.3、0.5、0.7、1.0等5個值。運行該例程,觀察Figure窗口顯示的各系統單位階躍響應曲線,分析不同ξ值的階躍響應曲線特點,并結合輸出數據,估計不同ξ值的超調量。最后,將wn的值取為2,運行m文件,觀察Figure窗口顯示的各系統單位階躍響應曲線,分析wn的改變,是否影響不同ξ值的超調量。
(5)動態性能指標計算
首先給出一個計算二階系統動態性能指標的例程。 在該例程中,先利用step函數計算給定的二階系統的單位階躍響應,然后根據動態性能指標的相關定義,計算超調量σ%、峰值時間tp、上升時間tr和調整時間ts,取誤差帶為±2%。運行該例程,觀察Figure窗口顯示的單位階躍響應曲線,與程序運行所得各指標值進行估計與比較,判斷程序所得結果的正確性。最后,修改m文件,對給定的三階系統、四階系統分別計算相應的動態性能指標。
3.3自動控制系統根軌跡實驗
包括了根軌跡繪制和根軌跡分析兩部分實驗內容,2個學時。
(1)根軌跡繪制
首先給出利用函數rlocus(sys)繪制給定系統根軌跡的例程。運行該例程,觀察Figure窗口顯示的根軌跡圖的特點,確定根軌跡的分支數、起點、終點、漸近線情況、實軸上的根軌跡等信息,并與課堂講授例題中手繪的根軌跡圖進行比較。隨后,對給定的新系統編寫、運行新的M文件,分析和確定上述內容。
(2)根軌跡分析
首先給出利用函數rlocus(sys)計算給定系統的根軌跡數據的例程。運行該例程,計算根軌跡相關數據;然后根據所得數據確定下述內容:分離點對應的閉環極點值和根軌跡放大倍數k值、復數極點實部最接近-0.5的閉環極點值、最接近虛軸交點的閉環極點值;接著利用根軌跡幅值條件來計算根軌跡與虛軸交點對應的k值;最后,根據上述結果,利用控制系統閉環極點與系統動態響應的關系,確定系統穩定的k值范圍和系統動態響應為衰減振蕩的k值范圍。在上述例程基礎上,對給定的新系統編寫、運行新的M文件,完成類似的實驗任務。以上根軌跡繪制與分析的各關鍵點,與課堂講授典型例題的內容一致,有利于學生進一步消化、理解相應內容。
3.4自動控制系統頻域分析實驗
包括了伯德圖繪制和穩定裕量計算與穩定性分析兩部分內容,2個學時。
(1)伯德圖繪制
首先給出利用函數bode (sys)為給定系統繪制伯德圖并計算相關數據的例程。運行該例程,觀察Figure窗口顯示的伯德圖的特點,并根據所得數據確定頻率最接近1和10的幅值和相位值。在上述例程基礎上,對給定的新系統編寫、運行新的m文件,完成相應的實驗任務。最后,與例程中給定系統的伯德圖進行對比,分析兩個系統幅頻特性曲線和相頻特性曲線的異同。
(2)穩定裕量計算與穩定性分析
首先給出利用函數margin (sys)為給定系統繪制帶有穩定裕量標記的伯德圖并計算穩定裕量的例程。運行該例程,繪制出帶有裕量標記的伯德圖,計算得幅值裕量、相角裕量和相應的穿越頻率,隨后觀察Figure窗口顯示的裕量標記,并根據所得數據判斷系統的穩定性。在上述例程基礎上,對給定的新系統編寫、運行新的m文件,完成相應的實驗任務。以上伯德圖繪制、穩定裕量計算與穩定性分析的各關鍵點,與課堂講授典型例題的內容一致,有利于學生進一步消化、理解相應內容。
上述四個實驗合計12個學時,在教學安排上,先課堂講授相關的理論知識和分析方法,隨后通過相應的實驗來分析、驗證、鞏固相關知識點。實驗用例方面,盡可能選取課堂已經討論過的典型例題進行實驗,便于學生在自己動手實驗的過程中,進一步消化、理解和反復思考課程的核心內容,實現認識的螺旋式上升。實驗內容中,既有示例性驗證實驗,也包括了設計性實驗和探索性實驗,有利于激發學生學習課程的熱情和信心。
4 課程實驗實踐體會
2018年、2019年秋季學期為本校電子信息、電氣自動化兩個專業共八個班四百多學生開設了《自動控制原理》課程及基于Octave的《自動控制原理》課程實驗。與MATLAB相比,Octave實驗平臺構建方便,軟件安裝快速、便捷,占用空間小。Octave的集成工作環境提供了課程實驗所需的編輯、運行、查看輸出數據、輸出曲線的一體化環境,界面友好、操作方便。學生也可以在自己的計算機上構建實驗環境,隨時隨地進行實驗。與課堂講授相比,學生普遍對實驗課比較感興趣,通過動手實驗,大多數學生加深了對課堂內容的理解,激發了后續學習的熱情和信心,取得了較好的效果。實驗內容中涉及設計和探索的部分均有一定數量的學生積極思考、認真分析,最終完成了實驗任務。學生心目中的《自動控制原理》課程不再那么高冷,相當學生表示學有所獲。
在實驗教學中發現一些問題,比較突出的是相當學生分析實驗結果和實驗數據的能力較弱。大部分學生可以根據實驗要求將示例性實驗按照步驟完成,但所得結果和數據反映了什么問題,可以得出什么結論,相當學生不知道。針對該問題,建議在以后的教學中,實驗完成后可以在課堂上進行適當的實驗總結,集中解答學生在實驗中普遍困惑的問題,將前面課堂講授的知識點、學生具體實驗的內容再次進行關聯,通過這樣多次、逐步深入的教學,引導學生進行自主思考和知識的多次迭代。
參考文獻:
[1] 孫大衛,丁興俊,畢經存,等.一種典型自動控制原理實驗教學設備研究[J].實驗技術與管理,2011,28(7):79-81.
[2] 劉云龍,王瑞蘭,劉麗君,等.基于Matlab仿真的自動控制原理實驗教學改革[J].實驗室研究與探索,2015,34(6):102-106.
[3] 王娟,李俊紅.自動控制原理課程實驗教學改革[J].中國現代教育裝備,2019(1):45-46.
[4] 薛定宇.控制系統計算機輔助設計:MATLAB語言與應用[M].2版.北京:清華大學出版社,2006.
[5] http://www.gnu.org/software/octave/
[6] 胡壽松.自動控制原理[M].6版.北京:科學出版社,2013.
[7] 黃堅.自動控制原理及其應用[M].3版.北京:高等教育出版社,2016.
【通聯編輯:王力】