• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于MATLAB的遠程多點溫度采集系統(tǒng)

      2014-04-29 00:44:03和曉杰李世中
      電子世界 2014年19期

      和曉杰 李世中

      【摘要】本文利用AT89C51和溫度傳感器DS18B20,及RS485串口通信技術(shù),來實現(xiàn)遠距離溫度的采集。通過MATLAB的GUI設(shè)計,構(gòu)建控制界面,實現(xiàn)溫度曲線的繪制,高低溫報警,數(shù)據(jù)存儲,溫度變化分析等功能。

      【關(guān)鍵詞】AT89C51;DS18B20;RS485;MATLAB GUI

      Remote multipoint temperature acquisition system based on MATLAB

      College of Mechatronics Engineering,North University of China ?He Xiaojie,Li Shizhong

      Abstract:In this paper,by using AT89C51 and the temperature sensor DS18B20,and RS485 serial communication technology,to realize the remote temperature acquisition. Through MATLAB GUI design and build a control interface,realize the temperature curve drawing,high and low temperature alarm,data storage,temperature variation analysis,and other functions.

      Key words:AT89C51;DS18B20;RS485;MATLAB GUI

      引言

      在生活生產(chǎn)中,溫度參數(shù)是極為重要的參數(shù)之一,對于溫室大棚,倉庫,樓層等場合,溫度的檢測和調(diào)控有很重要的意義。而以上場合均需要多個溫度值進行實時監(jiān)測,并且對于傳輸距離有一定的要求。本文的設(shè)計可以很好地滿足這類需求。

      1.系統(tǒng)的總體設(shè)計

      在系統(tǒng)中,通過單片機AT89C51和DS18B20讀取各個不同地點的溫度,而后通過RS485無線通信模塊,將采集到的溫度值傳遞到AT89C51單片機總機上面,而后該單片機通過串口通信將采集到的溫度值輸入到MATLAB構(gòu)建的控制平臺上。在該平臺上完成數(shù)據(jù)的顯示和存儲等功能。同時設(shè)置溫度的上下限值,當采集到的溫度值超出該范圍實現(xiàn)報警功能[1]。原理圖如圖1所示。

      圖1 系統(tǒng)總體方案圖

      2.硬件電路設(shè)計

      在整個溫度控制系統(tǒng)中,使用的硬件設(shè)備分別是DS18B20,單片機AT89C52,電腦(即上位機),報警裝置。在該系統(tǒng)中,使用led代替報警設(shè)備,用以表示當前是否符合系統(tǒng)的溫度要求。單片機AT89C51與電腦(上位機)通過RS485串口通信進行數(shù)據(jù)傳輸[2]。

      2.1 AT89C52

      AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機,片內(nèi)含4KB的可反復(fù)擦寫的程序存儲器和128B的隨機存取數(shù)據(jù)存儲器(RAM),器件采用Atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)配置通用8位中央處理器(CPU)和Flash存儲單元,功能強大的AT89C52單片機可靈活應(yīng)用于各種控制領(lǐng)域。

      2.2 DS18B20

      DS18B20溫度傳感器是根據(jù)隨溫度變化而線性變化頻率的振蕩器通過計數(shù)器測出頻率再轉(zhuǎn)換成對應(yīng)溫度的原理,進行溫度測定的。對于溫度采集的時間, DS18B20的最長溫度轉(zhuǎn)換時間為750ms,在正常運作以后,DS18B20可以在1s內(nèi)完成一次溫度輸出。在精度方面,溫度測試范圍為-55~125℃,在-10~+85℃時精度為±0.5℃。其分辨率最大可以達到0.0625℃[3-4]。

      2.3 DS18B20與AT89C51的通信

      在DS18B20于AT89C51進行數(shù)據(jù)傳遞過程中,一般有兩種方法可供選擇。第一種是在同一根數(shù)據(jù)線上掛接多個DS18B20,通過讀取每個DS18B20的64位序列號對每個傳感器進行識別,讀取。由于在每一次讀取溫度工程中增加了溫度傳感器的搜索、匹配等操作,會使得操作變得復(fù)雜。每次進行數(shù)據(jù)讀取的時間會增加,但不會超過10ms,與傳感器每次進行數(shù)據(jù)轉(zhuǎn)換需要95ms~750ms的時間相比,讀取時間是不會發(fā)生質(zhì)的改變的,每次的讀取時間都可以控制在1s以內(nèi)。在實際操作中,需要提前將多個DS18B20的64位序列號記錄下來,以便在后面進行匹配操作。第二種方法是將不同的DS18B20掛接在不同的I/O引腳上。這樣的操作雖然增加了引腳的使用個數(shù),但卻簡化了程序操作,減少了讀取溫度的時間。

      對于以上這兩種方法,一般情況下兩種都是可取的。但卻忽略了幾個問題。第一,傳感器的個數(shù)問題。在第一種方法中,每個引腳掛接的DS18B20傳感器掛接的個數(shù)不可以超過8個。當超過8個時,AT89C51單片機的總線驅(qū)動電路就會出現(xiàn)問題。第二種方法中,AT89C51單片機最多可以掛接32個,而前提是該單片機沒有其他外界設(shè)備,這無疑對單片機資源是一種浪費。第二就是距離。由于DS18B20簡化了與單片機的硬件連接,采用單總線的方式進行數(shù)據(jù)的傳遞,使得在采集數(shù)據(jù)時,傳感器對時序的要求嚴格,從而導(dǎo)致外界干擾對數(shù)據(jù)傳輸有很大影響。在測量距離方面,當普通信號電纜傳輸長度超過50m,數(shù)據(jù)就會出錯。對于集中程度比較的地域進行溫度測量是可取的,但是當傳感器與AT89C51距離超過50 m時,采用上面的方法就會產(chǎn)生很大誤差[5-7]。

      為了避免這種問題,可以將一個DS18B20掛接在一個AT89C51上面,而通過遠程無線串口通信模塊,實現(xiàn)該單片機與總單片機的數(shù)據(jù)傳遞。這樣就可以避免掛接個數(shù)和傳遞數(shù)據(jù)的距離等問題。傳感器與單片機的數(shù)據(jù)交互如圖2所示。

      圖2 傳感器與單片機連接圖

      3.軟件設(shè)計

      軟件采用MATLAB編寫的控制界面來進行??刂平缑鎸崿F(xiàn)了溫度值得實時顯示和存儲,溫度曲線的動態(tài)繪制和定時存儲,溫度報警等功能[8-9]。控制界面和傳感器的數(shù)據(jù)記錄界面如圖3、圖4所示:

      圖3 控制界面

      圖4 傳感器數(shù)據(jù)記錄界面

      在軟件設(shè)置中可以直接使用MATLAB的串口調(diào)試功能,完成串口連接,串口讀取和數(shù)據(jù)接受發(fā)送等功能。而后利用MATLAB強大的數(shù)值處理功能,圖形顯示功能,來完成溫度值的顯示,溫度曲線的繪制和保存,數(shù)據(jù)存儲及數(shù)據(jù)對比等功能。在數(shù)據(jù)圖形顯示的過程,還可以設(shè)置報警溫度的上下限,自動實現(xiàn)報警功能。在操作中,通過選取不同的按鈕,實現(xiàn)對不同溫度傳感器的溫度采集。通過選取不同時段采集到的溫度,可以從縱向的角度對溫度曲線進行比較,并且可以在圖形中看到溫差,平均溫度和溫度波動等情況。通過MATLAB的GUI功能,將上述操作整合在一個界面中,使得人機操作更加方便快捷。

      4.實驗室模擬

      為了檢驗本系統(tǒng)的可靠性和準確性,在空曠的地域?qū)ο到y(tǒng)進行測試。將2個傳感器分布于距離上位機500m左右的位置,采用人為操作,改變溫度傳感器采集到的溫度,從而使溫度曲線產(chǎn)生不同程度的溫度波動,從而檢驗熊的準確性,可靠性和報警功能。測試的溫度曲線和時間溫度表,分別如圖5和表1所示。

      圖5 溫度曲線

      通過與實際的溫度值進行對比,系統(tǒng)的準確性和可靠性基本無誤,軟件界面便捷、強大。

      5.結(jié)論

      在整個系統(tǒng)設(shè)置中,對于硬件的操作和界面功能的實現(xiàn),許多地方采用了一中簡化設(shè)置。如在讀取DS18B20的溫度值時,只是讀取了溫度的整數(shù)部分。溫度傳感器的數(shù)量可根據(jù)具體的環(huán)境條件進行靈活調(diào)節(jié),所以系統(tǒng)結(jié)構(gòu)簡單,成本低廉可靠性高,適應(yīng)性強。遠程溫度監(jiān)控能有效地節(jié)省了人力物力。相信該系統(tǒng)會在溫室監(jiān)控等領(lǐng)域得到應(yīng)用。

      參考文獻

      [1]馬恒,尚大俊,周騰.煤堆溫度遠程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].遼寧工程技術(shù)大學學報(自然科學版),2009,28(6):888-890.

      [2]冷雪鋒.基于RS_485總線遠程多點分布式溫度監(jiān)控系統(tǒng)的設(shè)計[J].工業(yè)控制計算機,2012,25(8):13-14.

      [3]王艷,王麗娟,甄姬娜.1-wire總線多點溫度檢測顯示系統(tǒng)在Proteus中的仿真實現(xiàn)[J].制造業(yè)自動化,2013,35(13):52-56.

      [4]徐文進,張阿卜.智能溫度傳感器Ds18b20在多路測溫中的應(yīng)用[J].現(xiàn)代電子技術(shù),2004,27(22):3-7.

      [5]張俊生.基于DS18B20多點測溫系統(tǒng)的改進[J].科技資訊,2008,(34):5-6.

      [6]蔣鴻宇,王勇,植涌.由DS18B20構(gòu)成的多點溫度測量系統(tǒng)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2007(1):59-61.

      [7]鄭長征,毛哲,謝兆鴻.多個DS18B20在糧庫測溫系統(tǒng)中的應(yīng)用 [J].自動化技術(shù)與應(yīng)用,2006,25(11):87-89.

      [8]羅華飛.MATLAB GUI設(shè)計學習手記(第二版)[M].北京航空航天大學出版社,2014:166-309.

      [9]劉衛(wèi)國.MATLAB程序設(shè)計與應(yīng)用(第2版)[M].高等教育出版社,2006:189-204.

      孝义市| 乌兰浩特市| 梅河口市| 鞍山市| 宜丰县| 吐鲁番市| 南雄市| 军事| 金昌市| 汉阴县| 内丘县| 宝丰县| 嘉禾县| 罗甸县| 隆回县| 鲁甸县| 武川县| 保山市| 金山区| 金秀| 呼和浩特市| 彰武县| 柯坪县| 梁河县| 娄底市| 南和县| 宝兴县| 军事| 溧水县| 贡觉县| 奇台县| 江陵县| 长治市| 宿松县| 贞丰县| 海宁市| 临澧县| 甘洛县| 白朗县| 偏关县| 龙泉市|