羅云松 李丹
摘 要:文章設計的飲水機溫度控制系統是以AT89C52單片機和溫度傳感器DS18B20為核心來實現溫度控制。設計內容包括液晶顯示電路、溫度信號采集電路、時鐘顯示電路、報警電路、鍵盤設置電路、加熱電路等。系統軟件設計采用Keil編譯軟件進行編程并生成可執行程序,然后將可執行程序加載到PROTEUS仿真軟件進行系統仿真。本次設計是對傳統飲水機溫度控制系統的優化,可以創造良好的經濟效益。
關鍵詞:AT89C52單片機;DS18B20;PROTEUS;溫度控制
中圖分類號:TP273 文獻標志碼:A 文章編號:2095-2945(2018)24-0080-03
Abstract: The temperature control system of water dispenser designed in this paper is based on AT89C52 single chip computer and temperature sensor DS18B20 to realize temperature control. The design includes liquid crystal display circuit, temperature signal acquisition circuit, clock display circuit, alarm circuit, keyboard setting circuit, heating circuit, and so on. The system software is programmed with Keil compile software and the executable program is generated. Then the executable program is loaded into PROTEUS simulation software for system simulation. This design is to optimize the temperature control system of the traditional water dispenser, which can create good economic benefits.
Keywords: AT89C52 single chip microcomputer; DS18B20; PROTEUS; temperature control
1 概述
飲水機作為一種常用的家用電器已經在現在的家庭和工作中非常普及了,然而傳統的飲水機的工作原理是加熱電路直接將冷水加熱到沸騰后自動斷開,一定時間后溫度下降到設定溫度后又自動打開加熱電路,再次加熱到水沸騰后又自動斷開加熱電路,加熱電路循環工作。這種被反復燒開的水俗稱,然而現代醫學已經證明這種“千沸水”會對人的身體健康產生一定的危害。而且飲水機反復加熱非常耗電。本文的設計就是解決這些傳統飲水機的問題,該設計以AT89C52單片機和溫度傳感器DS18B20為核心進行水溫控制,當加熱電路第一次把水燒開后讓水溫保持在一個適當的設定溫度,這樣就避免使水反復燒開而形成“千沸水”,也不會造成電能的過度浪費。
2 系統的硬件設計
本系統主要包括硬件和軟件兩個部分。硬件電路主要以單片機AT89C52和溫度傳感器DS18B20為核心,包括了溫度信號采集電路、顯示電路、時鐘電路、報警電路、鍵盤電路、加熱電路等硬件電路模塊。
系統通過核心部件單片機AT89C52控制溫度的讀寫和顯示,采用性能優良的溫度傳感器DS18B20來檢測飲水機里的水溫,用液晶顯示屏1602來顯示設定溫度和實時溫度,系統采用DS1302作為時鐘電路模塊的芯片,通過1602來顯示系統時間;按鍵電路采用獨立按鍵接口,這樣按鍵控制簡單并且每個按鍵不會互相影響,通過兩位按鍵來設置設定溫度;采用繼電器來控制加熱裝置,當水溫低于設定值時,繼電器吸合,加熱裝置啟動并且指示燈亮,當水溫高于設定值時,繼電器斷開,加熱裝置停止同時指示燈滅;當水溫達到99℃時,蜂鳴器報警并關閉加熱裝置;系統總體硬件電路如圖1所示。
3 系統的軟件設計
該系統的軟件設計由溫度控制模塊,溫度采集模塊,報警電路模塊,鍵盤掃描模塊,液晶顯示模塊等構成。系統軟件設計框圖如圖2所示。
系統軟件設計采用C語言模塊化程序設計結構,其中包括主程序,溫度采集和控制子程序,鍵盤子程序,報警子程序,顯示模塊子程序等。溫度采集模塊主要是控制DS18B20溫度傳感器來讀取飲水機的溫度,包括DS18B20的初始化,讀和寫操作。控制溫度模塊主要是將實際溫度和設定溫度比較后,通過繼電器加熱電路的開啟和斷開來控制飲水機溫度。鍵盤掃描模塊主要通過按鍵來控制系統的開啟和停止,并設定溫度值,溫度設定范圍為0℃-99℃,報警模塊功能是當實際溫度達到99℃時,系統自動報警。其中主程序流程圖如圖3所示。
4 仿真結果
本系統設計采用Proteus仿真實現,在仿真軟件中畫好硬件電路圖后,用Keil完成系統的軟件設計,然后在Proteus中將可執行文件加載到單片機中運行仿真,最終得到仿真結果。仿真過程中用鍵盤設置保溫溫度為60℃,當飲水機加熱到100℃時報警表示燒開,然后系統進入保溫階段,溫度降到設定溫度60℃以下時加熱電路工作。當溫度降到58℃時,加熱電路中的繼電器吸合,表示開始加熱,并且指示燈亮,如圖4左圖所示。加熱后當溫度超過60℃時,如圖4右圖所示,溫度為62℃時,停止加熱,加熱指示燈滅。
5 結束語
本文針對傳統飲水機反復燒開而造成“千沸水”和能源浪費的問題,做出了以上對飲水機的優化設計,用戶預設適合的溫度后,如果溫度低于設定溫度則燈亮表示加熱,加熱到預設溫度后燈滅停止加熱。如果預設溫度為99℃時,燈滅的同時會報警,表示水燒開。系統使水溫一直保持在設定溫度范圍內,以便用戶可以隨時飲用。同時該系統還有時間顯示功能。本系統簡單實用,成本較低,有較好的應用前景。
參考文獻:
[1]王梅紅.基于單片機的溫度控制系統設計與仿真[J].四川兵工學報,2012(2).
[2]蔣輝平,周國雄.基于Proteus的單片機系統設計與仿真實例[M].北京:機械工業出版社,2009.
[3]呂俊亞.一種基于單片機的溫度控制系統設計與實現[J].計算機仿真,2012(07).
[4]余瑾,姚燕.基于DS18B20測溫的單片機溫度控制系統[J].微計算機信息,2009(08).
[5]趙君.基于8051單片機的溫度控制系統[D].吉林大學,2012.
[6]王海寧.基于單片機的溫度控制系統的研究[D].合肥工業大學,2008.
[7]陳勇,許亮,于海闊,等.基于單片機的溫度控制系統的設計[J].計算機測量與控制,2016(02).
[8]曹巧媛.單片機原理及應用[M].電子工業出版社,2002.