基于單片機(jī)的智能魚缸溫控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著科學(xué)技術(shù)的不斷發(fā)展和國民生活水平的不斷提高,消費(fèi)者需求的差異性趨勢愈發(fā)明顯。傳統(tǒng)的魚缸由于在體積、售價(jià)、保養(yǎng)成本以及適用品種等方面的相對劣勢,其市場份額逐漸被更小型的觀賞魚缸所占據(jù)。目前市場上的觀賞魚缸通常具有保溫、過濾、制氧和投食等功能,但往往是各自獨(dú)立的非智能化整體控制系統(tǒng)。該系統(tǒng)從溫度控制入手,利用單片機(jī)收集處理水溫傳感器的檢測數(shù)據(jù),并根據(jù)具體情況決定加熱器以及報(bào)警電路的開啟和關(guān)閉,形成一套完整的智能魚缸溫控系統(tǒng)。
1系統(tǒng)功能與總體結(jié)構(gòu)
市場上的觀賞魚種多是熱帶魚,水缸溫度是其生長的關(guān)鍵因素之一。以月光魚為例,其適宜的生活溫度為18~25℃,在水溫高于30℃或者低于10℃的環(huán)境中也可短期存活。因此,當(dāng)傳感器檢測到水體溫度超出10~30℃的溫度區(qū)間時(shí),報(bào)警系統(tǒng)開始工作,指示燈點(diǎn)亮,蜂鳴器開啟。當(dāng)水體溫度處于正常區(qū)間時(shí),系統(tǒng)默認(rèn)的初始控制溫度在20℃,另設(shè)有增溫與減溫的按鍵,方便用戶以人工調(diào)節(jié)溫度的方式來適應(yīng)月光魚的不同生長階段。為滿足設(shè)計(jì)功能要求,智能魚缸應(yīng)由按鍵模塊、溫度檢測模塊、控制模塊、報(bào)警模塊、加熱模塊以及顯示模塊構(gòu)成,系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。
2硬件電路設(shè)計(jì)
2.1控制模塊設(shè)計(jì)
智能魚缸采用的核心控制芯片為AT89C52單片機(jī),該型號(hào)的單片機(jī)具有成本低廉、性能可靠和兼容性好等優(yōu)點(diǎn),在市場上得到了廣泛應(yīng)用。其內(nèi)部集成8kB的ROM空間,足夠支持智能魚缸系統(tǒng)的程序編寫,并且提供40個(gè)引腳與外部電路相連,滿足系統(tǒng)性能的擴(kuò)展需求。本次設(shè)計(jì)中涉及到的單片機(jī)主要引腳及其功能如表1所示。
2.2溫度檢測模塊設(shè)計(jì)
智能魚缸采用的溫度檢測傳感器為DS18B20溫度傳感器。該型號(hào)的溫度傳感器采用導(dǎo)熱性高的密封膠灌封,因而具有靈敏度高和延遲度小等優(yōu)點(diǎn),同時(shí)其測量溫度范圍較大(-55~+125℃),滿足系統(tǒng)功能需求。由于DS18B20采用了"1-wire"單線技術(shù)(即在1根I/O線上讀寫數(shù)據(jù)),因此傳感器與外部電路的連接較為簡單(圖2),但同時(shí)也對讀寫的數(shù)據(jù)位提出了嚴(yán)格的時(shí)序要求。
2.3加熱模塊設(shè)計(jì)
本次設(shè)計(jì)選擇的加熱器件為單U型加熱管,其額定工作功率為2kw,經(jīng)測量滿足魚缸水體加熱要求,同時(shí)其長度為250mm,寬度為50mm,尺寸符合魚缸設(shè)計(jì)要求。由于加熱器的額定工作電壓為市電(220V),遠(yuǎn)高于單片機(jī)的驅(qū)動(dòng)電壓(5V),因此U型加熱管的通斷電由繼電器電路控制。
2.4按鍵模塊設(shè)計(jì)
按鍵模塊由3個(gè)按鍵構(gòu)成,分別起到系統(tǒng)復(fù)位、升高溫度和降低溫度的功能。由于機(jī)械按鍵都會(huì)產(chǎn)生抖動(dòng)的現(xiàn)象,所以需要特定設(shè)計(jì)來消除抖動(dòng)帶來的系統(tǒng)誤動(dòng)作。常規(guī)的消抖手段有硬件消抖和軟件消抖兩種,出于簡化電路結(jié)構(gòu)方面的考慮,本設(shè)計(jì)采用的是軟件消抖的方式,即在單片機(jī)模塊中加入延時(shí)程序,只有在延時(shí)的前后都檢測到同一高電平才表明按鍵被按下。
2.5報(bào)警模塊設(shè)計(jì)
本設(shè)計(jì)采用的報(bào)警電路如圖3所示,主要由三極管、蜂鳴器和指示燈組成。當(dāng)溫度傳感器檢測到溫度超出10~30℃的區(qū)間時(shí),單片機(jī)I/O口輸出電流,在上拉電阻的作用下使三極管導(dǎo)通,蜂鳴器和指示燈得電示警。
2.6顯示模塊設(shè)計(jì)
顯示模塊主要由4位共陽極數(shù)碼顯示管構(gòu)成。當(dāng)水體溫度正常時(shí),數(shù)碼管的前兩位分別顯示魚缸水溫值的十位數(shù)值和個(gè)位數(shù)值,后兩位則顯示小數(shù)點(diǎn)之后的溫度值。當(dāng)示警電路接通時(shí),若溫度過高,則數(shù)碼管首位顯示字母"H",若溫度過低,則數(shù)碼管首位顯示字母"L"。
3軟件程序設(shè)計(jì)
本次設(shè)計(jì)系統(tǒng)除了控制主程序之外,還有報(bào)警子程序、按鍵子程序、繼電器子程序、延時(shí)子程序和顯示子程序等,程序設(shè)計(jì)流程如圖4所示。
4結(jié)語
本次設(shè)計(jì)利用Keil軟件進(jìn)行單片機(jī)編程,并且借助Proteus軟件進(jìn)行仿真模擬,其模擬結(jié)果符合預(yù)期設(shè)想。該設(shè)計(jì)結(jié)構(gòu)簡單,功能完整,控制方便,既節(jié)省了魚缸的空間,又滿足了用戶飼養(yǎng)熱帶魚寵物的愛好。由于采用了單片機(jī)控制,系統(tǒng)還有更大的擴(kuò)展空間,如增加食物投放功能和水體含氧量智能控制等。