公務(wù)員期刊網(wǎng) 論文中心 正文

單片機(jī)控制下的魚缸水循環(huán)系統(tǒng)設(shè)計(jì)

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了單片機(jī)控制下的魚缸水循環(huán)系統(tǒng)設(shè)計(jì)范文,希望能給你帶來靈感和參考,敬請閱讀。

單片機(jī)控制下的魚缸水循環(huán)系統(tǒng)設(shè)計(jì)

摘要:隨著科技的不斷發(fā)展,智能化產(chǎn)品越來越多融入到居家生活中。本文設(shè)計(jì)了一種基于單片機(jī)控制的魚缸水循環(huán)系統(tǒng),利用超聲波測距模塊得到實(shí)時(shí)水位高度,將水位高度實(shí)際值送入單片機(jī)進(jìn)行處理比較,進(jìn)而控制注水、排水水泵的工作,實(shí)現(xiàn)智能化管理。本文詳細(xì)闡述了系統(tǒng)的硬件結(jié)構(gòu)與軟件編程的過程,經(jīng)過仿真軟件模擬與實(shí)際成品測試均得到預(yù)期效果。

關(guān)鍵詞:智能化;水循環(huán)系統(tǒng);超聲波測距

隨著人們生活水平居住環(huán)境的提高和改善,養(yǎng)魚成為日常生活中陶冶情操的一種樂趣,越來越多的家庭以及辦公場所均能看見魚兒的身影,但是往往欣賞的背后卻要付出很多辛苦勞動(dòng)。市面上的魚缸多采用背部過濾設(shè)計(jì),可以在過濾的同時(shí)給魚缸加氧,這需要時(shí)常向魚缸背部添水,由于養(yǎng)魚者忙碌或出差不在家不能及時(shí)給魚缸添水導(dǎo)致過濾系統(tǒng)損壞,或者要經(jīng)常給魚缸換水費(fèi)時(shí)費(fèi)力,所以普通魚缸無法滿足人們對智能化產(chǎn)品的需求,特別對于忙碌的上班族來說,養(yǎng)魚往往是賞心悅目,卻要被這些繁瑣事情牽絆。所以設(shè)計(jì)一款魚缸的自動(dòng)水循環(huán)系統(tǒng)是非常必要的,為人們自動(dòng)控制管理魚缸水位高度,清理魚缸提供了很大的便利。

1系統(tǒng)總設(shè)計(jì)

該設(shè)計(jì)是以STC89C51單片機(jī)芯片為整體控制中心,總體設(shè)計(jì)框圖如圖1所示。由超聲波測距模塊、LCD液晶顯示模塊、按鍵電路模塊、以及水位高度測量電路、報(bào)警電路等結(jié)構(gòu)組成得以實(shí)現(xiàn)魚缸水循環(huán)系統(tǒng)。該設(shè)計(jì)實(shí)現(xiàn)了實(shí)時(shí)監(jiān)測顯示魚缸水位高度,并兼具兩種控制魚缸水位的模式:自動(dòng)模式、手動(dòng)模式。自動(dòng)模式主要適用于無人看守魚缸并需要實(shí)時(shí)向魚缸里加水情況,在無人看守下,可以設(shè)定系統(tǒng)為自動(dòng)模式。背部過濾設(shè)計(jì)的魚缸水分蒸發(fā)較快,由于養(yǎng)魚者沒有及時(shí)向魚缸添水,可能會(huì)導(dǎo)致過濾系統(tǒng)燒壞。在自動(dòng)模式下,利用軟件編程可以設(shè)置最高水位值和最低水位值,也可以通過單片機(jī)上設(shè)置按鍵改變水位高度設(shè)定值,當(dāng)魚缸水分蒸發(fā)低于設(shè)定最低值時(shí),系統(tǒng)自動(dòng)報(bào)警,紅燈指示燈亮同時(shí)注水水泵工作,向魚缸里加水。手動(dòng)模式更適用于清理魚缸時(shí)自動(dòng)換水情況,在手動(dòng)模式下,實(shí)時(shí)顯示魚缸液位高度,但是報(bào)警電路不工作,當(dāng)魚缸需要換水時(shí),可以切換成手動(dòng)模式,按下設(shè)置鍵選擇排水,當(dāng)魚缸水抽凈后通過按鍵控制而停止抽水,再按下設(shè)置鍵選擇注水,由此實(shí)現(xiàn)了自動(dòng)水循環(huán)過程。

2硬件設(shè)計(jì)方案

根據(jù)上述對系統(tǒng)的設(shè)計(jì)要求,具體實(shí)施過程與元器件選擇如下:

2.1單片機(jī)最小系統(tǒng):

首先考慮系統(tǒng)應(yīng)有掉電保護(hù)的功能,所以在選取單片機(jī)上選擇了內(nèi)部含有EEPROM的存儲(chǔ)空間的芯片[1],對每次設(shè)定好的水位數(shù)據(jù)值進(jìn)行記憶存儲(chǔ),在單片機(jī)第二次開機(jī)時(shí),系統(tǒng)首先讀取EEPROM的上一次記憶存儲(chǔ)值顯示在屏幕上,不會(huì)因?yàn)橥蝗坏綦姟⑸想姼淖兏叨戎祻亩绊戶~缸水位。由于51系列單片機(jī)內(nèi)存為4K可以滿足魚缸整體程序的存儲(chǔ)空間,加之成本低、可在線編程下載、可靠性高、市場應(yīng)用高的特點(diǎn),綜合決定選取STC89C51為主控芯片。最小系統(tǒng)還包含了電源電路、復(fù)位電路和時(shí)鐘電路。考慮到51單片機(jī)的工作電壓是5V左右,本次供電方式采用5V移動(dòng)電源供電。對于時(shí)鐘電路主要是單片機(jī)晶振的選取,由于本次設(shè)計(jì)對系統(tǒng)的實(shí)時(shí)性要求不高,再考慮到功耗,成本的問題時(shí),11.0592M晶振足以滿足系統(tǒng)需求。

2.2顯示模塊:

由于設(shè)計(jì)要求需要,顯示模塊需要顯示實(shí)時(shí)魚缸液位高度、顯示設(shè)置的液位最高值和最低值以及模式狀態(tài),顯示內(nèi)容較多。LCD1602液晶顯示屏完全可以符合設(shè)計(jì)需求。LCD1602的八位數(shù)據(jù)端口(D0-D7)分別連接單片機(jī)P0.0-P0.7端口,RS、R/W、使能端E分別連接單片機(jī)P1.0-P1.2端口,經(jīng)過軟件編程對液晶顯示屏控制后,在液晶屏第一行顯示模式狀態(tài)和水位高度,第二行顯示液位設(shè)置最高值最低值高度。

2.3超聲波測距模塊:

此模塊是設(shè)計(jì)的核心,主要功能是實(shí)時(shí)測量液位高度。對于測量液位高度,國內(nèi)外有二十幾種檢測方式,如電阻式、光纖式液位測量等[2],最終選取超聲波測量主要考慮的是盡量不選擇在魚缸的水中放入傳感器,而超聲波測量方法是非接觸式測量[3],利用超聲波脈沖反射和脈沖反射回波進(jìn)行相應(yīng)計(jì)算得到測量結(jié)果。超聲波模塊選取的是HC-SR04,其最大探測范圍是4m,如圖2為超聲波模塊接口圖,GND、VCC分別接地和5V電源,Trig為控制端口連接單片機(jī)P2.6接口,工作時(shí)需要單片機(jī)給該端口一個(gè)高電平信號(hào),超聲波發(fā)射端口會(huì)循環(huán)發(fā)出40KHz頻率方波[4],Echo為接收端口連接單片機(jī)P2.7接口,當(dāng)接收端接收到超聲波返回信號(hào)會(huì)將Echo輸出高電平。通過單片機(jī)內(nèi)計(jì)時(shí)功能得到往返時(shí)間t1,超聲波在空氣中傳播速度V為340m/s,則水面到發(fā)射器的距離為S=Vt1/2,進(jìn)而可以得到魚缸水位高度。

2.4按鍵模塊:

有三個(gè)功能按鍵,分別是設(shè)置鍵、水位加、水位減按鍵分別連接單片機(jī)P1.3、P1.4、P3.5接口,設(shè)置鍵主要是切換自動(dòng)模式和手動(dòng)模式。手動(dòng)模式下,顯示屏顯示“A”,當(dāng)按下水位加按鍵,注水水泵開始工作給魚缸加水,當(dāng)按下水位減按鍵停止加水;當(dāng)按下水位減按鍵,排水水泵開始工作給魚缸抽水,當(dāng)按下水位加按鍵停止抽水;在自動(dòng)模式下顯示屏顯示“H”和“L”,在“H”界面下通過水位加和水位減按鍵可以調(diào)節(jié)最高水位值,在“L”界面下通過水位加和水位減按鍵可以調(diào)節(jié)最低水位值。

3系統(tǒng)軟件設(shè)計(jì)

本設(shè)計(jì)是以51單片機(jī)為基礎(chǔ),結(jié)合上面闡述的硬件設(shè)計(jì),以C語言作為編程語言,采用模塊化方式進(jìn)行程序設(shè)計(jì)。主要分為三個(gè)功能模塊:主程序模塊、EEPROM數(shù)據(jù)記憶存儲(chǔ)模塊、液晶顯示模塊構(gòu)成。其中主程序流程圖如圖3所示,有三個(gè)函數(shù)構(gòu)成,第一部分是系統(tǒng)初始化函數(shù),主要是單片機(jī)上電后系統(tǒng)開始運(yùn)行時(shí)設(shè)置各模塊的初始值。第二部分是延時(shí)函數(shù),主要用在按鍵電路的延時(shí)去抖中。第三部分是實(shí)時(shí)液位高度檢測函數(shù),利用單片機(jī)內(nèi)部定時(shí)器計(jì)數(shù)的功能得到time1,機(jī)器周期時(shí)間T1為1/11.0592×12μs=1.08μs進(jìn)而得到超聲波往返的時(shí)間t1為1.08×time1μs,由于t1為聲波的往返時(shí)間,計(jì)算距離時(shí)的時(shí)間應(yīng)該為t1/2,進(jìn)而得到超聲波發(fā)射器與液體高度的距離S1,則S1=vt=346×t1/2=1.87×time1/100cm,利用尺子量出超聲波模塊到魚缸底部的距離S2,其為定值,則魚缸實(shí)時(shí)高度S為S2-S1。主程序流程圖具體分析如下:首先單片機(jī)上電,系統(tǒng)初始化,在EEPROM存儲(chǔ)空間中讀取上一次設(shè)置的水位最高值和最低值顯示在液晶屏幕上;開啟定時(shí)計(jì)數(shù)功能;進(jìn)入液位檢測函數(shù)中,得到魚缸水位高度值;判斷此時(shí)的工作模式是手動(dòng)還是自動(dòng)模式;如果是自動(dòng)模式,繼續(xù)判斷液位高度是否在設(shè)置值范圍內(nèi),如果在,則顯示液位高度,如果不在設(shè)置范圍內(nèi),則相應(yīng)的排水、注水水泵工作,同時(shí)指示燈亮,蜂鳴器報(bào)警;如果在手動(dòng)模式下,關(guān)閉報(bào)警電路并判斷是否有加水鍵和減水減按下,如果有則進(jìn)行相應(yīng)操作,如果沒有顯示魚缸水位高度值。

4結(jié)論

本次設(shè)計(jì)在keil編程調(diào)試和proteus軟件仿真后均得到預(yù)期值,經(jīng)過實(shí)物測試得到該方案可行,可以實(shí)時(shí)監(jiān)測魚缸水位高度,并實(shí)現(xiàn)自動(dòng)化水循環(huán)和液位高度控制的功能,本次設(shè)計(jì)是電子技術(shù)于測量領(lǐng)域結(jié)合應(yīng)用在居家生活中,還可以在多方面進(jìn)行提高,比如加上水溫控制,實(shí)時(shí)監(jiān)測魚缸內(nèi)氧氣濃度等功能,這樣一個(gè)智能魚缸系統(tǒng)會(huì)更加完善。

參考文獻(xiàn)

[1]李曉紅,王瑞榮.基于單片機(jī)的溫度檢測系統(tǒng)設(shè)計(jì)[J].電子測試,2020,(15):24-25.

[2]劉志堅(jiān),晏永飛,孫應(yīng)畢,徐慧,王旭輝.基于STC89C51的超聲波液位檢測系統(tǒng)設(shè)計(jì)[J].電子測量技術(shù),2019,42(14):6-11.

[3]何秋,孫志斌,耿寶明.LHAASO-WCDA超聲波測距系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2017,25(08):6-9,14.

[4]侯佳辛,宋廣軍.基于單片機(jī)的超聲波液位智能控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀表,2020,35(05):31-33,39.

作者:殷佳琪 單位:蘭州資源環(huán)境職業(yè)技術(shù)學(xué)院