基于物聯(lián)網(wǎng)技術(shù)的智能魚缸的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于物聯(lián)網(wǎng)技術(shù)的智能魚缸的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于物聯(lián)網(wǎng)技術(shù)的智能魚缸的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于物聯(lián)網(wǎng)技術(shù)的智能魚缸的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于物聯(lián)網(wǎng)技術(shù)的智能魚缸的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

-緒論選題背景隨著國內(nèi)經(jīng)濟(jì)持續(xù)增長和民眾生活品質(zhì)提升,人們的消費(fèi)觀念發(fā)生了巨大變化,對(duì)生活的品質(zhì)要求上升,注重環(huán)境個(gè)性化和環(huán)?;T诖吮尘跋?,休閑和家居裝飾行業(yè)迎來強(qiáng)勁發(fā)展,其中觀賞魚成為受歡迎的裝飾元素之一。隨著時(shí)間推移,人們對(duì)大自然的渴望日益增加。鮮艷的魚草水族箱不僅提供舒適的視覺體驗(yàn),還為居住環(huán)境增添自然之美,滿足人們對(duì)大自然的向往。水族市場因此成為具有巨大開發(fā)潛力和市場前景的產(chǎn)業(yè)之一,水族產(chǎn)品需求持續(xù)增長?!棒~缸”,即水族箱,最早起源于英國,并在過去150年中廣泛應(yīng)用。最初被視為養(yǎng)殖水生生物的容器,如今已發(fā)展成為反映自然生態(tài)系統(tǒng)的裝飾品。隨著科技進(jìn)步和養(yǎng)殖技術(shù)提高,水族箱不僅作為裝飾品,而且成為家居的一部分,走進(jìn)普通家庭,發(fā)揮著重要作用。無論在家庭還是休閑娛樂場所,魚缸的種類繁多,提供合適的生活環(huán)境成為人們的追求。市場上有各種魚缸控制系統(tǒng),如水溫調(diào)節(jié)、氧氣注入控制和過濾控制等,但多為單一功能,難以滿足多樣化需求。針對(duì)此現(xiàn)狀,研究融合多功能的綜合控制系統(tǒng),特別關(guān)注魚缸的水溫、換水和增氧等方面,以提高魚類存活率、降低養(yǎng)魚成本,滿足市場需求REF_Ref14261\r\h[1]。國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢隨著國內(nèi)經(jīng)濟(jì)快速增長,裝飾行業(yè)也發(fā)展迅速,人們對(duì)生活品質(zhì)的追求不斷提升,休閑家居裝飾成為新寵。在這個(gè)背景下,休閑水族產(chǎn)業(yè)應(yīng)運(yùn)而生,以滿足人們對(duì)于生活品質(zhì)的需求。近年來,休閑水族產(chǎn)業(yè)呈現(xiàn)出強(qiáng)勁的發(fā)展勢頭,其年增長率高達(dá)13.8%。在北京等地,水族市場迅速擴(kuò)張,從幾個(gè)傳統(tǒng)小型市場擴(kuò)展至8個(gè)大型市場。隨著人們生活質(zhì)量要求的提高,對(duì)綠色消費(fèi)的倡導(dǎo)以及對(duì)自身健康的重視,水族產(chǎn)品市場吸引了更多的投資者目光。全球水族產(chǎn)品市場都在關(guān)注中國,許多外國大型采購企業(yè)將中國視為長期戰(zhàn)略目標(biāo)。這為國內(nèi)水族企業(yè)提供了前所未有的機(jī)遇,同時(shí)也帶來了嚴(yán)峻挑戰(zhàn)。隨著裝飾行業(yè)的快速發(fā)展,家用魚缸龐大的市場需求推動(dòng)了國內(nèi)外各類魚缸控制設(shè)備的創(chuàng)新和發(fā)展。傳統(tǒng)魚缸設(shè)備需要手動(dòng)進(jìn)行換水補(bǔ)氧等操作,操作繁瑣且不利于節(jié)能,不符合市場需求。因此,出現(xiàn)了簡易、穩(wěn)定且具有定時(shí)功能的新型控制器,使得魚缸環(huán)境管理更加便捷。市場上陸續(xù)推出了與魚缸相關(guān)的各種控制設(shè)備,如間歇充氧計(jì)時(shí)器、自動(dòng)恒溫器和自動(dòng)燈光控制器等,以滿足不同需求。多功能魚缸控制器成為制造商關(guān)注的焦點(diǎn),融合了溫度、換水、充氧和報(bào)警等多種功能,適用于各種魚缸系統(tǒng),包括家庭觀賞和商業(yè)水族養(yǎng)殖場所。這些控制器不僅提高了魚缸管理的效率,還降低了能源消耗,為水族產(chǎn)業(yè)的可持續(xù)發(fā)展提供了支持REF_Ref14839\r\h[2]。主要研究內(nèi)容本研究以STC89C52單片機(jī)為核心,結(jié)合傳感器技術(shù),設(shè)計(jì)了一套智能魚缸控制系統(tǒng),用于監(jiān)測水族箱的環(huán)境參數(shù)、自動(dòng)換水、增氧和喂食。該系統(tǒng)由上位機(jī)與下位機(jī)組成,能自動(dòng)檢測和智能管理魚缸的水質(zhì)和環(huán)境參數(shù)。核心特性包括:使用單片機(jī)實(shí)現(xiàn)自動(dòng)控制功能,減少資源消耗和人力投入;采用LCD1602人機(jī)交互界面,操作簡潔便捷;利用繼電器進(jìn)行控制和管理;整體設(shè)計(jì)具備普適性,適合大規(guī)模推廣和生產(chǎn)。在總體設(shè)計(jì)階段,根據(jù)實(shí)際應(yīng)用場景、工作環(huán)境和控制目標(biāo)確定合適設(shè)計(jì)方案。在硬件設(shè)計(jì)方面,選擇功能完善和高性價(jià)比的元器件,設(shè)計(jì)合適的硬件電路并進(jìn)行實(shí)驗(yàn)與修改,確保調(diào)試無誤后制作印制電路板。在軟件設(shè)計(jì)方面,采用模塊化編程方法,將系統(tǒng)應(yīng)用程序劃分為多個(gè)獨(dú)立的模塊,然后使用單片機(jī)C語言進(jìn)行編程。最后,對(duì)系統(tǒng)進(jìn)行調(diào)試和完善。使用調(diào)試軟件對(duì)程序進(jìn)行細(xì)致調(diào)試、錯(cuò)誤檢查和完善,將調(diào)試好的程序整合為完整系統(tǒng)程序。構(gòu)建模擬魚缸環(huán)境離線試運(yùn)行,驗(yàn)證系統(tǒng)性能和功能。系統(tǒng)的總體設(shè)計(jì)方案以下是系統(tǒng)的整體設(shè)計(jì)標(biāo)準(zhǔn):(1)魚缸環(huán)境參數(shù)監(jiān)控:考慮到多樣魚種及水生植物對(duì)生存環(huán)境的嚴(yán)格要求,穩(wěn)定的環(huán)境參數(shù)顯得尤為關(guān)鍵REF_Ref14989\r\h[3]。本系統(tǒng)通過實(shí)時(shí)追蹤魚缸中的溫度、水質(zhì)清澈度、水位等關(guān)鍵參數(shù),并利用相應(yīng)的溫度、水位、混濁度傳感器進(jìn)行采集。系統(tǒng)允許操作者通過按鈕設(shè)定各參數(shù)的安全閾值。一旦監(jiān)測到的數(shù)值超出預(yù)定范圍,警報(bào)系統(tǒng)即會(huì)啟動(dòng),蜂鳴器發(fā)出聲響,并激活相關(guān)的自動(dòng)調(diào)節(jié)機(jī)制。(2)自動(dòng)替換水功能:本設(shè)計(jì)結(jié)合了兩臺(tái)水泵,可以設(shè)定周期自動(dòng)操控繼電器的通斷,以驅(qū)動(dòng)水泵執(zhí)行啟動(dòng)或關(guān)閉動(dòng)作,完成水換過程。(3)補(bǔ)氧功能:增氧操作能夠通過實(shí)體按鍵來激活,從而控制連接至增氧泵的繼電器。如此一來,魚缸內(nèi)的氧氣水平得以依用戶需求進(jìn)行調(diào)節(jié),為水生生物提供必要的氧氣供給。(4)投喂機(jī)制:系統(tǒng)配備了設(shè)定按鈕,用戶借此按鈕可設(shè)定投喂周期,進(jìn)而通過ULN2003驅(qū)動(dòng)器驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)來實(shí)現(xiàn)定時(shí)投喂任務(wù)。(5)數(shù)據(jù)展示模塊:采用LCD1602顯示屏來展示監(jiān)測的數(shù)據(jù)信息,使用戶能夠即時(shí)觀察魚缸的實(shí)時(shí)狀態(tài)并適時(shí)調(diào)整系統(tǒng)設(shè)置,提升了操作的便捷性和效率。(6)操作控制:利用3路繼電器來驅(qū)動(dòng)兩個(gè)水泵進(jìn)行換水,同時(shí)驅(qū)動(dòng)增氧泵以實(shí)現(xiàn)增氧和溫度加熱的功能。(7)關(guān)于濁度:利用濁度傳感器來獲取當(dāng)前的濁度數(shù)據(jù),當(dāng)濁度較高時(shí),通過繼電器啟動(dòng)水泵以進(jìn)行換水操作。(8)關(guān)于光照:使用光敏傳感器來測量當(dāng)前環(huán)境的光照強(qiáng)度,并據(jù)此啟動(dòng)補(bǔ)光燈。(9)關(guān)于溫度的收集:使用DS18B20防水型溫度傳感器來監(jiān)測當(dāng)前的水體溫度,溫度低于閾值則啟動(dòng)加熱片。(10)無線傳輸功能:利用HC05模塊進(jìn)行無線傳送,包括當(dāng)前的溫度、是否存在缺水或濁度等相關(guān)信息。魚缸智能控制系統(tǒng)的功能組成與控制參數(shù)在智能魚缸的設(shè)計(jì)過程中,對(duì)現(xiàn)存多種魚缸控制裝置進(jìn)行了全面審視與深入分析。該系統(tǒng)由幾個(gè)關(guān)鍵的功能性模塊構(gòu)筑而成:包括溫度檢測、混濁度檢測、定時(shí)控制器、自動(dòng)更新水系統(tǒng)、聲音警示、無線數(shù)據(jù)傳輸、液晶數(shù)據(jù)顯示以及繼電器操控模塊。這些分支模塊一道,形成了一個(gè)整合單片機(jī)技術(shù)的先進(jìn)魚缸智能管理解決方案。該系統(tǒng)主要檢測魚缸內(nèi)的各項(xiàng)實(shí)時(shí)數(shù)據(jù)參數(shù),目標(biāo)是實(shí)現(xiàn)系統(tǒng)的自動(dòng)化調(diào)節(jié),以確保為水族提供最佳的水質(zhì)和居住環(huán)境。系統(tǒng)由硬件和軟件組成,其核心部分采用單片機(jī)作為控制器。在進(jìn)行設(shè)計(jì)的過程中,需要特別關(guān)注的水質(zhì)和環(huán)境參數(shù)包括:濁度、自動(dòng)更換水質(zhì)、自動(dòng)喂食功能、自動(dòng)增加氧氣供應(yīng)、水位評(píng)估以及蜂鳴器的提醒功能。本文將介紹各主要參數(shù)在本系統(tǒng)中如何設(shè)置并實(shí)現(xiàn)自動(dòng)控制,同時(shí)也說明了各個(gè)參數(shù)之間的相互關(guān)系以及與之有關(guān)的一些問題。系統(tǒng)的硬件結(jié)構(gòu)框圖該系統(tǒng)以單片機(jī)作為其核心的CPUREF_Ref18646\r\h[4],構(gòu)建了一個(gè)可以獨(dú)立放置在魚缸外部運(yùn)行的系統(tǒng),它能夠接收各種水質(zhì)和環(huán)境的檢測信號(hào)輸入,并輸出控制信號(hào)。從宏觀角度看,這個(gè)系統(tǒng)的硬件設(shè)計(jì)主要分為兩大模塊:控制模塊和輸入輸出模塊,硬件是由輸入與輸出模塊以及控制模塊共同構(gòu)成的。輸入內(nèi)容包括:DS18B20的溫度收集、按鈕配置、濁度、光線、水面高度以及按鈕的配置。輸出功能包括:LCD1602的液晶顯示屏、步進(jìn)電機(jī)的喂食功能、加熱功能、照明、更換水、提高氧氣供應(yīng)以及蜂鳴器的提醒功能??刂颇K包括:蜂鳴器的報(bào)警提醒功能、3路繼電器用于控制水泵、增氧功能以及WIFI的無線傳輸控制。如圖2.1所示。圖2.1系統(tǒng)硬件結(jié)構(gòu)圖

系統(tǒng)的硬件設(shè)計(jì)這一章節(jié)深入闡述了多功能魚缸智能控制器的硬件配置及其設(shè)計(jì)思路。在分析了各種傳感器后,對(duì)其進(jìn)行分類,然后根據(jù)不同類型的傳感器設(shè)計(jì)相應(yīng)的電路。主要內(nèi)容涵蓋了時(shí)鐘電路模塊的設(shè)計(jì)、系統(tǒng)電源模塊的設(shè)計(jì)、鍵盤控制與顯示模塊的設(shè)計(jì)、溫度數(shù)據(jù)采集設(shè)計(jì)、濁度數(shù)據(jù)采集、繼電器輸出控制電路模塊的設(shè)計(jì),以及電路原理圖和電路板的設(shè)計(jì)等多個(gè)方面。其中重點(diǎn)講述了溫度采集電路設(shè)計(jì),溫度檢測原理及實(shí)現(xiàn)方法,并給出了相關(guān)軟件流程圖。本文詳盡地解釋了在電路設(shè)計(jì)中如何選擇芯片,芯片的內(nèi)部構(gòu)造、性能指標(biāo)以及功能特性,并進(jìn)一步設(shè)計(jì)了具體的硬件電路,接下來將對(duì)各主要電路部分進(jìn)行介紹。硬件總體結(jié)構(gòu)本設(shè)計(jì)聚焦于單片機(jī)系統(tǒng)的硬件與軟件設(shè)計(jì),以提高系統(tǒng)功能、穩(wěn)定性和靈活性。硬件設(shè)計(jì)主要基于以下三個(gè)原則:1.融合硬件與軟件設(shè)計(jì),以簡化架構(gòu)、增強(qiáng)穩(wěn)定性,并降低成本。2.采用更少數(shù)量的芯片和電路,提高系統(tǒng)可靠性和抗干擾能力,如DS18B20數(shù)字溫度傳感器。3.系統(tǒng)設(shè)計(jì)具有靈活性,可根據(jù)用戶需求隨時(shí)增減模塊,實(shí)現(xiàn)功能更新和擴(kuò)充。硬件電路包括感溫元件、無線信號(hào)傳輸、水位、濁度、光照、繼電器控制、LCD顯示和蜂鳴器報(bào)警等部分,具有結(jié)構(gòu)簡單緊湊、工作可靠、成本低廉等優(yōu)勢。圖3.1硬件總體結(jié)構(gòu)圖各模塊硬件設(shè)計(jì)單片機(jī)單片機(jī)是一種微型計(jì)算機(jī),它將處理器、存儲(chǔ)器和輸入輸出接口整合到一個(gè)模擬電路中。在此基礎(chǔ)上對(duì)系統(tǒng)進(jìn)行了軟件設(shè)計(jì),包括主程序和各功能模塊子程序。該設(shè)備是由CPU系統(tǒng)、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、各類輸入輸出端口以及基礎(chǔ)功能單元共同構(gòu)成的.單片機(jī)主要用來執(zhí)行指令、處理信息和存儲(chǔ)數(shù)據(jù)并通過通信與外部設(shè)備進(jìn)行數(shù)據(jù)交換。在軟件的指導(dǎo)下,單片機(jī)能夠以準(zhǔn)確、快速和高效的方式完成程序設(shè)計(jì)師所期望的任務(wù)。隨著科學(xué)技術(shù)的不斷發(fā)展,單片機(jī)也得到了越來越大的普及與使用。單片機(jī)因其出色的性價(jià)比、極低的能耗、極高的穩(wěn)定性以及卓越的控制和擴(kuò)展功能,被視為電子系統(tǒng)中的關(guān)鍵工具。單片機(jī)作為一種通用智能器件,能夠?qū)崿F(xiàn)對(duì)硬件電路或軟件系統(tǒng)進(jìn)行實(shí)時(shí)處理與自動(dòng)控制,使之成為一個(gè)獨(dú)立運(yùn)行的計(jì)算機(jī)系統(tǒng)REF_Ref15603\r\h[5]。單片機(jī)的誕生極大地簡化了復(fù)雜電路系統(tǒng)的設(shè)計(jì),并提升了系統(tǒng)的智能化水平。它已經(jīng)在科技進(jìn)步和人們?nèi)粘I畹亩鄠€(gè)方面得到了廣泛應(yīng)用,并且正朝著更高的性能和更多種類的產(chǎn)品方向發(fā)展,具有巨大的應(yīng)用潛力。圖中展示了其內(nèi)部的結(jié)構(gòu)圖:圖3.2單片機(jī)內(nèi)部結(jié)構(gòu)圖在硬件上只需把這些數(shù)據(jù)寫入一個(gè)地址即可,軟件上只要將該地址與主存中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較便可知道是否需要修改。數(shù)據(jù)在停電之后會(huì)自動(dòng)消失不見。單片機(jī)的操作電壓約為5V,其工作頻率范圍在0~40Hz之間,而用戶的程序空間則有從4KB到64KB的多種規(guī)格選擇。由于單片機(jī)內(nèi)部沒有提供給輸入口及輸出管工作所需要的電源,因此必須用外接電源線將它們與外部電路相連。在輸入輸出口中,P0口作為一個(gè)開漏輸出,可以作為中線進(jìn)行擴(kuò)展,無需添加拉電阻,但在作為輸入輸出口時(shí),拉電阻是必須添加的。由于采用了這種形式的輸入口后,單片機(jī)的外圍電路結(jié)構(gòu)簡化,使系統(tǒng)成本大大降低。單片機(jī)內(nèi)部裝有三個(gè)16位的定時(shí)器和計(jì)數(shù)器。單片機(jī)的外圍電路中沒有串行接口或外設(shè)端口,只有一個(gè)通用異步串行通信端口。通用異步串口允許用戶通過P3.0和P3.1串口直接下載程序,下載速度極快,僅需幾秒鐘即可成功完成。單片機(jī)內(nèi)部沒有任何中斷源,所以其應(yīng)用非常廣泛。該設(shè)備具有廣泛的工作溫度范圍,非常適合在大多數(shù)工作環(huán)境中使用。表1.1STC89C52芯片的引腳介紹引腳類型引腳名稱引腳號(hào)引腳功能主電源引腳VCC40+5V電壓GND20接地外接晶體引腳XTAL119外接晶體XTAL218外接晶體控制及電源復(fù)用引腳RST/VPD9復(fù)位ALE/PROG30地址鎖存PSEN29外部程序存儲(chǔ)EA/VPP31使能輸入輸出引腳P039~32雙向8位I/O口P11~8準(zhǔn)雙向8位I/O口P221~28準(zhǔn)雙向8位I/O口P310~17準(zhǔn)雙向8位I/O口P3口被設(shè)計(jì)為準(zhǔn)雙向的8位輸入輸出接口,并且這8個(gè)引腳還具備特定的復(fù)用特性。該芯片具有功耗低、速度快、可靠性高、編程簡單等特點(diǎn)。當(dāng)它被用作第一功能時(shí),它會(huì)被當(dāng)作常規(guī)的輸入和輸出口來使用;在進(jìn)行擴(kuò)展和實(shí)現(xiàn)其他功能時(shí)僅用作一個(gè)輸入/輸出端口。在作為第二個(gè)功能的情況下,各個(gè)引腳都具有不同的作用,具體的功能描述如下所示表格:表1.2單片機(jī)P3口功能介紹引腳口線引腳號(hào)引腳名稱引腳功能P3.010RXD串型輸入口P3.111TXD串型輸出口P3.212INT0外部中斷0P3.313INT1外部中斷1P3.414T0定時(shí)器0外部輸入P3.515T1定時(shí)器1外部輸入P3.616WR外部數(shù)據(jù)存儲(chǔ)器寫脈沖P3.717RD外部數(shù)據(jù)存儲(chǔ)器讀脈沖在單片機(jī)操作中,時(shí)鐘電路至關(guān)重要,提供基礎(chǔ)時(shí)鐘以執(zhí)行指令的序列化。可通過內(nèi)部和外部兩種方式產(chǎn)生時(shí)鐘信號(hào)。內(nèi)部時(shí)鐘機(jī)制利用晶振構(gòu)建穩(wěn)定自激振蕩器,無需外部電源。外部時(shí)鐘模式則通過連接穩(wěn)定時(shí)鐘信號(hào)源至單片機(jī)。時(shí)序描述單片機(jī)執(zhí)行命令時(shí)CPU控制信號(hào)的排列順序。機(jī)器周期指單片機(jī)執(zhí)行基礎(chǔ)任務(wù)所需時(shí)間,由多個(gè)狀態(tài)組成。指令周期則是執(zhí)行特定指令所需時(shí)間。理解這些概念能幫助計(jì)算指令執(zhí)行時(shí)間。復(fù)雜系統(tǒng)可采用雙模并行工作方式提高速度,如晶振電路示例。圖3.3系統(tǒng)晶振電路圖復(fù)位電路單片機(jī)在上電或故障時(shí)需復(fù)位,確保其內(nèi)部狀態(tài)恢復(fù)至預(yù)設(shè)值并重新啟動(dòng)。復(fù)位可通過保持RST引腳高電平2μs以上實(shí)現(xiàn),常采用上電復(fù)位或按鍵復(fù)位方式。按鍵釋放后,RST引腳電位轉(zhuǎn)高,完成復(fù)位。復(fù)雜系統(tǒng)通常采用雙模并行工作以提高速度。單片機(jī)復(fù)位電路需與最小系統(tǒng)連接,電容C1大小影響復(fù)位時(shí)間,通常選擇10~30uF。為確保單片機(jī)準(zhǔn)確供電且不損壞器件,需合理設(shè)計(jì)最小系統(tǒng)。圖3.4復(fù)位電路液晶顯示在這個(gè)電路設(shè)計(jì)中,LCD1602按鈕與常規(guī)按鈕是相結(jié)合的。這個(gè)鍵盤的控制和顯示電路由復(fù)位電路、晶振電路、LCD顯示電路以及按鍵控制電路這四個(gè)主要部分組成。在對(duì)上述四個(gè)電路進(jìn)行合理地電路設(shè)計(jì)之后,通過軟件編程完成了各功能模塊的仿真調(diào)試工作,并最終制作出實(shí)物樣機(jī),經(jīng)測試各項(xiàng)指標(biāo)均達(dá)到設(shè)計(jì)要求。成功地完成了各種功能參數(shù)的配置。詳細(xì)的電路設(shè)計(jì)請參考圖3.5圖3.5顯示電路的設(shè)計(jì)圖本系統(tǒng)選擇LCD1602液晶顯示器作為顯示電路,帶來幾個(gè)明顯的優(yōu)勢:(1)出色的顯示品質(zhì),無閃爍,畫面隨時(shí)變換;(2)數(shù)字接口直觀穩(wěn)定,操作簡便;(3)小巧輕便,重量較傳統(tǒng)顯示器輕;(4)極低的能耗,由內(nèi)部電極和驅(qū)動(dòng)IC消耗。液晶顯示技術(shù)利用液晶的物理特性,調(diào)整電壓控制顯示,支持黑白、灰度和彩色顯示。點(diǎn)陣圖液晶由M×N顯示單元構(gòu)成,顯示內(nèi)容與RAM區(qū)對(duì)應(yīng)。字符顯示復(fù)雜,每個(gè)字符由6×8或8×8的點(diǎn)陣構(gòu)成,需根據(jù)RAM區(qū)設(shè)置光標(biāo)和發(fā)送字符代碼。漢字展示采用圖形化方法,通過字模提取軟件預(yù)先提取漢字的點(diǎn)陣碼,按行列號(hào)對(duì)應(yīng)地址設(shè)置光標(biāo)并發(fā)送字節(jié),直到完整漢字顯示在LCD上。DS18B20溫度采集DS18B20是一款單總線可編程溫度傳感器,簡化了電路復(fù)雜性和算法需求。它可測量電壓、電流等物理量,具有自檢功能,廣泛用于工控、家電、儀器等領(lǐng)域REF_Ref17236\r\h[6]。DS18B20特色在于其三個(gè)可編程引腳,其內(nèi)置結(jié)構(gòu)由64位ROM、溫度感應(yīng)單元、非易失性的溫度警戒上下限TH與TL,加上相關(guān)配置寄存器組成。該傳感器的引腳配置涵蓋了GND(地線)、DQ(數(shù)據(jù)傳輸線)、以及VDD(電源輸入)端口,可通過數(shù)據(jù)線或外部供電。可自行設(shè)置報(bào)警上下限溫度,測溫范圍為-55~+125℃,在-10℃至+85℃精度為±0.5℃。圖3.6DS18B20的外形及管腳圖(1)該傳感器能通過程序控制以9至12位的精度來讀取溫度,并且能在不超過750毫秒的時(shí)間內(nèi)完成溫度到12位數(shù)值的轉(zhuǎn)換,達(dá)到最小0.0625℃的分辨率溫度測量。(2)該傳感器擁有一種獨(dú)特的單線總線接口方案,在與微處理器對(duì)接時(shí),僅需一條導(dǎo)線便能完成與處理器的數(shù)據(jù)雙向交流。(3)此外,該傳感器可直接輸出數(shù)字化的溫度信息,并通過單線總線方式以串行方式將數(shù)據(jù)發(fā)送給中央處理單元(CPU),伴隨著循環(huán)冗余校驗(yàn)(CRC)碼,這體現(xiàn)了它在抗干擾性和錯(cuò)誤糾正方面的優(yōu)異性能。(4)關(guān)于負(fù)壓特性:當(dāng)電源的極性發(fā)生反向連接時(shí),芯片不會(huì)因?yàn)檫^熱而損壞,但它將無法正常運(yùn)行。DS18B20具備支持多點(diǎn)網(wǎng)絡(luò)構(gòu)建的特性,多個(gè)DS18B20能夠在一個(gè)獨(dú)特的三線系統(tǒng)中并聯(lián),從而實(shí)現(xiàn)多點(diǎn)網(wǎng)絡(luò)測溫功能。DS18B20內(nèi)部功能模塊如圖3.7所示,圖3.7DS18B20原理圖DS18B20與DS1820在讀寫時(shí)間序列及溫度檢測的基本原理上保持一致。然而,DS18B20能提供9位到12位的模擬/數(shù)字(A/D)轉(zhuǎn)換精度范圍,與此相比,DS1820的精度僅為9位。雖然DS18B20采用了更高精度的技術(shù),但在現(xiàn)實(shí)應(yīng)用場景中,由于一些技術(shù)挑戰(zhàn),溫度寄存器里記錄的依然是實(shí)際測量到的溫度值。為克服這一挑戰(zhàn),開發(fā)了一種新型電路設(shè)計(jì)——斜率累積型溫度傳感器。該累積器的核心作用是對(duì)測量過程中的非線性偏差進(jìn)行補(bǔ)償與校正,其輸出用來調(diào)節(jié)計(jì)數(shù)器1的初始設(shè)定值。當(dāng)測量到某一時(shí)刻后,將該時(shí)刻前的讀數(shù)減去當(dāng)前的數(shù)據(jù)并進(jìn)行求和處理即得該點(diǎn)的溫度值。下面的圖3.8溫度測量原理圖有所不同,并且在溫度轉(zhuǎn)換過程中,延遲時(shí)間從2秒縮短到了750毫秒。因此可以將該電路作為一個(gè)標(biāo)準(zhǔn)應(yīng)用于其它類型溫度傳感器中,使之能夠準(zhǔn)確地測量出被測件的實(shí)時(shí)溫度。圖3.8展示了DS18B20的測溫原理。圖3.8DS18B20的測溫原理框圖繼電器控制設(shè)計(jì)方案中利用繼電器操控魚缸設(shè)備,包括水泵和氣泵。繼電器通過負(fù)載電路實(shí)現(xiàn)控制REF_Ref19551\r\h[7]。當(dāng)繼電器關(guān)閉時(shí),首先開啟一個(gè)水泵,經(jīng)過一段時(shí)間后關(guān)閉,再開啟另一個(gè)水泵。氣泵工作時(shí)向魚缸內(nèi)抽入空氣,增加氧氣。繼電器是一種電氣控制設(shè)備,工作原理類似于傳統(tǒng)接觸器,用小電流控制大電流運(yùn)行REF_Ref29516\r\h[8-9]。它自動(dòng)調(diào)整、安全防護(hù)、轉(zhuǎn)換電路功能。繼電器通過內(nèi)部機(jī)械結(jié)構(gòu)使輸出特性改變,當(dāng)輸入?yún)?shù)達(dá)到預(yù)設(shè)值時(shí),導(dǎo)通或斷開輸出電路。用于自動(dòng)化控制設(shè)備和工業(yè)過程控制系統(tǒng)。其特點(diǎn)包括快速響應(yīng)、穩(wěn)定性、長壽命和小體積。一種新型加濕器能根據(jù)濕度變化自動(dòng)調(diào)節(jié)開關(guān)狀態(tài),廣泛應(yīng)用于電力防護(hù)、自動(dòng)化技術(shù)、通訊等領(lǐng)域。圖3.9繼電器原理圖電磁繼電器由鐵芯、線圈、銜鐵和觸點(diǎn)簧片構(gòu)成。當(dāng)線圈兩端有電壓時(shí),會(huì)產(chǎn)生電流引發(fā)電磁效應(yīng),使銜鐵吸引鐵芯,觸點(diǎn)閉合。線圈斷電后,電磁吸力就會(huì)消失,銜鐵由于彈簧的反作用力返回原位,觸點(diǎn)打開,完成分?jǐn)嗖僮?。這一過程實(shí)現(xiàn)了電路的導(dǎo)通和切斷功能。繼電器的工作是通過改變電流方向?qū)崿F(xiàn)的,通常由低壓控制電路和高壓操作電路組成。蜂鳴器報(bào)警在溫度未達(dá)到預(yù)設(shè)范圍時(shí),必須配置一個(gè)警報(bào)提醒電路。由于線圈是靠電磁鐵本身所具有的磁力來驅(qū)動(dòng),因此它不需要外加電源,而是依靠電磁鐵自身固有的吸引力使之閉合。利用蜂鳴器能夠?qū)崿F(xiàn)聲音和光線的報(bào)警功能。如果有高溫或潮濕等情況發(fā)生時(shí),也能及時(shí)地進(jìn)行報(bào)警信號(hào)輸出,以避免火災(zāi)的進(jìn)一步擴(kuò)大REF_Ref29647\r\h[10]。選擇使用5V的電磁有源蜂鳴器,是因?yàn)榇祟惙澍Q器在運(yùn)行時(shí)需要的工作電流比較高,超過了單片機(jī)I/O端口的直接驅(qū)動(dòng)能力。這就要求通過晶體管開關(guān)電路進(jìn)行驅(qū)動(dòng)。如果選擇普通晶體管作為開關(guān),可能導(dǎo)致線路設(shè)計(jì)變得復(fù)雜且增加成本。因此,本設(shè)計(jì)采用了型號(hào)為8550的PNP晶體管。通過1kΩ的電阻將基極串聯(lián)到單片機(jī)I/O口,可實(shí)現(xiàn)基極電壓的調(diào)控。當(dāng)I/O口輸出低電平時(shí),8550晶體管被激活,蜂鳴器便會(huì)發(fā)聲;相反,當(dāng)I/O口輸出高電平時(shí),晶體管關(guān)閉,蜂鳴器停止發(fā)聲,從而達(dá)到控制蜂鳴器工作狀態(tài)的目的。如果在此情況下再接入電阻則會(huì)使蜂鳴器工作正常。蜂鳴器的電路設(shè)計(jì)如圖3.10所示。圖3.10蜂鳴器電路設(shè)計(jì)ULN2003喂食控制電路為了實(shí)現(xiàn)模擬喂食功能,采用了ULN2003來控制步進(jìn)電機(jī)的正反轉(zhuǎn)動(dòng),并用此實(shí)現(xiàn)點(diǎn)亮報(bào)警燈的簡便方法。ULN2003特征為其擁有耐高壓和大電流能力的硅NPN達(dá)林頓晶體管陣列,包含了七個(gè)達(dá)林頓對(duì)。這些晶體管對(duì)自帶2.7K歐姆的基極電阻,并且每對(duì)之間設(shè)有兩個(gè)共用的終端,但彼此互不連接。在5伏工作電壓下,ULN2003能夠直接與TTL及CMOS電路接口,以處理原先需標(biāo)準(zhǔn)邏輯緩沖器來處理的信號(hào)。得益于獨(dú)立通道設(shè)計(jì),ULN2003展現(xiàn)出良好的穩(wěn)定性和相互干擾極小的優(yōu)點(diǎn)。此組件不僅支持高至500mA的電流輸出,并且在非導(dǎo)通狀態(tài)下能夠耐受高達(dá)50V的電壓,且在高負(fù)載電流情況下能夠?qū)崿F(xiàn)輸出并聯(lián),這使其特別適合于高壓大電流系統(tǒng)的應(yīng)用。封裝方面,ULN2003提供了DIP-16和SOP-16兩種塑封形式供選擇。圖3.11DIP—16和SO—16ULN2003是一個(gè)雙列16腳封裝的NPN晶體管矩陣,最大驅(qū)動(dòng)電壓50V,電流500mA,適用于TTLCOMS。它包括達(dá)林頓管和具有消線圈反電動(dòng)勢的二極管,使整個(gè)系統(tǒng)更緊湊易制造。驅(qū)動(dòng)電路通過繼電器控制外部設(shè)備,如繼電器、燈泡等。ULN2003有三個(gè)二極管,輸出電流最大約為200mA,耐壓約為36V。通過配合上拉電阻,它可以直接連接到單片機(jī),輸出穩(wěn)定的正極性直流電流。ULN2003的結(jié)構(gòu)允許直接驅(qū)動(dòng)繼電器或固態(tài)繼電器。它常用于單片機(jī)、PLC等控制電路,適合大功率應(yīng)用。ULN2003系列產(chǎn)品具有高電流增益、高工作電壓和出色的帶負(fù)載能力,非常適合需要大功率驅(qū)動(dòng)的系統(tǒng)。圖3.12ULN2003芯片引腳圖步進(jìn)電機(jī)通過將電脈沖轉(zhuǎn)化為機(jī)械角度移動(dòng),實(shí)現(xiàn)了通過雙極性切換方式對(duì)電源進(jìn)行正反向供電的控制。通過調(diào)控發(fā)給電機(jī)的脈沖數(shù),可以精確地控制角位移,而脈沖的頻率則用于調(diào)節(jié)電機(jī)的轉(zhuǎn)速和加速度,從而達(dá)到精確控制電機(jī)的位置和速度的效果。28BYJ48是一個(gè)四相八拍的步進(jìn)電機(jī),可以在DC5V到DC12V的電壓范圍內(nèi)運(yùn)行,通過連續(xù)的脈沖輸入實(shí)現(xiàn)連續(xù)旋轉(zhuǎn)。其工作機(jī)制是在電機(jī)的三個(gè)相上產(chǎn)生變化的電流脈沖,在每個(gè)電流周期內(nèi)生成四個(gè)具有不同極性和頻率的方波脈沖。這造成步進(jìn)電機(jī)繞組的通電狀態(tài)發(fā)生變化,使得轉(zhuǎn)子按照特定的步進(jìn)角進(jìn)行轉(zhuǎn)動(dòng)。在完成一個(gè)周期的脈沖后,轉(zhuǎn)子會(huì)轉(zhuǎn)動(dòng)一個(gè)齒輪的距離。圖3.13驅(qū)動(dòng)方式圖 這樣步進(jìn)電機(jī)在P1的正轉(zhuǎn)順序?yàn)镃W[]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe};//正轉(zhuǎn) 反轉(zhuǎn)就是正轉(zhuǎn)的逆過程代碼為CCW[]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};//反轉(zhuǎn)這樣按一定的時(shí)間直行就會(huì)使步進(jìn)電機(jī)旋轉(zhuǎn)起來。電源電路設(shè)計(jì)由于這次的設(shè)計(jì)方案中,所有電器均采用5V供電模式,無需進(jìn)行降壓或升壓操作,因此,用戶可以直接通過手機(jī)充電器頭或充電器來方便地供電。單片機(jī)使用的是5V的直流電源系統(tǒng),該系統(tǒng)包括了一個(gè)三腳式的電源接口與一個(gè)六腳式的電源切換裝置。電源接口的主要職責(zé)是提供外部電源的連接點(diǎn),其中的第一個(gè)腳與電源切換裝置的第三腳連接。電源切換裝置的第一腳和第三腳功能上與第四腳和第六腳相同,它們主要承擔(dān)電源正極輸出的任務(wù)。同時(shí),第二腳和第五腳設(shè)為單片機(jī)系統(tǒng)的地線。在具體操作中,如果選擇第一腳和第三腳作為輸出,則第五腳作為地線端口;若選擇第四腳和第六腳為輸出,則第二腳將作為地線端口。在此次設(shè)計(jì)的單片機(jī)系統(tǒng)中,無論是傳感器還是無線傳輸模塊,它們所需的供電電壓都維持在5V的范圍之內(nèi)。,因此5V的電壓是完全可以接受的。如果存在12V或其他電壓級(jí)別的傳感器,那么可以使用升壓模塊將5V電壓提升至更高水平以供應(yīng)電力。圖3.14電源電路設(shè)計(jì)圖按鍵設(shè)置電路在這個(gè)系統(tǒng)里,總共采用了四個(gè)獨(dú)立的按鍵,分別是K1、K2、K3以及K4。這次的設(shè)計(jì)按鈕主要用于功能的配置。當(dāng)你按下K1按鈕,可以去切換要調(diào)整的數(shù)據(jù);K2按鈕實(shí)現(xiàn)加功能,K3按鈕實(shí)現(xiàn)減功能,K4按鍵實(shí)現(xiàn)手動(dòng)自動(dòng)模式切換。實(shí)際上,單片機(jī)的按鍵電路是用于檢測高低電平的。當(dāng)按鈕被按下,單片機(jī)的IO接口會(huì)顯示為低電平狀態(tài)。單片機(jī)將依據(jù)電平的特性來確定程序應(yīng)當(dāng)執(zhí)行的各種操作。然而,在編寫按鍵函數(shù)時(shí),有幾個(gè)關(guān)鍵點(diǎn)需要特別留意。當(dāng)你按下按鈕時(shí),它會(huì)產(chǎn)生震動(dòng),因此需要編寫一個(gè)用于消除這種震動(dòng)的函數(shù)。另外,還需要有一段時(shí)間的推遲。如圖展示的是按鍵與電路的連接引腳:圖3.15按鍵與電路的連接引腳圖濁度/光照采集電路設(shè)計(jì)濁度傳感器的工作原理是利用TS-300B濁度傳感器進(jìn)行模數(shù)轉(zhuǎn)換,以此來評(píng)估當(dāng)前的水體環(huán)境的濁度狀況。濁度儀的光學(xué)原理如圖3.16:圖3.16濁度儀的光學(xué)原理圖3.17濁度與電壓關(guān)系圖根據(jù)給定信息,通過ADC0832模數(shù)轉(zhuǎn)換技術(shù)可以確定各種濁度對(duì)應(yīng)的電壓數(shù)值。在光照采集中,利用ADC0832完成模數(shù)轉(zhuǎn)換,可通過電位器校正光照強(qiáng)度。光敏電阻基于光電效應(yīng)工作,其阻值隨光照強(qiáng)度變化。當(dāng)光照增加時(shí),阻值降低,最低可達(dá)1KΩ以下;暗電阻通常為1.5MΩ。光敏電阻器常用于光測、調(diào)控和光電轉(zhuǎn)換,將光變化轉(zhuǎn)化為電信號(hào)。硫化鎘光敏電阻器是一種常見類型,對(duì)于可見光敏感,與人眼感知光譜相似。在光控電路設(shè)計(jì)中,通常使用白熾燈泡或自然光作為光源,簡化了設(shè)計(jì)流程。圖3.18光控電路設(shè)計(jì)圖ADC0832是由美國國家半導(dǎo)體公司制造的數(shù)模轉(zhuǎn)換芯片,它因其出色的兼容性、小巧的體積和高度的穩(wěn)定性而受到廣大用戶的喜愛,它是一款8位雙通道的A/D轉(zhuǎn)換芯片。數(shù)據(jù)需要經(jīng)過模數(shù)轉(zhuǎn)換后才能傳送至單片機(jī)。ADC0832是一款具有8位分辨率的模擬-數(shù)字轉(zhuǎn)換器,它特色在于雙通道的模數(shù)轉(zhuǎn)換能力、與TTL/CMOS兼容的輸入輸出電壓水平,以及在5伏供電下0至5伏的輸入電壓范圍。此外,該轉(zhuǎn)換器在250千赫茲的頻率下工作,擁有32微秒的轉(zhuǎn)換速度,并且在正常運(yùn)作時(shí)僅需大約15毫瓦的功耗。,被認(rèn)為是本系統(tǒng)的理想選擇,因此選擇ADC0832作為模數(shù)轉(zhuǎn)換的器件。表2.3A/D芯片引腳功能端口引腳功能CS片選使能,低電平芯片使能CH0模擬輸入通道0,或作為IN+/-使用CH1模擬輸入通道1,或作為IN+/-使用DI數(shù)據(jù)信號(hào)輸入,選擇通道控制D0數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出CLK芯片時(shí)鐘輸入VCC/REF電源輸入及參考電壓(復(fù)用)GND接地在設(shè)計(jì)階段,A/D轉(zhuǎn)換模塊ADC0832與單片機(jī)連接的四個(gè)引腳分別是CS、CLK、DO和DI。單片機(jī)接收數(shù)據(jù)后會(huì)切換到另一個(gè)端口進(jìn)行處理,并將結(jié)果發(fā)送給計(jì)算機(jī)或其他設(shè)備。DO和DI并行連接在單片機(jī)上,因?yàn)樗鼈儾荒芡瑫r(shí)起作用。為了進(jìn)行A/D轉(zhuǎn)換,為了保持通信有效,CS端必須維持在低電平狀態(tài),同時(shí)單片機(jī)需要向CLK端傳遞時(shí)鐘脈沖信號(hào)。數(shù)據(jù)信號(hào)的選擇是通過DI端實(shí)現(xiàn)的。在時(shí)鐘信號(hào)的首個(gè)下降邊緣到來時(shí),需要確保信號(hào)處于高電平狀態(tài),并在隨后的第二個(gè)和第三個(gè)下降邊緣到來之前,輸入兩位數(shù)據(jù)以選定工作通道。連接濁度傳感器的輸出引腳與AD的任意通道0或1相連是可行的。ADC0832的8位分辨率可將模擬信號(hào)轉(zhuǎn)換為數(shù)字量,以進(jìn)行精確分析。其緊湊、兼容、低成本和長壽命的特點(diǎn)使其適合作為智能電表。圖3.19濁度和光照強(qiáng)度檢測設(shè)計(jì)電路圖無線傳輸電路設(shè)計(jì)在設(shè)計(jì)過程中,采用了HC05藍(lán)牙模塊作為無線通信的核心元件。該模塊能夠?qū)崿F(xiàn)數(shù)據(jù)及參數(shù)的無線傳送至手機(jī),并允許用戶通過手機(jī)實(shí)時(shí)操作物理設(shè)備,兼具主從功能且效率高。它支持一系列廣泛的波特率(從4800到1382400)。在建立微型網(wǎng)絡(luò)之前,該設(shè)備會(huì)處于待機(jī)模式,每隔1.28秒進(jìn)行一次消息監(jiān)聽。一旦設(shè)備被喚醒,它可以根據(jù)預(yù)設(shè)的32個(gè)頻率來監(jiān)聽信息。在主設(shè)備完成初始化并開始連接過程后,用戶可以通過查閱頁面信息來實(shí)現(xiàn)與已知設(shè)備的連接,或者利用廣播信息與未知設(shè)備建立連接。設(shè)備間通過信令傳輸信息,完成網(wǎng)絡(luò)通信和控制功能。設(shè)備可進(jìn)入節(jié)能模式,但需在主設(shè)備的配置中設(shè)置。低能耗操作模式有保持、休眠和監(jiān)聽。藍(lán)牙技術(shù)包括跳頻和時(shí)分多址,通過開關(guān)隔離電源,可切換電路輸入輸出。跳頻接收機(jī)基于單片機(jī)控制,跳頻器由跳頻指令生成器和頻率合成器組成。時(shí)分多址將時(shí)間和幀分割成不重疊的信道,實(shí)現(xiàn)多址連接。圖3.20藍(lán)牙模塊圖水位采集電路設(shè)計(jì)LM393主要特點(diǎn)如下:

(1)工作電源電壓范圍寬,單電源、雙電源均可工作,單電源:2~36V,雙電源:±1~±18V;

(2)消耗電流小,Icc=0.8mA;

(3)輸入失調(diào)電壓小,VIO=±2mV;

(4)共模輸入電壓范圍寬,Vic=0~Vcc-1.5V;

(5)輸出與TTL,DTL,MOS,CMOS等兼容;

(6)輸出可以用開路集電極連接“或”門;采用雙列直插8腳塑料封裝(DIP8)和微形的雙列8腳塑料封裝(SOP8)。LM393引腳圖及內(nèi)部框圖如圖3.21所示:圖3.21LM393內(nèi)部結(jié)構(gòu)圖LM393是一種高增益、寬頻帶的設(shè)備,但在比較器狀態(tài)變化時(shí),可能會(huì)出現(xiàn)輸出電壓的過渡間隙,因寄生電容的耦合會(huì)導(dǎo)致振蕩。為避免這種情況,可使用補(bǔ)償電路調(diào)整反饋信號(hào)和微小的正反饋量,以實(shí)現(xiàn)快速信號(hào)轉(zhuǎn)換。LM393的輸出組件為NPN輸出晶體管,具有高靈敏度、輸出阻抗大、穩(wěn)定性高的特點(diǎn)。其飽和電壓受輸出晶體管的γSAT制約。在設(shè)計(jì)中,使用LM393電壓比較器進(jìn)行電壓比對(duì),當(dāng)水位傳感器檢測到水位時(shí),LM393輸出低電平,單片機(jī)據(jù)此判斷水位。

系統(tǒng)的軟件設(shè)計(jì)在魚缸智能控制系統(tǒng)的設(shè)計(jì)中,軟件設(shè)計(jì)被視為核心和焦點(diǎn),應(yīng)依據(jù)系統(tǒng)的功能需求,并以系統(tǒng)的硬件電路作為軟件設(shè)計(jì)的基石。軟件設(shè)計(jì)要遵循軟件工程理論的基本思想,并結(jié)合具體的應(yīng)用需求,確定軟件系統(tǒng)結(jié)構(gòu)與功能模塊,然后再按照軟件程序流程圖來編制出完整的系統(tǒng)軟件。為了確保所設(shè)計(jì)的軟件具有清晰的功能、便于閱讀和調(diào)試,以及良好的健壯性和可靠性,通常會(huì)選擇使用結(jié)構(gòu)化的編程方法。在軟件設(shè)計(jì)時(shí)必須遵循一定的原則。結(jié)構(gòu)化程序設(shè)計(jì)涵蓋了三個(gè)主要方面的任務(wù):從上到下的設(shè)計(jì)、模塊化的編程以及結(jié)構(gòu)化的編程方法。另外,為了增強(qiáng)程序的穩(wěn)定性,有時(shí)還需對(duì)軟件的抗干擾設(shè)計(jì)進(jìn)行加強(qiáng)。單片機(jī)系統(tǒng)的程序是用單片機(jī)C編程語言開發(fā)的REF_Ref29758\r\h[11],整個(gè)單片機(jī)系統(tǒng)的程序被分為六個(gè)模塊,分別是單片機(jī)數(shù)據(jù)處理、繼電器控制、溫度采集模塊、屏幕顯示模塊、蜂鳴器和步進(jìn)電機(jī)驅(qū)動(dòng)。在每個(gè)功能模塊中都有一個(gè)或幾個(gè)獨(dú)立子程序包。主程序中調(diào)用了子程序。軟件設(shè)計(jì)方法系統(tǒng)軟件的核心設(shè)計(jì)理念是模塊化設(shè)計(jì),這是將軟件分解為多個(gè)功能模塊以滿足不同用戶需求的關(guān)鍵。這一理念基于分解、信息隱藏和模塊獨(dú)立性。分解是將復(fù)雜問題分解為較小問題以降低總體工作量的常見方法REF_Ref31950\r\h[12]。在軟件系統(tǒng)中,各個(gè)子系統(tǒng)或部分可以被看作是由相對(duì)獨(dú)立的子功能模塊組成。模塊的數(shù)量越多,相互聯(lián)系就越緊密,但同時(shí)模塊接口的工作量也會(huì)增加。因此,需要合理劃分模塊數(shù)量和分配工作量,以確保整個(gè)系統(tǒng)開發(fā)工作維持在最低水平。模塊獨(dú)立性是評(píng)估模塊結(jié)構(gòu)合理性的準(zhǔn)則,它涉及模塊內(nèi)部的內(nèi)聚性和模塊間的耦合。內(nèi)聚性指模塊內(nèi)部各部分在功能上相互獨(dú)立而不是互相依賴,而耦合描述的是模塊與其他模塊之間的聯(lián)系。模塊獨(dú)立性的評(píng)估有助于確保模塊的可重用性和系統(tǒng)的可維護(hù)性。另外,軟件開發(fā)過程中的文檔創(chuàng)建至關(guān)重要。文檔記錄了開發(fā)過程中涉及的各種數(shù)據(jù)、圖表等信息,有助于提升開發(fā)流程的可見性。軟件文檔對(duì)于需求理解、系統(tǒng)性能評(píng)估、錯(cuò)誤修復(fù)等方面都具有重要意義。通過編寫軟件文檔,開發(fā)者可以更好地理解系統(tǒng)的運(yùn)行情況,從而提高開發(fā)效率。在進(jìn)行軟件開發(fā)時(shí),選用KeilC51作為開發(fā)環(huán)境能夠顯著提升工作效率。KeilC51是與51系列微控制器兼容的一個(gè)C語言開發(fā)環(huán)境,它提供了廣泛的庫函數(shù)與一站式的開發(fā)及調(diào)試功能。此開發(fā)工具能夠高效生成目標(biāo)代碼,并且生成的匯編代碼緊湊、清晰,便于開發(fā)者理解與維護(hù)。利用KeilC51,開發(fā)人員可以更加方便地編輯、調(diào)整及執(zhí)行匯編語言程序,極大地提升了軟件開發(fā)的效率與便捷性。綜上所述,模塊化設(shè)計(jì)、模塊獨(dú)立性和軟件文檔的創(chuàng)建是系統(tǒng)軟件開發(fā)過程中的重要方面。KeilC51作為一個(gè)優(yōu)秀的軟件開發(fā)平臺(tái),為開發(fā)者提供了豐富的工具和便捷的開發(fā)環(huán)境,有助于提升軟件開發(fā)的效率和質(zhì)量。主程序工作流程圖系統(tǒng)軟件的主程序負(fù)責(zé)監(jiān)測魚缸內(nèi)的各種環(huán)境參數(shù),以實(shí)現(xiàn)魚缸的智能控制。遵循軟件模塊化的設(shè)計(jì)原則,系統(tǒng)功能被細(xì)分為多個(gè)子任務(wù),每個(gè)子任務(wù)都由相應(yīng)的子程序來執(zhí)行;同時(shí)還對(duì)各功能模塊之間的相互關(guān)系進(jìn)行了描述,并給出各個(gè)模塊的程序清單。進(jìn)一步地,這些子程序被有機(jī)地融合在一起,以實(shí)現(xiàn)對(duì)溫度、顯示和時(shí)間等多個(gè)參數(shù)的有效采集REF_Ref20162\r\h[13-15]。通過對(duì)硬件電路和軟件結(jié)構(gòu)的分析與設(shè)計(jì),最終得到了一個(gè)完整的軟件系統(tǒng)REF_Ref29846\r\h[16]。這種設(shè)計(jì)方式,不僅有助于明確設(shè)計(jì)師的思維方向,同時(shí),模塊化設(shè)計(jì)也使得編寫和調(diào)試程序變得更為簡便。圖4.1主程序工作流程圖液晶顯示程序流程圖當(dāng)LCD1602液晶顯示屏啟動(dòng)后,首要步驟是初始化,確保屏幕和內(nèi)部存儲(chǔ)都被重置為零。同時(shí)還對(duì)各功能模塊之間的相互關(guān)系進(jìn)行了描述,并給出各個(gè)模塊的程序清單。隨后,該系統(tǒng)與單片機(jī)實(shí)現(xiàn)雙向通訊,單片機(jī)負(fù)責(zé)控制顯示屏的亮度和顯示內(nèi)容,經(jīng)過一段時(shí)間的延遲后,檢測到的溫度和定時(shí)等信息會(huì)被展示在液晶顯示屏上。通過設(shè)定不同時(shí)刻對(duì)應(yīng)的環(huán)境溫度值和計(jì)時(shí)間隔,可以對(duì)投喂過程中所需要的食物量做出調(diào)整,實(shí)現(xiàn)自動(dòng)調(diào)節(jié)。在確定投食的時(shí)間范圍和轉(zhuǎn)換時(shí)間時(shí),可以根據(jù)按鈕的操作來實(shí)時(shí)調(diào)整數(shù)值。單片機(jī)負(fù)責(zé)控制寫入引腳以寫入顯示內(nèi)容的指令。隨后,顯示屏?xí)?zhí)行命令,展示相關(guān)內(nèi)容。通過以上工作實(shí)現(xiàn)了對(duì)食物量的自動(dòng)調(diào)整以及定時(shí)控制功能。LCD1602的顯示流程圖如3-2所示。圖4.2LCD1602初始化流程圖按鍵設(shè)置程序流程圖在按鍵設(shè)置程序的設(shè)計(jì)中,按鍵電路的功能并不豐富,但它配備了四個(gè)引腳。其中的兩兩是一樣的。當(dāng)需要連接電路時(shí),只需連接兩個(gè)引腳即可。該工作的本質(zhì)是對(duì)于電信號(hào)的電平狀態(tài)進(jìn)行監(jiān)控。當(dāng)用戶操作按鍵時(shí),相應(yīng)的微控制器引腳(IO端口)將檢測到一個(gè)低電平信號(hào)。此時(shí)端口電平發(fā)生的變化會(huì)引起對(duì)應(yīng)的功能響應(yīng)。這些按鍵包括四個(gè)功能:增加、減少、確認(rèn)和切換工作模式。按鍵的功能隨著用戶處于的界面而異。按鍵程序流程圖如圖所示:圖4.3按鍵流程圖步進(jìn)電機(jī)程序流程圖將電動(dòng)機(jī)的正反方向轉(zhuǎn)換為本次設(shè)計(jì)中的自動(dòng)翻蓋部分。一個(gè)是電源控制引腳,另兩個(gè)分別為顯示和聲音控制引腳。當(dāng)系統(tǒng)啟動(dòng)后,它會(huì)判斷電機(jī)是否需要進(jìn)行正轉(zhuǎn)。如果需要,系統(tǒng)會(huì)依次為AB、BC、CD、DA通電以實(shí)現(xiàn)正轉(zhuǎn)。正轉(zhuǎn)結(jié)束后,3S電機(jī)開始進(jìn)行反轉(zhuǎn),即依次為AD、DC、CB、DA進(jìn)行充電。在每次啟動(dòng)過程中檢測電機(jī)轉(zhuǎn)速和電流信號(hào),并將其反饋到單片機(jī)上進(jìn)行比較計(jì)算以達(dá)到自動(dòng)控制。圖4-4展示了電機(jī)驅(qū)動(dòng)子的流程圖。攆鮪圖4.4電機(jī)驅(qū)動(dòng)子程序流程圖鈣薊糾廟。DS18B20溫度采集流程圖在電源激活之后,溫度監(jiān)測設(shè)備立即開始工作。該設(shè)備被安置于水體之中以監(jiān)控溫度變化,并將其轉(zhuǎn)換為電子信號(hào)輸出。微控制器接收到這些信號(hào),對(duì)其進(jìn)行處理計(jì)算,并將處理后的數(shù)據(jù)展示在LCD1602顯示屏上。系統(tǒng)通過對(duì)比實(shí)時(shí)測量的環(huán)境溫度和預(yù)設(shè)定的目標(biāo)溫度值的差異來確定是否需要啟動(dòng)加熱機(jī)制,并予以相應(yīng)提示。在DS18B20數(shù)字溫度傳感器模塊投入使用之前,必須先進(jìn)行一次初始化過程。初始化完成后,模塊會(huì)讀取并記錄自己的唯一序列號(hào),并發(fā)送一個(gè)指令來略過存取內(nèi)部存儲(chǔ)器的步驟。接著模塊啟動(dòng)溫度測量轉(zhuǎn)換,一旦完成轉(zhuǎn)換動(dòng)作,模塊會(huì)接收到一個(gè)復(fù)位信號(hào)。該傳感器會(huì)持續(xù)進(jìn)行溫度數(shù)據(jù)的讀取,除非遭遇干擾而被迫重新開始復(fù)位程序。DS18B20是程序的WENDU(inttemperature);顯示溫度傳感器經(jīng)過短暫的延遲750usvoiddelay(uintcount),然后發(fā)送復(fù)位信號(hào)voiddsreset(void),readabit讀取一位字節(jié),寫入一個(gè)直接到DS18B20里voidtmpwritebyte(uchardat)for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1};發(fā)送溫度轉(zhuǎn)換命令,tmpwritebyte(0xcc);tmpwritebyte(0x44);最后獲取溫度。圖4.5溫度采集流程圖無線串口程序流程圖用戶可以用手機(jī)藍(lán)牙對(duì)附近設(shè)備進(jìn)行搜索,設(shè)備的默認(rèn)名稱是“HC-05”,添加藍(lán)牙設(shè)備后,輸入相應(yīng)的配對(duì)密碼,默認(rèn)設(shè)置為“1234”。點(diǎn)擊“下一步”按鈕,如果密碼設(shè)置正確,那么單片機(jī)與手機(jī)將會(huì)建立通訊連接,并在手機(jī)上選擇9600的波特率,圖4-6是HC-05藍(lán)牙通信模塊配對(duì)流程圖:圖4.6HC-05藍(lán)牙通信流程圖在本次設(shè)計(jì)中,選擇了HC-05藍(lán)牙模塊作為單片機(jī)與手機(jī)之間的主要通訊手段。首先為藍(lán)牙透傳模塊供電,這時(shí)候LED開始閃爍。單片機(jī)上的藍(lán)牙模塊也開始工作,藍(lán)牙的主要功能是通過串口來傳輸數(shù)據(jù),首先是將voiduart_init(unsignedintbaud)初始化;接下來,設(shè)定了9600的設(shè)置率,并確定總斷EA=1;從串口開始,數(shù)據(jù)字符串被發(fā)送:voiduart_send(unsignedchar*bufsunsignedcharlen)bufs是一個(gè)字符串,其中l(wèi)en代表字符串的長度;請耐心等待while(len--)的發(fā)送完成圖4.7藍(lán)牙數(shù)據(jù)傳輸流程圖濁度/光照程序流程圖在獲取濁度或光照強(qiáng)度的模擬信號(hào)之后,這些信號(hào)會(huì)被傳輸給adc0832進(jìn)行后續(xù)處理。對(duì)ADC0832進(jìn)行初始化完成后,鑒于其具備兩個(gè)輸入通道的特性,需要進(jìn)行通道選擇操作。在本設(shè)計(jì)中,選定了通道0來進(jìn)行信號(hào)讀取,且每個(gè)獲取的數(shù)據(jù)以8位字節(jié)形式存在。通過這一過程,最初的模擬信號(hào)被轉(zhuǎn)換為數(shù)字信號(hào),進(jìn)而可以轉(zhuǎn)化為對(duì)應(yīng)的電壓值進(jìn)行讀取。首先對(duì)adc0832的引腳進(jìn)行初始化,其中ADC0832_DIO等于Ch;從CH=0的選擇通道0adc0832開始,你可以讀取ad_value_temp=Read_ADC0832的數(shù)據(jù);在讀取經(jīng)過轉(zhuǎn)換的數(shù)據(jù)后,從其最高位置開始,依次輸出(D7~D0)for(i=0;i<8;i++)dat<<=1;//左移運(yùn)算符,例如c<=c=c<<<2,將c左移2位得度到的值給c。dat=dat<<1,將dat左移1位得度到的值給dat;dat|=ADDO;///C語言中的|=解釋為:按位或后賦值。C語言中的^=解釋為:根據(jù)位異或后賦值。C語言中的&=ADDO;//C語言中的|=端拉值/表示:按位與后賦值ndat。圖4.8濁度/光照程序流程圖

蜂鳴器報(bào)警流程圖在設(shè)計(jì)報(bào)警系統(tǒng)時(shí),采用了蜂鳴器作為警報(bào)裝置,它與家用電器中的揚(yáng)聲器具有一定的相似性。蜂鳴器的運(yùn)行電流通常較高,導(dǎo)致其不易直接通過TTL邏輯電平的電路進(jìn)行驅(qū)動(dòng),因此,必須引入一個(gè)電流增強(qiáng)電路來實(shí)現(xiàn)驅(qū)動(dòng)。這也就意味著,要驅(qū)動(dòng)蜂鳴器發(fā)聲,僅靠微控制器的某個(gè)引腳是不足夠的。為此,設(shè)計(jì)中加入了一個(gè)三極管來提高流經(jīng)蜂鳴器的電流。蜂鳴器的正極連接至三極管,同時(shí),為防止三極管直接飽和導(dǎo)通,還串聯(lián)了一只限流電阻。該電阻通過微控制器的IO口向三極管提供高電平信號(hào)。當(dāng)該IO口輸出高電平時(shí),三極管導(dǎo)通,使得電流能夠在蜂鳴器形成閉環(huán),進(jìn)而產(chǎn)生聲音。反之,當(dāng)三極管的控制引腳處于低電位時(shí),蜂鳴器則停止工作。該設(shè)計(jì)的電路圖詳見圖4.9單片機(jī)輸出高電平蜂鳴器報(bào)警單片機(jī)輸出高電平蜂鳴器報(bào)警是否觸發(fā)報(bào)警條件報(bào)警程序入口返回YNY圖4.9報(bào)警流程圖系統(tǒng)調(diào)試只需將所有的器件焊接在板上,系統(tǒng)就可以開始調(diào)試。這一過程的核心目標(biāo)是解決系統(tǒng)中的硬件問題,優(yōu)化其硬件架構(gòu),測試并執(zhí)行設(shè)計(jì)的程序,糾正程序中的錯(cuò)誤,調(diào)整程序結(jié)構(gòu),確保系統(tǒng)能夠滿足預(yù)期的功能,從而實(shí)現(xiàn)軟件的固化和產(chǎn)品化。系統(tǒng)硬件調(diào)試在控制系統(tǒng)中,硬件和軟件的調(diào)試是相互交織的,但通常首先需要解決系統(tǒng)的硬件問題,特別是電源問題,這樣才能確保連接的安全性并進(jìn)行全面的測試REF_Ref31950\r\h[16]。1.連線錯(cuò)誤、電路斷開、以及短接問題:此類故障常因設(shè)計(jì)不當(dāng)或制造過程中的技術(shù)失誤而發(fā)生,主要表現(xiàn)為連線錯(cuò)誤、電路未正確連接或短接等情況。解決方法:在制作原理圖時(shí),通過細(xì)致審核和調(diào)整,可有效避免這些問題。2.元器件損傷:由于對(duì)元器件的使用標(biāo)準(zhǔn)不夠熟悉,以及在制造和調(diào)試階段操作失誤,導(dǎo)致了元器件的損壞。解決方案:在設(shè)計(jì)階段,需要明確各個(gè)元器件的工作環(huán)境,并嚴(yán)格遵循制造規(guī)范進(jìn)行操作。任何損壞的元器件都應(yīng)及時(shí)替換,以防止對(duì)其他元件造成損害或妨礙電路功能的正常運(yùn)行。3.電源問題:在設(shè)計(jì)階段,電源出現(xiàn)了故障,這意味著一旦通電,元器件可能會(huì)受損,導(dǎo)致供電中斷,從而使電路無法正常運(yùn)行。電源故障分為內(nèi)部故障與外部故障兩類。電源可能出現(xiàn)的問題有:電壓與設(shè)計(jì)標(biāo)準(zhǔn)不匹配,電源的引出線與插座不匹配,不同檔次的電源發(fā)生短路,變壓器的功率不達(dá)標(biāo),內(nèi)部電阻過大,以及負(fù)載承受能力不足等。解決方案:在將電源添加到系統(tǒng)的各個(gè)組件之前,必須對(duì)其進(jìn)行獨(dú)立的調(diào)試。在本設(shè)計(jì)方案中,由于電源問題已經(jīng)出現(xiàn),因此需要多次更換電源以確保其正常運(yùn)行。系統(tǒng)軟件調(diào)試設(shè)計(jì)軟件部分出現(xiàn)這種錯(cuò)誤的現(xiàn)象:在設(shè)計(jì)軟件的過程中,出現(xiàn)了這樣的錯(cuò)誤情況:當(dāng)目標(biāo)系統(tǒng)以斷點(diǎn)或連續(xù)的模式運(yùn)行時(shí),它可

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論