鄭喜珍 史書(shū)軍
基于FPGA的雞舍溫、濕度監(jiān)控系統(tǒng)設(shè)計(jì)與研究
鄭喜珍 史書(shū)軍
目前,國(guó)內(nèi)養(yǎng)雞場(chǎng)的溫、濕度監(jiān)控還大都采用人工監(jiān)控,其調(diào)控的準(zhǔn)確度和效率均較低,這對(duì)于溫、濕度控制以及肉、蛋雞的生長(zhǎng)都是不利的。FPGA是一種應(yīng)用較為廣泛的可編程門(mén)陣列,利用FPGA的微程序即可實(shí)現(xiàn)對(duì)雞舍溫、濕度的監(jiān)控并進(jìn)一步實(shí)現(xiàn)溫、濕度控制。本文就如何利用FPGA實(shí)現(xiàn)對(duì)雞舍溫、濕度的監(jiān)控作深入探討并提出一些相應(yīng)的修正和評(píng)估方案,以期望對(duì)生產(chǎn)實(shí)際提供一些參考與啟迪。
FPGA;模糊控制;溫、濕度監(jiān)控;養(yǎng)殖業(yè);評(píng)估
目前我國(guó)的養(yǎng)殖業(yè)發(fā)展迅速,很多地區(qū)已經(jīng)形成較具規(guī)模的養(yǎng)殖基地。然而,由于我國(guó)養(yǎng)殖業(yè)各方面技術(shù)發(fā)展很不均衡,尤其是在現(xiàn)代化養(yǎng)殖業(yè)方面的發(fā)展還很不健全,導(dǎo)致我國(guó)養(yǎng)殖技術(shù)發(fā)展還很落后,對(duì)于應(yīng)用現(xiàn)代技術(shù)和理念發(fā)展完善養(yǎng)殖業(yè)還有很長(zhǎng)的路要走。近年來(lái)飛速發(fā)展的FPGA的應(yīng)用將使養(yǎng)殖業(yè)的養(yǎng)殖條件的監(jiān)測(cè)有望得到改善。
FPGA(Field-Programmable Gate Array)即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在GAL、PAL、CPLD等可編程器件的基礎(chǔ)上發(fā)展而來(lái)的一種模糊控制器。FPGA采用的是一種稱為邏輯陣列單元的概念,其內(nèi)部主要包括三個(gè)部分,分別是:內(nèi)部連線(Interconnect)、輸出輸入模塊IOB(Input Output Block)和可配置邏輯模塊CLB(Configurable Logic Block)。系統(tǒng)加電后,F(xiàn)PGA芯片可將EPROM中的數(shù)據(jù)依次讀入芯片內(nèi)編程RAM中,當(dāng)配置完成之后,F(xiàn)PGA即可進(jìn)入工作狀態(tài)。斷電之后,F(xiàn)PGA則恢復(fù)成空白片,其內(nèi)部各種邏輯關(guān)系清除,當(dāng)再次加電后,其可重新進(jìn)行編程。因此,F(xiàn)PGA是能夠反復(fù)使用的,而且對(duì)于FPGA的編程無(wú)須專用的編程器,其編程只需要由通用的PROM、EPROM編程器,這些編程器都是應(yīng)用較為廣泛的普通編程器。而且,如果需要其他功能或者需要對(duì)FPGA的功能進(jìn)行修改時(shí),則只需要更換一片PROM,省去了繁瑣的編程和器件更換工作。也就是說(shuō),可以利用同一片F(xiàn)PGA芯片,通過(guò)應(yīng)用各種不同的編程數(shù)據(jù),即可獲得不同的邏輯電路功能。所以,F(xiàn)PGA的使用是非常靈活,F(xiàn)PGA的發(fā)展空間也是非常巨大的。同樣,F(xiàn)PGA一般還可有多種配置方式:①主從模式,即一片PROM編程支持多片F(xiàn)PGA運(yùn)行;②串行模式,即采用串行性的PROM對(duì)FPGA進(jìn)行編程;③并行主模式,即一片F(xiàn)PGA配備一片EPROM的一對(duì)一編程運(yùn)行模式;④外設(shè)模式,即把FPGA作為某些微處理器的外置設(shè)備,通過(guò)控制微處理器對(duì)其進(jìn)行相應(yīng)的編程來(lái)實(shí)現(xiàn)其功能。
FPGA目前發(fā)展迅速,而且應(yīng)用較為廣泛,例如其在電路設(shè)計(jì)、產(chǎn)品研發(fā)、系統(tǒng)應(yīng)用方面都顯示出出色的優(yōu)越性,而且對(duì)于其他非電子產(chǎn)業(yè)領(lǐng)域也有極為廣闊的應(yīng)用前景。
由于雞舍的溫、濕度對(duì)于雞的生長(zhǎng)存在重要影響,而對(duì)于大型養(yǎng)殖基地來(lái)說(shuō)光靠人工控制雞舍的溫、濕度也是不切實(shí)際的或不及時(shí)的,所以,需要開(kāi)發(fā)一種相對(duì)智能的溫、濕度監(jiān)控控制系統(tǒng)來(lái)解決繁瑣的雞舍溫、濕度監(jiān)控問(wèn)題。
模糊控制是20世紀(jì)衍生出來(lái)的模擬人腦思維方式的邏輯控制理論,模糊理論目前大多由計(jì)算機(jī)編程模擬,通過(guò)一些既定的模糊語(yǔ)言法則、模糊應(yīng)用數(shù)學(xué)以及模糊推理組成的正負(fù)反饋環(huán)式自控系統(tǒng)。該系統(tǒng)可通過(guò)對(duì)系統(tǒng)采集的環(huán)境數(shù)據(jù)變量進(jìn)行整合分析,然后由主控器發(fā)出指令進(jìn)行相應(yīng)的調(diào)節(jié)響應(yīng)。此類系統(tǒng)較一般系統(tǒng)復(fù)雜,因?yàn)閷?duì)于該類過(guò)程的控制沒(méi)有或者不能建立簡(jiǎn)單的數(shù)學(xué)模型,所以,模糊控制的應(yīng)用已經(jīng)深入到各行各業(yè),并逐步發(fā)揮重要作用。
由于FPGA具有上述(原理及應(yīng)用中所述)優(yōu)點(diǎn),所以,將FPGA應(yīng)用于溫、濕度控制是可行和比較可靠的,而且由于FPGA本身具備的小型化、高集成度等優(yōu)點(diǎn)使FPGA應(yīng)用于溫、濕度控制的成本并不會(huì)明顯升高。
溫、濕度控制器主要包括輸入采集數(shù)據(jù)的模糊化、知識(shí)庫(kù)、模糊邏輯推理、輸出參數(shù)的清晰化四部分組成,根據(jù)電路的復(fù)雜程度,還會(huì)存在其他額外設(shè)計(jì)部分,這里不再贅述。
圖1 雞舍溫、濕度控制系統(tǒng)組成
圖1即為雞舍溫、濕度控制的基本組成圖,該圖表示某雞舍內(nèi)設(shè)備的俯視分布。其中圓點(diǎn)代表雞舍內(nèi)的各部位的溫、濕度傳感器,其目的是收集雞舍各個(gè)部分的溫、濕度并將數(shù)據(jù)傳輸給中央FPGA系統(tǒng);三角形表示加濕器,當(dāng)濕度過(guò)低時(shí),加濕器啟動(dòng),可以增加雞舍房?jī)?nèi)的濕度;正方形表示雞舍升溫裝置,可以是電暖氣或者其他加熱設(shè)備,目的是升高房間溫度以達(dá)到理想條件;長(zhǎng)條形表示排風(fēng)扇,排風(fēng)扇一般位于雞舍房山一側(cè),雞舍窗戶臨面,當(dāng)雞舍內(nèi)溫度過(guò)高時(shí)可以通過(guò)開(kāi)啟排風(fēng)扇為雞舍降溫;方臺(tái)形表示FPGA系統(tǒng)模塊,包括調(diào)理電路、時(shí)鐘模塊和FPGA模塊三部分,是雞舍溫、濕度控制的核心。
首先,雞舍房?jī)?nèi)各處的溫、濕度傳感器監(jiān)測(cè)雞舍內(nèi)溫、濕度變化并收集實(shí)時(shí)數(shù)據(jù),傳感器所收集的數(shù)據(jù)通過(guò)輸入電路傳給FPGA系統(tǒng)模塊中的調(diào)理電路。由于傳感器所收集的數(shù)據(jù)信息均是以模擬信號(hào)的方式傳輸?shù)?,而FPGA只能處理相應(yīng)的數(shù)字信號(hào)或者頻率脈沖信號(hào),所以需要經(jīng)過(guò)調(diào)理電路將傳統(tǒng)的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)或頻率脈沖信號(hào)后才能再進(jìn)一步傳送給FPGA模塊。
FPGA模塊將所收集的信號(hào)處理并歸類為14個(gè)模糊子集中的兩個(gè)。14個(gè)系統(tǒng)模糊子集共分為兩類:一類為溫、濕度偏差,共分為負(fù)大、負(fù)中、負(fù)小、基本為零、正小、正中、正大7個(gè)模糊子集,分別用NB、NM、NS、Z、PS、PM、PB 表示,P 表示正、N 表示負(fù)、B 表示大、M表示中、S表示小、Z表示零。另一類則為溫、濕度偏差變化率,共分為負(fù)大、負(fù)中、負(fù)小、基本為零、正小、正中、正大 7個(gè)模糊子集,分別用 NB、NM、NS、Z、PS、PM、PB表示,P表示正、N表示負(fù)、B 表示大、M 表示中、S表示小、Z表示零。溫度偏差代表了溫度的變化絕對(duì)值,反應(yīng)了溫度的變化量,其結(jié)果是決定要不要對(duì)溫度變化進(jìn)行相應(yīng)的處理。而溫、濕度偏差變化率則反映了溫、濕度變化的趨勢(shì),其目的是如果要改變溫度,那么應(yīng)該對(duì)雞舍進(jìn)行升溫(濕)處理還是降溫(濕)處理,升溫(濕)處理和降溫(濕)處理的時(shí)間多少、力度多大等。FPGA對(duì)數(shù)據(jù)的模糊化,最終確定兩個(gè)子集并需要進(jìn)行相應(yīng)的處理反應(yīng),通過(guò)輸出電路控制反應(yīng)裝置的開(kāi)啟和工作狀態(tài)。同時(shí)依據(jù)數(shù)據(jù)變化確定裝置運(yùn)行時(shí)間,這些都由FPGA內(nèi)的計(jì)時(shí)電路實(shí)施(FPGA對(duì)溫、濕度數(shù)據(jù)的模糊化具體控制規(guī)則詳見(jiàn)表 1)。
通過(guò)表1可見(jiàn),只要FPGA系統(tǒng)確定了溫、濕度偏差和溫、濕度偏差變化率的子集類型,則可依據(jù)兩個(gè)子集類型最終確定控制器的類型及裝置反應(yīng)時(shí)間等。這也是模糊邏輯在實(shí)際應(yīng)用中的具體體現(xiàn)。
表1 FPGA對(duì)溫、濕度數(shù)據(jù)的模糊化控制規(guī)則
例如,以雞舍房?jī)?nèi)的急速降溫過(guò)程為例進(jìn)行說(shuō)明。當(dāng)雞舍房?jī)?nèi)的溫度急速下降(尤其是在冬季夜晚)時(shí),雞舍內(nèi)各處的溫度傳感器可監(jiān)測(cè)到溫度變化,并將數(shù)據(jù)傳給調(diào)理電路,調(diào)理電路將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)后傳輸給FPGA,F(xiàn)PGA經(jīng)過(guò)分析處理發(fā)現(xiàn)溫度偏差為負(fù)大(NB),偏差變化率也為負(fù)大(NB),最終確定應(yīng)采取正大(PB)進(jìn)行升溫處理,則立即通過(guò)傳出電路發(fā)出指令,開(kāi)啟房舍內(nèi)四處的升溫裝置進(jìn)行升溫。在升溫過(guò)程中,F(xiàn)PGA也在不斷監(jiān)測(cè)雞舍內(nèi)的溫度變化,一旦溫度變化達(dá)不到相應(yīng)的變化閾值即溫度傳感器所采集的數(shù)據(jù)在Z子集之內(nèi),則會(huì)導(dǎo)致升溫裝置停止工作,雞舍內(nèi)的溫度基本維持恒定,當(dāng)溫度再次出現(xiàn)較大波動(dòng)時(shí)即溫度傳感器所采集的數(shù)據(jù)又跑出Z子集之外,則升溫裝置再次啟動(dòng)。由此看來(lái),雞舍內(nèi)的溫度實(shí)際是處于一個(gè)穩(wěn)定的動(dòng)態(tài)變化范圍內(nèi)的,為了使溫度波動(dòng)較小,則可將各個(gè)子集的變化范圍適當(dāng)縮小,以達(dá)到精細(xì)穩(wěn)定雞舍溫度的目的,但是,如果子集范圍設(shè)置過(guò)細(xì)則會(huì)使設(shè)備反復(fù)開(kāi)啟關(guān)閉,損耗設(shè)備,同時(shí)也是對(duì)電力資源的浪費(fèi),無(wú)形中增加了成本,所以,為了節(jié)約成本,降低設(shè)備損耗,延長(zhǎng)設(shè)備使用壽命,子集的閾值設(shè)置要盡量恰到好處,這也需要大量的實(shí)際測(cè)試提供相應(yīng)的數(shù)據(jù)參照。
雞舍的溫度和濕度均對(duì)肉、蛋雞的養(yǎng)殖產(chǎn)生有重要影響,是肉、蛋雞養(yǎng)殖過(guò)程中需要注意的兩個(gè)極為重要的環(huán)境因素。為了對(duì)本文溫、濕度監(jiān)控系統(tǒng)進(jìn)行實(shí)際修正和客觀評(píng)估,筆者進(jìn)行了相關(guān)的對(duì)比試驗(yàn)。
雞雛:500只海藍(lán)蛋雞雛;
雞舍:兩間各50 m2,一間應(yīng)用FPGA系統(tǒng),另一間采用普通控溫控濕。兩間雞舍基本處于同一地理位置;
檢測(cè)周期:60 d;
雞雛飼喂:雞雛的飼喂均采用普通的相同的飼喂方式。
表2 雞舍溫濕度監(jiān)控系統(tǒng)實(shí)測(cè)結(jié)果
試驗(yàn)最終結(jié)果如表2所示,通過(guò)將近60 d的系統(tǒng)實(shí)際測(cè)試可以發(fā)現(xiàn),總體來(lái)講基于FPGA的雞舍溫、濕度監(jiān)控系統(tǒng)運(yùn)行狀況良好,相對(duì)于普通雞舍而言,溫、濕度變化沒(méi)有出現(xiàn)較大波動(dòng),而且從實(shí)際的雞雛平均體重增加看,其明顯高于普通控溫、控濕雞雛增重水平,雞雛的死亡率也明顯降低,雞雛生活狀況良好天數(shù)大于40 d,這對(duì)于養(yǎng)殖業(yè)來(lái)說(shuō)是非常重要的。
同時(shí),實(shí)際測(cè)試過(guò)程中也發(fā)現(xiàn)了很多問(wèn)題,例如FPGA有時(shí)對(duì)某些溫、濕度變化出現(xiàn)錯(cuò)誤判斷或者設(shè)備的反映時(shí)間出現(xiàn)異常,同時(shí)在突然斷電之后系統(tǒng)易出現(xiàn)故障,對(duì)于這些問(wèn)題,筆者對(duì)其進(jìn)行了相應(yīng)的改進(jìn)和修正。
本文所研究設(shè)計(jì)的基于FPGA的雞舍溫、濕度監(jiān)控系統(tǒng)還處于實(shí)驗(yàn)階段,但是從實(shí)際實(shí)施效果來(lái)看,其對(duì)于肉、蛋雞養(yǎng)殖還是具有較好效果的。將模糊邏輯運(yùn)用到養(yǎng)殖業(yè)溫、濕度調(diào)控,可節(jié)省了大量的人力、物力。
[1] 于娟,白浪,周麗,等.基于FPGA的任意波形合成器[J].科技信息,2010(1).
[2] 陳冀明,李開(kāi)航.基于數(shù)字ASIC設(shè)計(jì)流程的DDS設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010(6).
[3] 由法寶,王棟.四階鎖相跳頻源環(huán)路參數(shù)的準(zhǔn)確設(shè)計(jì)與仿真[J].現(xiàn)代電子技術(shù),2010(5).
[4] 肖時(shí)茂,于云豐,馬成炎,等.A low power wide-band CMOS PLL frequency synthesizer for portable hybrid GNSS receiver[J].半導(dǎo)體學(xué)報(bào),2010(3).
[5] 牛翠霞,康旭輝.基于FPGA的交織器設(shè)計(jì)與實(shí)現(xiàn)[J].華北水利水電學(xué)院學(xué)報(bào),2007(3).
Design and research of applying EPGA in controlling henhouse temperature and humidity system
Zheng Xizhen,Shi Shujun
Currently,the temperature and humidity control of the domestic chicken farms is largely in artificial control,however the control accuracy and validity are lower,which are unfavorable for the temperature and humidity control,and the growth of broilers and layers.The FPGA is a more extensive application of programmable gate arrays,which can realize the micro-program sheds temperature and humidity monitoring and further implementation of temperature and humidity control.This article will be on how to use FPGA to realize the hen house temperature and humidity control and make the corresponding assessment program in depth,in the hope of providing some references and inspiration for domestic meat,egg and other types of aquaculture farming industry.
FPGA;fuzzy control;temperature and humidity control;aquaculture industry;assessment
S815
A
1001-991X(2011)10-0062-03
鄭喜珍,河北農(nóng)業(yè)大學(xué)中獸醫(yī)學(xué)院,073000,河北定州市博陵街1號(hào)。
史書(shū)軍,單位及通訊地址同第一作者。
2011-03-28
(編輯:沈桂宇,guiyush@126.com)