田安紅, 付承彪
(曲靖師范學院 信息工程學院, 云南 曲靖 655011)
在日常生活中,溫度監(jiān)控需求應用廣泛,如農(nóng)業(yè)領域、航空領域、汽車領域、軍事領域、家電領域、工業(yè)領域等。溫度與工作生活息息相關[1-4],在工業(yè)生產(chǎn)中,比如機械、冶金、食品等,常用溫度來監(jiān)控恒溫箱或加熱爐等設備;在農(nóng)業(yè)管理中,農(nóng)業(yè)的生產(chǎn)效率與農(nóng)作物的生長環(huán)境息息相關,其中,溫度是自然資源中最重要的因素之一,溫度太高或太低,都不易于農(nóng)作物的正常生長。然而,在市場上的溫度監(jiān)控系統(tǒng)中,精度高的系統(tǒng)存在價格昂貴問題;體積大的系統(tǒng)存在不便于攜帶的問題。因此,簡單、智能、廉價、精度適中的溫度監(jiān)控系統(tǒng)具有很大的市場[5-8]。
本文以農(nóng)業(yè)管理為背景,設計了一個基于溫度傳感器的農(nóng)業(yè)監(jiān)控系統(tǒng),通過單片機、溫度傳感器和直流電動機的協(xié)同作用,有效地監(jiān)控農(nóng)作物的溫度,提高了農(nóng)作物的產(chǎn)量。首先,在Proteus軟件中設計溫度監(jiān)控系統(tǒng)的電路圖;然后,通過Proteus和Keil的聯(lián)合調試,DS18B20溫度傳感器獲得農(nóng)作物的溫度值;最后,根據(jù)不同的溫度取值,單片機以不同的方式來驅動直流電動機的轉動,LCD顯示模塊顯示出當前的溫度值,從而有效及時地監(jiān)控農(nóng)作物的溫度。系統(tǒng)設計中,電動機有4種轉動狀態(tài),通過查看電動機的不同轉動方式和液晶顯示模塊上的溫度,實現(xiàn)雙重監(jiān)控溫度的作用,即電動機和顯示器同時觀測,確保溫度的準確性。所設計的智能農(nóng)業(yè)溫度監(jiān)控系統(tǒng)穩(wěn)定性好,結構簡單,易于推廣,采用信息技術,提高農(nóng)業(yè)效率,為農(nóng)業(yè)管理者提供有價值的溫度數(shù)據(jù),對現(xiàn)代化的農(nóng)業(yè)管理具有一定的參考價值,且設計思想能夠推廣到工業(yè)生產(chǎn)中,如機房的溫度監(jiān)控等。
本文設計的溫度監(jiān)控系統(tǒng)[9-16]主要由四大模塊組成,分別為單片機最小系統(tǒng),直流驅動模塊,溫度傳感器DS18B20,液晶顯示模塊LCD1602。如圖1所示,單片機最小系統(tǒng)包含AT89C51芯片、晶振電路和復位電路。DS18B20溫度傳感器主要是采集環(huán)境的溫度信息,并把溫度信息傳送給單片機,單片機進行數(shù)據(jù)的處理工作,再傳送到LCD1602液晶顯示模塊,并把溫度值顯示出來。
圖1 溫度監(jiān)控系統(tǒng)框圖
溫度監(jiān)控系統(tǒng)中,設定直流電動機的轉動分為4種情況:當溫度低于10°C時,單片機驅動電動機反轉,并且溫度值越高,轉動越慢,反比關系;
10~20°C時,單片機不能驅動電動機工作,電動機不轉動;20~30°C時,單片機驅動電動機正轉,并且溫度值越高,轉動的速度越快,正比關系;>30°C時,單片機驅動電動機全速正轉。
本系統(tǒng)是基于單片機AT89C51設計,元器件價格便宜,無特殊材料設備,操作實現(xiàn)容易。其中,數(shù)字溫度傳感器的內部集成A-D轉換器,電路結構簡單,測量精度更高,且用一個引腳與單片機通信,減少了接線的復雜程度。
智能溫度控制系統(tǒng)的硬件電路如圖2所示,溫度傳感器DS18B20、液晶顯示模塊、直流驅動模塊均與單片機相連接,DS18B20采集測量環(huán)境的溫度信息,并把溫度信息傳送給單片機,單片機進行數(shù)據(jù)的處理工作,再傳送到LCD1602液晶顯示模塊,并把溫度值顯示出來。系統(tǒng)根據(jù)溫度值,驅動電動機的轉動工作。通過溫度和電動機的轉動雙重方式,實現(xiàn)智能溫度監(jiān)控。
溫度監(jiān)控系統(tǒng)程序如圖3所示。首先,系統(tǒng)上電,初始化程序,定義變量值;然后,初始化液晶顯示器,且界面“T MONITOR”;最后,溫度傳感器檢測實際溫度值,并通過單片機把結果傳送到LCD進行顯示,且系統(tǒng)分析不同的溫度取值,溫度值的大小不同,驅動電機轉動的方式也不同。溫度監(jiān)控系統(tǒng)中存在1 s延時,確保讀取溫度的正確性。
圖3 溫度監(jiān)控系統(tǒng)主程序流程
DS18B20數(shù)字溫度傳感器采用的是單總線協(xié)議方式傳送數(shù)據(jù),然而在AT89C51單片機中的硬件,不支持單總線協(xié)議,因此需要采用軟件來模擬單總線協(xié)議的時序,實現(xiàn)對DS18B20芯片的訪問操作。單總線訪問DS18B20的步驟主要包含初始化、ROM操作、存儲器操作、讀寫數(shù)據(jù)。
2.2.1初始化
DS18B20的初始化有嚴格的時序要求,控制器主機首先通過拉低總線的方式來產(chǎn)生復位脈沖信號,拉低總線在480 μs以上。然后釋放總線,最后進入接收狀態(tài)。在初始化的過程中,DS18B20檢測到上升沿信號后,會等待15~60 μs,通過拉低總線的方式來產(chǎn)生應答脈沖,拉低總線持續(xù)的時間為60~240 μs,控制器主機接收到應答脈沖信號后,說明DS18B20在線,成功初始化。
2.2.2ROM操作
控制器檢測到應答脈沖后,發(fā)出ROM指令命令,ROM的指令命令一共有5條,并且每個工作周期內僅僅發(fā)送一條指令命令。
2.2.3存儲器操作
存儲器的操作命令由執(zhí)行完成ROM操作命令之后發(fā)生。
2.2.4讀寫數(shù)據(jù)
所有的寫時序均是在15~60 μs完成,且2個寫時序之間的最短恢復時間最少為1 μs。當控制器寫時序“1”時,應先拉低數(shù)據(jù)線,然后再釋放數(shù)據(jù)線,在開始寫時序后的15 μs內,所有的數(shù)據(jù)位被送到總線上來。當控制器寫時序“0”時,數(shù)據(jù)單總線被拉低為低電平狀態(tài),且最少需要保持低電平60 μs的時間。
當控制器從DS18B20讀數(shù)據(jù)時,數(shù)據(jù)線先從高電平狀態(tài)拉低到低電平的狀態(tài),能夠產(chǎn)生讀時序信息,且低電平的持續(xù)時間至少保存為1 μs。在讀時序開始15 μs內,DS18B20的輸出數(shù)據(jù)有效。讀溫度程序流程如圖4所示。
DS18B20中讀取出來的溫度,是以二進制的形式存放,且為2 Bit,單片機顯示的為十進制,所以需要將二進制轉換為十進制。溫度計算的詳細過程為:當符號位表示為0時,表明系統(tǒng)測量得到的溫度值是正值,程序直接把測量得到的溫度值進行轉換,轉換為十進制顯示。當符號位表示為1時,表明系統(tǒng)測量得到的溫度值是負值,且以補碼的形式存在,則單片機需要將補碼變換為原碼,再進一步轉換為十進制的形式。
LCD顯示模塊包含兩部分,① LCD初始顯示界面程序; ② 溫度顯示界面程序。其中,在LCD初始顯示界面中,第一行顯示“T Monitor”,首先,程序將“T Monitor”對應的顯示代碼,制作成為表格形式,然后,單片機通過查表功能,得到顯示代碼,并把顯示的代碼傳送到LCD進行顯示出來。在溫度顯示界面程序中,程序設定溫度值顯示在第二行。LCD顯示溫度值如圖5所示。
圖4 讀溫度程序流程 圖5 LCD顯示溫度值流程
在Keil編程環(huán)境中,利用C語言編寫代碼,調試成功后,將生成的.HEX文件導入到Proteus中,點擊play運行按鈕,效果如圖6所示。假設溫度傳感器獲取的溫度為32°C,則DS18B20中顯示的為32°C,LCD顯示模塊能夠正確顯示出溫度值為32°C,且LCD顯示模塊的第一行顯示 “T Monitor”,第二行顯示溫度值。與程序軟件模塊設計思想一致。
圖6 仿真效果圖
圖7 電動機反轉
圖8 電動機不動
圖9 電動機正轉
圖10 電動機全速反轉
當溫度取值不同時,單片機驅動直流電動機的方式不同,效果分別如圖7~10所示。圖7中,當溫度低于10°C時,在DS18B20上設定為-07°C,LCD顯示為-07°C,電動機反轉。圖8中,當溫度為10~20°C時,在DS18B20上設定為16°C,LCD顯示為16°C,電動機不轉動。圖9中,當溫度為20~30°C時,在DS18B20上設定為29°C,LCD顯示為29°C,電機正轉。圖10中,當溫度大于30°C時,在DS18B20上設定為55°C,LCD顯示為55°C,電機全速反轉。
通過在Proteus中設計電路圖,并結合Keil進行聯(lián)調,最終實現(xiàn)農(nóng)業(yè)溫度監(jiān)控系統(tǒng)的設計。在Proteus中測試通過的電路圖,可移植到電路板上進行直接焊接電路,避免了實際中,在電路板上進行反復測試驗證,從而提高開發(fā)效率,并節(jié)約了人力物力成本。本文所設計的智能溫度監(jiān)控系統(tǒng),有直流電機模塊,當溫度取值不同時,單片機能夠以不同的方式進行驅動電動機。通過觀測電動機的轉向和溫度顯示值,雙重智能監(jiān)控溫度,精度高,誤差小。所設計的智能溫度監(jiān)控系統(tǒng),結構簡單,成本低,對于現(xiàn)代化的農(nóng)業(yè)生產(chǎn),具有推廣價值,提高了農(nóng)民的生產(chǎn)管理效率。
本文以農(nóng)業(yè)管理為背景,設計了一個基于溫度傳感器的農(nóng)業(yè)監(jiān)控系統(tǒng),能夠推廣到工業(yè)生產(chǎn)中,設計不同的溫度范圍來驅動電動機,比如通過監(jiān)控加熱爐的溫度來融化金屬。因此,本文的設計思想在工業(yè)和農(nóng)業(yè)中具有一定的參考價值。
參考文獻(References):
[1] 梁 帆,謝佳佳,崔世鋼. 基于物聯(lián)網(wǎng)和Android的智能植物生長柜視頻監(jiān)控系統(tǒng)設計[J]. 中國農(nóng)機化學報,2016,37(4):59-62.
[2] 秦琳琳,陸林箭,石 春,等. 基于物聯(lián)網(wǎng)的溫室智能監(jiān)控系統(tǒng)設計[J]. 農(nóng)業(yè)機械學報,2015,46(3):261-267.
[3] 楊其長,魏靈玲,劉文科,等.植物工廠系統(tǒng)與實踐[M].北京:化學工業(yè)出版社,2012.
[4] 陳旭東.嵌入式遠程控制系統(tǒng)在供暖中的應用[D].濟南:山東大學,2014.
[5] 朱敏玲,張 偉,侯凌燕. 基于Proteus的微機原理與接口技術教學改革[J]. 實驗室研究與探索,2016,35(1):155-160.
[6] 鄒志勇,許麗佳,康志亮,等. 基于物聯(lián)網(wǎng)的花卉模糊智控系統(tǒng)設計[J]. 自動化與儀表,2015(6):13-16+25.
[7] 郭文川,程寒杰,李瑞明.基于無線傳感器網(wǎng)絡的溫室環(huán)境信息監(jiān)測系統(tǒng)[J].農(nóng)業(yè)機械學報,2010,41(7):181-185.
[8] 耿杏雨,楊 帆,王 秀,等. 基于ARM的育苗架智能監(jiān)控系統(tǒng)設計[J].農(nóng)機化研究,2015(2):199-202,209.
[9] 帕孜來·馬合木提,楊華偉. 基于DCS的電鍋爐溫度控制系統(tǒng)設計[J]. 實驗技術與管理,2016,33(3):82-85.
[10] 何偉剛,章 帆,李政林. 光纖半導體激光器溫度智能控制系統(tǒng)設計與仿真[J]. 現(xiàn)代電子技術,2016,39(12):120-122.
[11] 王甲琛. 一種智能熱處理電阻爐快速溫度控制系統(tǒng)的設計[J].熱加工工藝,2013(22):215-218.
[12] 閆雙紅,錢珊珠,王 楠,等. 基于單片機的智能溫度控制系統(tǒng)設計[J]. 農(nóng)機化研究,2012(10):191-194.
[13] 王 喆,張炳坤,華維崗. 公共建筑采暖節(jié)能溫度智能控制系統(tǒng)的設計[J]. 自動化儀表,2012,33(6):59-62.
[14] 何偉剛,章 帆,李政林.光纖半導體激光器溫度智能控制系統(tǒng)設計與仿真[J].現(xiàn)代電子技術,2016,39(12):120-122.
[15] 劉 菲.基于單片機的鍍液溫度智能控制系統(tǒng)設計[J].電鍍與環(huán)保,2016,36(2):43-45.
[16] 殷忠敏,袁 媛,趙海志.一種船用油漆導熱油智能溫度控制系統(tǒng)設計[J].艦船科學技術,2016,38(3A):172-174.