摘 要:介紹了一種利用溫度傳感器結合MATLAB數據處理實現溫度數據采集的裝置。利用數據采集板對室內溫度進行采集,接著利用該采集板能直接支持Simulink進行硬件在線仿真的特點,在Simulink中進行建模仿真,同時可以將仿真后的溫度數據在PC界面上以曲線的方式顯示,并對室內加熱裝置進行調控。
關鍵詞:MATLAB;Simulink;USB數據采集板;溫度傳感器
DOI:10.16640/j.cnki.37-1222/t.2017.07.005
0 引言
在控制系統(tǒng)的通信有許多方法和應用平臺,具有不同的特點。其中,MATLAB以其強大的數據處理能力和豐富的功能模塊,在信號處理、自動控制等領域廣泛應用。它用簡單的命令代替復雜的代碼,編程語言簡單易學,對研究和開發(fā)幫助很大。它的Simulink可以提供一個動態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境,線性系統(tǒng)、非線性系統(tǒng)、數字控制及數字信號處理的建模仿真中應用十分廣泛。
本文討論的控制室內溫度的問題,通過預測控制方法可以有效地調節(jié)控制環(huán)境溫度,從而達到需要的設定值或者實現預測控制的目的 [1]。
1 采集溫度數據的方案
1.1 數據采集板的原理及組成
采集模塊采用單片機作為CPU,利用其外設資源進行端口的輸出/輸入和A/D轉換,利用USB通信芯片與計算機進行數據交互[2]。
數據采集卡如圖1所示,其組成介紹如下:
(1)USB傳輸:使用PHILIP公司D12芯片;
(2)CPU:ATmega16(AVR)單片機;
(3)4路A/D:具有10位分辨率,輸入電壓范圍0~4.096V,輸入阻抗為可調47kΩ;
(4)2路D/A:具有10位分辨率,電壓輸出范圍為0~4.096V;
(5)4路輸入輸出:LED兩路,按鍵兩路;
(6)工作電壓:利用USB的5V電源,無需外接。
為提高抗干擾性,該采集卡設計了一階低通濾波器。設置信號3分貝,截止頻率為4kHz,也可以在此基礎上進行修改實現截止頻率的設定。
為了適應跟多溫度范圍,AD的通道中有兩個通道決定運放放大倍數的電阻采用的是可調電阻,從而實現放大倍數的調節(jié)。也可以通過計算選擇合適的電阻固定放大倍數。
1.2 溫度傳感器的選擇
DS18B20具有精度高、體積小、成本低、抗干擾性強等優(yōu)點,是一種常用溫度傳感器[3]。它的測溫原理如圖2所示,晶振溫度系數高,晶振的振蕩率隨著溫度的變化明顯變化,反之則不明顯。將高溫度系數的晶振產生的脈沖信號計入計數器2。將低溫度系數的晶振產生的脈沖信號輸入計數器1,使其進行減計數。在溫度寄存器和計數器1內預置一個與-55℃相對應的基數,當計數器1內的數值減到0時,將溫度寄存器內的數值加1,然后重新賦予計數器1-55℃的基數值,并繼續(xù)計數,直到計數器2內的數值減到0為止,停止累加溫度寄存器內的值。此時,溫度寄存器中的數值就是傳感器測得的溫度。使用斜率累加器對測溫過程中產生的一些非線性誤差進行補償和修正,并把它的輸出用來修正計數器1的預置值。
DS18B20共有64位只讀寄存器ROM,隨機存儲器RAM用于傳感器內部的數據存取和計算,當傳感器掉電時數據會丟失。其隨機存儲器RAM中含有9字節(jié),每個字節(jié)8位。其中,第1個和第2個字節(jié)是轉換后的溫度值,第3、4、5字節(jié)是用戶只讀存儲器EEPROM的鏡像,第6、7、8這三個字節(jié)是計數寄存器,它們也是數據的內部轉換和計算的暫存單元,可以使用戶獲得的溫度分辨率增大,第9個字節(jié)為前8個字節(jié)的CRC碼。
另外,非常重要的一點是DS18B20具有獨特的一線接口,僅一條口線就可以使處理器和傳感器之間實現雙向通信,這大大簡化了分布式溫度傳感器的應用,并且不需要外部元件。
2 溫度數據采集過程
室內溫度采集的硬件設備和電路的連接主要部分示意圖如圖 4 所示。
圖4為溫度采集卡的主要電路連接圖,本設計用USB接口實現采集卡和電腦的數據交互,將溫度轉換成電壓數據傳輸給電腦軟件。在Simulink中建立對應的模型[4-5],然后在 MATLAB 中的Simulink 里打開 usbAD.mdl 文件如圖5所示。
圖6為AD模塊的參數設置,第一個參數要根據實物連接進行選擇;第二個參數為采樣時間;第三個參數是采樣時間微調,目的是保證硬件的采樣時間與Simulink相一致,通常設為0.008[6-7]。
運行模型 usbAD.mdl,對溫度傳感器進行適當的溫度改變,點擊模型中的 scope1,可得到響應的數據變化如圖 7所示。
3 結語
本文設計了一個利用DS18B20溫度傳感器對室內溫度進行采集,通過USB進行數據傳輸,利用MATLAB技術進行數據處理的室內溫度采集裝置。本文中的數據采集板是多路輸入輸出的,在本文中只用到了單路輸入輸出,在今后的研究中可以在此基礎上對多路溫度采集系統(tǒng)進行研究。
另外,本文還有許多值得深入研究的方向,如在圖形和數據顯示方面,可以設計 MFC 界面,把 MATLAB 與VC 相通信,通過按鈕實現在需要的時候將數據和圖形進行詳細顯示,進而實現更加深入的數據的分析及處理。
參考文獻:
[1]孫文杰.Matlab電路仿真實驗常用建模方法[J].實驗室研究與探索,2016(07):80-84.
[2]湯鍇杰,栗燦,王迪,張琴.基于DS18B20的數字式溫度采集報警系統(tǒng)設計[J].傳感器與微系統(tǒng),2014(03):99-102.
[3]王榮.基于USB接口的溫度采集系統(tǒng)研究[D].第四軍醫(yī)大學,2007.
[4]徐國政,陳勇.基于Matlab的數據采集系統(tǒng)設計[J].應用術,2003,30(04):1-3.
[5]王海華.Matlab/Simulink仿真在“通信原理”教學中的應用研究[J].湖北理工學院學報,2015(03):67-70.
[6]張丹,宮蕾.基于MATLAB的數據采集模塊在自動控制原理實驗中的應用[J].重慶工商大學學報,2010,27(01):1-4.
[7]瞿婷婷,周靜,衛(wèi)佳駿,吳清,謝新勤,曹波,夏春明.基于Simulink/S-Function模塊的數據采集板卡硬件驅動開發(fā)[J].自動化技術與應用,2016(05):41-45.
作者簡介:孫菁(1974-),女,工程師,主要研究方向:檢測技術、自動控制。