<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          作者: 時間:2016-10-18 來源:網(wǎng)絡(luò) 收藏

          溫室大棚要求溫度保持在某范圍內(nèi),這個范圍溫度是動植物生長的最佳環(huán)境溫度,因此必須對動植物生長的環(huán)境溫度進行監(jiān)測和控制,使其適合動植物的生長,以提高產(chǎn)量和質(zhì)量。本設(shè)計就是對溫室的溫度控制要求進行全面分析,綜合考慮系統(tǒng)精度和經(jīng)濟性多方面因素后,設(shè)計一種基于單片機的溫度自動控制系統(tǒng)。本系統(tǒng)能夠?qū)崿F(xiàn)對溫室大棚溫度的自動監(jiān)控,可以通過按鍵輸入設(shè)定溫度等控制指令,并且使溫室溫度保持在設(shè)定值的范圍內(nèi),完成的工作。

          本文引用地址:http://www.ex-cimer.com/article/201610/308805.htm

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

          本系統(tǒng)以為主控制器,加外圍的溫度采集模塊、鍵盤模塊、顯示電路模塊、加熱模塊和降溫模塊構(gòu)成,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。溫度采集模塊首先采集溫度值,A/D轉(zhuǎn)換后送入處理,處理后的溫度值在顯示器上顯示。另外由鍵盤設(shè)定動植物生長所需的理想溫度值,并送到單片機中,單片機采用PID算法比較設(shè)定的溫度值和采集的溫度值后發(fā)出控制信號到繼電器,繼電器驅(qū)動風扇降溫或加熱片加熱,直到與設(shè)定的溫度值一致就停止工作。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          2 系統(tǒng)硬件設(shè)計

          2.1 溫度采集模塊

          目前,溫度采集裝置常采用熱電偶,因熱電偶輸出為模擬量電壓,且輸出電壓很小,只有幾毫伏,必須經(jīng)過信號放大,到5伏左右進行A/D轉(zhuǎn)換,轉(zhuǎn)化后送給單片機處理。此方案的優(yōu)點在于測量溫度范圍大,從-100℃到上千攝氏度,且精度高,但系統(tǒng)硬件復雜,抗干擾能性較低。數(shù)字式溫度傳感器彌補了熱電偶的缺點,DS18B20就是一款單總線數(shù)字式溫度傳感器,無需外接其他電路,直接輸出就是數(shù)字量,寫入DS18B20的信息或從DS18B20讀出的信息僅需要一根線,DS18B20與單片機的連接電路如圖2,因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,抗干擾能力增強。DS18B20的測溫范圍從-55~+125℃,增量值為0.5℃,可在1 s內(nèi)將溫度變換成數(shù)字。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          DS18B20接收到單片機發(fā)出的溫度開始轉(zhuǎn)換命令后,DS18B20啟動轉(zhuǎn)換。轉(zhuǎn)換后的溫度值以16位帶符號的二進制補碼形式存儲在暫存存儲器的0和1字節(jié)中。單片機通過單總線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。溫度值格式如表1,其中“S”為符號位,當高字節(jié)的前5位S=0時,代表正數(shù),直接將高字節(jié)的低3位和低字節(jié)的二進制位轉(zhuǎn)換成十進制就是對應(yīng)的溫度值;當高字節(jié)的前5位S=1時,代表負數(shù),高字節(jié)的低3位和低字節(jié)的二進制位代表負數(shù)的補碼,需先將補碼變換成原碼,再計算十進制值才是對應(yīng)的溫度值。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          2.2 繼電器電路模塊

          由于本系統(tǒng)要控制加熱片加熱或電風扇降溫,功率較大,因此要借助功率電路。如果采用可控硅控制實現(xiàn)可以達到很高的控制精度,但需加光耦合隔離器件,電路稍顯復雜。采用繼電器控制可以很容易實現(xiàn)通過較高的電壓和電流,而且無需外加光耦,電路簡單可靠。因此,本設(shè)計采用繼電器控制風扇和加熱片,其電路如圖3所示。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          當實測溫度低于或高于設(shè)定溫度的下限或上限值時,由單片機輸出高電平信號,NPN三極管9014導通,繼電器驅(qū)動加熱器開始加熱或電風扇開始降溫。為了防止繼電器頻繁動作,在程序中對溫度測量精確到小數(shù)點后兩位,而在溫度設(shè)定時只取整數(shù)。繼電器線圈旁邊反方向并聯(lián)一個二極管,二極管起到保護三極管的作用,防止三極管擊穿。

          2.3 鍵盤和顯示模塊

          本系統(tǒng)需用4個LED數(shù)碼管,分別顯示溫度的十位、個位和小數(shù)點后兩位,當通過按鍵設(shè)定溫度時,LED數(shù)碼管停止顯示當前溫度,顯示設(shè)定溫度值,設(shè)定完畢后,繼續(xù)顯示當前的采集溫度值。動態(tài)顯示組合式數(shù)碼管只需要較少的引腳個數(shù),以4位一體組合式數(shù)碼管為例,需要8+4=12個引腳。而如果每個數(shù)碼管都要單獨引腳,至少需要4*9=36個引腳。引腳數(shù)減少使得PCB板布線變得更為簡單,因此,在需要使用多位數(shù)碼管時,一般都用動態(tài)顯示組合式。本設(shè)計采用四位一體的共陽極數(shù)碼管,單片機PO口控制數(shù)碼管的段a--dp,P2.4--P2.7通過4個9012 PNP型三極管接數(shù)碼管的COM端。

          溫度的設(shè)置采用按鍵來實現(xiàn),通過按鍵修改溫度的上限值和下限值。按鍵采用獨立式鍵盤,經(jīng)上拉電阻分別接單片機的P1.1、P1.2和P1.3引腳上,其與單片機的連接如圖4所示。先按一次控制鍵,然后每按上調(diào)或下調(diào)鍵一次,設(shè)定溫度值增1或減1,再按一次控制鍵代表設(shè)定完畢。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          3 系統(tǒng)軟件設(shè)計

          本系統(tǒng)的軟件采用匯編語言設(shè)計,主程序中首先初始化,而后循環(huán)調(diào)用讀溫度、溫度處理、顯示、鍵盤和繼電器控制子程序,實現(xiàn)溫度控制的功能。

          3.1 主程序流程圖

          主程序流程圖如圖5所示。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          3.2 讀溫度模塊子程序

          DS18B20操作時都要嚴格按照DS18B20工作過程規(guī)定的協(xié)議進行。DS18B20應(yīng)遵循以下工作協(xié)議:DS18B20復位->執(zhí)行ROM命令->執(zhí)行功能命令->數(shù)據(jù)處理,讀取溫度的子程序流圖如圖6所示。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          3.3 數(shù)據(jù)處理子程序

          由于DS18B20轉(zhuǎn)換后的16位數(shù)據(jù)并不是實際的溫度值,所以要進行數(shù)據(jù)處理。溫度高字節(jié)中的高5位是用來表示溫度的正負,高字節(jié)的低3位和低字節(jié)用來保存溫度值。其中低字節(jié)的低4位用來保存溫度的小數(shù)位。由于,1/24=0.062 5,所以,DS18B20的溫度精度是0.062 5 ℃。用低字節(jié)的低4位數(shù)值乘以0.062 5,有可能是多個小數(shù)位,本設(shè)計要求溫度值保留小數(shù)點后兩位,所以采取四舍五入,得到真正的兩位小數(shù)。具體算法是首先程序判斷溫度值是否為負,如果是,則DS18B20保存的是溫度的補碼值,需要先求其原碼。處理過后的溫度存儲到單片機的RAM中,然后將RAM中的十六進制碼轉(zhuǎn)換成BCD碼。數(shù)據(jù)處理子程序流程圖如圖7所示。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          3.4 鍵盤掃描子程序

          按鍵采用3個按鍵,分別表示控制鍵、加1鍵和減1鍵,鍵盤子程序流程圖如圖8所示。

          基于AT89C52的溫室用溫度監(jiān)控系統(tǒng)設(shè)計

          4 系統(tǒng)調(diào)試

          本設(shè)計制作了硬件實物,系統(tǒng)采用的是分模塊焊接與調(diào)試,目的是為了防止全部焊接調(diào)試困難,若一次不成功,查找錯誤麻煩。分步調(diào)試后,最后進行聯(lián)調(diào),由于條件限制,在本設(shè)計中采用室內(nèi)溫度進行測試,若設(shè)定溫度高于當前溫度值,加熱器模擬燈會亮,但是室內(nèi)溫度不會變化那么快,采用體溫來實現(xiàn)溫度的快速升高,達到設(shè)定值,加熱器燈滅。由此可見,該系統(tǒng)具有較高的控制精度。

          5 結(jié)束語

          該溫度控制器能夠?qū)崟r監(jiān)測溫室大棚的溫度,誤差小于0.1℃;可以設(shè)定農(nóng)作物生長的理想溫度,根據(jù)當前溫度與設(shè)定溫度之間的差別,加熱器或者風扇將自動啟動,直至達到設(shè)定溫度停止工作。經(jīng)改進后,該系統(tǒng)可以廣泛地應(yīng)用在養(yǎng)殖大棚等場所的溫度控制,保證農(nóng)作物理想的生長溫度,提高產(chǎn)量。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();