摘 要: 家禽養(yǎng)殖環(huán)境中的溫度、濕度和空氣等因素直接影響著家禽的生產(chǎn)性能,針對(duì)大型家禽養(yǎng)殖場(chǎng)環(huán)境監(jiān)控的需求,研究應(yīng)用CAN總線技術(shù)建立一種分布式多變量環(huán)境監(jiān)控系統(tǒng),該系統(tǒng)由以ATmega128單片機(jī)為核心的監(jiān)控中心和以ATmega16單片機(jī)為核心的智能監(jiān)控終端組成。工作時(shí),監(jiān)控中心實(shí)時(shí)收集、分析和處理各監(jiān)控終端采集到的環(huán)境信息,根據(jù)用戶輸入的控制要求,結(jié)合數(shù)據(jù)處理結(jié)果,向各終端發(fā)送控制參數(shù),實(shí)現(xiàn)對(duì)養(yǎng)殖場(chǎng)內(nèi)多個(gè)禽舍的監(jiān)控。
關(guān)鍵詞: 禽舍;CAN總線;監(jiān)控;單片機(jī)
家禽的生存需要具備一定的環(huán)境條件,理想的溫度與濕度、空氣質(zhì)量和適當(dāng)?shù)墓庹帐翘岣咂浯婊盥省a(chǎn)蛋率和增重速度等生產(chǎn)性能的必備因素[1]。在實(shí)際養(yǎng)殖環(huán)境中,可以通過供暖、蒸發(fā)、控制空氣流動(dòng)和增加照明設(shè)備等方法來(lái)創(chuàng)造適合家禽生長(zhǎng)的環(huán)境條件。目前,我國(guó)的禽舍環(huán)境調(diào)控水平提高速度較快,但與發(fā)達(dá)國(guó)家相比,差距仍然明顯,管理水平不高,環(huán)境因素之間缺乏必要的聯(lián)系,且多數(shù)控制系統(tǒng)必須由飼養(yǎng)管理人員手動(dòng)操作或機(jī)電式操作,自動(dòng)化水平低,難以適應(yīng)現(xiàn)代化生產(chǎn)管理的要求[2]。因此,建立一種智能化程度高、通信可靠的低成本禽舍環(huán)境綜合監(jiān)控系統(tǒng)是進(jìn)一步提高家禽生產(chǎn)性能的重要途徑。
1 系統(tǒng)組成
監(jiān)控系統(tǒng)采用分布式結(jié)構(gòu)[3],上位機(jī)是以AVR單片機(jī)ATmega128為核心的監(jiān)控中心,下位機(jī)是以ATmega16單片機(jī)為核心的智能監(jiān)控終端。監(jiān)控中心以一個(gè)LCD顯示器為監(jiān)控信息輸出環(huán)節(jié),用戶可以通過由一個(gè)專用鍵盤構(gòu)成的控制參數(shù)輸入環(huán)節(jié)錄入監(jiān)控指令。智能監(jiān)控終端掛接氣體、溫度和濕度傳感器,定時(shí)采集禽舍環(huán)境的氨氣濃度、二氧化碳濃度、溫度和濕度等有用信息,當(dāng)接收到監(jiān)控中心發(fā)送過來(lái)的采集命令后立即通過CAN總線將相關(guān)信息發(fā)送到監(jiān)控中心,并且不斷監(jiān)聽監(jiān)控中心發(fā)送過來(lái)的執(zhí)行指令,根據(jù)指令控制連接在該終端的執(zhí)行機(jī)構(gòu)進(jìn)行相關(guān)的動(dòng)作,實(shí)現(xiàn)對(duì)禽舍環(huán)境的監(jiān)控。整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示。
監(jiān)控中心放置在養(yǎng)殖場(chǎng)的監(jiān)控室內(nèi),每間禽舍安裝一個(gè)監(jiān)控終端。由于場(chǎng)地占地面積大,數(shù)據(jù)傳輸距離長(zhǎng),多點(diǎn)連接組網(wǎng)時(shí)采用屏蔽雙絞線作為傳輸物理介質(zhì)以提高通信可靠性。
2 硬件部分設(shè)計(jì)
監(jiān)控系統(tǒng)在硬件方面主要包括CAN總線接口、傳感器、執(zhí)行機(jī)構(gòu)與單片機(jī)的接口、監(jiān)控中心的顯示器和鍵盤等幾部分。
2.1 CAN總線接口電路
上述兩款A(yù)VR單片機(jī)內(nèi)部沒有CAN總線控制及接口的硬件資源,因此采用Microchip公司的CAN總線控制器芯片MCP2515[4]和物理接口芯片MCP2551[5]組建接口電路。MCP2515有標(biāo)準(zhǔn)的SPI數(shù)據(jù)接口,可以與AVR單片機(jī)的SPI接口直接相連,接口電路如圖2所示。MCP2515的中斷信號(hào)輸出端與AVR單片機(jī)的一個(gè)外部中斷信號(hào)輸入引腳相連。為了增強(qiáng)系統(tǒng)的抗干擾能力,使用高速光耦6N137實(shí)現(xiàn)控制部分與總線物理接口部分的電氣隔離。
2.2 傳感器及執(zhí)行機(jī)構(gòu)接口
本研究的CO2傳感器選用Figaro公司的固體電可測(cè)型CO2氣體傳感器TGS4160,其測(cè)量濃度范圍為0~3 000 mg/kg,與處理模塊AM-4配合使用,工作電壓VDC 為5 V,輸出0~3 V的電壓信號(hào),與CO2濃度值呈線性關(guān)系,可以直接接入ATmega16的ADC輸入通道AIN0,由ATmega16內(nèi)部的ADC進(jìn)行模數(shù)轉(zhuǎn)換。氨氣傳感器采用JB-QT-TON90ATN氨氣氣體傳感變送器,其輸出信號(hào)是4 mA~20 mA標(biāo)準(zhǔn)電流信號(hào),通過轉(zhuǎn)換電路轉(zhuǎn)換成電壓后接入單片機(jī)的其中一個(gè)ADC通道AIN1。溫度傳感器采用DS18B20,其DQ線直接與ATmega16的PD6引腳連接,利用單片機(jī)I/O口的內(nèi)部上拉電阻使以漏極開路形式輸出的DQ輸出正確幅值的脈沖信號(hào)。濕度傳感器采用國(guó)產(chǎn)的HM1500,其輸出信號(hào)是與濕度成線性關(guān)系的1 V~4 V直流電壓信號(hào),可以直接接入單片機(jī)的ADC輸入通道AIN2。
執(zhí)行機(jī)構(gòu)的主要部件是電機(jī),單片機(jī)輸出的數(shù)字控制信息通過數(shù)模轉(zhuǎn)換變成模擬控制量,再經(jīng)過光耦進(jìn)行電氣隔離后接入電機(jī)驅(qū)動(dòng)電路,以實(shí)現(xiàn)對(duì)電機(jī)動(dòng)作的控制。
2.3 監(jiān)控中心的顯示及鍵盤接口電路
監(jiān)控中心采用基于ST7290控制器的128×64點(diǎn)陣LCD作為顯示器,ST7290內(nèi)嵌有中英文及阿拉伯?dāng)?shù)字字庫(kù),可以較方便地顯示出禽舍環(huán)境的各種信息量。ATmega128與ST7290之間采用8位并行方式進(jìn)行連接,其接口電路如圖3所示。
在系統(tǒng)運(yùn)行過程中,用戶可以通過鍵盤輸入或修改控制參數(shù)。鍵盤由14個(gè)按鍵組成,分別是2個(gè)方向鍵、10個(gè)數(shù)字鍵、1個(gè)返回鍵和1個(gè)確認(rèn)鍵。鍵盤以獨(dú)立方式接入,即每個(gè)按鍵單獨(dú)占用一個(gè)I/O口,一端通過單片機(jī)內(nèi)部的上拉電阻接VCC,另一端接地。確認(rèn)鍵接到單片機(jī)的外部中斷輸入,用戶要進(jìn)行輸入操作時(shí)需先按確認(rèn)鍵引起單片機(jī)中斷,單片機(jī)響應(yīng)該中斷后進(jìn)入指令錄入狀態(tài),不斷查詢鍵盤各個(gè)按鍵的狀態(tài),等待用戶輸入信息。
3 軟件設(shè)計(jì)
系統(tǒng)軟件主要由監(jiān)控中心和終端軟件兩大部分組成,以模塊化的方式設(shè)計(jì),整體結(jié)構(gòu)如圖4所示,按照系統(tǒng)的功能和硬件電路結(jié)構(gòu)分別把監(jiān)控中心程序和監(jiān)控終端程序各分為若干功能塊。
3.1 CAN總線通信協(xié)議設(shè)計(jì)
CAN總線控制器MCP2515工作在中斷數(shù)據(jù)操作模式,通信過程采用具有11位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀格式進(jìn)行數(shù)據(jù)收發(fā),接入總線的監(jiān)控中心和各監(jiān)控終端的總線標(biāo)識(shí)符各不相同。物理層和數(shù)據(jù)鏈路層均按照CAN2.0B的規(guī)范進(jìn)行信號(hào)和信息傳輸,在應(yīng)用層采用主從應(yīng)答的方式通信,監(jiān)控中心為主,監(jiān)控終端為從,監(jiān)控中心周期性地輪詢各終端,發(fā)出采集和控制指令,收到指令的終端立即響應(yīng),進(jìn)行相應(yīng)的動(dòng)作。
3.2 監(jiān)控中心程序設(shè)計(jì)
監(jiān)控中心的主要任務(wù)是:(1)發(fā)送控制參數(shù)和指令;(2)收集、處理和顯示各禽舍環(huán)境信息;(3)根據(jù)用戶的輸入修改控制參數(shù)。其程序流程如圖5所示。
3.3 監(jiān)控終端程序設(shè)計(jì)
監(jiān)控終端在完成初始化工作后等待監(jiān)控中心發(fā)送指令,根據(jù)指令進(jìn)行下一步的動(dòng)作;同時(shí),監(jiān)控終端不斷采集環(huán)境信息,按既定參數(shù)驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)動(dòng)作,實(shí)現(xiàn)對(duì)禽舍環(huán)境的監(jiān)控。其程序流程如圖6所示。
本研究將CAN總線技術(shù)應(yīng)用到禽舍環(huán)境監(jiān)控領(lǐng)域中,依靠CAN總線本身的優(yōu)點(diǎn),增強(qiáng)了傳統(tǒng)禽舍監(jiān)控網(wǎng)絡(luò)的通信可靠性、實(shí)時(shí)性和靈活性,增長(zhǎng)了通信距離(與485總線相比)。用戶可以根據(jù)實(shí)際需要在目前的系統(tǒng)硬件基礎(chǔ)上掛接其他傳感器模塊,通過增加相應(yīng)的軟件功能模塊,實(shí)現(xiàn)對(duì)更多模擬量的監(jiān)控,用于其他監(jiān)控領(lǐng)域;也可以在監(jiān)控中心掛接GPRS或CDMA模塊,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
參考文獻(xiàn)
[1] 陳國(guó)雙,歐世響.禽舍環(huán)境條件的控制措施[J].養(yǎng)殖技術(shù)顧問,2009(10):5-6.
[2] 崔和瑞,李曼,高峰.基于模糊控制的畜禽舍環(huán)境監(jiān)控系統(tǒng)的研究[J].計(jì)算機(jī)工程,2006,32(21):224-
225,228.
[3] 王麗麗,朱瑞祥,隨順濤,等.基于PC機(jī)和單片機(jī)的分布式禽舍環(huán)境監(jiān)控系統(tǒng)[J].農(nóng)機(jī)化研究,2009(2):74-76,103.
[4] MCP2515 stand-alone CAN controller with SPITM interface[M].USA:Microchip Technology Inc.,2005.
[5] MCP2551 high-speed CAN transceiver[M].USA:Microchip Technology Inc.,2002.