蔬菜大棚溫度控制系統設計.doc
《蔬菜大棚溫度控制系統設計.doc》由會員分享,可在線閱讀,更多相關《蔬菜大棚溫度控制系統設計.doc(26頁珍藏版)》請在裝配圖網上搜索。
1、上海農林職業(yè)技術學院畢業(yè)設計(論文)題 目: 蔬菜大棚溫度控制系統的設計 系 別: 農業(yè)信息工程 專 業(yè): 圖文信息技術 班 級: 圖文121 學 號: 146312115 姓 名: 許永冠 指導教師: 聶愛麗 完成日期: 2015年4月30 日 蔬菜大棚溫度控制系統的設計摘要:溫度控制是蔬菜大棚最重要的一個管理因素,溫度過高或過低,都會影響蔬菜的生長。傳統的溫度控制是用溫度計來測量,并根據此溫度人工來調節(jié)其溫度。但僅靠人工控制既耗人力,又容易發(fā)生差錯。為此,現代的蔬菜大棚管理中通常需要溫度自動控制系統,以簡單方便、快速的的控制大棚內的溫度。本設計以AT89C51單片機為控制中心,用AD590
2、為溫度檢測元件,由溫度測量控制電路、鍵盤、顯示電路、報警電路等組成,實現對大棚環(huán)境溫度測量與控制,用戶可通過鍵盤設置需要報警的上下限值。文中從硬件和軟件兩方面介紹了溫度控制系統,對硬件原理圖和程序流程圖進行了系統的描述。該系統可擴展性強,配置簡單,操作方便,具有通用性,有效地節(jié)省了人力物力。關鍵詞:AT89C51單片機 AD590溫度傳感器 越限報警 自動測控目 錄1 引言51.1選題背景及意義51.2 方案論證51.3 方案組成62 硬件電路設計72.2溫度采集電路82.3 A/D轉換電路102.4 按鍵電路設計102.5 溫度顯示電路112.6 其它電路123 軟件系統設計133.1程序流
3、程圖及分析144 總結18參考文獻19附 錄201 引言1.1選題背景及意義蔬菜的生長與溫度息息相關,對于蔬菜大棚來說,最重要的一個管理因素是溫度控制。溫度太低,蔬菜就會被凍死或則停止生長,所以要將溫度始終控制在適合蔬菜生長的范圍內。為此,智能的大棚溫度控制系統已經成為農民的迫切需要。傳統的測溫系統是在分立式溫度傳感器的基礎上發(fā)展起來的。由于這類傳感器的主要缺點是外圍電路比較復雜、測量精度較低、分辨率不高、需經行溫度校正等,雖然它與被測對象直接接觸,不受中間介質的影響,具有較高的精度;測量范圍廣,可從-501600進行連續(xù)測量。但它的體積較大,使用也不夠方便。因此,分立式溫度傳感器逐漸被淘汰,
4、所以在其基礎上發(fā)展起來的溫度測控系統也逐漸被淘汰。模擬集成溫度傳感器的主要特點是功能單一、測溫誤差小、價格低、響應速度快、傳輸距離遠、體積小、微功耗等,適合遠距離測溫,不需要進行非線性校準,外圍電路簡單。本設計的目的是讓管理者能夠及時的觀測到蔬菜大棚內的溫度,將溫度始終控制在適合蔬菜生長的范圍內,幫助農民提高農作物的產量,減少管理者的工作量。1.2 方案論證在現代化的蔬菜大棚管理中通常有溫度自動控制系統,以控制蔬菜大棚溫度,適應生產需要,并以監(jiān)控采大棚內各個角落的溫度變化情況,一旦出現異?,F象就能報警,并能及時處理。但溫度自動測控系統有好多種方案,為此,需要進行討論和比較,以找到最佳的設計方案
5、。1、測量部分方案一:采用熱敏電阻,可滿足4090的測量范圍,但熱敏電阻精度、重復性、可靠性都比較差,對于檢測小于1的溫度信號是不適用的。方案二:采用DS18B20。它是DALLAS公司專利產品,在2075范圍內精度為0.5,但是在此范圍外的溫度測量卻誤差較大,而且其串行數字輸出方式采用軟件處理比較困難,開銷也大。方案三:采用溫度傳感器AD590。它具有較高的精度和重復性,相比于熱敏電阻精度有很大提高,非線性誤差為0.3,且檢測溫度范圍為:-55+155,完全滿足要求。綜上比較分析,選擇方案三,以實現較好的溫度測量實現。2、主機部分方案一:采用89C51,其內部有4KB的閃爍存儲器,且編碼后以
6、并行方式傳輸數據。它的優(yōu)點是方便實現,軟件開銷小。方案二:采用8051,其內部無片內程序存儲器,因此,必須在片外擴展EPROM。綜合分析,采用方案一比較方便。1.3 方案組成由方案論證得到,溫度自動控制系統電路是以AT89C51單片機為控制核心來進行整體設計的,并用集成溫度傳感器AD590為溫度的檢測元器件。因此,整個系統的硬件部分包括溫度采集放大電路、模數轉換電路、按鍵電路、數碼管顯示電路、聲光報警電路等。本設計的基本框圖如圖1-1所示。圖1-1 設計框圖蔬菜大棚溫度控制系統的基本功能: l 溫度檢測:采用AD590溫度傳感器作為檢測端。l 具有顯示功能:利用數碼管顯示溫度。l 具有用戶輸入
7、功能:利用鍵盤輸入對溫度的上下限進行設置。l 具有報警功能:聲光報警。l 具有自動加熱制冷保護功能:如果實際測定的溫度值超過了系統設置的最高溫度,單片機就會發(fā)出命令,進行制冷;如果實際測定的溫度值超過了系統設置的最低溫度,單片機會發(fā)出命令,進行加熱;并伴隨著聲光報警。l 溫度歷史記錄查詢:蔬菜大棚管理人員可以隨時查詢采集過來的溫度歷史記錄。1 硬件電路設計本設計的溫度自動控制系統電路以AT89C51單片機為控制核心來進行整體設計的。整個系統的硬件部分包括AD590的溫度采樣放大電路、ADC0809的模數轉換電路、按鍵電路、驅動電路、LED顯示電路、聲光報警電路、電源轉換電路等。再配上C語言的程
8、序使軟件得以實現,進而實現溫度自動控制的基本功能。系統硬件框圖如圖2-1所示:圖2-1 系統硬件框圖通過溫度傳感器對大棚中空氣進行溫度采集,將采集的溫度信號經放大濾波處理后,送給ADC0809進行轉換,在傳輸給單片機,由單片機控制數碼管顯示器,并比較采集的溫度與設定的溫度范圍是否一致,如果超出設定的溫度范圍,進行聲光報警,再驅動繼電器對大棚進行加熱或降溫處理。2.1 AT89C51單片機2.1.1 AT89C51內部結構AT89C51單片機內部包括一個8位的CPU,片內振蕩器和時鐘電路,由4K字節(jié)的FLASH存儲器,128KB的數字存儲器,四個8位并行的I/O口,一個全雙工串行口,兩個16位的
9、可編程的定時/計數器,6個中斷源,3個中斷矢量,提供兩個中斷優(yōu)先級,21個特殊功能寄存器,可尋址各64KB的外部程序存儲器和數據存儲器,有位尋址功能和較強的布爾數據處理能力,有兩種軟件可選的低功耗運行方式(空閑和掉電方式)。2.1.2 AT89C51的最小系統 (1)最小系統 單片機接上時鐘電路和復位電路,就構成了最小系統,因此,最小系統如圖2-2所示。圖2-2 AT98C51的最小系統(2)復位電路 復位是單片機的初始化操作。單片機系統在上電啟動運行時,都需要先復位,其作用是使CPU和系統中其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因此,復位是一個很重要的操作方式。但單片機本身
10、不能自動復位的,必須配合相應的外部復位電路才能實現的。(3)時鐘電路單片機的各個功能部件的運行都是以時鐘控制信號為基準,有條不紊的一拍一拍的工作。因此,時鐘頻率直接影響到單片機的速度。 2.2溫度采集電路溫度檢測電路由溫度傳感器、LM741 型運算放大器等構成。溫度傳感器將溫度變成電信號,通過放大器使得信號在A/D轉換器的量程范圍內放大,在單片機的控制下,A/D 轉換器完成信號的A/D 轉換,然后將轉換后的數字信號送入單片機進行數據分析與處理。2.2.1 溫度采集工作原理 因為AD590是將溫度轉換為電流,而單片機對電壓信號更好測量,所以要將電流轉換為電壓,同時對電壓信號進行放大,之后輸入給A
11、/D轉換器ADC0809的D0D7端口,其電路如圖2-3所示。圖2-3 溫度采集放大電路2.2.2 低通濾波電路由于溫度傳感器采集到的信號中能夾有高頻的噪聲信號和干擾信號,在經過放大后,這樣的信號會對采集的結果和轉換的結果產生很大的誤差和不良的后果。無限增益低通濾波器既可以將高頻信號除去。其電路如圖2-4所示。圖2-4 無限增益低通濾波電路2.3 A/D轉換電路由于溫度是一種模擬信號,則由信號采集電路采集的信號是一種模擬信號,而且頻率很低,但是單片機所識別的是具有高低電位的數字信號,這就要求在信號處理中必須把模擬信號轉換成數字信號從而輸出給單片機處理。2.3.1 ADC0809芯片ADC080
12、9是采樣分辨率為8位的、以逐次逼近原理進行的A/D轉換器件。內有一個8通道多路開關以及微處理機兼容的控制邏輯的CMOS組件。它由比較器、逐次逼近器、D/A轉換器及控制和定時5部分組成,輸出具有TTL三態(tài)鎖存緩沖器,可以直接連到單片機數據總線上。 2.3.2 ADC0809與單片機的接口方式在本設計中,采用中斷控制方式使ADC0809與單片機相接。 ADC0809與單片機的連接電路如圖2-5所示。圖2-5 ADC0809與單片機的連接電路2.4 按鍵電路設計按鍵是一組按壓式開關集合,是微機系統不可缺少的輸入設備,用于輸入數據和命令。這里主要介紹非編碼鍵盤的接口電路。1.4.1 鍵盤的結構和工作方
13、式 本設計就有三個按鍵,共需要三個I/O口線,占用的口線不多,因此可采用獨立式按鍵,為了提高CPU的效率,應采用的是獨立式中斷掃描結構。2.4.2 按鍵電路圖2-6所示為中斷掃描方式的接口電路。鍵盤電路的行線與單片機的P2.4、P2.5、P2.6直接相連,列線與一個與門的三輸入端相連,與門的輸出端與單片機的/INT0相連接。當P2.4、P2.5、P2.6 全為0時,若無鍵閉合,/INT0保持高電平;若有鍵閉合時,/INT0變成低電平,CPU開中斷,進而產生中斷,轉向中斷服務程序。S2按鍵是溫度設定模式,S3按鍵是溫度的加一模式,S4按鍵是溫度的減一模式。 圖2-6 中斷式獨立鍵盤2.4.3 按
14、鍵電路的消抖 消除抖動的方法有兩種,一種是采用硬件電路來實現,如用濾波電路和雙穩(wěn)態(tài)電路等;另一種實用軟件來實現,即當發(fā)現有按鍵按下時,延時10ms20ms,再查詢是否有按鍵按下,若沒有按鍵按下,說明上次查詢結果為干擾或者抖動;若仍有按鍵按下,則說明閉合鍵已穩(wěn)定,即可判斷其鍵碼。2.5 溫度顯示電路 為了方便管理者能明確的觀察到某一路的溫度,這里要有顯示電路,共有六個數碼管,兩位是用來顯示設定的最高溫度,兩位用來顯示設定的最低溫度,兩位是用來顯示當前某一路的溫度。2.5.1 LED數碼管 動態(tài)掃描顯示的掃描方式有程序控制和定時中斷掃描兩種。程序控制掃描方式要占用許多CPU時間,在計算機的任務較重
15、時,難以得到好的效果,所以在實際中常采用定時中斷掃描方式,這種方式是每隔一定時間(如1ms)顯示一位數碼管,假設有8位數碼管,顯示掃描周期為8ms,顯示效果十分良好。本次設計采用這種方法。2.5.2 LED驅動電路 7447是一塊BCD碼轉換成7段LED數碼管的譯碼驅動IC。7447的主要功能是輸出低電平驅動顯示碼,用以推動共陽極的7段LED數碼管顯示相應的數字。2.6 其它電路2.6.1 電源電路在這個設計中,采用了簡單的實用的變壓器,根據理想變壓器原副邊匝數比公式,則可通過計算來調節(jié)參數達到轉換為低電壓所謂目的。低壓的交流信號在通過整流穩(wěn)壓等操作實現了交流向直流轉換的要求了。其電路圖如圖2
16、-7所示。圖2-7 電源電路2.6.2 聲音報警電路在單片機檢測系統檢測到當前溫度超出設定的溫度范圍時,單片機就會控制P3.7引腳的電平,進而來控制蜂鳴器,提醒管理者注意報警信號,常見的報警信號可分為閃光報警、鳴音報警和音樂報警,這里主要用的是鳴音報警電路。如圖2-8所示。當P3.7引腳輸出高電平時,晶體管導通,壓電蜂鳴器兩端獲得約5V的電壓而鳴叫;當P3.7輸出低電平時,晶體管截至,蜂鳴器停止發(fā)音。圖2-8 鳴音報警電路2.6.3 光報警電路電路如圖2-9所示,使用74HC164的并行輸出引腳接8個發(fā)光二極管,利用它的串入并出功能把發(fā)光二極管從輪流點亮,并反復循環(huán)。Q0Q7代表18路的溫度是
17、否在設定的溫度范圍內,如果第i(i的范圍從0到7)個發(fā)光二極管亮,證明第(i+1)路的溫度超出設定的溫度范圍。圖2-9 串口顯示電路2 軟件系統設計 軟件采用模塊化設計。系統軟件主要包括主程序和按鍵處理、中斷、顯示和報警等子程序。主程序完成器件的初始化,并判斷有無按鍵按下、有無中斷請求,然后根據判斷結果調用相應的子程。3.1程序流程圖及分析主程序主要是對采集數據的處理、顯示以及與設定的數據進行比較,為是否報警、是否開繼電器做準備;A/D轉換子程序主要完成的是對信號的采樣和A/D轉換,并將轉換的數據放到A寄存器中,為后面的調用做準備;監(jiān)控程序就是對按鍵中斷,A/D轉換中斷進行監(jiān)控,如果按鍵有中斷
18、,就調用A/D轉換程序,如果A/D中斷,就調用A/D轉換程序。(1)主程序主程序主要是對采集數據的處理、顯示以及與設定的數據進行比較,為是否報警、是否開繼電器做準備。其流程圖如圖3-1所示。圖3-1 主程序流程圖(2)A/D轉換的程序:其流程圖如圖3-2所示。圖3-2 A/D轉換流程圖 (3)獨立按鍵程序在圖2-6所示的電路中,當W1W3任何一個按鍵按下,與門的輸出都為低電平,此時/INT0引腳為低,延時一段時間后,再判斷/INT0引腳是否為低電平,如果仍為低電平,則向CPU申請中斷。CPU響應中斷后,在中斷服務程序中判斷是哪個按鍵按下,進而調用該按鍵對應的相應功能,執(zhí)行完中斷服務程序后,返回
19、主程序。因此按鍵控制流程圖如3-3所示。 圖3-3 獨立鍵盤流程圖(4)顯示程序首先從段選線上送出字段碼,再通過74HC138譯碼器來控制位選線,字符就顯示在指定位置上,持續(xù)15ms時間,然后關閉所有顯示;接下來又送出新的字段碼,位選移位,按照上述過程又顯示在新的位置上,直到每一位數碼管都掃描完為止,即為一個掃描周期。由于人的視覺停留效應,因此當掃描周期小到一定程度時,人就感覺不出字符的移動或閃爍,覺得每位數碼管到一直在顯示。顯示流程圖如圖3-4所示。 圖3-4 顯示流程圖4 總結 本次畢業(yè)設計遇到不問題,也收獲到不少知識。在制作,設計,實際操作過程中,我也深深感受到每一次問題解決的驕傲與自信
20、。例如設計過程中遇到的許多新名詞以及新的元件代碼,在整理思路總是會被這些那些數字,字母弄得頭昏眼脹。然而我的導師卻教導我說:“不必害怕這些數字,它們的代號就表示著一個元件的功能及類別,例如AT89C51,它是單片機的代號,也是整個機器的身體。還有AD590,是溫度傳感器,它是感知溫度的。另外ADC0809,是A/D轉換器件,相當于神經。再加上其他零零碎碎的電路元件,依照電路圖組合起來就形成完整的蔬菜大棚溫度控制系統?!彪m然大學期間我并不是主修電子設備,對電子設備也并不是很感興趣。但當我真正投入到畢業(yè)設計中時,我逐漸認識到電子組裝的精密性以及邏輯性。它需要用百分之百的耐心與細心去研究這個元件為何
21、這么組裝,還有沒有更簡便的方法來實現它。它也需要你有一定的邏輯思維,電子元件的搭配是有其依據的,一個引腳的橋接錯誤會導致整個設備的損壞。在整個實際操作以及后期調節(jié)的過程了,我也逐漸產生了微妙的變化。雖然看上去是十分枯燥的拼接,調節(jié),輪回往復的動作,但當一個燈泡的亮起,一段數字的顯示都能帶給我無比的快樂。雖然這個設備現在還依舊在實踐調教中,還并不是很成熟,但只要我心里明白開心就好,至少它還能夠測量溫度,顯示溫度,提醒調節(jié)溫度。參考文獻1 張毅剛. 單片機原理及應用M. 北京:高等教育出版社,2003.2 萬光毅. 單片機實驗與實踐教程M. 北京:北京航空航天大學出版社,2003.3 付家才. 單
22、片機控制工程實踐技術M. 化學工業(yè)出版社,2004.4 彭佳文,姚志成,彭佳紅一種單片機多機通信系統的設計J微計算機信息,2008,24(2):1311335 于還業(yè)溫室環(huán)境自動監(jiān)測系統J農業(yè)工程學報,1997,13:2621696 劉士光. 溫室大棚多功能測試儀的智能化自校方法J農業(yè)工程學報,2000,16(3):135137附 錄附錄1:原理圖 附錄2:主程序程序void main() uint i;Sys_Init();EX0 = 1;EX1 = 1;EA = 1;/開總中斷ad_start1(0);LED_display();LED_display();ad_oe = 0;while(
23、1) LED_display(); i = ad_temp1;ad_bufnow_channel =(uchar)(i*100)/255);/-debugsw_status();LED_display();void sw_detect() interrupt 0unsigned char temp,i;IE0 = 0;sw = 0;P2 &= 0 x8f;for(i = 0;i 4;switch(sw_temp0) case 6:sw_temp0 = max;break; case 5:sw_temp0 = min;break; case 3:sw_temp0 = mode;break; de
24、fault:sw_temp0 = sw_temp0; if(sw_temp0 != 0)sw_flag = 1;/有新的按鍵中斷發(fā)生,置標志位 LED_display();void ad() interrupt 2char i;IE1 = 0;for(i = 0;i 2;i+);ad_oe = 1;for(i = 0;i 2;i+);ad_temp1 = P0;ad_oe = 0;LED_mormal();LED_mormal();LED_mormal();ad_start1(now_channel);附錄3:AD轉換程序/*通道選擇*/void select(uchar chnnel)swi
25、tch(channel)case 0:a=0;b=0;c=0;break;case 1:a=1;b=0;c=0;break;case 2:a=0;b=1;c=0;break;case 3:a=1;b=1;c=0;break;case 4:a=0;b=0;c=1;break;case 5:a=1;b=0;c=1;break;case 6:a=0;b=1;c=1;break;case 7:a=1;b=1;c=1;break;default:break;/*初始化0809,并開定時器,開中斷*/void initdac0809()TMOD=0 x02;/*定時器0產生500KHZ的時鐘信號*/TH0
26、=253/*約1.085Us*2中斷一次,周期略小于500KHz*/TL0=253;TR0=1;ET0=1;EA=1;/*開總的中斷*/*開始轉換ADC0809*/void startadc()if(i=8)i=0;else select(i);/*選擇通道i*/ST=0;ALE=0;ST=1;ALE=1;delay(1);ALE=0;ST=0;/*地址鎖存,并開始轉換*/i+;void main()initdac0809();startadc();while(1)while(EOC=0)/*ADC0809正常轉換*/OE=1;/*轉換完畢,打開輸出*/ ad_data-i=P0/*從P0讀取
27、結果*/startadc();/*開始第二次AD轉換*/OE=0;/*禁止輸出*/附錄4:按鍵程序void main(void)int0_flag=0;/*設置中斷0標記*/TCON=0 x55;/*電平觸發(fā)外部中斷*/IE=0 x81;/*開外部中斷int0*/doif(int0_flag) /*如果有中斷*/switch(KEY_Value) /*根據中斷源分支*/case 1:processS1( ); /*可在此處插入按鍵0的處理程序*/break;case 2:processS2();/*可在此處插入按鍵1的處理程序*/break;case 3:processS3();/*可在此處插
28、入按鍵2的處理程序*/break;default:break;int0_flag=0; /*清中斷0標記*/while(1);/*外部中斷0服務程序*/void exint0(void) interrupt 0EA=0; /*開總中斷*/int0_flag=1; /*設置中斷0標記*/*讀取外部中斷源輸入,并屏蔽高五位*/KEY_Value=KEY_PORT & 0 x07;EA=1; /*開總中斷*/附錄5:顯示程序void LED_mormal()char i;LED_wei = 0;for(i = 0;i LED_Len;i+)P1 = (P1 & 0 x0f0) | (LED_duan
29、i & 0 x0f); /*送段碼*/P2 = (P2 & 0 x0f8) | (LED_wei & 0 x07); /*送位碼*/P2 = (P2 & 0 x0f8) | (0 x07); /*清零*/P1 = (P1 & 0 x0f0) | (LED_duani & 0 x0f);P2 = (P2 & 0 x0f8) | (LED_wei & 0 x07);P2 = (P2 & 0 x0f8) | (0 x07);LED_wei+;void LED_display()ad_buf_now = ad_bufnow_channel;LED_duan0 = buf_H / 10;LED_duan1 = buf_H % 10;LED_duan2 = buf_L / 10;LED_duan3 = buf_L % 10;LED_duan4 = (ad_buf_now / 10) - (ad_buf_now / 100)*10;LED_duan5 = ad_buf_now % 10;LED_mormal();void main()while(1) ad_bufnow_channel =(uchar)(i*100)/512);/*debug*/LED_display();
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。