《基于單片機的智能風扇設計》11000字(論文)_第1頁
《基于單片機的智能風扇設計》11000字(論文)_第2頁
《基于單片機的智能風扇設計》11000字(論文)_第3頁
《基于單片機的智能風扇設計》11000字(論文)_第4頁
《基于單片機的智能風扇設計》11000字(論文)_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

III基于單片機的智能風扇設計摘要智能電風扇普及的近些年,傳統電風扇越來越難以滿足人們需求,在這個智能化的年代,電風扇也需要新的變革,新的創新。而智能電風扇給我們帶來的不僅僅是使用起來的方便,更重要的原因是它可以根據需求應用于各種場合和環境,適應性較強,這也使得其應用比較廣泛。DS18B20溫度傳感器的數據采集能力強,在一些惡劣的環境中所采集的溫度值精度也比較高。通過單片機計算分析能力,將需求用戶預設的溫度值與實際采集到的溫度進行比較,自動改變風扇轉速以起到降低溫度的效果,同時保留了傳統的手動調節方式,滿足不同情況下的需求。除此之外,基于51單片機的顯示功能也是必不可少的,由于傳感器采集的是模擬信號,模擬信號需要轉換為數字信號才能實現人們肉眼可見的溫度監測功能,因此,模數轉換功能也是控制核心之一,通過模數轉換,單片機控制發光二極管或七段數碼管顯示當前環境溫度及當前轉速檔位的顯示,當出現溫差過大或者溫度傳感器故障時,會出現蜂鳴器報警,提示溫度差異和故障,因此51單片機為控制核心,通過多線程集成控制方式完成對整體功能的實現,為人們提供便利。關鍵詞:STC89C51;溫度傳感器;模數轉換;信號采集目錄29173摘要 I18330第1章緒論 129451.1課題應用前景及現狀 1114441.2理論意義 241161.3本設計任務主要要求 310234第2章系統設計總體方案 454812.1溫度傳感器的選擇 4317842.2主控機的選擇 639562.3顯示電路 6166162.4調速方式 725780第3章系統硬件設計 887833.1主控芯片介紹 8148963.1.1STC89C51簡介 8239093.1.2STC89C51單片機主要功能和系統參數 8236583.1.3STC89C51單片機引腳 9270973.1.4STC89C51單片機最小系統 953183.2時鐘電路 105793.3復位電路 11305123.4DS18B20溫度采集電路 1219653.4.1DS18B20溫度處理方法 12210113.4.2DS18B20工作原理 12251513.5數碼管驅動顯示電路 13314453.6風扇驅動電路 14205273.7按鍵模塊 1517278第4章系統軟件設計 16239214.1主程序流程圖 1626014.2DS18B20子程序流程圖 16209264.3數碼管顯示子程序流程圖 1765154.4按鍵子程序流程圖 184070第5章系統調試 2023185.1系統功能 20308495.1.1硬件調試 2020675.1.2系統實現的功能 20131955.2系統分析 201745總結 218036參考文獻 2222860附錄Aprotel原理圖 248890附錄B源程序 25PAGEPAGE30第1章緒論1.1課題應用前景及現狀近些年來,隨著我們國家的經濟的發展,人們追求品質生活成為了新的潮流,空調的出現讓人們的生活越來越舒適,在加上價格的不斷下調,電風扇行業正在面臨著非常嚴重的危機。空調強大的功能是人們能夠快速接受其價格的重要原因,但是空調的功能是取決于能耗和封閉空間,所以這是其不能夠完全取代電風扇的重要原因。而隨著我們國家提倡保護生態環境,提出“綠水青山就是金山銀山”的理念的時候,空調的高耗電量、破壞臭氧層的缺點就開始成為人們選擇電風扇的重要原因。電風扇曾經是人們生活中不可缺少的一種家電,近些年來,隨著空調的普及逐漸的淡出了人們的生活,變成了人們口中的老式家電。但是風扇真的被淘汰掉了嗎?并沒有,電風扇依然有著廣泛的市場,其價格便宜、功耗更低、擺放方便的優勢使其依然受到很多人的喜愛。中國人民對于電風扇的熱情依然未曾消退,在資料的收集過程中能夠看到大量有關于風扇優化的研究。智能化電風扇在當前已經開始進入市場了,而且有一些家電企業為了滿足不同人群的需求,對風扇采用了不同的設計,實現了不同風扇的功能,比如美的推出的學生扇就是典型代表。隨著各項科學技術的進步和發展,智能風扇的發展方向逐漸的朝著低噪音、低能耗、更智能方向發展,智能溫控風扇在未來的應用將會越來越廣泛,研究也會越來越深入。在日常生活中的傳統電風扇采用的是機械控制的方式,在使用的時候,連接電源,然后按下開關,風扇進入到工作狀態,扇葉開始旋轉,想要調整風扇的轉速需要通過手動按下調速開關進行調整。這種傳統的電風扇功能相對比較單一,還存在一定的隱患,當人們在打開風扇之后,睡著了或是離開的時候,忘記了關閉風扇的話,不僅會造成電力資源的浪費,還有可能會出現電路故障甚至是引起火災,而且電風扇處于產時間的工作狀態中也會降低使用壽命。在炎熱的夏天,人們因為天氣的原因在晚上通常無法入睡,所以很多時候都會選擇開風扇睡覺,可以人們在睡覺之前往往都會忘記關閉電風扇,對于一些晝夜溫差較大的地區人們很有可能會因此感冒。雖然傳統的電風扇在此基礎上進行了改進,有了機械定時器,但是定時范圍有限,無法滿足人們的需求。為了解決以上傳統電風扇的不足,于是便設計了溫控自動風扇系統。重要的是可以將使用者規定好的溫度自動進行風速、風量的調整,精度更加的高。而且經過調查,本次設計能夠在人們的生活中進行廣泛的應用,具有經濟實用性。在當前階段,溫控風扇設計在一定程度上已經取得了很多的成果,比如在風扇電機自動無極調速方面,溫度傳感器進行溫度數據采集工作之后,系統進行判定,當溫度高于設定狀態的時候,就會自動啟動風扇,溫度升高后風扇轉速同時升高,當傳感器采集到的溫度低于所設定范圍時,風扇轉速逐漸減慢,直到自動停止。這種控制方式解放了人的操作,使得人只需要設定好溫度即可,剩下的完全都有系統進行自動控制。智能控制使得電風扇更加的人性化是未來的發展趨勢,應用領域也會隨著逐漸增加,同時產生更高的經濟效益。1.2理論意義在龐大的市場需求面前,電風扇如果止步不前的話就會逐漸的失去市場份額,最終退出市場。所以電風扇必須要不斷的提高自身的技術含量,提高自己在市場上的競爭力,推出更多的高質量、低能耗的產品。在大學的課程學習中,我逐漸的明白了之前一些不能理解的知識,比如單片機方面的知識,在經過《單片微機原理及其應用》的學習之后,對于一些原理開始逐漸的掌握,通過實操課程逐漸的掌握了一些設計技能,這些課程都是我本次設計的基礎,當然還有非常多的課程內容對于本次設計都有著非常大的幫助。也正是對這些知識的掌握和學習,才能在智能溫控風扇的設計中添加更多人性化的功能。人有大量的時間都是在室內度過的,隨著人們生活水平不斷提升,人們對于居住場所的質量就產生了更高的需求,對于溫度、濕度、光線都提出了不同的要求,而且室內環境對于人的身心健康的影響也非常大,當環境舒適的時候,人們的生理和心理都會處于一個健康的水平,同樣的人們舒適感的增加,也會使得他們在工作中的效率有所提升。在異常炎熱的夏天,人們都喜歡打開風扇或是空調,在室內愜意的工作或是休息,而相對于空調來說,電風扇更加的節能、實惠,適用的范圍更加的廣泛一些,比如風扇可以在室外使用,對于一些身體素質較差的老人和小孩來說,他們更加的喜歡電風扇吹出來的自然風。但是傳統的風扇智能化的程度相對來說比較低,隨著溫度的變化需要通過手動進行檔位的調整,一旦忘記關閉電扇還會造成電力資源的浪費,同時有可能因為長時間吹風扇導致感冒。所以本次選擇了與人們生活息息相關的智能溫控風扇設計,能夠檢測人體的體溫、環境溫度和環境濕度,同時根據實際檢測到的數據調整風扇的轉速,給予人們一個更加舒適的環境。同時在本次設計中還增加了節能模式,當人設置好了節能模式之后,風扇會自動檢測所處環境中有沒有人,如果沒有的話將會自動停止,減少電力資源的浪費,使得電風扇具有了節能性。電風扇在當前仍然能夠占據一定市場份額的重要原因就是其性能有所改進,電風扇吹出來的是模擬自然風,是一些空調所不能比擬的,還有就是電風扇價格的比較低,能耗小。而且隨著人們生活水平的明顯提高,居住條件也有了非常大的改善,人們通常會選擇將空調機安裝在主要活動的地方,對于其它地方還是選擇使用風扇進行降溫。雖然需求還是很大,但是明顯市場上的電風扇的供給量大于實際的需求量,電風扇之間的競爭非常的激勵,想要在激勵的市場競爭中占據一定的地位,還是需要依靠風扇的品質和性能。智能溫控風扇的出現使得電風扇在原本的基礎上提高了風扇的節能性,同時也增加舒適性。而且智能溫控風扇系統不僅能夠應用人們的生活中,還能夠應用于工業生產之中,在一些需要保持低溫的車間中,使用空調的費用非常的高,而使用智能溫控風扇系統之后,不僅不需要人工進行溫度的控制,還降低了成本費用。同時在筆記本電腦上也可以進行應用,通過智能溫控風扇進行降溫,可以極大的節約電能,延長筆記本電腦的使用壽命。所以智能溫控風扇系統的設計在現實生活中可以應用到多個領域中,研究這一內容有著現實意義。1.3本設計任務主要要求本次設計是以STC89C51單片機作為系統核心,通過溫度傳感器進行溫度數據的收集,然后將其數據傳輸到單片機中,單片機進行處理將數據傳輸到控制單元,實現風扇的轉速根據溫度的變化而逐漸的調整。本次設計中,風扇的轉速應該具有三個檔位,由小風、大風、停機組成,可以通過手動進行調整也可以系統自動控制。當傳感器所采集的溫度數據比所設定的下限值低時,電風扇停止轉動,處于關閉狀態,當采集的溫度數據處于設定范圍內的時候,電風扇的轉速處于怠速狀態,當采集的溫度數據比所設定的上限值高時,風扇開始全速的運轉。第2章系統設計總體方案本次設計以單片機為核心,外接復位電路,晶振電路,和溫度采集電路,實現系統工作復位功能以及根據溫度控制風速的功能,單片機輸出端為顯示功能和風扇驅動功能,實時監測溫度與風速,系統總體框圖2-1如下:數碼管驅動電路風扇驅動電路風扇復位電路溫度采集電路單片機晶振電路按鍵設置電路數碼管數碼管驅動電路風扇驅動電路風扇復位電路溫度采集電路單片機晶振電路按鍵設置電路數碼管顯示圖2-1系統框圖2.1溫度傳感器的選擇方案一:使用熱敏電阻作為溫度數據的測量器件,當熱敏電阻所處室溫有所改變時,電壓會相應改變,從而給單片機輸出一個很小電壓變化信號,單片機在接收到數據信號的時候開始進行處理和運算,得出相應的結果傳輸到顯示端口。需要注意的是用AD轉換芯片ADC0809將模擬信號轉化為數字信號后輸入單片機處理REF_Ref15485\r\h[1]。具體方案如圖2-2所示。圖2-2熱敏溫度采集電路方案二:使用熱電偶作為溫度數據的測量器件,這種方式需要搭接大量的電路才能夠完成溫度的檢測和數據的傳輸,基本原理和方案一基本一致,都是需要通過模數轉換來將相應的溫度信號傳輸給單片機,同時由于需要連接大量的電路使得整體相對來說更加的復雜一下,但是也有優點,那就是好監測溫度的范圍更加的廣泛。方案三:通過使用數字式溫度傳感器進行溫度數據的測量。從方案一的實際應用角度來看,熱敏電阻在之前有過大量的應用實例,相對來說比較成熟,能夠為設計提供一定的借鑒意義。而且熱敏電阻相對來說價格比較便宜,如果設計經費不足的情況下可以考慮這一方案,但是同時也需要考慮到熱敏電阻對于溫度的細微變化不夠敏感的情況,這有可能會導致溫度檢測的精度不夠。熱敏電阻的阻值與時間呈非線性,其本身電阻對溫度的變化存在較大誤差REF_Ref19314\r\h[2],需要通過外搭電路來滿足數據的準確性,但與此同時,也使電路本身更加的復雜,可靠性不能滿足要求。所以應該放棄該方案。從方案二的實際應角度來看,這種方式的測溫范圍非常的廣泛,從-50攝氏度到1600攝氏度均可測量REF_Ref19333\r\h[3]。如此廣泛的測溫范圍能夠讓設計者無須過分擔心溫度檢測范圍,但是卻需要設計者考慮電路設計問題,電路設計工作變得繁瑣,不符合設計簡便的要求,同時也不能夠達到對溫度變化較為敏感的要求,所以應該放棄該方案。 從方案三的實際應用角度來看,采用DS18B20可以直接將所檢測到的溫度數據變成數字信號傳輸給單片機,無需進行模數轉換,簡化了外接電路,降低了外接電路會造成誤差的可能。同時該方案的溫度分辨率非常的高。再加上其與單片機的接線簡便,所以其受干擾的影響并不大。2.2主控機的選擇方案一:電壓比較電路作為控制核心。這種控制方式的核心內容就是在溫度傳感器將溫度信號傳輸過來的時候,將信號轉變成電信號,經過一系列的處理之后,進入到的電壓比較電路中進行比較,利用比較結果進行相應的控制動作。方案二:單片機作為控制核心,單片機相對于比較電路,主要是通過編程來實現各種控制功能的,而且單片機作為控制核心能夠較少外接電路,使得設計更加的方便和簡單。對方案一進行了分析和調查,發現這種方式并不適合在本設計中應用,主要是因為控制的方式太單一了,除了被動的接受比較之外,不能夠通過設置改變上下限的溫度值實現控制。同時方案一不夠靈活不能夠滿足不同人群的不同需求,所以,即使其電路設計起來更加的簡單,在本此設計中將不會采用方案一。同樣的,對方案二也進行了分析和調查。單片機作為控制的核心所在,能夠使用編程來實現多種功能,對于功能的擴展有著非常重要的意義,同時在本次設計中,用戶也可以通過鍵盤對于系統的上下限溫度值進行重新的設定,這些都是方案一所不具備的。同時通過程序判斷的溫度結果有著更高的精準度,多以本次設計選用方案二REF_Ref2173\r\h[4]。2.3顯示電路方案一:使用數碼管顯示實時室溫數據。這種方式的缺點就是能夠顯示的數據非常少,只能夠直觀看到數字和少量英文字母,優勢就是價格便宜。方案二:使用液晶顯示屏LCD顯示實時室溫數據。這種方案效果最好,降低了設計的復雜程度,簡化了設計流程,能夠通過簡單的軟件編程完成控制任務。但是缺點就是價格昂貴。針對于方案一進行了實際應用中的探討和模擬。這種方式雖然顯示的內容相對較少,但是在本次設計中,無需更多的字符的顯示,數字和一部英文字母足夠了,同時功耗也相對較低,顯示出來的溫度信息也更加的醒目,能夠在相對復雜的環境中清晰的顯示,同時驅動程序的編寫也相對簡單一些,符合本次設計的水平。不足之處就在于因為數碼管是逐個點亮的,所以需要做到數碼管掃描周期盡可能的低于人眼的視覺暫留時間,這樣一來才有可能消除閃爍感REF_Ref19369\r\h[5]。同樣的對于方案二,液晶顯示也進行了討論,雖然其優勢非常之大,顯示的字符數非常之多,但是考慮到設計經費和實用性的原則,在本次設計中選擇的是相對價格較低的方案一。2.4調速方式方案一:使用變壓器調節方法。該種方式的主要內容就是在實際中設置不同的電壓線圈,當控制單元想要控制風扇電機轉速變化的時候,只需要接入不同的線圈就可以了,這個種方式的原理理解起來非常的簡單,但是設計過程非常的復雜。方案二:使用三極管驅動PWM控制方式。這種方式和占空比有著一定的關系,當占空比較大的時候,轉速相應的就更快一些,相反則慢。而這種控制原理主要通過改變脈沖序列的寬度來完成輸出量的調節REF_Ref2055\r\h[6]。經過系統的分析和研究,在使用方案一進行了實際的模擬,發現這種方式雖然能夠調節風扇電機的轉速,但是還存在著一些缺點和不足,比如變壓的過程中將會產生損耗,效率較低,這不符合設計的初衷,同時在變壓的過程中還會發熱,不符合設計安全的原則。對方案二也進行實際的模擬和分析,發現這種方式符合設計的初衷,且PWM信號都是以數字形式出現的,更加方便了相互之間的信息傳輸,不需要在進行相應的轉換。最為關鍵的一點就是降低了噪聲,這也符合智能溫控風扇的設計要求。噪聲只有在強到足以將邏輯1改變為邏輯0或將邏輯0改變為邏輯1時,也才能對數字信號產生影響REF_Ref1961\r\h[7]。而且通信距離的延長能夠使得系統的遠距離控制成為了現實,使得控制變得更加的靈活。所以在本次設計中選擇了方案二。第3章系統硬件設計本系統的硬件主要是由溫度傳感器、單片機、LED數碼管、三極管驅動電路等組成。其中將STC89C51單片機作為控制的核心,在后期的升級的過程中能夠通過修改程序完成相應的目標,操作更加簡單和方便。3.1主控芯片介紹3.1.1STC89C51簡介STC89C51單片機所使用的是8051核的ISP系統可編程芯片,這使得其具有了非常廣泛的應用范圍,而且其還具有4K只讀程序存儲器。由于芯片內集成了通用8位中央處理器和ISPFlash存儲單元,省去了購買通用編程器,且速度更快REF_Ref18058\r\h[8]。STC89C51單片機的優勢在于其性能更高、運行速度更快、而功耗卻較低,再加上當前流水線生產,使得其具有了一定的廣泛應用,在多數應用例子中,該單片機都能夠完成相應的設計任務,所以這也是本設計選擇該單片機的一個重要原因。3.1.2STC89C51單片機主要功能和系統參數(1)增強型1T流水線/精簡指令集結構8051CPU(2)(5V單片機)/2.0V-3.8V(3)時鐘頻率0~35MHz,實際工作頻率可達48MHz.(4)用戶應用程序空間12K/10K/8K/6K/4K/2K字節(5)片上集成512字節RAM(6)通用I/O口(27/23個)(7)ISP/IAP,無需專用編程器(8)EEPROM功能(9)看門狗(10)內部集成MAX810專用復位電路(11)時鐘源:外部高精度晶體/時鐘,內部R/C振蕩器。精度要求不高時,可選擇使用內部時鐘,因為有溫漂,請選4MHz~8MHzREF_Ref1794\r\h[9]。(12)有2個16位定時器/計數器(13)外部中斷2路(14)PWM/PCA(15)STC89Cc516AD具有ADC功能REF_Ref1598\r\h[10]。(16)通用異步串行口(UART)(17)SPI同步通信口,主模式/從模式(18)工作溫度范圍:0-75℃/-40-+85℃(19)封裝:PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20(超小封裝,定貨)REF_Ref1399\r\h[11]。3.1.3STC89C51單片機引腳如圖3-1為STC89C51引腳圖圖3-1STC89C51單片機引腳圖3.1.4STC89C51單片機最小系統單片機最小系統作為應用系統的核心部分,可以對其進行擴展,使得其具備一些特殊的功能,從而讓單片機能夠實現更多的控制功能。電源、晶振等電路都是單片機運行的根本條件REF_Ref1193\r\h[12]。STC89C51單片機的最小系統只需要外接晶振就是行了,從下圖3-2中可以看出其是最小系統的構成原理圖,應該注意到的是最小應用系統只能夠作為小型控制單元,切不可忽略這一內容。時鐘電路復位電路時鐘電路復位電路STC89C51口3.2時鐘電路在STC89C51單片機內部有一振蕩電路,在引腳初連接晶振,就能夠構成自激振蕩器,并在單片機內部產生時鐘脈沖信號REF_Ref19178\r\h[13]。通過下圖能夠清晰的看到途中有兩個電容,這兩個電容連接的目的是為了更好的穩定頻率,電容選擇為30pF,在下圖中有標注,同樣,晶振的頻率也在下方圖片中進行了標注。設計原理圖如圖3-3所示。圖3-3時鐘電路3.3復位電路復位功能對單片機運行來說是不可或缺的,當系統運行出現錯誤時,系統將會處于鎖死狀態,此時僅通過其它方式的控制不能夠恢復,想要解決這一問題,就需要按下復位鍵進行重新啟動,使得系統重新進入到初始化狀態中。如果單片機的復位電路沒有做好設計的話,在實際的應用中,很有可能會因為操作失誤,而導致整個系統處于鎖死狀態,無法退出,使系統可靠性降低。STC89C51單片機的RESET引腳是復位信號的輸入端,復位電路則是連接到這一引腳上面,復位信號高電平有效,同時在上文曾提到過本設計中時鐘信號的晶振頻率為12MHz,所以相應的復位信號的持續時間應該超過2μs才能完成復位操作REF_Ref28330\r\h[14]。圖3-4為上電自動復位電路。圖3-4AT89C51復位電路3.4DS18B20溫度采集電路3.4.1DS18B20介紹DS18B20是在溫度測量領域作為主流的一款數字式溫度傳感器。這種傳感器由于是單總線的設計,使得設計起來和連接非常的簡單,這也是被設計選擇這一傳感器的重要原因。同時其精度更加的高、具備一定的可靠性,由于其采集溫度數據的時候直接輸出的就是數字信號,無需進行轉換。而且讀寫只需要通過一根口線來完成,同時總線能夠向DS18B20供電,極大的簡化了電路,使得在設計的時候更加的簡便,由于沒有過多的接線,可靠性也相對更高一些REF_Ref28304\r\h[15]。在實際的應用中,其測溫的精度、傳輸的距離相對于之前的產品來說較高一些,設計者在使用該傳感器的時候能夠取得更好的設計效果。3.4.2DS18B20工作原理DS18B20數字溫度傳感器,將其通過靈敏溫度元件測量的數據傳輸給單片機,單片機負責接下來的操作,如此循環。實際上DS18B20所采集到的環境溫度數據將會通過轉換傳輸到AT89C51單片機的P1.6口,單片機對數據進行處理和運算,然后轉換成相應的信號傳輸給風扇電機,控制其轉速。如圖3-5所示。圖3-5DS18B20溫度采集電路3.5數碼管驅動顯示電路本系統的顯示模塊所顯示的內容主要包含有環境溫度和風速檔位。CPU從字段輸出口送出字型碼時,所有數碼管接收到相同的字型碼,但究竟是哪個數碼管亮,則取決于COM端REF_Ref28272\r\h[16]。在輪流點亮數碼管的掃描過程中,每一個數碼管的點亮時間都是非常短暫的,如此短暫的點亮時間根本不會形成有意義的內容,但是實際上由于視覺暫留現象,這個過程中將會在人的腦海中形成一個穩定的數碼。這種方式的優點就是能夠節約大量的電能。具體原理圖如圖3-6所示。圖3-6數碼管顯示電路3.6風扇驅動電路風扇的驅動電路為兩個三極管所組成的放大電路,驅動電路將信號放大后在傳輸到風扇。下圖3-7為風扇驅動模塊電路:圖3-7風扇驅動模塊3.7按鍵模塊本設計選用獨立式鍵盤接法,利用單片機I/O口讀取口的電平高低來判斷是否有鍵按下REF_Ref20305\r\h[17]。將按鍵的一個端口連接I/O口,另一個端口則是直接接地。然后按照程序中的相關內容,保持三個按鍵的I/O口處于高電平狀態,當按下按鍵的時候,所對應的I/O口就會處于低電平的狀態,并保持,如此循環,實現按鍵功能。當松開按鍵之后,則是恢復到高電平狀態。為了防止因為按鍵抖動而出現錯誤控制的情況,本次設計中采用了軟件延時的方式來進行消抖。如圖3-8所示。圖3-8按鍵模塊電路圖第4章系統軟件設計4.1主程序流程圖想要實現根據實時環境溫度控制風扇轉速,需要程序能夠對環境溫度數據和設定溫度有一個判斷,并能夠進行相應的運算。在單片機執行程序的過程中,需要不斷地對上述內容進行判斷和運算,然后調用對應的子程序使風扇進入到相應的狀態中,實時的控制風扇的轉速。主程序流程圖如圖4-1所示。開始程序初始化開始程序初始化調用DS18B20初始化函數調用DS18B20溫度轉換函數調用溫度讀取函數調用按鍵掃描函數調用數碼管顯示函數調用溫度處理函數調用風扇控制函數結束4.2DS18B20子程序流程圖先對DS18B20進行初始化操作,再進行后續的一系列操作。DS18B20每一步操作都要遵循嚴格的工作時序和通信協議REF_Ref20508\r\h[18]。通過下面的流程圖能夠清晰的看出,在進行溫度轉換的時候,都需要先發送復位命令,然后發送跳過ROM指令,最后在進行接下來的操作,完成相應的目標任務。圖4-2DS18B20程序流程圖4.3數碼管顯示子程序流程圖該程序主要是為了將實時溫度數據顯示在四位數碼管中。通過采用動態掃描的方式,進行段選信號的處理,再行進位選信號的處理,然后是一個短延時。流程圖如圖4-3所示。第一位送位選給低第一位送形第一位送位選給低第一位送形延時10ms顯示第二位送位選給低第三位送位選給低第四位送位選給低第二位送形第三位送形第四位送形延時10ms顯示延時10ms顯示延時10ms顯示結束4.4按鍵子程序流程圖本系統的按鍵模塊分別由三個按鍵K1、K2、K3所構成。其中K1按鍵的溫度范圍是10-20℃,也就是說,當按下這個案件的時候,溫度設定范圍是10-20℃,相應的K2的溫度范圍是20-30℃,K3是30-100℃。當按下K1按鍵的時候,就開始進入到了上線溫度設置程序中,按下K2按鍵進行溫度值+1操作,按下K3為-1操作。推出這一狀態按下K2按鍵的時候,進入的是下限溫度設置程序中,在這一狀態中K2和K3按鍵的功能同K1。退出設置狀態只需要在設置好之后長按K3按鍵即可。通過對K1、K2、K3的溫度值范圍的總結可以知道溫度值的設置范圍為10-100℃,這基本上滿足了當前大部分的使用需求了。判斷設置鍵是否按下判斷設置鍵是否按下設置按鍵按下延時去抖判斷當前設置模式設置上限設置下限退出設置判斷加、減鍵是否按下修改設置的閥值結束NYYN第5章系統調試5.1系統功能5.1.1硬件調試在硬件調試中需要先對DS18B20能否正常工作進行測試,最簡單的測試方法是用手攥住芯片,然后觀看LED顯示的數值是否快速上漲,如果數值正在快速上漲,應該松開芯片,當LED顯示的數值正在逐漸的下降,就證明DS18B20在系統板上能夠正常工作和運行REF_Ref28141\r\h[19]。本智能調溫系統可實現:根據溫度傳感器所測量的數據和所設定得標準值的差值來控制電機轉軸轉速的快慢。環境溫度高于設定溫度,就說明需要電風扇展開工作,電機的轉速應該根據溫度的升高逐漸的開始提高;相反則是停止或是低速轉動。5.1.2系統實現的功能本系統實現的功能是單片機根據環境溫度的變化實現自動控制風扇電機轉速,從而改變風扇轉速,保證舒適性的功能。通過對溫度的設定和實際環境溫度的差值的計算決定風扇電機轉速處于什么檔位。其原理就是通過占空比的變化,產生不同轉速REF_Ref28115\r\h[20],進而實現對風扇轉速的控制。在本系統設計中,也可以通過鍵盤來調節風扇的轉速,即手動控制,同時溫度的設置也主要是通過鍵盤來完成。單片機會控制風扇電機進行轉動,根據傳感器檢測到的溫度信息,選擇風速的檔位,設定溫度有風扇電機的轉速來完成。5.2系統分析系統在總體上能夠分為四大部分,也就是溫度數據采集電路、風扇驅動電路、按鍵電路、數碼管顯示電路。其中,溫度檢測電路可以說是這個系統設計的關鍵所在,所有的功能都是基于這一內容而研發的,總的來說,如果沒有溫度檢測電路用于溫度的檢測,那么溫度控制豈不成了空話,所以需要先有溫度檢測,然后才能夠通過單片機控制直流風扇電機的轉速REF_Ref21383\r\h[21];數碼管的動態顯示電路用于顯示實時室溫和電風扇所處于的檔位,數字式溫度傳感器的作用是采集溫度數據,然后再通過數碼管顯示出來,而設定溫度主要通過按鍵進行調整,實現了可以直觀讀取實時環境溫度數據和所處檔位REF_Ref28056\r\h[22]。總結在本次畢業設計中選擇智能溫控風扇課題的重要原因是其與人們的生活水平息息相關,能夠提高人的生活質量和舒適度,有著非常大的現實意義。而且本次設計能夠將自己在大學生涯中學習到的知識與實際進行結合,有助于自己走出校園,踏進社會。為了更好的完成本次畢業設計,我收集了大量的文獻和資料,從一開始的毫無頭緒逐漸的捋清思路,最后進行設計,這次經歷讓我有了非常大的進步。在本次設計中,實現了根據環境溫度變化調整風扇轉速的功能REF_Ref21856\r\h[23]。采用四位數碼管顯示室內實時溫度以及風扇所處檔位,使得人們在實際使用的過程中能夠更加方便的了解當前的溫度信息,再根據溫度信息決定自己是否需要對溫度進行調整。而且在本次設計中可以通過三個獨立按鍵調整設定溫度,手動控制風扇電機的轉速。本系統的設計對于其他采用電動機來控制的系統中,同樣具有著一定的適用性。在實際的生產生活中,本系統不僅能夠應用于人們的日常生活,還可以應用到其它多個領域。比如在工業生產中,本系統可以提高自動化生產工廠的自動化REF_Ref27935\r\h[24],減少人工操作,降低成本,同時自動控制能夠減少電力資源的浪費,而且本系統能夠更低,成本會大大的降低。綜上本次系統在多個領域中都可以應用,具有很強的實用性,在社會生產和生活中有著非常重要的地位。參考文獻陳圣林,王東霞.圖解傳感器技術及應用電路[M].中國電力出版社,2016:26-29.MaticVirant,MihaAmbro?,StevenJohnston,SimonJ.Cox.UniversalSafetyDistanceAlertDeviceforRoadVehicles[J].Electronics,2016,5(2):27-28.MaticVirant,MihaAmbro?,StevenJohnston,SimonJ.Cox.UniversalSafetyDistanceAlertDeviceforRoadVehicles[J].Electronics,2016,5(2):65-66.孫萍,馮興.質量敏感型有毒有害氣體傳感器及陣列研究[M].電子科技大學出版社,2015:65-67TingWang.DesignofIntelligentWagonwhichCanAutomaticallyEnterintoGarageBasedonSTC89C52[J].AppliedMechanicsandMaterials,2015,3744:13-14.魏廣芬,余雋,唐禎安.電子鼻系統原理及技術[M].電子工業出版社,2011:16-17.GhenadiiKorotcenkov.化學傳感器,傳感材料基礎·第4冊,多孔納米材料的特性及應用[M].哈爾濱工業大學出版社,2013:55-56.崔景春.高壓交流金屬封閉開關設備[M].中國電力出版社,2016:43-45.白玉岷.電氣工程常用裝置及開關控制柜制作加工技術[M].機械工業出版社,2016:78-79.王越明.電氣設備選擇與計算實例[M].化學工業出版社,2014:101-102.王會良,王東鋒,董冠強.單片機C語言應用100例[M].電子工業出版社,2017:74-76.方紅,楊加國,唐毅.單片機技術及應用:基于匯編及C51程序設計[M].電子工業出版社,2017:43-45.付華,王雨虹,劉偉玲.智能儀器技術[M].電子工業出版社,2017:23-25.李金平,沈明山,姜余祥.電子系統設計[M].電子工業出版社,2017:31-32.徐百靈.基于單片機的智能溫控風扇系統[J].科技經濟導刊.2021,29(09):6-12.劉晶;鄭紅霞;郭文斌.基于單片機的智能溫控風扇設計[J].農家參謀.2020:(22)5-9.吳迎春,曾利霞.基于51單片機的溫控風扇設計[J].內燃機與配件.2020:(19)7-11.劉淑影.劉天琪基于單片機的智能風扇系統的設計[J].綏化學院學報.2020,40(09):11-17.彭歡歡.基于單片機智能風扇的設計[J].軟件.2020,41(01):55-71.梁娟.基于單片機的智能溫控風扇系統[J].軟件.2019,40(12):43-45.吳宇桐.基于51單片機的溫控風扇設計[J].中國新通信.2019,21(22):22-31.王蕊.基于單片機的多功能自動調溫風扇系統設計[D].蘭州,蘭州大學,2014.張少康.基于單片機的智能溫控風扇系統設計[J].電子測試.2019,(01):33-41.羅雪儀.基于單片機的風扇溫濕度控制系統[J].電子世界.2018,(07):21-56.附錄Aprotel原理圖附錄B源程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitdj=P1^0;//電機控制端接口sbitDQ1=P1^6;//溫度傳感器接口//////////按鍵接口//////////sbitkey1=P3^5;//設置溫度sbitkey2=P3^6;//溫度加sbitkey3=P3^7;//溫度減//////////sbitw1=P2^4;sbitw2=P2^5;sbitw3=P2^6;sbitw4=P2^7;/////共陰數碼管段選//////////////////////////////////////////////uchartable[22]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0x38,0x76,0x00,0xff,0x37};//'-',L,H,滅,全亮,n 16-21uintwen_du; uchargao,di;//pwmuintshang,xia;//對比溫度暫存變量uchardang;//檔位顯示ucharflag;uchard1,d2,d3;//顯示數據暫存變量//////////////////////////////DS18B20////////////////////////////////////////////////ucharng; //負號標志ucharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x58,0xFF};//共陰數碼碼表/*0123456789C無*/ucharcodedf_Table[]={ 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9}; //溫度小數位對照表uintCurrentT=0;//當前讀取的溫度整數部分ucharTemp_Value[]={0x00,0x00};//從DS18B20讀取的溫度值ucharDisplay_Digit[]={0,0,0,0};//待顯示的各溫度數位bitDS18B20_IS_OK=1;//傳感器正常////////////////////////////////DS18B20///////////////////////////////////////////////voidDDdelay(uintms){ ucharx; for(ms;ms>0;ms--) for(x=10;x>0;x--);}/***********ds18b20延遲子函數(晶振12MHz)*******/voiddelay_18B20(uinti){ while(i--);}//************************************************************************/voidDelay_ms(unsignedintt)//延時1ms{ unsignedinti,j; for(i=0;i<t;i++) for(j=0;j<120;j++) ;}voidDelay(uintx){ while(--x);}//初始化DS18B20/*DS18B20的復位脈沖主機通過拉低單總線至少480us以產生復位脈沖然后主機釋放單總線并進入接收模式此時單總線電平被拉高DS18B20檢測到上升沿后延時15~60us,拉低總線60~240us產生應答脈沖*/ ucharInit_DS18B20(){ ucharstatus; DQ1=1;//DS18B20置高電平 Delay(8);//延時 DQ1=0; //DS18B20置低電平 Delay(90); //延時480us以上 DQ1=1; //DS18B20置高電平 Delay(8);//延時 status=DQ1;//讀狀態 Delay(100);//延時 DQ1=1; //DS18B20置高電平 returnstatus;//返回狀態}//讀一個字節/*寫時隙主機在寫1時隙向DS18B20寫入1,在寫0時隙向DS18B20寫入0所有寫時隙至少需要60us,且在兩次寫時隙之間至少需要1us的恢復時間兩種寫時隙均以主機拉低總線開始產生寫1時隙:主機拉低總線后,必須在15us內釋放總線,由上拉電阻拉回至高電平產生寫0時隙:主機拉低總線后,必須整個時隙保持低電平*/ucharReadOneByte(){ uchari,dat=0; DQ1=1;//DS18B20置高電平 _nop_();//延時 for(i=0;i<8;i++) { DQ1=0;//DS18B20置低電平 dat>>=1;//右移數據 DQ1=1;//DS18B20置高電平 _nop_();//延時 _nop_();//延時 if(DQ1) dat|=0X80; Delay(30);//延時 DQ1=1;//DS18B20置高電平 } return(dat);}//寫一個字節/*所有讀時隙至少60us且兩次獨立的讀時隙之間至少需要1us的恢復時間每次讀時隙由主機發起,拉低總線至少1us。若傳1,則保持總線高電平;若發送0,則拉低總線傳0時DS18B20在該時隙結束時釋放總線,再拉回高電平狀態,主機必須在讀時隙開始后的15us內釋放總線,并保持采樣總線狀態*/voidWriteOneByte(uchardat){ uchari; for(i=0;i<8;i++) { DQ1=0; //DS18B20置低電平 DQ1=dat&0x01; Delay(5); //延時 DQ1=1; //DS18B20置高電平 dat>>=1;//右移數據 }}//讀溫度值voidRead_Temperature(){EA=0;//關中斷 if(Init_DS18B20()==1) DS18B20_IS_OK=0; else { WriteOneByte(0xcc);//跳過序列號 WriteOneByte(0x44);//啟動溫度轉換 Init_DS18B20(); WriteOneByte(0xcc);//跳過序列號 WriteOneByte(0xbe);//讀取溫度寄存器 Temp_Value[0]=ReadOneByte();//溫度低8位 Temp_Value[1]=ReadOneByte();//溫度高8位 DS18B20_IS_OK=1; } EA=1;// 開中斷}//處理溫度值voidDisplay_Temperature(){// uchari; uchart=150; //延時ng=0; //與負值標志 if((Temp_Value[1]&0xf8)==0xf8) //判斷是否為負 { Temp_Value[1]=~Temp_Value[1]; //取反 Temp_Value[0]=~Temp_Value[0]+1; //取反 if(Temp_Value[0]==0x00) Temp_Value[1]++; ng=1; //負號 } else{ng=0;} Display_Digit[0]=df_Table[Temp_Value[0]&0x0f];//查表得溫度小數部分 CurrentT=((Temp_Value[0]&0xf0)>>4)|((Temp_Value[1]&0x07)<<4);//溫度整數部分 Display_Di

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論