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