高秋燕
(中北大學(xué) 信息與通信工程學(xué)院,山西太原 030051)
在控制系統(tǒng)中,上位機與下位機之間實現(xiàn)通信的方法和應(yīng)用平臺很多,而且不同的方法具有不同的特點。MATLAB具有強大的數(shù)據(jù)處理能力及功能豐富的工具箱,被廣泛應(yīng)用于信號處理、自動控制等領(lǐng)域[1]。它的編程語言簡單易學(xué),利用簡單的命令就可以代替復(fù)雜的代碼,極大地提高了研究和開發(fā)效率。而且Simulink是MATLAB最重要的組件之一,它提供一個動態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境,可廣泛應(yīng)用于線性系統(tǒng)、非線性系統(tǒng)、數(shù)字控制及數(shù)字信號處理的建模仿真中[2]。圖形化交互環(huán)境,直觀方便,只需用鼠標(biāo)拖動的方法便能迅速地建立起系統(tǒng)框架模在線仿真。
通常我們需要對某個對象進行控制,那么就必須得到該對象的模型,往往這些對象的模型是未知的,那么要得到模型必須有被研究對象的相關(guān)信息,數(shù)據(jù)采集是獲取信息的基本手段。
要利用這種獲取信息的基本手段來采集人們需要控制的溫度,本文討論的控制密閉空間溫度的問題,通過預(yù)測控制方法可以有效地調(diào)節(jié)控制密閉艙體的溫度,已達到人們想要的設(shè)定值或者達到預(yù)測控制的目的。本文用熱敏溫度傳感器測量室內(nèi)溫度變化及用加溫減溫措施來達到控制要求,用相應(yīng)的合適的方法采集到溫度數(shù)據(jù)[4]。
MATLAB數(shù)據(jù)采集卡如圖1所示。
圖1 USB數(shù)據(jù)采集板圖
MATLAB數(shù)據(jù)采集卡的組成介紹如下:
◆本采集卡使用PHILIP的D12芯片作為USB傳輸芯片;
◆ATmega16(AVR)單片機作為中央控制器;
◆分別有4路A/D都是10位分辨率,輸入阻抗47 kΩ(可調(diào)),輸入電壓范圍0~4.096V;
◆2路D/A均是10位分辨率,0~4.096V電壓輸出;
◆輸入輸出總數(shù)4路,LED兩路,按鍵兩路;
◆工作電壓是直接利用USB的5V電源,無需外接。
該采集卡還考慮低通濾波問題:為提高抗干擾性,設(shè)計了一階低通濾波器。默認信號3分貝截止頻率為4 kHz,當(dāng)然也可參照原有電路進行修改或者加上調(diào)整截止頻率。由于輸入信號不確定,AD的通道中有兩個通道的放大倍數(shù)是可調(diào)的,決定運放放大倍數(shù)的電阻是可調(diào)的。這幾個電阻可以依據(jù)需要自行計算,并選擇合適的電阻。用USB線將本采集板與PC連接起來就可以工作。該數(shù)據(jù)采集卡的工作原理:采集模塊采用單片機作為CPU,利用單片機上的外設(shè)資源進行端口的輸出/輸入和A/D轉(zhuǎn)換功能。采集模塊上的USB通信芯片將硬件外設(shè)的輸入輸出讀入PC或者通過PC發(fā)出命令。
溫度對應(yīng)電壓數(shù)據(jù)的采集過程在下面做出簡單介紹:
(a)先給出了室內(nèi)溫度采集的硬件設(shè)備和電路的連接主要部分示意圖如圖2所示。
圖2 溫度數(shù)據(jù)采集硬件連接圖
(b)由于本實驗是用USB接口的MATLAB數(shù)據(jù)采集卡進行溫度對應(yīng)電壓的采集,也是有相關(guān)的軟件程序(在這里就不寫了)和顯示采集到的溫度數(shù)據(jù)的一個軟件界面。我們在Simulink中建立對應(yīng)的模型[4-6],然后在MATLAB中的Simulink里打開usbAD.mdl文件如圖3所示。
圖3 采集溫度對應(yīng)電壓數(shù)據(jù)的模型圖
下面修改AD模塊的參數(shù)如圖4,第一個參數(shù)我們要根據(jù)實物連接圖選擇,在實物連接中我們選擇的是通道3;第二個參數(shù)為采樣時間;第三個參數(shù)的目的是為了保證硬件的采樣時間與Simulink相一致,稱之為采樣時間微調(diào)。一般情況下,設(shè)置為0.008[7-8]。
圖4 采集數(shù)據(jù)時軟件參數(shù)設(shè)置圖
(c)最后運行模型usbAD.mdl,再給溫傳感器進行加溫和降溫的操作,點擊模型中的scope1,可以得到溫度對應(yīng)電壓溫度數(shù)據(jù)如圖5所示。
圖5 溫度變化相對應(yīng)的電壓曲線圖
使用熱敏溫度傳感器進行溫度采集,再使用USB數(shù)據(jù)采集板與基MATLAB的PC進行通信。采集的溫度通過采集板的AD模塊將數(shù)據(jù)采集卡直接跟PC機相連,利用Simulink的直觀,形象的特點,在Simulink建立模塊進行仿真。文中實際上是將采集卡的驅(qū)動封裝成一個S函數(shù),而我們所做的是將模塊拉出,將溫度傳感器采集到的數(shù)據(jù)到AD再將數(shù)據(jù)送給SCOPE。其中溫度傳感器采集到的溫度信號是溫度相應(yīng)的電壓信號。
本文中使用的數(shù)據(jù)采集板是多路輸入輸出的,而在本文中我們只用的是單路輸入輸出,在以后的研究中我們可以在此基礎(chǔ)上研究多路溫度采集系統(tǒng)。本文還有很多值得繼續(xù)研究的地方,比如在圖形和數(shù)據(jù)顯示中,我們可以把MATLAB與VC相通信,設(shè)計MFC界面,通過控制按鈕來在我們需要的時候顯示圖形與數(shù)據(jù),來進行數(shù)據(jù)的分析與控制處理。
[1]康鳳舉.現(xiàn)在仿真技術(shù)與應(yīng)用[M].北京:高等教育出版社,2001:30-40.
[2]王建衛(wèi),曲中水,凌濱.MATLAB7.X程序設(shè)計[M].北京:中國水利水電出版社,2007:210-225.
[3]范影樂.MATLAB仿真應(yīng)用詳解[M].北京:人民郵電出版社,2007:91-99.
[4]徐國政,陳勇.基于Matlab的數(shù)據(jù)采集系統(tǒng)設(shè)計[J].應(yīng)用技術(shù),2003,30(4):1-3.
[5]王曉陵.系統(tǒng)建模與參數(shù)估計[M].哈爾濱:哈爾濱工程大學(xué)出版社,2003: 100-105.
[6]鄭智琴.Simulink電子通信仿真與應(yīng)用背景[M].北京:國防工業(yè)出版社,2002:101-116.
[7]張丹,宮蕾.基于MATLAB的數(shù)據(jù)采集模塊在自動控制原理實驗中的應(yīng)用[J].重慶工商大學(xué)學(xué)報,2010,27(1):1-4.
[8]張丹.基于Simulink的數(shù)據(jù)采集模塊的設(shè)計與實現(xiàn)[M].武漢:華中科技大學(xué)出版社,2009:20-29.