許鵬 鎖雪萍 邱鴻帥 王以忠



摘要:設計了一種基于Arduino Mega 2560和DS18B20的多點溫度測量系統。該溫度測量系統主要包含溫度檢測單元和控制單元兩個部分,利用DS18B20的單總線結構,實現了電路簡單、功能可靠的多點溫度測量系統。可用于多點溫度測量和溫度場的分布測量等多種場合。
關鍵詞:溫度測量DS18B20Arduino單總線
中圖分類號:TB393 文獻標識碼:A 文章編號:1007-9416(2016)06-0000-00
很多場合都需要進行溫度檢測,最常用的方法是采用單片機和溫度傳感器配合工作。但通常使用的單片機往往不容易上手,開發周期長。Arduino的出現解決了這一問題,它是一類便捷靈活、方便上手的開源電子原型平臺[1]。基于AVR平臺,Arduino對AVR庫進行了二次編譯封裝,將端口都進行打包處理,因此不需要了解其內部硬件結構和寄存器設置,不需要用戶直接處理底層系統,提高了應用程序的開發效率。本文利用Arduino的便捷靈活、方便上手這一特性,并選用DS18B20作為溫度采集傳感器,設計了一套多點溫度測量系統。
1系統總體設計
系統的結構如圖1所示,主要由溫度采集單元和Arduino主控板構成。溫度傳感器DS18B20以單總線的連接方式將采集到的溫度數據發送給Arduino主控板,Arduino主控板通過串口將整合后的溫度數據上傳到PC端,在PC端對接收到的數據進行顯示、存儲、分析。
2溫度檢測系統的硬件設計
2.1 主控板Arduino Mega 2560
Arduino Mega 2560是采用USB接口的核心電路板,它的處理器核心是ATmega 2560,具有54路數字輸入/輸出口,其中16路可作為PWM輸出,16路模擬輸入,4路UART接口,一個16MHz晶體振蕩器,一個USB口,一個電源插座,一個ICSP header和一個復位按鈕[2],其開發板圖如圖2所示。
與Arduino系列其他型號的開發板相比,Mega 2560是一個增強型的Arduino控制器,它提供了更多的輸入輸出口,可以控制更多的設備,以及擁有更大的程序空間和內存,為以后系統的升級提供了硬件基礎。
2.2 DS18B20溫度傳感器
DS18B20是由美國DALLAS半導體公司推出的一種“一線總線”接口的溫度傳感器。具有體積小,硬件開銷低,抗干擾能力強,精度高等特點,其常見的封裝形式如圖3所示。
DS18B20采用單總線的連接方式,單總線系統包括一個總控制器和多個DS18B20從機構成。通過單總線訪問DS18B20的基本協議為:初始化、ROM操作命令、存儲器操作命令和執行/數據四個步驟[3]。
由于每個DS18B20都有一個獨特的片序列號,所以多只DS18B20可以同時連在一根單線總線上,系統中數據口為主控板的P10引腳,用于讀寫和溫度轉換,電源由主控板的5V電壓口直接提供,無需外部電源[4]。
2.3 溫度測量電路設計
本文設計的溫度檢測系統利用了主控板自帶的5V電源直接供電,省去了外部電源電路的設計。并采用了一個4.7KΩ的上拉電阻驅動多個DS18B20,省去了大量的上拉電阻,避免了因總線上節點過多而造成供電不足,同時進一步提高了溫度傳感器布線的靈活性,設計的溫度測量電路如圖4所示。
3溫度檢測系統的軟件設計
首先Arduino在數據線上發出低復位脈沖,然后恢復總線為高,隨后DS18B20發出響應脈沖,Arduino發現有響應脈沖后再搜索,按位逐個取得器件的序列號,也就是器件地址,再對各個器件發出轉換命令進行測溫,由每個DS18B20測溫并把結果保存到自己的RAM中,經過轉換時間后,由Arduino按地址讀出每個DS18B20的測溫結果,將溫度數據發送到串口,上傳至PC,其程序主流程圖如圖5所示。
4系統實現及實驗
實現了一個13點的溫度測量系統,為了驗證該系統的可靠性,進行了溫度場的分布測量實驗。實驗中采用醫用特定電磁波治療儀(TDP)的治療燈頭[5]的溫度場分布作為測量對象,測試系統實物圖如圖6所示。
為得到醫用TDP治療燈頭的溫度場分布,進行了多次測溫實驗,燈頭與測溫系統的垂直距離分別取10cm,20cm,30cm,測溫范圍為50cm2的水平面。關于空間內的溫度數據分析,本文以垂直距離為10cm時的溫度數據為例進行了3D建模分析,其空間分布情況如圖7所示,其中Z軸表示攝氏溫度值,X-Y平面為10cm處的測溫水平面,從圖中可以看出,燈頭中心處溫度最高,隨著與燈頭中心距離的增加,溫度逐漸降低。
5 結語
本文設計并實現了一種基于Arduino的多點溫度測量系統,并利用該系統測量了醫用TDP治療燈頭的溫度場分布。TDP燈頭的結構為圓盤形,其電熱絲由內到外環繞在圓盤內,故其溫度分布為中心處最高,由內到外逐漸降低。對系統的測溫數據進行分析后得到其溫度場呈圓形分布,這與TDP燈頭的實際溫度場分布一致。實驗結果表明本系統具有良好的實用性和可靠性。
參考文獻
[1]趙廣元,王文慶,蔡秀梅.基于Arduino和Matlab/Simulink的仿真環境設計研究
[J].測控技術,2014,38(08):123-129.
[2]賈瑞.基于ArduinoMega2560的無線監控小車設計[J].數字技術與應用,2013,
(10):144-146.
[3]覃鮮艷.基于DS18B20的無線測溫系統的研究與設計[D].武漢:武漢理工大學,2012 .
[4]何宗虎,張德祥,張玲君.基于單片機的高精度溫度測量系統設計[J].現代電子技
術.2011,34(09):131-135.
[5]趙宏濤.TDP治療儀的故障分析與維護[J].醫療裝備,2015,(07):125-125.