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