摘要:溫濕度檢測系統主要由溫濕度傳感器DHT11,STC89C52單片機和發光二極管顯示三部分組成,通過單片機對溫濕度傳感器的檢測和控制,從而對溫度和濕度的監測控制,采用軟件編程,使其達到指定溫濕度時候點亮二極管。整個檢測狀態穩定,使用方便,直觀性強,操作簡單,便于攜帶。適合解決生活中的溫濕度測量。
關鍵詞:單片機; 傳感器; 溫濕度 1.序言 1.1選題背景 在日常生活中,環境的溫濕度很重要,比如在種植蔬菜的大棚中,就需要有準確的溫濕度,它直接影響到儲備物資的使用壽命和工作可靠性,傳統的方法是用濕度表,濕度紙等,通過人工檢測。這種方法費時費力,效率低,測試誤差大。因此我們需要一種簡單,快捷的溫濕度檢測儀。
1.2設計目的 體積小,便于攜帶,使用一定要方便。這次設計這個便攜式的溫濕度檢測板就是為了隨時掌控我們周圍的溫度與濕度,在溫濕度脫離正常范圍時發出警告。
1.3開發工具 Protel DXP 2004:Protel DXP 2004已不是單純的PCB(印制電路板)設計工具,而是由多個模塊組成的系統工具,分別是SCH(原理圖)設計、SCH(原理圖)仿真、PCB(印制電路板)設計、Auto Router(自動布線器)和FPGA設計等,覆蓋了以PCB為核心的整個物理設計。該軟件將項目管理方式、原理圖和PCB圖的雙向同步技術、多通道設計、拓樸自動布線以及電路仿真等技術結合在一起,為電路設計提供了強大的支持。 Keil uVision2:是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,使用接近于傳統c語言的語法來開發,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用,而且大大的提高了工作效率和項目開發周期, 他還能嵌入匯編,可以在關鍵的位置嵌入,使程序達到接近于匯編的工作效率。
2.硬件開發 2.1硬件功能總介
圖1.結構框圖 該系統主要由STC89C52單片機系統,溫濕度采樣電路,發光二極管顯示,程序燒錄等四部分構成。
2.2各部分結構功能
圖2 數據接收電路和晶振電路
采用數字溫濕度傳感器DHT11檢測溫濕度。單線制串行接口,使系統集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。圖中R1為上拉電阻。Y1,C1,C2組成晶振電路,產生固定的頻率振蕩。
圖3 串口電路 這是串口部分,PC機的串口是RS232電平,所以采用芯片MAX232進行轉換。
圖4 顯示電路
采用兩個發光二極管來顯示溫濕度,當單片機從DHT11傳感器采集到溫濕度后,通過程序的設定,到超過指定的溫濕度后會點亮LED燈
圖5 電源電路 這是電源部分,采用USB供電。 2.3硬件各部分功能的詳細介紹 CPU:STC89C52RC 指令代碼完全兼容傳統8051單片機,工作電壓5.5V-3.3V,內部集成專用復位電路,外部晶體20M以下時,可省外部復位電路。
圖6 單片機管腳圖
傳感器:采用了DHT11數字溫濕度傳感器。
圖7 DHT11傳感器 DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數以程序的形式儲存在OTP內存中,傳感器內部在檢測信號的處理過程中要調用這些校準系數。單線制串行接口,使系統集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。
串口模塊: 51單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉換電路,我們采用了專用芯片MAX232進行轉換,雖然也可以用幾個三極管進行模擬轉換,但是還是用專用芯片更簡單可靠。我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我們來說已經足夠使用了,電路如下圖所示,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接。
3.軟件開發 3.1軟件功能總介 本系統的軟件設計采用C語言編寫,主要通過單片機采樣模塊讀入端口溫濕度信號,并轉換成實際溫濕度數值,并與設定的數值比較,最后通過發光二極管顯示。 插上USB供電以后,傳感器就不停檢測溫度濕度。溫度到達25攝氏度點亮LED,濕度到達40%點亮LED 本系統的最大特點是測量準確,結構簡單,調試使用方便,性價比高。
4.調試測試 4.1介紹調試測試的方法 程序調試主要有兩種方法,即靜態調試和動態調試。程序的靜態調試就是在程序編寫完以后,由人工“代替”“模擬”計算機,對程序進行仔細檢查,主要檢查程序中的語法規則和邏輯結構的正確性。實踐表明,有很大一部分錯誤可以通過靜態檢查來發現。通過靜態調試,可以大大縮短上機調試的時間,提高上機的效率。程序的動態調試就是實際上機調試,它貫穿在編譯、連接和運行的整個過程中。根據程序編譯、連接和運行時計算機給出的錯誤信息進行程序調試,這是程序調試中最常用的方法,也是最初步的動態調試。在此基礎上,通過“分段隔離”、“設置斷點”、“跟蹤打印”進行程序的調試。實踐表明,對于查找某些類型的錯誤來說,靜態調試比動態調試更有效,對于其他類型的錯誤來說剛好相反。因此靜態調試和動態調試是互相補充、相輔相成的,缺少其中任何一種方法都會使查找錯誤的效率降低。
4.2總結調試測試的結果 當程序和硬件都弄完的時候,就插上數據線下載程序了,下載完畢后,當用手指按住傳感器時,溫度的LED還是沒有反映,當時就想到程序出現問題了,可是自己沒法檢查出來,畢竟自己還是個新手,沒有什么調試程序的經驗。后來在同學及老師的幫助指導下。把程序修改正確后,終于成功了。基本上是修改一次程序,測試一次。一共來來回回了很多次。 結果基本測試出來。調試完成,發光二極管到達條件也都亮了。
5.總結 這次畢業設計總得來說還是很順利,就是在程序這塊耽誤的時間比較多,花的時間也比較長,但是還是很開心。 2010年11月,我開始了我的畢業論文工作,時至今日,論文基本完成。從最初的茫然,到慢慢的進入狀態,再到對思路逐漸的清晰,整個寫作過程比較漫長。 歷經了幾個月的奮戰,畢業設計終于快結束了。在搜集資料的過程中基本實在在網上查找各類相關資料。 在大家的幫助下,困難一個一個解決掉,論文也慢慢成型。 在設計電路初期,由于沒有設計經驗,覺得無從下手,空有很多設計思想,卻不知道應該選哪個,經過導師的指導,我的設計漸漸有了頭緒,通過查閱資料,逐漸確立系統方案。 腳踏實地,認真嚴謹,實事求是的學習態度,不怕困難、堅持不懈、吃苦耐勞的精神是我在這次設計中最大的收益。我想這是一次意志的磨練,是對我實際能力的一次提升,也會對我未來的學習和工作有很大的幫助。
5.1開發過程中遇到的問題及解決方案 在這制作動手期間遇到了很多問題,一開始焊接的時候就有麻煩,貼片的比較難焊接,特別是那塊CPU芯片,我用鑷子費了很大勁才焊好。原理圖的制作也是改了好多次。當焊接完成的時候插上USB口時連電源燈都不亮,后來經過檢查才發現是接口焊接錯誤。淡然最麻煩的要算是程序編寫和調試了。這部分本來就不是很精通,程序寫了也調試不出來。最后通過朋友的幫助,不斷修改才完善了。
5.2改進意見 題目是便攜式檢測。我做的時候就用的USB供電,最好再加個便攜式電源就好了。這樣的話就能隨時隨地檢測了。 |