a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 基于AT89C52的溫室用溫度監控系統設計

基于AT89C52的溫室用溫度監控系統設計

作者: 時間:2016-10-18 來源:網絡 收藏

溫室大棚要求溫度保持在某范圍內,這個范圍溫度是動植物生長的最佳環境溫度,因此必須對動植物生長的環境溫度進行監測和控制,使其適合動植物的生長,以提高產量和質量。本設計就是對溫室的溫度控制要求進行全面分析,綜合考慮系統精度和經濟性多方面因素后,設計一種基于單片機的溫度自動控制系統。本系統能夠實現對溫室大棚溫度的自動監控,可以通過按鍵輸入設定溫度等控制指令,并且使溫室溫度保持在設定值的范圍內,完成的工作。

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

1 系統總體方案

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

基于AT89C52的溫室用溫度監控系統設計

2 系統硬件設計

2.1 溫度采集模塊

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

基于AT89C52的溫室用溫度監控系統設計

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

基于AT89C52的溫室用溫度監控系統設計

2.2 繼電器電路模塊

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

基于AT89C52的溫室用溫度監控系統設計

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

2.3 鍵盤和顯示模塊

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

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

基于AT89C52的溫室用溫度監控系統設計

3 系統軟件設計

本系統的軟件采用匯編語言設計,主程序中首先初始化,而后循環調用讀溫度、溫度處理、顯示、鍵盤和繼電器控制子程序,實現溫度控制的功能。

3.1 主程序流程圖

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

基于AT89C52的溫室用溫度監控系統設計

3.2 讀溫度模塊子程序

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

基于AT89C52的溫室用溫度監控系統設計

3.3 數據處理子程序

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

基于AT89C52的溫室用溫度監控系統設計

3.4 鍵盤掃描子程序

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

基于AT89C52的溫室用溫度監控系統設計

4 系統調試

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

5 結束語

該溫度控制器能夠實時監測溫室大棚的溫度,誤差小于0.1℃;可以設定農作物生長的理想溫度,根據當前溫度與設定溫度之間的差別,加熱器或者風扇將自動啟動,直至達到設定溫度停止工作。經改進后,該系統可以廣泛地應用在養殖大棚等場所的溫度控制,保證農作物理想的生長溫度,提高產量。



評論


相關推薦

技術專區

關閉