何曉鳳,毛智遠(yuǎn)
(淮陰工學(xué)院 電子信息工程學(xué)院,江蘇淮安,223001)
目前我國(guó)的養(yǎng)殖業(yè)呈現(xiàn)出規(guī)?;内厔?shì),主要采取全封閉或者半封閉的養(yǎng)殖方式,現(xiàn)代的這些封閉性高、養(yǎng)殖密度大的養(yǎng)殖場(chǎng),內(nèi)部的溫度、濕度、光照強(qiáng)度和通風(fēng)等因素對(duì)于家禽的生長(zhǎng)影響很大[1]。而我國(guó)養(yǎng)殖企業(yè)目前較多采用主觀判斷和人工采樣的方法來(lái)監(jiān)測(cè)和控制環(huán)境參數(shù),準(zhǔn)確率低、浪費(fèi)人力,也難以全面監(jiān)測(cè)環(huán)境[2],因此調(diào)節(jié)、控制養(yǎng)殖環(huán)境對(duì)雞只養(yǎng)殖具有重要意義。本課題利用微控制器技術(shù)和傳感器技術(shù)可以對(duì)養(yǎng)殖場(chǎng)內(nèi)部環(huán)境進(jìn)行實(shí)時(shí)監(jiān)測(cè),為所養(yǎng)殖的雞只提供最優(yōu)的生長(zhǎng)環(huán)境提供幫助。
本系統(tǒng)選用STC89C52RC單片機(jī)作為系統(tǒng)的主控芯片,通過(guò)傳感器采集養(yǎng)殖場(chǎng)內(nèi)的環(huán)境數(shù)據(jù)。將數(shù)據(jù)進(jìn)行處理后,單片機(jī)向各模塊發(fā)送控制信號(hào),實(shí)現(xiàn)自動(dòng)光照控制和對(duì)養(yǎng)殖場(chǎng)內(nèi)溫度、濕度、水箱水位等環(huán)境因素的監(jiān)測(cè),環(huán)境參數(shù)可以通過(guò)語(yǔ)言模塊進(jìn)行播報(bào),并由WIFI 發(fā)送到上位機(jī),從而為家禽創(chuàng)造一個(gè)良好的生存環(huán)境提供幫助[3]。智能養(yǎng)殖監(jiān)測(cè)系統(tǒng)整體架構(gòu)圖如圖1 所示,主要包括主控芯片模塊、溫濕度檢測(cè)模塊、水位檢測(cè)模塊、顯示模塊、光照檢測(cè)模塊、補(bǔ)光系統(tǒng)和語(yǔ)音模塊。
圖1 系統(tǒng)整體架構(gòu)圖
2.1.1 溫濕度檢測(cè)電路設(shè)計(jì)
DHT11 的測(cè)溫功能由其內(nèi)部的NTC(Negative Temperature Coefficient)測(cè)溫元件實(shí)現(xiàn),而濕度則由一個(gè)內(nèi)部的電阻式感濕元件來(lái)實(shí)現(xiàn)[4]。它們分別獲得溫度和相對(duì)濕度的模擬量,再經(jīng)過(guò)內(nèi)部的AD 轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量由單線串行接口發(fā)送到單片機(jī)。由于DHT11 使用的是單線串行接口,所以本設(shè)計(jì)是將DHT11 的DATA 數(shù)據(jù)口接到了P3.7 口,并接了一個(gè)4.7K 的上拉電阻,VCC 接+5V 電壓,GND 接地,為DHT11 和發(fā)光二極管LED1 供電,NC 懸空,其中LED1 是電源指示燈,為了監(jiān)測(cè)DHT11 是否正在工作。具體電路如圖2 所示。
圖2 溫濕度檢測(cè)電路
2.1.2 光照強(qiáng)度檢測(cè)電路設(shè)計(jì)
本設(shè)計(jì)選用GY-30 光強(qiáng)度檢測(cè)模塊,由單片機(jī)控制以獲取養(yǎng)殖場(chǎng)內(nèi)部的光照數(shù)據(jù),模塊的傳感器選用BHF1750FVI。BH1750FVI 的檢測(cè)原理是養(yǎng)殖廠內(nèi)部的光照射到二極管后,電流經(jīng)過(guò)AMP 運(yùn)放電路轉(zhuǎn)換成電壓,再由其內(nèi)部的AD 轉(zhuǎn)換器轉(zhuǎn)換為16 位數(shù)據(jù),數(shù)據(jù)經(jīng)過(guò)處理后在由I2C 總線發(fā)送到單片機(jī)。其中ADD 為I2C 總線的地址線,這里直接接地。SDA 為雙向數(shù)據(jù)線接單片機(jī)P3.6 口,SCL為時(shí)鐘線接P3.5 口,光強(qiáng)度檢測(cè)模塊通過(guò)SCL、SDA 與單片機(jī)實(shí)現(xiàn)互相通信。光強(qiáng)度檢測(cè)電路如圖3 所示。
圖3 光強(qiáng)度檢測(cè)電路設(shè)計(jì)
2.1.3 水位檢測(cè)電路設(shè)計(jì)
水位檢測(cè)模塊采用水位傳感器和AD 轉(zhuǎn)換器來(lái)實(shí)現(xiàn)。水位傳感器選用模擬水位傳感器,ADC 芯片選用PCF8591。水位傳感器的S 口接PCF8591 的模擬輸入端AIN0,PCF8591 的三根地址線接地,SCL、SDA 分別接單片機(jī)的P0.1 和P0.0 口,由于接在P0 口還需要接兩個(gè)10k 的上拉電阻。將傳感器放置在水箱高度10%的位置,能實(shí)現(xiàn)監(jiān)測(cè)功能。具體電路如圖4 所示。
圖4 水位檢測(cè)電路設(shè)計(jì)
ESP8266 是由深圳樂(lè)鑫科技開(kāi)發(fā)的一款超低功耗UART-WIFI 芯片,其支持標(biāo)準(zhǔn)的IEEE802.11b/g/n 協(xié)議,內(nèi)置完整的TCP/IP 協(xié)議棧。而且其價(jià)格低、穩(wěn)定性高、串口速率可達(dá)4Mbps,是一款性價(jià)比極高的產(chǎn)品。通信模塊與單片機(jī)之間通過(guò)串口來(lái)相互通信,通信模塊的RX、TX 口分別接單片機(jī)的P3.1(TxD)口和P3.0(RxD)口。因?yàn)镋SP模塊的標(biāo)準(zhǔn)工作電壓是3.3V,但本系統(tǒng)的電壓是5V,所以需要一個(gè)降壓模塊,將通信模塊與一個(gè)3.3k 的電阻并聯(lián)在與一個(gè)1.7k 的電阻串聯(lián),因?yàn)榇?lián)分壓并聯(lián)電壓相等的原理,通信模塊可獲得3.3V的工作電壓,由于這樣電流過(guò)小,因此需要利用三極管放大電流的原理,讓模塊獲得合適的工作電流。WIFI 模塊電路設(shè)計(jì)如圖5 所示。
圖5 WIFI 模塊電路設(shè)計(jì)
語(yǔ)音播報(bào)模塊可根據(jù)用戶選擇是否播報(bào)當(dāng)前養(yǎng)殖場(chǎng)內(nèi)部的環(huán)境數(shù)據(jù),由揚(yáng)聲器和語(yǔ)音播報(bào)芯片構(gòu)成。語(yǔ)音播報(bào)芯片選擇JQ8400。本設(shè)計(jì)選擇單線串口控制模式,將JQ8400 的ONE-LINE 口接到單片機(jī)的P0.2 口,因?yàn)榻拥氖荘0 口還需要接一個(gè)10k 的上拉電阻。SPK+與SPK-分別接在揚(yáng)聲器的正負(fù)極上。將獨(dú)立按鍵的兩端分別接地和單片機(jī)的P1.0 口,用戶如按獨(dú)立按鍵,語(yǔ)音播報(bào)模塊則播報(bào)環(huán)境數(shù)據(jù)。語(yǔ)音播報(bào)模塊電路設(shè)計(jì)如圖6 所示。
圖6 語(yǔ)音播報(bào)模塊電路設(shè)計(jì)
補(bǔ)光系統(tǒng)主要由實(shí)時(shí)時(shí)鐘、繼電器、LED 燈組成,當(dāng)室內(nèi)光照不足時(shí)能夠自動(dòng)開(kāi)燈。實(shí)時(shí)時(shí)鐘芯片選用DS1302。DS1302 的X1、X2 接一個(gè)32.768kHz 的晶振為它提供時(shí)鐘,SCLK、IO、CE 分別接單片機(jī)的P1.5、P1.6、P1.7 口實(shí)線相互通信。繼電器線圈的一端分別接三個(gè)PNP 型三極管的發(fā)射極,三極管集電極接地,基極接單片機(jī)的P0.4、P0.5、P0.6 口,因?yàn)槭荘0 口所以還需要10k 的上拉電阻,另一端接VCC,開(kāi)關(guān)端接LED 燈以實(shí)現(xiàn)補(bǔ)光功能,LED 燈需接1.2k 的限流電阻防止電流過(guò)大導(dǎo)致的擊穿。通過(guò)四個(gè)獨(dú)立按鍵可以給實(shí)時(shí)時(shí)鐘調(diào)時(shí)。蜂鳴器接在單片機(jī)的P0.7 口,其內(nèi)部已包含上拉電阻。補(bǔ)光和報(bào)警電路設(shè)計(jì)如圖7 所示。
圖7 補(bǔ)光和報(bào)警電路設(shè)計(jì)
LCD1602 的A 口和K 口分別為背光的正負(fù)極,VDD 為電源正極,VSS 時(shí)電源負(fù)極,V0 通過(guò)電阻接地來(lái)調(diào)節(jié)顯示屏的對(duì)比度,經(jīng)過(guò)測(cè)試本設(shè)計(jì)選擇接一個(gè)3.3k的電阻,RS口是寄存器選擇信號(hào),接單片機(jī)P3.4 口。RW 口是讀寫信號(hào),接單片機(jī)P3.3 口。E 口是使能端,接單片機(jī)P3.2 口。D0 至D7 口是雙向數(shù)據(jù)口,接單片機(jī)P2 口。LCD1602 顯示電路設(shè)計(jì)如圖8 所示。
圖8 LCD1602液晶顯示電路設(shè)計(jì)
系統(tǒng)上電后,主程序運(yùn)行,先進(jìn)行初始化設(shè)置,然后發(fā)送指令啟動(dòng)溫濕度、水位傳感器和光照傳感器,將采集到的雞舍內(nèi)部的溫濕度、光照和水箱水位的結(jié)果顯示在液晶屏幕上,并通過(guò)WIFI 模塊發(fā)送到PC 端。檢測(cè)獨(dú)立按鍵判斷是否播報(bào)現(xiàn)實(shí)的數(shù)據(jù),然后將數(shù)據(jù)與預(yù)設(shè)值進(jìn)行對(duì)比,如果值在正常范圍以內(nèi),則進(jìn)入下一個(gè)循環(huán);若超出正常范圍,則通過(guò)單片機(jī)控制LED 燈或語(yǔ)言模塊,開(kāi)啟補(bǔ)光、報(bào)警。系統(tǒng)的主程序流程如圖9 所示。
圖9 主程序流程圖設(shè)計(jì)
單片機(jī)判斷按鍵狀態(tài)來(lái)選擇是否播報(bào)數(shù)據(jù),如果播報(bào),通過(guò)單線串口發(fā)送控制命令,組合播放flash 中的語(yǔ)音文件。高位在前,高低電平的比值為3:1 時(shí)為1,1:3 時(shí)為0??刂泼钣扇糠纸M成,清空數(shù)字:清空上一次發(fā)送的命令。曲目號(hào):選擇要播放的文件,選曲播放:播放命令。子程序流程圖如圖10 所示。
圖10 語(yǔ)音播報(bào)子程序設(shè)計(jì)
系統(tǒng)上電前,首先用串口助手配置好ESP8266 的參數(shù)如波特率、WIFI 等。系統(tǒng)上電,等待ESP8266 連接好WIFI,單片機(jī)通過(guò)串口發(fā)送AT 指令設(shè)置上位機(jī)的IP 和端口。發(fā)送AT 指令設(shè)置發(fā)送數(shù)據(jù)的長(zhǎng)度,然后將存有環(huán)境參數(shù)的數(shù)組發(fā)送出去,每一分鐘發(fā)送一次。上位機(jī)部分,用node.js 實(shí)現(xiàn)上位機(jī)后端程序。通過(guò)監(jiān)聽(tīng)上位機(jī)的端口來(lái)獲得養(yǎng)殖廠內(nèi)部的環(huán)境數(shù)據(jù),并通過(guò)txt的形式保存在本地,方便查找。子程序流程圖如圖11 所示。
圖11 通信子程序設(shè)計(jì)
(1)當(dāng)系統(tǒng)上電后,LCD1602 顯示出當(dāng)前的溫度為24℃,相對(duì)濕度為58%,光照強(qiáng)度為1208lx,符合當(dāng)前的實(shí)際數(shù)據(jù),表示DHT11 和BH1750 的功能正常,能夠正確的獲取當(dāng)前的環(huán)境數(shù)據(jù)。系統(tǒng)實(shí)現(xiàn)了溫度、濕度、光照強(qiáng)度的實(shí)時(shí)監(jiān)測(cè)功能。
(2)當(dāng)模擬水位傳感器浸沒(méi)在水中時(shí),LCD1602 顯示OK 表示水箱水量充足。當(dāng)水位下降到模擬水位傳感器下方時(shí),LCD1602 顯示NO、蜂鳴器報(bào)警表示水箱水量不足。根據(jù)上述測(cè)試,水位監(jiān)測(cè)模塊功能正常。系統(tǒng)實(shí)現(xiàn)了實(shí)時(shí)水位監(jiān)測(cè)功能。
(3)打開(kāi)上位機(jī),開(kāi)始監(jiān)聽(tīng)端口,上位機(jī)接收到來(lái)自ESP8266 的數(shù)據(jù)并保存在本地的TXT 中。將接收到的環(huán)境數(shù)據(jù)與LCD1602 顯示的環(huán)境數(shù)據(jù)作對(duì)比可知,系統(tǒng)的通信功能測(cè)試正常。系統(tǒng)實(shí)現(xiàn)了Wi-Fi 通信功能。
(4)當(dāng)時(shí)間在早5 點(diǎn)至晚21 點(diǎn)之間,光照強(qiáng)度<200lx以下時(shí),開(kāi)啟三組照明燈給養(yǎng)殖場(chǎng)內(nèi)部補(bǔ)光;光照強(qiáng)度在200~300lx 時(shí),開(kāi)啟二組照明燈給養(yǎng)殖場(chǎng)內(nèi)部補(bǔ)光;光照強(qiáng)度在300~400lx 時(shí),開(kāi)啟二組照明燈給養(yǎng)殖場(chǎng)內(nèi)部補(bǔ)光;光照強(qiáng)度>400lx 時(shí),光照足夠,養(yǎng)殖場(chǎng)內(nèi)部不需要補(bǔ)光,關(guān)閉所有照明燈。當(dāng)時(shí)間在晚21 點(diǎn)至早5 點(diǎn)之間時(shí),養(yǎng)殖場(chǎng)內(nèi)部不需要補(bǔ)光,關(guān)閉所有照明燈。
智能養(yǎng)殖監(jiān)測(cè)系統(tǒng)可以實(shí)時(shí)檢測(cè)環(huán)境中的各項(xiàng)參數(shù)指標(biāo),以防環(huán)境變化對(duì)養(yǎng)殖場(chǎng)造成不利影響,并且大大減輕了養(yǎng)殖人員的工作量[5]。上述設(shè)計(jì)具有性能穩(wěn)定、價(jià)格低廉、操作方便、經(jīng)濟(jì)效益良好等優(yōu)點(diǎn)。本系統(tǒng)的應(yīng)用具有較高的使用價(jià)值,在養(yǎng)殖領(lǐng)域具有良好的發(fā)展前景。