目前,大多數家庭所使用的飲水機都只有一些基本的功能,例如加熱、保溫。然而,隨著人們物質生活的不斷提高,對飲水機的性能要求也不斷提高。為了滿足人們對飲水機的性能要求,本課題研究智能飲水機,它主要功能是在溫度達到100°沸騰,并能在0-100℃之間以5℃為最小溫差進行溫度設定,從而得到任意想要的水溫,非常人性化。它還具有過熱保護及防干燒功能等。
隨著計算機技術的發展,單片機技術已成為計算機技術中的一個獨特的分支,單片機的應用領域也越來越廣泛,特別是在工業控制和儀器儀表智能化中扮演著極其重要的角色。過去經常采用模擬電路、數字電路實現的電路系統,現在相當大一部分可以用單片機予以實現,傳統的電路設計方法已演變成軟件和硬件相結合的設計方法。在實際應用中,單片機經常要與各種傳感器相結合組成一定的應用系統,以實現系統的自動檢測與控制。
本文所設計的智能飲水機就是單片機結合傳感器的一個簡單應用。該系統設計綜合單片機以及電子技術理論,從生活實際出發,完善了飲水機的功能。整個設計系統實現三個功能,即加熱、對溫度上下限的控制和定時加熱。與傳統的飲水機相比,由于采用了自動檢測和控制的電子設計技術,可較好地實現對水溫的測量和控制,具有較廣泛的應用前景。
目錄
隨著“信息時代”的到來,作為獲取信息的手段——傳感器技術得到了顯著的進步,其應用領域越來越廣泛,對其要求越來越高,需求越來越迫切。傳感器技術已成為衡量一個國家科學技術發展水平的重要標志之一。因此,了解并掌握各類傳感器的基本結構、工作原理及特性是非常重要的。
由于傳感器能將各種物理量、化學量和生物量等信號轉變為電信號,使得人們可以利用計算機實現自動測量、信息處理和自動控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測量和控制系統,它的性能好壞直接影響系統的性能。因此,不僅必須掌握各類傳感器的結構、原理及其性能指標,還必須懂得傳感器經過適當的接口電路調整才能滿足信號的處理、顯示和控制的要求,而且只有通過對傳感器應用實例的原理和智能傳感器實例的分析了解,才能將傳感器和信息通信和信息處理結合起來,適應傳感器的生產、研制、開發和應用。另一方面,傳感器的被測信號來自于各個應用領域,每個領域都為了改革生產力、提高工效和時效,各自都在開發研制適合應用的傳感器,于是種類繁多的新型傳感器及傳感器系統不斷涌現。溫度傳感器是其中重要的一類傳感器。其發展速度之快,以及其應用之廣,并且還有很大潛力。
為了提高對傳感器的認識和了解,尤其是對溫度傳感器的深入研究以及其用法與用途,基于實用、廣泛和典型的原則而設計了本系統。本文利用單片機結合溫度傳感器加以簡單的按鍵控制及顯示等功能實現了對智能飲水機的控制,為我們對單片機系統的學習提供了很好的真實素材。
本設計實用性及綜合性比較強,設計系統不僅可以作為智能飲水機的控制系統,如果稍微改裝可以做環境溫度檢測系統、實驗室溫度監控系統等等。課題主要任務是完成水溫檢測并利用單片機實現溫度調節并加以顯示、報警、鎖定等功能。該系統具有操作方便,控制靈活、實用等優點。
本設計系統包括溫度傳感器,鍵盤輸入模塊,輸出控制模塊,數據傳輸模塊,溫度顯示模塊和出水驅動電路等部分。文中對每個部分功能、實現過程作了詳細介紹。整個系統的核心是進行溫度監控及調節,完成了課題所有要求。
從飲水機問世以來,在中國的發展趨勢逐年增加。飲水機的使用量逐年增長,隨著人們生活水平的提高,人們對其功能的要求也越來越高,所以,對智能飲水機的需求就逐漸顯現了出來。
飲水機是采用瓶裝水或者自來水經凈水器凈化作為水源,利用電能對其進行加熱,一年四季提供常溫水或熱水的飲水電器。飲水機基本能滿足人們日常的飲水、泡茶、沖咖啡、即食食品以及調制冷飲的各種需要。飲水機具有飲水時尚、結構簡單、操作方便、清潔衛生、價廉物美等優點。
在飲水機進入高潮的今天,市場十分活躍,然而,消費者對飲水機的選擇不是停留在過去的眼光,而是高標準,不僅實用而且要求外形脫俗,跟上時代潮流步伐,尤其在其功能方面要有更高的要求。
當前絕大多數廠家生產的飲水機都采用智能化控制。因此,智能飲水機已是飲水機發展的必然趨勢。
可以這樣說,現在的家用電器基本上都采用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤設備,五花八門,無所不在。飲水機也不例外。
單片機按其應用范圍可分為通用型和專用型兩類。家用電器多采用專用型單片機,如日本NEC公司開發的7500系列和75X00系列4位單片機、美國國家半導體公司的COP400系列4位單片機,以及日本松下公司的MN1400系列、美國Zilog公司的Z8系列以及日本富士通公司的MB88系列等專用型單片機。家用電器所采用的通用型單片機,主要是Intel公司的MCS系列產品。
目前飲水機基本上都采用單片機控制,但各廠家生產的飲水機單片機控制所達到的功能各不相同。智能化,多功能必定是發展趨勢。
單片機在電子產品中的應用已經越來越廣泛, 在很多電子產品中也用到了溫度檢測和溫度控制。
目前廣泛使用的飲水機,具有價格低廉,制造簡便等優點。但是隨著用戶長時間使用,這些飲水機功能單一、能耗較大、長時間飲用飲水機的水對健康不利等缺點逐漸暴露出來。
傳統的飲水機的局限性一般體現在以下幾個方面:第一,功能相對簡單。只有簡單的溫度控制,而且用戶還不能自己根據自己的喜好設定溫控參數。第二,能耗較大。在沒有人使用的時候飲水機也處在開機狀態無疑會造成能源的大量浪費,在能源緊缺的今天這個方面亟待解決。第三, 長期飲用飲水機里的水會對健康不利。由于廣泛使用的飲水機燒水不能完全沸騰,長期飲用這種水會對身體造成較大的傷害。
本此設計的基于AT89S52的多功能飲水機, 采用DS18B20實現溫度采集,經過LED顯示, 讀數直觀、準確。并且程序存儲器E2PROM可以很容易的實現軟件升級, 從軟件方面提高儀器精度。同時可以對加熱溫度進行控制,從而防止了每次加熱都使水沸騰,既節能又能更好的滿足人們的需求。
(1)智能飲水機的主體功能:
本課題設計的智能飲水機具有過熱保護防干燒、加熱至沸騰、設置溫度加熱、超溫報警提示、安全鎖定、電動機出水功能等。
(2)智能飲水機的按鍵功能:
①出水鍵:控制飲水機出水和停止出水;②加熱鍵:負責控制開始加熱和停止加熱;③鎖定鍵:按下鎖定鍵,其他按鍵無效;④切換健:按下后開始設定用戶想要的溫度;⑤溫度設定鍵:按一下溫度增加5℃,溫度可在0℃到100℃之間循環。
(3)智能飲水機的顯示功能:
①電源燈(綠色):接通電源,電源燈點亮;②加熱指示燈(黃色):按下加熱鍵,加熱指示燈點亮,表示燒水開始工作。再次按下加熱鍵,指示燈熄滅,表示燒水停止;③鎖定鍵指示燈(藍色):鎖定其他按鍵功能,燈亮表示其他按鍵均不可用;④超溫報警燈(紅色):燈點亮表示水已經達到設定的加熱溫度或已沸騰并停止加熱;⑤數碼管:顯示當前水溫或用戶設定的溫度。⑥蜂鳴器:響起后說明水以沸騰并停止加熱。
該設計的主要內容主要包括設計方向的選擇、設計題目的確定、設計方法的研究與比較,選擇最優方案后開始進行硬件設計和軟件設計以及最終的仿真調試。其中硬件設計包括器件的選定,各模塊功能的設計與實現,以及最終各功能模塊與單片機的連接構成一個整體系統并能滿足設計要求;軟件設計主要是通過編寫C語言程序對單片機進行控制使其按照程序運行從而實現各模塊的功能滿足設計的要求;最終通過Keil uVision2編譯軟件將寫好的程序編譯成為16進制文件,使之能夠在proteus仿真軟件中和硬件電路一起進行仿真調試,從而確保設計的正確性。
2 智能飲水機的硬件結構設計2.1 智能飲水機的總體設計整個硬件系統由主控制系統、輸入輸出模塊、傳感器、其他功能電路和電源部分組成。主控系統使用單片機控制,包括對鍵盤的信息的接收和控制,對其他功能電路的控制等,通過軟件編程實現預定功能;傳感器部分即檢測子系統,主要是進行飲水機中水的溫度檢測和控制,采用智能溫度傳感器DS18B20;其他功能電路部分包括恒溫,防干燒,出水等電路,達到功能多樣化;電源部分為智能飲水機提供必要的電能,保證飲水機能夠正常的工作。整體框圖如圖2-1所示。以下詳細討論每個功能模塊的設計思想和硬件電路的實現。
主機單元由AT89S52單片機和相關的存儲器組成,是儀表的核心。關鍵部分期間名稱及其在電路中的主要功能如下:
(1)AT89S52:完成監控系統數據采集過程、采集方式和報警過程的控制。是整個系統的核心處理器,單片機首先把通過傳感器測到的現場溫度與預先設置的溫度進行比較,如果大于或小于預先設置值,就輸出信號去控制加熱器的工作,從而實現溫度控制。
(2)數碼管:用于顯示當前水溫及設定的水溫。
(3)DS18B20:單線數字溫度傳感器,可直接將被測溫度轉化為串行數字信號,以供單片機處理。
(4)各色LED及蜂鳴器:用于提示用戶飲水機的各種狀態。
(5)按鍵:輸入模塊,用于控制單片機完成各項功能。
AT89S52具有8k字節Flash閃速存儲器,256字節內部RAM,32個I/O口線,3個16位定時/計數器,一個6向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89S52可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作指導下一個硬件復位。
2.3.1 AT89S52功能特性描述
(1)AT89S52是一種低功耗,高性能CMOS工藝的8位微控制器,具有8K在系統可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在系統提供高靈活,超有效的解決方案。
(2)AT89S52具有以下標準功能:8K字節Flash,256字節RAM,32位I/O口線,看門狗定時器,2個數據指針,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至0KHZ靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機停止工作,直到一個中斷或硬件復位為止。
(3)AT89S52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含8個中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線。AT89S52可以按照常規方法進行編程,也可以在線編程。其通用的微處理器和Flash存儲器結合在一起,可反復擦寫的Flash存儲器可有效地降低開發成本。
2.3.2 AT89S52晶振電路的設計每個單片機系統里都有晶振,全稱是叫晶體震蕩器,在單片機系統里晶振的作用非常大,它結合單片機內部的電路,產生單片機所必須的時鐘頻率,單片機的一切指令的執行都是建立在這個基礎上的,晶振的提供的時鐘頻率越高,那單片機的運行速度也就越快。晶振用一種能把電能和機械能相互轉化的晶體在共振的狀態下工作,以提供穩定,精確的單頻振蕩。在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十,高級的精度更高。
晶振電路中的兩個電容叫做負載電容。一般單片機的晶振工作于并聯諧振狀態,也可以理解為諧振電容的一部分。它是根據晶振廠家提供的晶振要求負載電容選值的,換句話說,晶振的頻率就是在它提供的負載電容下測得的,能最大限度的保證頻率值的誤差。也能保證溫漂等誤差。兩個電容的取值都是相同的,或者說相差不大,如果相差太大,容易造成諧振的不平衡,容易造成停振或者干脆不起振。
在本設計中XTAL1和XTAL2端外接石英晶體作為定時元件,內部反向放大器自激振蕩,產生時鐘。所用石英晶體的振蕩頻率為12MHZ,電容C1,C2常為20pF~40pF內,如圖2-2所示。
2.4 測溫電路的設計
DS18B20的外形及管腳排列圖如下圖2-3所示。
(1)GND 地信號
(2)DQ 數據輸入/輸出引腳。用在寄生電源下,可以向器件提供電源。
(3)VDD 可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。
2.4.2 DS18B20主要性能
(1)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊;
(2)測溫范圍 -55℃~+125℃,固有測溫分辨率0.5℃;
(3)支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,最多只能并聯8個,如果數量過多,會使供電電源電壓過低,從而造成信號傳輸的不穩定,實現多點測溫;
(4)工作電源: 直流3~5V;
(5)在使用中不需要任何外圍元件;
(6)測量結果以9~12位數字量方式串行傳送;
(7)不銹鋼保護管直徑 Φ6 ;
(8)適用于DN15~25, DN40~DN250各種介質工業管道和狹小空間設備測溫;
(9)標準安裝螺紋 M10X1, M12X1.5, G1/2”任選;
(10)PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設備連接。
2.4.3 DS18B20功能特性描述DS18B20溫度傳感器的內部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結構為9字節的存儲器,結構如表2-1所示。前兩個字節包含測得的溫度信息,第3和第4字節TH和TL的拷貝,是易失的,每次上電復位時被刷新。高速暫存RAM的第6、7、8字節保留未用,表現為全邏輯第9字節讀出前面所有8字節的CRC碼,可用來檢驗數據,從而保證通信數據的正確性。第5字節為配置寄存器,見表2-3,它的內容用于確定溫度值的數字轉換分辨率。DS18B20工作時寄存器中的分辨率轉換為相應精度的溫度數值。該字節各位的定義如表2-3所示。低5位都為1,TM是工作模式位,用于設置DS18B20在工作模式還是在測試模式,DS--18B20出廠時該位被設置為0,用戶可改動,R1和R0決定溫度轉換的精度位數,來設置分辨率。
字節數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
存儲信息 | LSB | MSB | TH 1 | TL 2 | 配置寄存器 | 保留 | 保留 | 保留 | CRC |
R1 | R0 | 分辨率/位 | 溫度最大轉換時間/ms |
0 | 0 | 9 | 93.75 |
0 | 1 | 10 | 187.5 |
1 | 0 | 11 | 375 |
1 | 1 | 12 | 750 |
TM | R1 | R0 | 1 | 1 | 1 | 1 | 1 |
由表2-2可見,DS18B20分辨率越高,所需要的溫度數據轉換時間越長。當DS18B20接收到溫度轉換命令后,開始啟動轉換。轉換后,溫度值就以16位帶符號的二進制補碼形式存儲在高速暫存存儲器的第1、2字節。單片機可以通過單線接口讀出該數據,讀數據時低位在先,高位在后,數據格式以0.0625℃/LSB形式表示。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例。其中S為符號位。DS18B20的溫度值格式如表2-4所示。
LSByte | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | |
MSByte | Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 |
S | S | S | S | S | ![]() | ![]() | ![]() |
當符號位S=0時,表示測得的溫度值為正值,可以直接將二進制位轉換為十進制;當符號位S=1時,表示測得的溫度值為負值。表2-5是部分溫度值對應的二進制度數據。
溫度℃ | 二進制表示 | 十六進制表示 |
+125 | 0000011111010000 | 07D0H |
+85 | 0000010101010000 | 0550H |
+25.0625 | 0000000110010000 | 0191H |
+10.125 | 0000000010100001 | 00A2H |
+0.5 | 0000000000000010 | 0008H |
0 | 0000000000001000 | 0000H |
-0.5 | 1111111111110000 | FFF8H |
-10.125 | 1111111101011110 | FF5EH |
-25.025 | 1111111001101111 | FE6FH |
2.4.4 DS18B20供電方式
(1)DS18B20寄生電源供電方式電路
DS18B20采用寄生電源供電時,要想使DS18B20進行精確的溫度轉換,I/O線必須保證在溫度轉換期間提供足夠的能量,由于每個DS18B20在溫度轉換期間工作電流達到1mA,當幾個溫度傳感器掛在同一根I/O線上進行多點測溫時,靠上拉電阻是無法提供足夠的能量,會造成無法轉換溫度或溫度誤差極大。因此,只適用于單一溫度傳感器測溫,也不宜采用電池供電系統,并且電源電壓必須保證是5V。當電源電壓下降時,會使測量的誤差變大。
(2)DS18B20的外部電源供電方式
DS18B20采用外部供電時,I/O線不需要強上拉電壓,同時在總線上可以掛接多個DS18B20傳感器,組成多點測溫系統。但要注意在外部供電的方式下,DS18B20的GND引腳不能懸空,否則讀取的溫度總是85℃。但在proteus仿真中VCC和GND均懸空,否則仿真錯誤。
比較上述兩種供電方式后認為外部電源供電方式對電源要求比電源供電方式優越些且穩定性好,故在此設計中采用外部電源供電方式供電電路。
仿真電路如下圖2-4:
主控系統采用單片機控制。
單片機的晶振與復位電路如圖2-5所示,單片機選用的是ATMEL公司的AT89S52的8 位單片機,晶體振蕩器選12MHZ,C5,C6為22pF石英電容,與晶體振蕩器構成時鐘電路。電容C7,電阻R7、R8和按鍵S1構成上電復位和手動復位電路。
AT89S52是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,片內含4KB的可反復擦寫的只讀程序存儲器(PEROM)和128B的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度,非易失性存儲技術生產,兼容MCS-51指令系統,片內置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89S52單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。
輸入控制如圖2-6所示,采用的按鍵控制,這樣不僅減少的制作成本而且便于做。通過74LS373的通斷進行按鍵信號的傳輸,當74LS373被鎖定時,按鍵信號不能傳入單片機,從而達到按鍵的鎖定作用。
LED數碼管實際上是由七個發光管組成8字形構成的,加上小數點就是8個。這些段分別由字母a、b、c、d、e、f、g、p來表示。當數碼管特定的段加上電壓后,這些特定的段就會發亮,以形成我們眼睛看到的字樣了。如:顯示一個“2”字,那么應當是a亮b亮g亮e亮d亮f不亮c不亮p不亮。LED數碼管有微亮亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數碼管的顯示筆畫常用一個發光二極管組成,而大尺寸數碼管是由二個或多個發光二極管組成,一般情況下,單個發光二極管的管壓降為1.8V左右,電流不超過30mA。發光二極管的陽極連接到一起連接到電源正極稱為共陽極數碼管,發光二極管的陰極連接到一起連接到電源負極稱為共陰極數碼管。
常用LED數碼管所顯示的數字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。 顯示電路見圖2-7。
LED數碼管引腳共陰和共陽兩種方式:
電源VCC通過1個1K的排阻與LED相連,VCC串接個電阻后和GND接在任意2個腳上,組合有很多,但總有一個LED會發光的,找到一個就夠了,然后GND不動,VCC(串電阻)逐個碰剩下的腳,如果有多個LED(一般是8個),那它就是共陰。相反用VCC不動,GND逐個碰剩下的腳,如果有多個LED(一般是8個),那它就是共陽。也可以直接用數字萬用表,將檔位撥到二極管通斷性測試檔,這時紅表筆代表電源的正極,黑表筆代表電源的負極,然后在引腳上進行逐個測試,以確定是共陽還是共陰。一般十個引腳分別為7個段加2個公共加一個小數點。公共端一般在中間或在兩邊,兩排,一排一個對稱。至于其他引腳的排序你可以自己量出來。
先假設是共陰極或共陽極,假設中間那個就是公共端,用數字萬用表逐個判斷即可,如果判斷錯誤不亮,就更改假設,繼續判斷。直到假設正確,也就是說判斷正確,那么引腳的順序和位置就出來。
數碼管所使用的電流與電壓
(1)電流:靜態時,推薦使用10-15mA;動態時,16/1動態掃描時,平均電流為4-5mA,峰值電流50-60mA。
(2)電壓:查引腳排布圖,看一下每段的芯片數量是多少?當紅色時,使用1.9V乘以每段的芯片串聯的個數;當綠色時,使用2.1V乘以每段的芯片串聯的個數。
(1)出水控制
當MOT輸出低電平時,三極管處于截至區,集電極和發射極導通,接觸器常開觸點閉合,出水管道導通。如圖2-8所示。
(2)加熱控制
當HOT輸出低電平時,三極管處于截至區,集電極和發射極導通,接觸器常開觸點閉合,線圈通電加熱。見圖2-9。
在進行微機控制系統設計時,除了系統硬件設計外,大量的工作就是如何根據每個生產對象的實際需要設計應用程序。因此,軟件設計在微機控制系統設計中占重要地位。對于本系統,軟件更為重要。
在單片機控制系統中,大體上可分為數據處理、過程控制兩個基本類型。數據處理包括:數據的采集、標度變換等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以控制其工作。
為了完成上述任務,在進行軟件設計時,通常把整個過程分成若干個部分,每一部分叫做一個模塊。所謂“模塊”,實質上就是所完成一定功能,相對獨立的程序段,這種程序設計方法叫模塊程序設計法。
模塊程序設計法的主要優點是:
(1)單個模塊比起一個完整的程序易編寫及調試;
(2)模塊可以共存,一個模塊可以被多個任務在不同條件下調用;
(3)模塊程序允許設計者分割任務和利用已有程序,為設計者提供方便。
本系統軟件采用模塊化結構,由主程序、溫度檢測程序、顯示子程序、延時程序和其他相關程序等組成。
程序的初始化主要包括三個環節:
(1)實現各種設置堆棧指針、定時器/計數器0初始化、以及開中斷、定時器/計數器啟動;
(2)實現LED顯示當前水溫并能顯示預設的水溫;
(3)不斷的進行按鍵掃描,判斷是否有按鍵按下,如沒有按鍵按下,則返回顯示;如有按鍵按下,則根據所按鍵實現相應的操作。
人機對話功能鍵設置如下:
(1)“出水”鍵:控制其出水和停止出水;
(2)“加熱”鍵:控制其加熱和停止加熱;
(3)“鎖定”鍵:用于鎖定其他所有按鍵;
(4)“切換”鍵:用于將顯示器切換至溫度設定界面并開始設定溫度;
(5)“設置溫度”鍵:以5℃為間隔在0℃至100℃之間以遞增方式設定水溫。
主程序如下:
主程序程序框圖如圖3-1所示:
溫度檢測運用DS18B20芯片,因為其功能全面且精度高,完全可以滿足設計要求,它將檢測到的水溫送給單片機,再由單片機輸出給顯示電路將實時水溫顯示出來。其程序流程圖如下:
其程序段如下:
顯示程序是負責點亮4支數碼管,并根據單片機送出的數據及時更新顯示的數據,其程序流程圖如下:
其程序段如下:
鍵盤掃描程序的任務是在程序運行過程中始終不停的檢測是否有按鍵被按下,如果檢測到有按鍵被按下,則進入與該按鍵對應的程序運行;若該按鍵沒有被按下,則繼續檢測下一個按鍵,如此循環,從而完成每一個按鍵所對應的功能。該設計中第四個按鍵為鎖定鍵,當檢測到鎖定鍵被按下時,其他按鍵均無效,只有當檢測到鎖定鍵再次被按下,其他按鍵的功能才恢復正常。其程序流程圖如下:
其程序段如下:
軟件調試用Keil uVision2軟件,將寫好的程序編譯成16進制文件,然后才可以在proteus中將編譯好的程序放入單片機進行仿真,使用Keil uVision2對程序編譯的過程如下。
4.1.1 新建工程在Keil uVision2中新建一個工程,使用AT89C52系列,如圖4-1所示。
在Keil uVision2中新建一個文本并保存,擴展名為.c,如圖4-2所示。
將新建的文本添加到所建工程中,如圖4-3所示。
在添加進去的文本中輸入寫好的程序后編譯,顯示無誤后自動生成16進制文件,此文件才可放入proteus中進行仿真,如圖4-4所示。
使用proteus仿真軟件對硬件電路進行仿真,將編譯好的程序放入單片機中開始運行程序。并通過按鍵檢驗各個功能的實現,從而完成設計中所有要求的仿真。
以下演示各模塊電路的proteus仿真。
4.2.1 電源電路的仿真當飲水機通電后,電源指示燈亮,此時各模塊均通電,才能保證飲水機的正常工作。如圖4-5所示。
在通電狀態下按下出水鍵,電動機開始轉動,表示飲水機開始出水,如圖4-6所示。
在通電狀態下按下加熱鍵,飲水開始加熱,加熱指示燈(黃色)亮,再次按下加熱鍵則停止加熱,指示燈滅,如圖4-7所示。
本設計采用4個LED來顯示當前的水溫或設定的水溫,當前水溫由DS18B20檢測到的溫度決定,如圖4-8所示。此時顯示溫度為55℃。
(1)當水加熱至沸騰后,飲水機報警電路工作,使其自動停止加熱并蜂鳴器響起、紅燈亮表示報警,如圖4-9;
(2)當水加熱至設定溫度時,報警電路工作,使其自動停止加熱并紅燈亮報警,如圖4-10。此時設定溫度為35℃。
DS18B20的測溫精度為0.5℃,其精度完全能滿足飲水機的測溫需求,其測溫范圍是-55℃~+125℃,但在此次設計中只要求顯示的水溫范圍是0℃~100℃,因為水溫達到100℃時沸騰自動停止加熱。
通過軟件和硬件的仿真,各部分電路均能按照設計要求運行,實現了設計的所有要求,說明本設計完全符合設計要求,實現了預期的目的,設計成功。
本次智能飲水機的控制系統改良設計,主要是針對目前市面上飲水機某些方面的不足進行改良設計。本文主要是針對目前絕大多數飲水機只具有一般的加熱、保溫功能,已經很難滿足消費者不斷提高的要求,所以我們有必要對其進行改良設計,使他能夠滿足人們生活水平不斷提高的要求。
本文主要介紹了按鍵控制飲水機的總體設計、硬件系統設計、軟件系統設計以及調試方法。通過不斷的設計調試及改良,選出最優方案,所選方案具有功能強、精度高、可靠性好、穩定性高、抗干擾性強等特點。設計的飲水機除按鍵控制之外,還具有防干燒、設定溫度、故障報警等功能。
在這次畢業設計的過程中,我發現自己許多不足的地方。不過通過邊學習邊做畢業設計使我掌握了單片機的軟、硬件基礎知識,全面的提高了使用proteus軟件進行硬件仿真的能力以及使用Keil uVision2軟件進行程序編譯的能力。在不斷提高我的自學能力,分析問題、解決問題的能力的同時也考驗了我們借助互聯網絡搜集、查閱相關書籍資料,和組織材料的綜合能力;在學習新知識時,從基礎學起。在這次設計的學習、設計、制作與調試過程中,遇到了不少麻煩和困難,通過不斷的查閱資料分析解決,另外自己解決不了的問題向指導老師請教, 使我能順利完成這次畢業設計!
畢業設計是對我們知識運用能力的一次全面的考核, 也是對我們進行科學研究基本功的訓練, 培養我們綜合運用所學知識獨立地分析問題和解決問題的能力, 為以后撰寫專業學術論文和工作打下良好的基礎。
本篇論文雖然凝聚著自己的汗水,但卻不是個人智慧的產品,沒有導師的指引和幫助,沒有父母和朋友的幫助和支持,我在大學的學術成長肯定會大打折扣。本次設計能夠順利完成,首先我要感謝我的母校——河南理工大學萬方科技學院,是他為我們提供了學習知識的沃土,使我們在這里茁壯成長;其次我要感謝電氣工程及其自動化學院的老師們,他們不僅教會我們專業方面的知識,而且教會我們做人做事的道理;尤其要感謝在本次設計中給與我大力支持和幫助的李輝老師,每有問題,老師總是耐心的解答,使我能夠充滿熱情的投入到畢業設計中去;還要感謝我的同學們,他們熱心的幫助,使我感到了來自兄弟姐妹的情誼; 最后還要感謝相關資料的編著者和給予我們支持的社會各界人士, 感謝您們為我們提供一個良好的環境,使本次設計圓滿完成。
再次由衷感謝答辯組的各位老師對學生的指導和教誨,我也在努力的積蓄著力量,盡自己的微薄之力回報母校的培育之情,爭取使自己的人生對社會產生些許積極的價值!
元件名 | 型號 | 數量 |
電阻 | 7WATT3R9 | 若干 |
數碼管 | 7SEG-MPX2-CA | 1 |
二極管 | 1N914 | 6 |
穩壓器 | 7805 | 1 |
單片機 | AT89S52 | 1 |
按鍵 | BUTTON | 5 |
蜂鳴器 | BUZZER | 1 |
電容 | CAP | 5 |
晶振 | CRYSTAL | 1 |
繼電器 | RLY-SPNO | 2 |
發光二極管(紅) | LED-RED | 1 |
發光二極管(黃) | LED-YELLOW | 1 |
發光二極管(綠) | LED-GREEN | 1 |
發光二極管(藍) | LED-BLUE | 1 |
三極管 | FZT790A | 3 |
電阻排 | RESPACK-8 | 2 |
變壓器 | TRAN-2P2S | 1 |
導線 | 2.5平方厘米 | 若干 |
電機 | 1 |
tigerlyt 發表于 2019-4-26 18:33
很好的作品,支持。
zealous 發表于 2019-4-28 17:39
請問有人做出來了嗎 我照著樓主的代碼和仿真圖做 沒有現象 不知道是哪個地方出問題了
宋小寶寶 發表于 2019-5-22 02:46
程序不夠吧
火云邪神X 發表于 2018-4-11 15:09
好帖子呀,學習了
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |