羅耀耀,程渭東,曾國強,李琳琳
基于風板控制的教學實驗設計
羅耀耀,程渭東,曾國強,李琳琳
(成都理工大學 核技術與自動化工程學院,四川 成都 610059)
介紹了一套基于Matlab的GUI的控制的風力擺實驗平臺。系統(tǒng)中MPU6050作為角度傳感器,采用STM32單片機作為控制器,采用L298N作為電機的驅(qū)動模塊,通過Matlab的GUI建立數(shù)據(jù)接收和顯示界面,完成帆板控制系統(tǒng)的控制。通過本系統(tǒng)的實踐,可以使學生熟悉典型的閉環(huán)控制系統(tǒng),掌握多種閉環(huán)控制系統(tǒng)中的算法,如PID控制等算法、PWM調(diào)試方法等。
風力擺控制;閉環(huán)控制系統(tǒng);Matlab GUI;可視化;交互式
傳統(tǒng)的自動控制原理實驗主要基于“模擬學習機”開展實驗[1],如采用Matlab仿真平臺作為教學實踐方法[2],或者采用硬件實驗箱作為實驗工具[3],開展控制系統(tǒng)相似模擬實驗。上述方法僅僅闡述了控制策略的理論計算結果,并沒有將被控對象的特性反映出來,不利于學生理解控制策略與算法的特性。此外還可以采用復雜的控制系統(tǒng)如多容倒立擺、小車運動控制系統(tǒng)和三容水箱作為對象構建相應的實驗平臺[4],再利用Matlab仿真平臺開展控制設計,但這些復雜的實驗平臺往往不適用于基礎教學[4],難以滿足一個教學班級的實踐教學工作。
為了解決上述問題,不少學者和公司針對自動控制原理內(nèi)容的特點,結合電子設計大賽的相關內(nèi)容,對帆板控制系統(tǒng)進行系統(tǒng)的搭建與設計,使之滿足相關課程實驗的要求[5-9]。除了對硬件系統(tǒng)進行設計,還要對控制算法進行研究[9-10],這對學生熟悉掌握自動控制原理的方法進行實踐,具有極好的教學效果。本文研制了一種帆板控制實驗系統(tǒng)。該系統(tǒng)為自動控制原理的實驗教學與課程設計、單片機教學實驗與課程設計等相關課程的實驗教學和課程設計提供了基礎,還改進和豐富了自主性仿真實驗,增加了現(xiàn)代控制理論的實驗內(nèi)容,使得實驗系統(tǒng)更加完善[11-15]。該系統(tǒng)簡單、直觀且具有一定的趣味性,可以有效地提高學生參與實驗的積極性。
典型的閉環(huán)電子測控系統(tǒng),包括獲得被測對象信息的傳感器、主控單元MCU、執(zhí)行器、人機接口、顯示設備、電源模塊。主控單元通過傳感器來獲得被測對象信息,獲得的信息與人機接口設置的目標信息進行對比,從而根據(jù)誤差來調(diào)整執(zhí)行器的動作,實現(xiàn)被測對象的恒量輸出。為了實時了解和方便觀測被測對象信息,顯示設備必不可少。電源模塊負責給各部分模塊供電。
帆板控制系統(tǒng)包括一個懸掛自然下垂的紙板(帆板)、在紙板固定軸上安裝的MPU6050作為角度傳感器、5 V直流軸流風機、由L298N構成的電機驅(qū)動單元、STM32單片機構成的主控模塊、電源模塊、串口通信模塊等,見圖1。
圖1 帆板控制系統(tǒng)框圖
在帆板的目標角度后,計算機中的控制程序選擇控制策略,下發(fā)占空比的參數(shù),單片機根據(jù)上位機發(fā)送的參數(shù),由單片機生成PWM波,通過驅(qū)動L298N模塊,驅(qū)動電機轉動;帆板擺動的時候,與固定帆板的軸相連的電位器發(fā)生改變,將該電壓值經(jīng)過單片機中自帶的AD采樣,獲得當前的角度值,通過串口將數(shù)據(jù)傳遞給計算機,計算機將該值顯示并記錄帆板的運動軌跡及超調(diào)量、超調(diào)時間等相關參數(shù)。
風擺控制實驗系統(tǒng)結構見圖2。
圖2 風擺控制實驗系統(tǒng)結構
實驗系統(tǒng)軟件主要包含運行于單片機中的下位機軟件及運行在計算機中的上位機軟件2個部分。在上位機程序中,最為重要的部分是對于控制策略的編寫。
下位機的軟件流程圖如圖3所示。實驗系統(tǒng)上電后,接收來自上位機發(fā)送來的控制數(shù)據(jù),并且對系統(tǒng)進行初始化賦值。單片機根據(jù)系統(tǒng)給定的PWM參數(shù)產(chǎn)生相應PWM波,輸出給L298N電機驅(qū)動模塊,驅(qū)動電機轉動。受到電機產(chǎn)生的風力的推動,帆板發(fā)生擺動,從而電位器發(fā)生改變,采用STM32單片機自帶的AD轉換單元,實現(xiàn)模擬量到數(shù)字量的轉換。將該角度值通過串口發(fā)送給上位機,上位機根據(jù)該角度值給出合理的PWM參數(shù),達到控制帆板的運動。
圖3 單片機軟件流程圖
上位機程序采用Matlab的GUI設計上位機界面,同時也需要將串口通信、控制策略和算法、人機交互界面等信息集成在一起。圖4所示為上位機軟件的流程。
圖4 上位機軟件流程圖
上位機程序需要以下幾個模塊:
(1)串口通信。主要負責完成與下位機的通信,需要根據(jù)端口進行選擇,其通信協(xié)議如波特率、停止位等需要根據(jù)下位機的通信協(xié)議進行選取。
(2)控制策略與算法。該部分是自動控制原理實驗或者課程設計需要學生自主完成的函數(shù)。在Matlab的.m文件中,有如下函數(shù):
function PWM= Control-function(angle)
在函數(shù)中,PWM指的是此時要求單片機提供的PWM波中的占空比,angle是由下位機直接發(fā)送的數(shù)據(jù),學生只需要對輸入變量進行算法上的處理,經(jīng)過相應的控制策略控制電機轉速的PWM波的值,并且將該命令發(fā)送給下位機。在該模塊中,可以完成線性控制和非線性控制等多種算法的控制。在本實驗中,一般最常采用PID算法根據(jù)角度的問題調(diào)節(jié)PWM的占空比,達到調(diào)節(jié)風機的目的。
(3)人機界面。人機界面中不僅僅要實時地反映出當前風板的角度,而且應該且需要包含如下信息:預設值、穩(wěn)態(tài)誤差范圍、最大超調(diào)量、上升時間、最大超調(diào)量所對應的峰值時間點、調(diào)節(jié)時間。圖5為采用PID算法所獲得的數(shù)據(jù)。
圖5 上位機軟件界面與計算結果
帆板控制實驗系統(tǒng)采用Matlab中的GUI設計上位機界面,能反映當前角度值和系統(tǒng)運行時間的關系,有利于教師正確地評判控制算法的優(yōu)劣。通過接收來自單片機的角度信息,根據(jù)當前角度以及采用的算法,可以獲得不同控制品質(zhì)的自動控制系統(tǒng)的參數(shù)。該系統(tǒng)結構簡單,具有較好的可擴展性。對于單片機熟練的學生,可以將相應的控制算法放在單片機中、可以開放單片機程序;對于對單片機掌握不熟練的學生,可以在Matlab平臺上進行編程,完成諸多算法在該控制平臺上的編寫。
[1] 王鳳如,王小揚,王瑛. 信號、系統(tǒng)與控制實驗教程[M]. 北京:高等教育出版社,2004.
[2] 劉云龍,王瑞蘭.基于 Matlab仿真的自動控制原理實驗教學改革[J]. 實驗室研究與探索,2015,34(6): 102–106.
[3] 齊曉慧,董海瑞. 基于“三層次”的自動控制原理實驗教學研究[J]. 電氣電子教學學報,2006(3): 80–84.
[4] 孫大衛(wèi),丁興俊. 一種典型自動控制原理實驗教學設備研究[J]. 實驗技術與管理,2011, 28(7): 79–81.
[5] 盛守照,葉馮超,孫臣武. “自動控制原理”實驗設計與教學改革思考[J]. 電氣電子教學學報,2017, 39(1): 131–134.
[6] 劉曉潔,何寧,羅霄,等. 基于 eMsp 實驗平臺的自動控制原理實驗教學改革[J]. 實驗室科學,2016, 19(6): 112– 115.
[7] 余善恩,李真. 風擺控制實驗系統(tǒng)設計[J]. 實驗技術與管理,2017, 34(6): 135–138.
[8] 崔鳴,尚麗,顏廷秦. 基于ARM的帆板控制系統(tǒng)設計與實驗分析[J]. 實驗室研究與探索,2012, 31(9): 57–62.
[9] 劉恒,吳朝陽,劉建成,等. 一種典型閉環(huán)PID控制教學實驗設計[J]. 實驗技術與管理,2017, 34(9): 42–46.
[10] 陳勉舟,李玉平. BP神經(jīng)網(wǎng)絡在帆板控制系統(tǒng)中角度非線性校正的應用研究[J]. 黃石理工學院學報,2012, 28(2): 9–11, 19.
[11] 張存吉,寧愛民,倪杰,等. 基于增量式PID算法的帆板控制系統(tǒng)的設計[J]. 微計算機信息,2012, 28(7): 67–68, 87.
[12] 徐涢基,方平,李娜,等. 神經(jīng)元PID在風力擺控制系統(tǒng)中的應用[J]. 自動化儀表,2018, 39(5): 48–51.
[13] 宮玉芳,趙霞,楊志飛. 基于K60的風力擺控制系統(tǒng)設計[J]. 自動化與儀器儀表,2016(10): 67–69.
[14] 姜香菊,劉二林. 旋轉倒立擺的起擺與穩(wěn)擺研究與實現(xiàn)[J]. 自動化儀表,2016, 37(9): 6–9.
[15] 蘇寧遠,張晨亮. 基于MK60FN1MOVLQ15的風力擺控制系統(tǒng)設計[J]. 儀表技術,2016(8): 23–25, 32.
Design of teaching experiments based on sailboard control system
LUO Yaoyao, CHENG Weidong, ZENG Guoqiang, LI Linlin
(College of Nuclear Technology and Automation Engineering, Chengdu University of Technology, Chengdu 610059, China)
A set of wind pendulum experimental platform based on GUI of MATLAB is introduced. With MPU6050 as the angle sensor, STM32 MCU as the controller and L298N as the motor driving module, the data receiving and displaying interface is established by GUI of Matlab, and the control of sailboard control system is completed. Through the practice of this system, students can familiarize themselves with the typical closed-loop control system and grasp the arithmetic methods of many closed-loop control systems such as PID control arithmetic method, PWM debugging method, etc.
wind pendulum control sailboard; closed loop control system; Matlab GUI; visualization; interaction
TP302.1; TP277.2
A
1002-4956(2019)12-0229-03
10.16791/j.cnki.sjg.2019.12.054
2019-04-08
國家自然科學基金項目(41604116);四川省教育廳項目(14ZB0074);成都理工大學骨干教師項目(JXGG201513)
羅耀耀(1984—),男,湖北天門,博士,講師,主要從事智能機器人系統(tǒng)、核儀器及其數(shù)據(jù)分析研究。E-mail: 280460115@qq.com。