何曉鳳,毛智遠(yuǎn)
(淮陰工學(xué)院 電子信息工程學(xué)院,江蘇淮安,223001)
目前我國的養(yǎng)殖業(yè)呈現(xiàn)出規(guī)模化的趨勢,主要采取全封閉或者半封閉的養(yǎng)殖方式,現(xiàn)代的這些封閉性高、養(yǎng)殖密度大的養(yǎng)殖場,內(nèi)部的溫度、濕度、光照強度和通風(fēng)等因素對于家禽的生長影響很大[1]。而我國養(yǎng)殖企業(yè)目前較多采用主觀判斷和人工采樣的方法來監(jiān)測和控制環(huán)境參數(shù),準(zhǔn)確率低、浪費人力,也難以全面監(jiān)測環(huán)境[2],因此調(diào)節(jié)、控制養(yǎng)殖環(huán)境對雞只養(yǎng)殖具有重要意義。本課題利用微控制器技術(shù)和傳感器技術(shù)可以對養(yǎng)殖場內(nèi)部環(huán)境進行實時監(jiān)測,為所養(yǎng)殖的雞只提供最優(yōu)的生長環(huán)境提供幫助。
本系統(tǒng)選用STC89C52RC單片機作為系統(tǒng)的主控芯片,通過傳感器采集養(yǎng)殖場內(nèi)的環(huán)境數(shù)據(jù)。將數(shù)據(jù)進行處理后,單片機向各模塊發(fā)送控制信號,實現(xiàn)自動光照控制和對養(yǎng)殖場內(nèi)溫度、濕度、水箱水位等環(huán)境因素的監(jiān)測,環(huán)境參數(shù)可以通過語言模塊進行播報,并由WIFI 發(fā)送到上位機,從而為家禽創(chuàng)造一個良好的生存環(huán)境提供幫助[3]。智能養(yǎng)殖監(jiān)測系統(tǒng)整體架構(gòu)圖如圖1 所示,主要包括主控芯片模塊、溫濕度檢測模塊、水位檢測模塊、顯示模塊、光照檢測模塊、補光系統(tǒng)和語音模塊。

圖1 系統(tǒng)整體架構(gòu)圖
2.1.1 溫濕度檢測電路設(shè)計
DHT11 的測溫功能由其內(nèi)部的NTC(Negative Temperature Coefficient)測溫元件實現(xiàn),而濕度則由一個內(nèi)部的電阻式感濕元件來實現(xiàn)[4]。它們分別獲得溫度和相對濕度的模擬量,再經(jīng)過內(nèi)部的AD 轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量由單線串行接口發(fā)送到單片機。由于DHT11 使用的是單線串行接口,所以本設(shè)計是將DHT11 的DATA 數(shù)據(jù)口接到了P3.7 口,并接了一個4.7K 的上拉電阻,VCC 接+5V 電壓,GND 接地,為DHT11 和發(fā)光二極管LED1 供電,NC 懸空,其中LED1 是電源指示燈,為了監(jiān)測DHT11 是否正在工作。具體電路如圖2 所示。

圖2 溫濕度檢測電路
2.1.2 光照強度檢測電路設(shè)計
本設(shè)計選用GY-30 光強度檢測模塊,由單片機控制以獲取養(yǎng)殖場內(nèi)部的光照數(shù)據(jù),模塊的傳感器選用BHF1750FVI。BH1750FVI 的檢測原理是養(yǎng)殖廠內(nèi)部的光照射到二極管后,電流經(jīng)過AMP 運放電路轉(zhuǎn)換成電壓,再由其內(nèi)部的AD 轉(zhuǎn)換器轉(zhuǎn)換為16 位數(shù)據(jù),數(shù)據(jù)經(jīng)過處理后在由I2C 總線發(fā)送到單片機。其中ADD 為I2C 總線的地址線,這里直接接地。SDA 為雙向數(shù)據(jù)線接單片機P3.6 口,SCL為時鐘線接P3.5 口,光強度檢測模塊通過SCL、SDA 與單片機實現(xiàn)互相通信。光強度檢測電路如圖3 所示。

圖3 光強度檢測電路設(shè)計
2.1.3 水位檢測電路設(shè)計
水位檢測模塊采用水位傳感器和AD 轉(zhuǎn)換器來實現(xiàn)。水位傳感器選用模擬水位傳感器,ADC 芯片選用PCF8591。水位傳感器的S 口接PCF8591 的模擬輸入端AIN0,PCF8591 的三根地址線接地,SCL、SDA 分別接單片機的P0.1 和P0.0 口,由于接在P0 口還需要接兩個10k 的上拉電阻。將傳感器放置在水箱高度10%的位置,能實現(xiàn)監(jiān)測功能。具體電路如圖4 所示。

圖4 水位檢測電路設(shè)計
ESP8266 是由深圳樂鑫科技開發(fā)的一款超低功耗UART-WIFI 芯片,其支持標(biāo)準(zhǔn)的IEEE802.11b/g/n 協(xié)議,內(nèi)置完整的TCP/IP 協(xié)議棧。而且其價格低、穩(wěn)定性高、串口速率可達4Mbps,是一款性價比極高的產(chǎn)品。通信模塊與單片機之間通過串口來相互通信,通信模塊的RX、TX 口分別接單片機的P3.1(TxD)口和P3.0(RxD)口。因為ESP模塊的標(biāo)準(zhǔn)工作電壓是3.3V,但本系統(tǒng)的電壓是5V,所以需要一個降壓模塊,將通信模塊與一個3.3k 的電阻并聯(lián)在與一個1.7k 的電阻串聯(lián),因為串聯(lián)分壓并聯(lián)電壓相等的原理,通信模塊可獲得3.3V的工作電壓,由于這樣電流過小,因此需要利用三極管放大電流的原理,讓模塊獲得合適的工作電流。WIFI 模塊電路設(shè)計如圖5 所示。

圖5 WIFI 模塊電路設(shè)計
語音播報模塊可根據(jù)用戶選擇是否播報當(dāng)前養(yǎng)殖場內(nèi)部的環(huán)境數(shù)據(jù),由揚聲器和語音播報芯片構(gòu)成。語音播報芯片選擇JQ8400。本設(shè)計選擇單線串口控制模式,將JQ8400 的ONE-LINE 口接到單片機的P0.2 口,因為接的是P0 口還需要接一個10k 的上拉電阻。SPK+與SPK-分別接在揚聲器的正負(fù)極上。將獨立按鍵的兩端分別接地和單片機的P1.0 口,用戶如按獨立按鍵,語音播報模塊則播報環(huán)境數(shù)據(jù)。語音播報模塊電路設(shè)計如圖6 所示。

圖6 語音播報模塊電路設(shè)計
補光系統(tǒng)主要由實時時鐘、繼電器、LED 燈組成,當(dāng)室內(nèi)光照不足時能夠自動開燈。實時時鐘芯片選用DS1302。DS1302 的X1、X2 接一個32.768kHz 的晶振為它提供時鐘,SCLK、IO、CE 分別接單片機的P1.5、P1.6、P1.7 口實線相互通信。繼電器線圈的一端分別接三個PNP 型三極管的發(fā)射極,三極管集電極接地,基極接單片機的P0.4、P0.5、P0.6 口,因為是P0 口所以還需要10k 的上拉電阻,另一端接VCC,開關(guān)端接LED 燈以實現(xiàn)補光功能,LED 燈需接1.2k 的限流電阻防止電流過大導(dǎo)致的擊穿。通過四個獨立按鍵可以給實時時鐘調(diào)時。蜂鳴器接在單片機的P0.7 口,其內(nèi)部已包含上拉電阻。補光和報警電路設(shè)計如圖7 所示。

圖7 補光和報警電路設(shè)計
LCD1602 的A 口和K 口分別為背光的正負(fù)極,VDD 為電源正極,VSS 時電源負(fù)極,V0 通過電阻接地來調(diào)節(jié)顯示屏的對比度,經(jīng)過測試本設(shè)計選擇接一個3.3k的電阻,RS口是寄存器選擇信號,接單片機P3.4 口。RW 口是讀寫信號,接單片機P3.3 口。E 口是使能端,接單片機P3.2 口。D0 至D7 口是雙向數(shù)據(jù)口,接單片機P2 口。LCD1602 顯示電路設(shè)計如圖8 所示。

圖8 LCD1602液晶顯示電路設(shè)計
系統(tǒng)上電后,主程序運行,先進行初始化設(shè)置,然后發(fā)送指令啟動溫濕度、水位傳感器和光照傳感器,將采集到的雞舍內(nèi)部的溫濕度、光照和水箱水位的結(jié)果顯示在液晶屏幕上,并通過WIFI 模塊發(fā)送到PC 端。檢測獨立按鍵判斷是否播報現(xiàn)實的數(shù)據(jù),然后將數(shù)據(jù)與預(yù)設(shè)值進行對比,如果值在正常范圍以內(nèi),則進入下一個循環(huán);若超出正常范圍,則通過單片機控制LED 燈或語言模塊,開啟補光、報警。系統(tǒng)的主程序流程如圖9 所示。

圖9 主程序流程圖設(shè)計
單片機判斷按鍵狀態(tài)來選擇是否播報數(shù)據(jù),如果播報,通過單線串口發(fā)送控制命令,組合播放flash 中的語音文件。高位在前,高低電平的比值為3:1 時為1,1:3 時為0。控制命令由三部分組成,清空數(shù)字:清空上一次發(fā)送的命令。曲目號:選擇要播放的文件,選曲播放:播放命令。子程序流程圖如圖10 所示。

圖10 語音播報子程序設(shè)計
系統(tǒng)上電前,首先用串口助手配置好ESP8266 的參數(shù)如波特率、WIFI 等。系統(tǒng)上電,等待ESP8266 連接好WIFI,單片機通過串口發(fā)送AT 指令設(shè)置上位機的IP 和端口。發(fā)送AT 指令設(shè)置發(fā)送數(shù)據(jù)的長度,然后將存有環(huán)境參數(shù)的數(shù)組發(fā)送出去,每一分鐘發(fā)送一次。上位機部分,用node.js 實現(xiàn)上位機后端程序。通過監(jiān)聽上位機的端口來獲得養(yǎng)殖廠內(nèi)部的環(huán)境數(shù)據(jù),并通過txt的形式保存在本地,方便查找。子程序流程圖如圖11 所示。

圖11 通信子程序設(shè)計
(1)當(dāng)系統(tǒng)上電后,LCD1602 顯示出當(dāng)前的溫度為24℃,相對濕度為58%,光照強度為1208lx,符合當(dāng)前的實際數(shù)據(jù),表示DHT11 和BH1750 的功能正常,能夠正確的獲取當(dāng)前的環(huán)境數(shù)據(jù)。系統(tǒng)實現(xiàn)了溫度、濕度、光照強度的實時監(jiān)測功能。
(2)當(dāng)模擬水位傳感器浸沒在水中時,LCD1602 顯示OK 表示水箱水量充足。當(dāng)水位下降到模擬水位傳感器下方時,LCD1602 顯示NO、蜂鳴器報警表示水箱水量不足。根據(jù)上述測試,水位監(jiān)測模塊功能正常。系統(tǒng)實現(xiàn)了實時水位監(jiān)測功能。
(3)打開上位機,開始監(jiān)聽端口,上位機接收到來自ESP8266 的數(shù)據(jù)并保存在本地的TXT 中。將接收到的環(huán)境數(shù)據(jù)與LCD1602 顯示的環(huán)境數(shù)據(jù)作對比可知,系統(tǒng)的通信功能測試正常。系統(tǒng)實現(xiàn)了Wi-Fi 通信功能。
(4)當(dāng)時間在早5 點至晚21 點之間,光照強度<200lx以下時,開啟三組照明燈給養(yǎng)殖場內(nèi)部補光;光照強度在200~300lx 時,開啟二組照明燈給養(yǎng)殖場內(nèi)部補光;光照強度在300~400lx 時,開啟二組照明燈給養(yǎng)殖場內(nèi)部補光;光照強度>400lx 時,光照足夠,養(yǎng)殖場內(nèi)部不需要補光,關(guān)閉所有照明燈。當(dāng)時間在晚21 點至早5 點之間時,養(yǎng)殖場內(nèi)部不需要補光,關(guān)閉所有照明燈。
智能養(yǎng)殖監(jiān)測系統(tǒng)可以實時檢測環(huán)境中的各項參數(shù)指標(biāo),以防環(huán)境變化對養(yǎng)殖場造成不利影響,并且大大減輕了養(yǎng)殖人員的工作量[5]。上述設(shè)計具有性能穩(wěn)定、價格低廉、操作方便、經(jīng)濟效益良好等優(yōu)點。本系統(tǒng)的應(yīng)用具有較高的使用價值,在養(yǎng)殖領(lǐng)域具有良好的發(fā)展前景。