于沁雯
(四川工商學(xué)院計(jì)算機(jī)學(xué)院,四川 成都 611745)
在現(xiàn)代社會的活動中,不斷增加的的活動種類以及數(shù)量,使得我們對水資源的質(zhì)量和品質(zhì)得到了很大程度上的變化,人們?nèi)绻粚λY源進(jìn)行保護(hù)和管理的話,將會在未來對于我們的生活得到更進(jìn)一步的危害。綜上,我們可以通過對水資源的檢測來判斷水的質(zhì)量,從而達(dá)到我們對于水的監(jiān)控。在國內(nèi)的一些生產(chǎn)廠家中,現(xiàn)在大部分都是在生產(chǎn)一些單一參數(shù)的水質(zhì)檢測儀,在最近的幾年中也不乏有一些生產(chǎn)廠家試圖去生產(chǎn)水質(zhì)自動化檢測的裝置。
在智能水池系統(tǒng)中的水的質(zhì)量檢測中對我們的生活也是有著非常重要的意義:智能水池系統(tǒng)能夠確定水當(dāng)中的污染物的種類數(shù)量以及分布有哪些,從中可以分析出來污染物的來源和途徑等等是什么。水池中的水污染物對人體造成的危害可以通過我們的智能水池系統(tǒng)來判斷出,水池中的生產(chǎn)以及如何對水資源的污染物進(jìn)行防止和處理也是可以通過在智能水池系統(tǒng),所以我們因此也達(dá)到了在對人們身體安全的情況下,能夠讓智能水池系統(tǒng)生產(chǎn)和發(fā)展達(dá)到利益的最大化。在最后我們要對周邊附近的地方觀察和評估從而確定是否可以進(jìn)行水產(chǎn)業(yè)進(jìn)行開發(fā),從而進(jìn)一步去避免因?yàn)槲覀兊拿つ慷鴮σ恍┵Y源方面的浪費(fèi)。
該智能水池系統(tǒng)可以實(shí)現(xiàn)對渾濁度以及溫度的實(shí)時顯示,在該系統(tǒng)中通過對按鍵的設(shè)置來調(diào)節(jié)渾濁度的閾值,若超出閾值的設(shè)置將發(fā)出警報(bào)。通過LCD1602液晶顯示器中可以顯示出渾濁度和溫度以及對閾值的選擇;通過按鍵模塊設(shè)計(jì),使用按鍵選擇調(diào)解的渾濁度的最大值或者最小值,通過功能為上下按鍵來調(diào)解渾濁度的大?。贿\(yùn)用蜂鳴器模塊,若渾濁度超出閾值時將進(jìn)行警報(bào);通過渾濁度測試儀來測量待測液體的渾濁度,反應(yīng)該待測液體的渾濁度。
在這個控制系統(tǒng)當(dāng)中,智能水池系統(tǒng)中用到的的單片機(jī)最小系統(tǒng)是整個系統(tǒng)中的主要核心模塊,在這個單片機(jī)里的最小系統(tǒng)中的重要包括成分都有電源電路的部分、STC89C52單片機(jī)的核心模塊、復(fù)位電路的部分以及晶振電路的部分而組成,單片機(jī)的最小系統(tǒng)能夠通過I/O口和其他各種外圍電路相結(jié)合,然后通過軟件程序的編寫來實(shí)現(xiàn)想要的不同種類的功能,該系統(tǒng)如圖2-1所示。
圖2-1 單片機(jī)最小系統(tǒng)示意圖
STC89C52單片機(jī)是一個運(yùn)用5V電源供電,運(yùn)用一般手機(jī)充電器的頭可以輸出電壓為5V的特性,能夠直接給智能水池系統(tǒng)供電,智能水池系統(tǒng)中電源電路中采用了DC電源接口能夠更加方便和穩(wěn)定的供電,再通過連接自鎖開關(guān),能夠更好的控制電源的開關(guān)。智能水池系統(tǒng)中的電源電路的設(shè)計(jì)圖如圖2-2所示。
圖2-2 智能水池系統(tǒng)電源電路示意圖
其中這個單片機(jī)必須能夠連接晶振電路才能夠在正常工作的情況下,從而作用才能進(jìn)行有時鐘信號。同時在該系統(tǒng)中的晶振電路部分會有時鐘信號的產(chǎn)生,這也是通過通電并啟動后會有震蕩而得來的,因此這就是來維持正常的基準(zhǔn)信號。在系統(tǒng)中的晶振部分的電路如圖2-3所示。
圖2-3 智能水池系統(tǒng)晶振電路示意圖
在此次系統(tǒng)中為了能夠得到最初的狀態(tài),從而用復(fù)位電路使單片機(jī)和其他模塊初始化。采用手動復(fù)位的方式,通過按鍵的形式從而來達(dá)到復(fù)位的目的。運(yùn)用按鍵開關(guān)連接電阻和電容的方式實(shí)現(xiàn)復(fù)位模塊。當(dāng)通過改變按鍵的時侯RST引腳就會有電平的變化是由低電平變?yōu)楦唠娖?,也將會?shí)現(xiàn)復(fù)位。智能水池系統(tǒng)復(fù)位電路如圖2-4所示。
圖2-4 智能水池系統(tǒng)復(fù)位電路示意圖
LCD1602液晶顯示器在智能水池系統(tǒng)中的模塊是顯示模塊。它是由主電路、液晶顯示屏等的元器件組合而成的。其中點(diǎn)陣型液晶顯示模塊的字符通常都是由許許多多的5×7或者5×11的形式來組合在一起的。液晶顯示屏上的字符和行間距都可以通過字符位來顯示出每一個字符以及它們之間的間隔。16×2在點(diǎn)陣型液晶顯示屏中可以理解為它每行有16個字符以及能夠顯示兩行。LCD1602液晶顯示器引腳如圖2-5所示。
圖2-5 LCD1602液晶顯示器的引腳圖
此按鍵模塊設(shè)置為獨(dú)立按鍵,因?yàn)樾枰陌存I功能不需要太多,所以運(yùn)用三個按鍵連接I/O口來構(gòu)成獨(dú)立鍵盤設(shè)計(jì)。獨(dú)立按鍵判斷是否被觸發(fā)是根據(jù)讀取到的高低電平來決定的。單片機(jī)剛通上電時,I/O口是通過被連接上高電平,當(dāng)它的電平是從高轉(zhuǎn)化為低的時候,那么按鍵將會被觸發(fā);若按鍵被釋放時,被觸發(fā)的電平也將會恢復(fù)成為高電平。按鍵K3是一鍵多義,當(dāng)?shù)谝淮伟聪聲r是更改渾濁度閾值,第二次按下時是更改PH的閾值,按鍵K2是“+”,按鍵K4是“—”。智能水池系統(tǒng)按鍵電路如圖2-6所示。
圖2-6 智能水池系統(tǒng)按鍵電路示意圖
DS18B20溫度傳感器在能夠編程的分辨率里達(dá)到9到12位的設(shè)備中進(jìn)行溫度讀數(shù)。也正是因?yàn)樗且粭l口線的連接方式,從而它必須先完成ROM的設(shè)定,才能夠?qū)⒂洃浐涂刂频哪芰M(jìn)行正常的使用。
當(dāng)我們完成了溫度的測量出的數(shù)據(jù)時候,那么存儲在它的存儲器當(dāng)中。一般測量出的結(jié)果都會被防止在存儲器中,然后對其進(jìn)行一系列的指揮從而更好的進(jìn)行閱讀存儲。其中它的引腳圖如圖2-7所示;DS18B20溫度傳感器原理圖如圖2-8所示。
圖2-7 DS18B20溫度傳感器引腳圖
圖2-8 DS18B20溫度傳感器示意圖
ADC0832數(shù)模轉(zhuǎn)換是8位的A/D轉(zhuǎn)換器,它的連接方式是通過三線接口的方式然后再與單片機(jī)相連接。這個模塊通常一般是能夠適應(yīng)模擬量相關(guān)的轉(zhuǎn)換要求。它還能夠減少數(shù)據(jù)帶來的誤差并且轉(zhuǎn)換的速度又快又穩(wěn),可以通過雙數(shù)據(jù)來進(jìn)行數(shù)據(jù)校驗(yàn)工作。它的數(shù)模轉(zhuǎn)換是能夠使得電壓的輸入在0~5V之間,ADC0832引腳如圖2-9所示。
圖2-9 ADC0832的引腳圖
它是一種直流電壓供電是蜂鳴器的供電原理。我們通常情況下的類型是有壓電式蜂鳴器和電磁式蜂鳴器的這兩種類型是蜂鳴器的種類。蜂鳴器是可以通過電信號從而產(chǎn)生的磁場,然后在與磁鐵一起推動線圈上的鼓膜,從而有了振動發(fā)聲。在報(bào)警模塊中三極管相當(dāng)于一個開關(guān),如果基極作為一個高電平的時候,那么導(dǎo)通三極管就會產(chǎn)生提示音,然后再通過蜂鳴器的鳴叫來聽是否有異常情況。智能水池系統(tǒng)報(bào)警電路如圖2-10所示。
圖2-10 渾濁度測量儀模塊實(shí)物
圖2-10 智能水池系統(tǒng)報(bào)警電路示意圖
渾濁度測量儀模塊是可以通過檢驗(yàn)液體中的透光程度以及散射程度來進(jìn)一步的判斷出待測液體的渾濁度的情況。在它的內(nèi)部結(jié)構(gòu)中,其實(shí)是有一個紅外線的對管的,但是如果當(dāng)光能夠穿過一定量的水的時候,我們就可以通過的光透過的情況從而來進(jìn)行判斷待測液體的污濁程度。渾濁度傳感器模塊是能夠?qū)⑤敵鰜淼碾娏餍盘栟D(zhuǎn)變?yōu)殡妷盒盘?,同時在通過單片機(jī)中的A/D轉(zhuǎn)換來進(jìn)行處理。具體渾濁度測量儀模塊實(shí)物圖如圖2-13所示。
我們首先對智能水池系統(tǒng)中的不同模塊之間進(jìn)行初始化。設(shè)置渾濁度的閾值,我們在通過對渾濁度傳感器在想要進(jìn)行測量的待測液體中測量,這樣我就可以實(shí)時出反映的溫度以及渾濁度,對于設(shè)置的閾值,如果渾濁度傳感器測量待測液體時超出了閾值的測量,則蜂鳴器就會報(bào)警。通過蜂鳴器的報(bào)警以及液晶顯示屏上的內(nèi)容,進(jìn)而可以相對準(zhǔn)確的來判斷出渾濁度是否超出設(shè)定值。通過流程圖的形式更加清晰的展示了我的主程序的設(shè)計(jì)方案,所以智能水池系統(tǒng)主程序設(shè)計(jì)方案流程圖如圖3-1所示。
圖3-1 智能水池系統(tǒng)主程序設(shè)計(jì)方案流程圖
設(shè)置液晶顯示屏上顯示的內(nèi)容是LCD1602顯示程序設(shè)計(jì)主要的方面,以及設(shè)置顯示方式。通過對LCD1602顯示程序設(shè)計(jì)來達(dá)到對渾濁度以及溫度的實(shí)時顯示的展現(xiàn),并且我們通過在對按鍵方面的設(shè)置來顯示出設(shè)置的渾濁度的閾值。LCD1602顯示程序設(shè)計(jì)如圖4-3所示。
圖3-2 LCD1602顯示程序設(shè)計(jì)流程圖
在這個的模塊作用下,它不僅能夠運(yùn)行出在一般情況下的模擬量轉(zhuǎn)換,而且它的最高的分辨率也是能夠達(dá)到256級。正因?yàn)槿绱耍@樣它是由8位的分辨率A/D轉(zhuǎn)換芯片來構(gòu)成的此模塊。其中它的芯片給的供電額度是在0~5V之間。為了減少相對應(yīng)的誤差,我們可以進(jìn)行兩個數(shù)據(jù)的輸出的目的來達(dá)到校驗(yàn)數(shù)據(jù)的功能,并且它也穩(wěn)定的發(fā)揮同時它的轉(zhuǎn)換的速度也很快的。智能水池系統(tǒng)ADC0832程序設(shè)計(jì)流程圖如圖4-4所示。
圖4-4 智能水池系統(tǒng)單片機(jī)工作檢測圖
圖3-3 ADC0832程序設(shè)計(jì)流程圖
智能水池系統(tǒng)設(shè)計(jì)中,正因?yàn)闇囟饶K是經(jīng)過一條路來進(jìn)行數(shù)據(jù)的傳輸,然而這條路徑需要通過讀和寫。注意總線控制器發(fā)出的間隙信號才能對DS18B20正確的操作和控制。在程序編寫時,要把握好電平根據(jù)時間的變化,控制好DS18B20。智能水池系統(tǒng)模塊程序設(shè)計(jì)流程圖如圖3-4所示。
圖3-4 模塊程序設(shè)計(jì)流程圖
對顯示器模塊進(jìn)行檢查,通過電源的接通,觀察一下液晶顯示器有沒有正常的顯示出來,顯示屏中的字是否正確顯示,顯示屏中是否有出現(xiàn)亂碼的現(xiàn)象。智能水池系統(tǒng)顯示屏顯示如圖4-1所示。
圖4-1 智能水池系統(tǒng)顯示器調(diào)試圖
將渾濁度傳感器放入待測液體,測量待測液體的渾濁度值,通過蜂鳴器來對設(shè)置的閾值進(jìn)行反饋。如果待測液體超過對渾濁度傳感器設(shè)置的閾值,那么蜂鳴器就會報(bào)警。智能水池系統(tǒng)模塊調(diào)試如圖5-2所示。
圖4-2 智能水池系統(tǒng)渾濁度檢測儀模塊調(diào)試圖
檢測電路中的供電情況,萬用表調(diào)到電壓檔位,檢測單片機(jī)的電源引腳與地的引腳,它們之間的電壓值,觀察顯示屏中的電壓值是否在5V的左右從而判斷是否能正常供電。智能水池系統(tǒng)電源電壓測試如圖4-3所示。
圖4-3 智能水池系統(tǒng)電源電壓檢測圖
檢測單片機(jī)是否能夠正常的進(jìn)行工作,將萬用表調(diào)到電壓檔位進(jìn)行檢測,黑表筆接觸單片機(jī)30引腳,紅表筆接觸單片機(jī)20引腳,觀察萬用表顯示是否在一點(diǎn)多。智能水池系統(tǒng)單片機(jī)工作檢測如圖5-4所示。
硬件檢查完可以的情況下,通過Keil軟件對代碼編程進(jìn)行測試,根據(jù)具體的硬件模塊進(jìn)行軟件的仿真。在代碼正確的情況下,用仿真軟件進(jìn)行檢查,軟件能否正常運(yùn)作。軟件代碼編程的調(diào)試如圖4-5所示。智能水池系統(tǒng)仿真如圖4-6所示。
圖4-5 智能水池系統(tǒng)程序調(diào)試圖
圖4-6 智能水池系統(tǒng)仿真調(diào)試圖
當(dāng)接通電源并且打開開關(guān)時,初始化屏幕上第一行顯示PH:0,Temp:25℃;第二行顯示Sta:Manu。第一行PH值是當(dāng)前未測量待測液體時的初始化的值,25℃為初始化時當(dāng)前溫度值。智能水池系統(tǒng)測試如圖4-7所示。
圖4-7 智能水池系統(tǒng)測試圖
隨后準(zhǔn)備好的待測液體,將渾濁度傳感器放入待測液體中,液晶顯示屏將會顯示PH值,并且實(shí)時顯示待測液體的溫度。如果PH值超出了設(shè)置的閾值時,蜂鳴器將會進(jìn)行報(bào)警。此時檢測待測液體PH值為7,當(dāng)前溫度為27℃。智能水池系統(tǒng)功能測試圖如圖4-8所示。
圖4-8 智能水池系統(tǒng)功能測試圖
本次課題主要是通過了一個以單片機(jī)為核心的智能水池系統(tǒng),首先描述了智能水池系統(tǒng)目前的國內(nèi)外發(fā)展的情景狀況,通過關(guān)于單片機(jī)的智能水池系統(tǒng)外部元件以及單片機(jī)內(nèi)部的程序編程。主要的硬件部分是通過STC89C52型號的單片機(jī)用作于中心控制模塊,智能水池系統(tǒng)中通過與復(fù)位模塊、顯示模塊、按鍵模塊、溫度傳感器、渾濁度檢測儀一起來構(gòu)成智能水池系統(tǒng)的硬件電路,再將通過編輯軟件程序,來使得能夠?qū)崿F(xiàn)本課題設(shè)計(jì)需要實(shí)現(xiàn)的功能:通過使用按鍵輸入來更改渾濁度和溫度的最大值與最小值,運(yùn)用渾濁度檢測儀在待測液體內(nèi)測量是否達(dá)到設(shè)置的最值,并通過蜂鳴器來警報(bào),顯示模塊可以實(shí)時觀看測量的溫度與渾濁度值是多少并在顯示屏中顯示。最后在對系統(tǒng)的功能進(jìn)行調(diào)試,將分別對硬件部分和軟件部分來進(jìn)行檢查,從而達(dá)到了最初實(shí)現(xiàn)的功能。