張秋晶 林旭珠 邱金波 吳潔華
(廣東石油化工學(xué)院電子信息工程學(xué)院,廣東 茂名525000)
近年來(lái),隨著科學(xué)技術(shù)的快速進(jìn)步和經(jīng)濟(jì)的發(fā)展,人們的消費(fèi)理念和以前大不相同,對(duì)物質(zhì)和精神生活質(zhì)量的要求也越來(lái)越高,智能魚缸作為一種智能化產(chǎn)品,受到了廣大群眾的熱愛。智能魚缸養(yǎng)殖系統(tǒng)是利用物聯(lián)網(wǎng)技術(shù)、傳感器技術(shù)和計(jì)算機(jī)處理技術(shù)發(fā)展起來(lái)的一種現(xiàn)代科學(xué)養(yǎng)殖新模式。
本系統(tǒng)以STM32F103 單片機(jī)為控制核心,結(jié)合嵌入式技術(shù)、傳感器技術(shù)和Android 開發(fā)等技術(shù)設(shè)計(jì)出滿足功能的智能魚缸養(yǎng)殖系統(tǒng)。智能魚缸養(yǎng)殖系統(tǒng)有多個(gè)子系統(tǒng),包括智能溫控系統(tǒng)、智能酸堿系統(tǒng)、自動(dòng)換水系統(tǒng)、自動(dòng)供氧系統(tǒng)、自動(dòng)喂食系統(tǒng)、自動(dòng)照明系統(tǒng)和顯示系統(tǒng),集多個(gè)子系統(tǒng)于一體。系統(tǒng)通過(guò)WiFi 模塊連入移動(dòng)終端,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控魚缸的溫度、酸堿度、換水、供氧、投食、照明。系統(tǒng)功能框架圖如圖1 所示。
本系統(tǒng)采用把STM32F103C8T6 作為主控芯片,它的主要作用是處理接收到的數(shù)據(jù),而它的外圍組成包括WiFi 模塊、傳感器模塊、驅(qū)動(dòng)模塊、顯示模塊等。通過(guò)傳感器模塊采集到的數(shù)據(jù)返回到主控芯片來(lái)控制相應(yīng)的驅(qū)動(dòng)模塊,包括水泵、水龍頭、步進(jìn)電機(jī)、加熱棒、加氧器、燈光、顯示屏,檢測(cè)魚缸狀態(tài)顯示在屏幕上并傳送給WiFi 模塊,傳輸?shù)揭苿?dòng)終端。STM32F103C8T6 是一款基礎(chǔ)型、低功耗的微控制器,其主頻可達(dá)72MHz,內(nèi)置64K閃存,并具有時(shí)鐘、復(fù)位和電源管理功能[1]。
采集溫度數(shù)據(jù)利用DS18B20 模塊進(jìn)行采集,DS18B20 溫度傳感器是一種數(shù)字式溫度傳感器。它具有以下幾大特性:溫度傳感器結(jié)構(gòu)簡(jiǎn)單,測(cè)試溫度時(shí)不需要任何外部元器件;測(cè)溫范圍廣,最低可測(cè)到-55℃,最高可測(cè)到+125℃;輸出信號(hào)為數(shù)字信號(hào)[2]。DS18B20 模塊電路圖如2 所示。
PH 值數(shù)據(jù)利用雷磁E-201-C 型復(fù)合電極模塊進(jìn)行采集。用于測(cè)量溶液的PH 值,它由三個(gè)電極:參比電極、指示電極和電極溫度組成。參考電極、指示電極和溶液形成原電池,通過(guò)測(cè)量電極之間的電位差,可以檢測(cè)出溶液中氫離子的濃度,最終測(cè)量出液體的PH 值[3]。PH 值傳感器模塊電路圖如圖3。
圖1 系統(tǒng)功能框架圖
圖2 DS18B20 模塊電路圖
圖3 PH 值傳感器模塊電路圖
水位值數(shù)據(jù)利用水位傳感器模塊進(jìn)行采集。該水位傳感器是由三極管跟幾條梳狀的PCB 走線構(gòu)成的放大電路,其中梳狀的PCB 走線在水中呈現(xiàn)出一個(gè)隨水的深度變化而變化的電阻,由此將水的深度信號(hào)轉(zhuǎn)換成電信號(hào),再通過(guò)STM32 的模數(shù)轉(zhuǎn)換功能得知水位數(shù)據(jù)。水位傳感器的電路圖如圖4 所示。
圖4 電源供電方案
光敏傳感器是利用光敏電阻將光信號(hào)轉(zhuǎn)換為電信號(hào)的傳感器,其電阻值隨著落在其上的光強(qiáng)度的增加而減小。光敏電阻傳感器模塊原理圖如圖5 所示。
圖5 光敏電阻傳感器模塊原理圖
上位機(jī)軟件設(shè)計(jì)中系統(tǒng)內(nèi)各個(gè)模塊的初始化都是由軟件主程序完成的,同時(shí)它也實(shí)現(xiàn)對(duì)各個(gè)功能子模塊的調(diào)用,包括通信模塊、驅(qū)動(dòng)模塊和采集檢測(cè)模塊。APP 軟件設(shè)計(jì)是利用Socket網(wǎng)絡(luò)編程實(shí)現(xiàn)手機(jī)與單片機(jī)WIFI 模塊的通信,讓客戶端與服務(wù)端處在同一局域網(wǎng)下,規(guī)定雙方通信的端口號(hào),設(shè)置客戶端的IP 地址,雙方進(jìn)行連接。設(shè)置APP 的按鈕控件,調(diào)用數(shù)據(jù)的輸入輸出流方法來(lái)實(shí)現(xiàn)數(shù)據(jù)的接收與發(fā)送;文本控件在接收到數(shù)據(jù)時(shí)將數(shù)據(jù)顯示出來(lái)。
主程序模塊主要是完成控制系統(tǒng)內(nèi)各種部件的初始化,以及實(shí)現(xiàn)對(duì)各類功能子模塊的調(diào)用,涵蓋初始化、通信模塊跟采集模塊,系統(tǒng)軟件主程序根據(jù)傳感器采集到的數(shù)據(jù)及系統(tǒng)設(shè)置的參數(shù)值對(duì)相關(guān)驅(qū)動(dòng)進(jìn)行調(diào)節(jié)。
智能魚缸養(yǎng)殖系統(tǒng)的主程序流程為:
4.2.1 系統(tǒng)的初始化,包括硬件初始化和軟件初始化;
4.2.2 對(duì)魚缸中的環(huán)境參數(shù)進(jìn)行采集,獲取各種環(huán)境參數(shù),根據(jù)系統(tǒng)設(shè)定的值和獲取環(huán)境參數(shù)的值進(jìn)行調(diào)節(jié)相應(yīng)的驅(qū)動(dòng),使魚缸中的環(huán)境能夠滿足魚的生長(zhǎng);
4.2.3 利用WiFi 將單片機(jī)與手機(jī)互聯(lián)網(wǎng)相連,通過(guò)手機(jī)APP 可以對(duì)各個(gè)參數(shù)進(jìn)行設(shè)置,包括換水時(shí)間、喂食時(shí)間、溫度值、水位值及PH 值;
根據(jù)傳感器實(shí)際采集檢測(cè)的情況處理,然后在LCD 顯示,LCD 有兩種顯示界面:一種顯示界面顯示當(dāng)前測(cè)到的值,另外一種是設(shè)置參數(shù)界面,參數(shù)設(shè)置界面是通過(guò)手機(jī)APP 控制,可以手動(dòng)設(shè)置魚缸中的參數(shù)。
本次設(shè)計(jì)以STM32 芯片作為主控模塊,通過(guò)傳感器模塊采集到的數(shù)據(jù)返回到主控芯片來(lái)控制相應(yīng)的驅(qū)動(dòng)模塊檢測(cè)魚缸狀態(tài)顯示在屏幕上并傳送給WiFi 模塊,傳輸?shù)揭苿?dòng)終端。在研究設(shè)計(jì)過(guò)程中,對(duì)系統(tǒng)的各個(gè)需求進(jìn)行深度探討研究,細(xì)化到每個(gè)硬件模塊的具體構(gòu)成、芯片的正確選擇、電路的穩(wěn)定性設(shè)計(jì)等等,還有軟件程序的邏輯性分析和軟件執(zhí)行的合理性設(shè)計(jì)。