?

Arduino與Matlab相融合的自控實驗平臺

2024-04-18 03:49姚鴻泰周妙言
實驗室研究與探索 2024年1期
關鍵詞:內模晶體管階躍

吳 葛, 姚鴻泰, 周妙言

(華中科技大學電氣與電子工程學院,武漢 430074)

0 引 言

隨著“互聯網+”、AI、大數據和智能制造等前沿技術的迅猛發展,社會對于創新意識敏銳、實踐經驗豐富、綜合素養優秀、跨學科知識廣博的高素質和多元化人才的需求日益迫切。教育部在此背景下大力推動工程教育變革,并且給予工科教育更加嚴格的要求和期望。2016 年,我國工程教育認證加入了《華盛頓協議》,其理念是“學生中心、成果導向、持續改進”,培養學生具備解決復雜工程問題的能力[1-3]。教育部積極推行“新工科”建設,大力開拓新型工科專業,并且不斷完善和優化傳統專業,使其成為一個多元、融合的整體,以提高學生的實踐技能和綜合素質[4-5]。實驗教學是工科專業培養學生的重要環節,它不僅可提高學生的實踐技能、激發他們的創新精神,還可提升他們的綜合素質。對實驗教學進行全面改革與創新顯得尤為迫切[6-7]。

“自動控制原理”是自動化及相關專業的學科基礎課程,是一門理論與實踐并重的課程,其特點是工程性、方法性、綜合性強。在該課程實驗教學項目設計中貫徹落實“新工科”教育理念,對學生解決實際工程問題能力的培養以及未來發展具有重要意義。傳統自動控制實驗大多局限于電路實驗箱,實驗性質多為驗證性和演示性,缺乏系統性和設計性,難以滿足學生對自動控制原理的深入理解和實踐應用的需求,必須采取有效措施來提升自動控制實驗的質量和效果[8]。

工程實踐中,控制系統的設計多采用頻域設計,其前提是要得到精確的系統數學模型。但是系統中存在擾動和未建模動態特性,導致理論模型與實際系統相差較大[9]。

為幫助學生構建分析控制系統的方法,開發了基于Arduino與Matlab 相融合的自動控制實驗平臺,幫助學生體驗數據采集辨識系統模型;系統模型設計控制器;硬件在環系統調試。此外,還實現Arduino 平臺代碼自動生成、下載、運行,運行過程可以在Matlab 中觀察并且利用Simulink在線調試[10]。

1 實驗平臺介紹

基于Arduino與Matlab相融合的自動控制實驗平臺,利用Arduino 的I/O 采集控制系統的數據,與Matlab通信進行數據分析仿真,Python 求解器參數優化進行系統模型參數辨識,幫助學生搭建腳手架,構建一個方便提取系統模型的平臺,基于此平臺可完成控制算法的驗證以及硬件在環調試。

實驗平臺可集成不同的被控對象,本文以自制的溫度控制為例,其硬件結構如圖1 所示。由一個LED、加熱器和溫度傳感器(溫度傳感器通過導熱膠緊貼加熱器)組成,溫度傳感器并留有Arduino 接口,構成shield擴展板。

圖1 溫度控制系統硬件結構

以溫度控制系統為被控對象的Arduino 與Matlab相融合的自動控制實驗平臺的實施步驟如下:

(1)模型搭建。構建溫度控制系統的數學模型。

(2)數據采集。利用Arduino自帶的模數轉換器對特定端口進行數據采集,編寫特定函數,將數據同步到Matlab。

(3)模型辨識。利用采集的數據對模型進行參數辨識,得到系統模型。

(4)控制器設計。在Matlab中利用其自帶的PID控制模塊作為主控制器,對辨識的模型進行控制器設計,確定控制器參數。

(5)代碼生成與下載。完成控制器設計仿真,進行代碼自動生成和在線燒寫至Arduino。

(6)硬件在環調試。通過Simulink 環境,實時調整控制器參數,調整Arduino中PWM的輸出占空比來調整加熱器的輸出,并實時監測溫度的變化情況。

2 溫度控制系統模型搭建與辨識

2.1 溫度控制系統模型搭建

溫度控制系統是執行器(晶體管)產生的熱能通過傳導、對流以及輻射傳遞到測量設備(溫度傳感器)。

為創建晶體管輸入功率以及溫度傳感器測量溫度之間的動態響應模型,使用能量平衡進行推導。作如下假設與取值:

(1)在最大輸出時,晶體管加熱輸出功率為1 W;晶體管和散熱器的總質量為4 g。

(2)晶體管散熱片為鋼材質,其比熱容為500 J/(kg·K),加熱器和傳感器的表面積約為12 cm2,靜態空氣對流換熱系數約為10 W/(m2·K)。

晶體管產生的熱量主要損耗是通過對流和輻射傳熱從器件傳遞出去,使用能量平衡推導晶體管輸入功率與溫度傳感器測量溫度之間的動態響應模型。

式中:m為晶體管和散熱器總質量;c為鋼的比熱容;T為測量溫度;hin為系統吸收的熱量;hout為系統損耗的熱量。對式(1)進行改寫:

式中:U為空氣對流換熱系數;A為加熱器和傳感器的表面積;T∞為環境溫度;?=0.9 為表面輻射系數;σ =56.7 nW/(m2·K4)為斯忒藩-玻耳茲曼常數;Q為加熱器在時間t內產生的熱量。

2.2 溫度控制系統模型辨識

通過2.1 建??梢?,模型涉及輻射散熱以及對流換熱等,其中環境影響和實際誤差難以通過理論準確計算??紤]通過分析系統的階躍響應來辨識系統模型。

搭建如圖2 所示的系統模型,圖中,橙色方框為溫度控制系統;設置目標溫度為40 ℃,對系統進行開環測試,基于Arduino 和Simulink 聯合開發的庫,通過Matlab與Arduino 混合編程實現Arduino 對晶體管功率的控制,同時將實時讀取的溫度傳輸到Matlab 的WorkSpace(temp_out),得到系統的階躍響應曲線如圖3 所示[11]。

圖3 溫控系統開環階躍響應(t =40)

由圖3 可見,溫度控制系統具有非線性、慣性大、時滯等特點,考慮引入一階純滯后模型(First Order Plus Dead Time Model,FOPDT)來描述,其傳遞函數

式中:K為穩態增益;τ為滯后時間常數;T為慣性時間常數。

由圖3 可大致計算出以上參數:穩態增益近似等于溫度的增量與設置溫度的比值,可得K≈1;滯后時間常數是施加階躍響應后到溫度開始上升的時間,可得τ≈20 s;慣性時間常數表明系統的上升速度,從0到穩態值的95%約為5 個時間常數,可近似得到T≈86 s。將3 個參數分別代入式(3)可得到一個大致的系統傳遞函數。

通過上述方式得到的參數過于粗略,考慮將實時溫度和時間數據導入Python 中,以上面粗略計算出的模型參數K、τ、T為初始條件,通過Python 求解器(部分代碼如圖4 所示)將模型預測值與實際測量值對比,并以誤差平方和最小化為優化目標來調整參數??捎嬎愠鲂U蟮膫鬟f函數參數K=0.81、T=161.18、τ =12.23。

圖4 部分校正代碼

將溫度控制系統,粗略仿真系統(校正前)和參數校正后系統(校正后)的響應繪制在同一坐標系下,如圖5 所示??梢?,校正前系統響應趨勢與真實系統的差異較為顯著,而校正后的系統響應趨勢則更接近實際趨勢,更適合用于模擬溫度控制系統的工作情況。為了驗證這個結論,對校正后的仿真系統和溫度控制系統的階躍響應進行進一步的對比,將目標溫度值設置為40 ℃,得到校正后的仿真系統的階躍響應和溫度控制系統的實際階躍響應對比如圖6 所示。

圖5 校正前后預測對比

圖6 溫控系統與仿真系統的階躍響應

可見,所構建的系統的階躍響應與溫度控制系統的階躍響應有較高的相似度,可以采用其來對實際系統進行仿真測試。校正后的系統的模型

3 基于內??刂频腜ID控制器設計

通過開環測試,發現系統并不能達到設定的溫度值,且抗干擾能力差,考慮引入控制器進行閉環控制,以達到調控溫度快速且穩定達到設定值。

內??刂疲↖nternal Mdel Control,IMC)是在控制器設計過程中增加過程模型的一種新型控制測控略[12]。它與傳統PID控制相比,內??刂浦恍枵ㄒ粋€參數,這使得參數調整與系統的動態性能和魯棒性之間的關系更加明確,使得設計更加簡單,控制性能更優。將內??刂婆c傳統PID結合,可提高PID控制器的控制水平。

3.1 內??刂频脑?/h3>

圖7 展示了內??刂频幕窘Y構,其中虛線部分為整個控制系統的內部結構,包含控制器GIMC(s),新的過程模型G~p(s)。Gp(s)為被控對象。為更好地描述輸出Y(s)、輸入R(s)和擾動D(s)之間的相互影響,對圖7 的結構進行轉換,結果如圖8 所示。

圖7 內??刂平Y構

圖8 內??刂频葍r結構

由圖8 可推導出整個控制器

于是有

根據圖7,可知反饋信號

3.2 基于IMC的PID控制器參數整定

理想的PID控制器

為設計基于IMC 的PID 的控制器,將式(5)與式(8)等價,從內??刂频慕嵌仍O計PID控制器。

根據內??刂频脑O計方法[13-15]:

步驟1 將G~p(s)分解為穩定部分和不穩定的時滯部分,即:

步驟2 設計控制器時,為提高系統的穩定性和魯棒性,考慮在最小相位上添加濾波器。IMC控制器

假設:

對式(12)中的純滯后時間使用一階Pade 近似,得:

將式(13)代入式(12),并按照式(9)進行分解:

由于式(12)為一階,令n=1,并將式(14)、(16)代入式(11),經整理得

將式(17)與式(8)對比,可得

可見,此時只需調整一個參數ε,進而調整系統的閉環響應速度以及其整體控制性能。

3.3 基于IMC的PID整定在溫控系統中的研究

辨識出來的模型如式(4),可令T=161.18,K=0.81,τ =12.23。

分別取ε為10、100 和310 時,根據3.2 推導的結果可得PID控制器的參數見表1。

表1 ε取不同值對應的PID參數

分別用上述參數來搭建PID控制器對式(4)模型進行仿真,為便于調節參數,可直接使用Simulink里的PID模塊(也可通過數學關系搭建)。同時,為驗證系統的抗干擾能力,引入干擾信號(此處引入階躍干擾信號),如圖9 所示。

圖9 內模PID控制仿真模型

在600 s時,加擾動-10 ℃,得到的仿真結果如圖10 所示。

圖10 不同PID參數下的響應對比

由圖10 可見,基于IMC-PID 參數調整方法,能迅速使時延對象系統達到穩定狀態,并且超調量非常小。此外,圖10 還顯示,當ε值增大時,系統的反應速度會變得越來越慢,使得系統的上升時間增加,調節時間也相應延長。在實際應用中,建議使用較小的ε值。

4 在線調試與代碼自動生成

4.1 代碼生成與運行

基于辨識出來的模型,在Matlab 中應用IMC-PID算法仿真測試選擇合適的控制器參數之后,可進行代碼自動生成,并在線下載到Arduino。配置使用“Arduino Leonardo”控制板,設置Arduino端口號,并完成波特率的設置,設置完成保存后,回到Simulink編輯窗口,點擊“Run”開始自動下載并在完成后運行。

4.2 硬件在環調試

本項目采用的Arduino 平臺,擁有2 個串行通信端口,能與電腦進行數據交換,通過編寫串口通信代碼進行設置,可在Simulink 環境中在線調整IMC-PID 參數,并可觀察實際信號的變化。

將溫度控制系統的目標溫度設置為40 ℃,使用仿真得到的IMC-PID參數對系統進行控制,觀察溫度變化,如圖11 所示??梢?,溫度較快達到穩定,且超調較小。

圖11 在線調試輸出

5 結 語

本文基于Arduino與Matlab相融合設計的自動控制實驗平臺,幫助學生體驗通過采集系統數據來辨識系統模型,基于系統模型進行控制器設計,同時實現基于Arduino平臺代碼的自動生成、自動下載運行以及硬件在環調試等功能,能滿足綜合性實驗教學要求,有助于提升學生工程實踐的能力。

猜你喜歡
內模晶體管階躍
基于階躍雙包層光纖的螺旋型光纖傳感器
2.6萬億個晶體管
探討單位階躍信號的教學
一種新型的耐高溫碳化硅超結晶體管
基于內??刂频腟SSC前饋解耦控制策略研究
碳納米管晶體管邁出商用關鍵一步
基于三自由度內模解耦控制的VSC-MTDC性能分析
電測與儀表(2015年20期)2015-04-09
高頻開關電源模糊內模PID控制器設計
意法半導體(ST)新款100V晶體管提高汽車應用能
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合