基于Matlab的一種小型溫度檢測系統(tǒng)
4.2 Matlab數(shù)據(jù)分析
本文引用地址:http://www.ex-cimer.com/article/84908.htm單片機(jī)一般能處理簡單的8位無符號(hào)數(shù)的四則運(yùn)算,而DS18B20可以程序設(shè)定9~12位的分辨率,精度可達(dá)±0.5℃,溫度以16bit帶符號(hào)位擴(kuò)展的二進(jìn)制補(bǔ)碼形式讀出,如果使用單片機(jī)進(jìn)行快速的實(shí)時(shí)處理則比較費(fèi)力,同時(shí)單片機(jī)還要與DS18B20及上位機(jī)通信,系統(tǒng)資源也比較緊張。因而可以將讀取的16bit溫度數(shù)據(jù)直接送往PC機(jī),由上位機(jī)來完成。Matlab強(qiáng)大的計(jì)算能力和繪圖功能給數(shù)據(jù)分析帶來了極大的方便,這不僅可以合理利用系統(tǒng)資源,也使得系統(tǒng)的通信過程更流暢。
圖2所示的是用DS18B20測得的連續(xù)10個(gè)溫度數(shù)據(jù)的變化曲線圖。使用max()和min()函數(shù)可以求出溫度的極大極小值,調(diào)用polyfit()函數(shù)還可以進(jìn)行最小二乘回歸分析與曲線擬合,進(jìn)而求出溫度變化的解析式,本實(shí)驗(yàn)中使用二階擬合后,得到的溫度隨時(shí)間變化的函數(shù)解析式為:F(T)= 0.0125*T2 - 0.0145T+27.3083.
5 結(jié)語
Matlab是一款在控制領(lǐng)域應(yīng)用十分廣泛的軟件,本實(shí)驗(yàn)基于Matlab環(huán)境下PC機(jī)與單片機(jī)實(shí)時(shí)通信及數(shù)據(jù)處理的方法,設(shè)計(jì)了一個(gè)小型溫度檢測系統(tǒng),串口通信使用Matlab編程,極大的提高了開發(fā)效率,充分利用了Matlab的強(qiáng)大的數(shù)據(jù)分析能力,得到了溫度隨時(shí)間變化的函數(shù)解析式,取得了較好的效果,擴(kuò)展了Matlab的使用范圍,具有一定實(shí)用性。
本文作者創(chuàng)新觀點(diǎn):使用DS18B20傳感器簡化了硬件結(jié)構(gòu),采用Matlab編程,充分利用其數(shù)據(jù)分析能力,合理利用系統(tǒng)資源,提高了開發(fā)效率,擴(kuò)展了Matlab的使用范圍。
參考文獻(xiàn):
[1] 趙云鵬.MATLAB串口通信在數(shù)據(jù)采集中的應(yīng)用.[J]微計(jì)算機(jī)信息.2006,22(1):111~112
[2] 顧振宇.劉魯源,杜振輝.DS18B20接口的C語言程序設(shè)計(jì).[J] 單片機(jī)與嵌入式系統(tǒng)應(yīng)用.2005 .12(6):22~24
[3] 向先波,徐國華. Matlab環(huán)境下PC機(jī)與單片機(jī)的串行通信及數(shù)據(jù)處理.[J] 單片機(jī)與嵌入式系統(tǒng)應(yīng)用.2004 .12:27~31
[4] 李群芳, 張士軍,黃建. 單片微型計(jì)算機(jī)與接口技術(shù)(第二版). [M].電子工業(yè)出版社.2005
評(píng)論