孟成偉 李湘球 彭君 王小風(fēng)
摘 要:本文設(shè)計(jì)了一種基于ZigBee技術(shù)的農(nóng)業(yè)物聯(lián)網(wǎng)無線通信控制器。選用以無線通信ZigBee技術(shù)的CC2530芯片作為控制器的主控芯片,針對(duì)農(nóng)業(yè)生產(chǎn)上對(duì)控制的特殊要求,從軟硬件進(jìn)行了詳細(xì)的設(shè)計(jì)和說明。
關(guān)鍵詞:農(nóng)業(yè)物聯(lián)網(wǎng);無線通信;控制器;ZigBee;分布式控制
一、概述
農(nóng)業(yè)物聯(lián)網(wǎng)應(yīng)用中有大量設(shè)備需要控制,如:卷膜器、風(fēng)機(jī)、水泵和遮陽棚等等。這些設(shè)備數(shù)量多價(jià)格低廉且傳輸信息的數(shù)據(jù)量小、數(shù)據(jù)傳輸速率要求不高。針對(duì)這一特點(diǎn)設(shè)計(jì)了一種農(nóng)業(yè)物聯(lián)網(wǎng)控制器,可與網(wǎng)關(guān)一起組成一個(gè)分布式控制的系統(tǒng),以低成本高可靠性滿足農(nóng)業(yè)生產(chǎn)的需求。
二、通信技術(shù)及主控芯片的選擇
(一)通信技術(shù)的選擇
ZigBee技術(shù)具有自組織、低成本、低功耗、網(wǎng)絡(luò)節(jié)點(diǎn)多等特點(diǎn),可以充分地在應(yīng)用在大面積農(nóng)業(yè)監(jiān)控系統(tǒng)當(dāng)中。ZigBee網(wǎng)絡(luò)最多可以支持65535個(gè)節(jié)點(diǎn),具體應(yīng)用節(jié)點(diǎn)數(shù)視溫室面積而定,每個(gè)節(jié)點(diǎn)之間通信距離最大可以達(dá)到100m。同時(shí)250kbps的傳輸速率完全可以滿足數(shù)據(jù)傳輸?shù)男枰^r(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)傳輸?shù)臄?shù)據(jù)量小,傳輸速率要求較低,傳輸距離不大,并且對(duì)低成本、低功耗有一定要求,所以采用ZigBee技術(shù)方案是一個(gè)很好的選擇。
(二)主控芯片的選擇
CC2530是TI公司最新推出的新一代ZigBee標(biāo)準(zhǔn)芯片。該芯片體積小巧,采用6mm×6mm的QFN40封裝,內(nèi)部集成了存儲(chǔ)、加密、無線收發(fā)等多種功能,性能非??煽?。德州儀器業(yè)界領(lǐng)先的ZigBee協(xié)議棧(Z-Stack)配備使用CC2530,解決了傳統(tǒng)無線模塊容易丟數(shù)據(jù)或模塊數(shù)量多時(shí)容易受到干擾等問題,提供了一個(gè)強(qiáng)大和完整的ZigBee解決方案。CC2530芯片總成本低,能夠建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn),其內(nèi)部集成了工業(yè)標(biāo)準(zhǔn)增強(qiáng)型8051微控制器內(nèi)核,具有8KBRAM,256KB可編程閃存。該芯片無線射頻工作在2.4GHz頻段,接收靈敏度高,抗干擾性能強(qiáng)。其外圍接口能夠滿足農(nóng)業(yè)物聯(lián)網(wǎng)控制器的要求。
采用ZigBee技術(shù)的農(nóng)業(yè)物聯(lián)網(wǎng)控制器以CC2530作為農(nóng)業(yè)物聯(lián)網(wǎng)控制器的主控芯片,可以簡化無線組網(wǎng)設(shè)計(jì),其自組網(wǎng)功能可以滿足農(nóng)業(yè)物聯(lián)網(wǎng)分布式控制的要求。
三、控制器主控芯片應(yīng)用電路設(shè)計(jì)
(一)CC2530電路設(shè)計(jì)
CC2530芯片共有40個(gè)引腳,其中包括了電源接口、晶振接口、I/O接口和RF射頻接口等。CC2530總共有21個(gè)通用I/O端口,其中有些端口還可以作為特殊用途,用來連接其他的外設(shè)。CC2530芯片的應(yīng)用電路比較簡單,只需要少數(shù)的外接元件即可實(shí)現(xiàn)。
1.雖然CC2530內(nèi)部集成了一個(gè)16MHz的RC震蕩電路,用來給芯片正常工作時(shí)提供時(shí)鐘,但RF射頻模塊必須工作在32MHz的頻率,所以要使用CC2530的無線射頻功能,就必須在電路中設(shè)計(jì)一個(gè)32MHz的晶振。
2.看門狗時(shí)鐘獨(dú)立于系統(tǒng)時(shí)鐘,可以防止系統(tǒng)出錯(cuò);睡眠時(shí)鐘獨(dú)立于系統(tǒng)時(shí)鐘,可以在芯片休眠時(shí)起作用。
3.系統(tǒng)復(fù)位電路采用上電復(fù)位的方式,將該引腳與3.3V電源直接相連,中間加一個(gè)10k的電阻,從而實(shí)現(xiàn)芯片的上電復(fù)位。
(二)CC2591功率放大電路
CC2530芯片本身的發(fā)射功率很小,且接收靈敏度也固定在某一水平,限制了該芯片無線射頻通信距離。為了加大發(fā)射功率,延長通訊距離,系統(tǒng)在CC2530射頻發(fā)射前端增加了一個(gè)CC2591功率放大器。CC2591是德州儀器(TI)公司為了提高CC2500系列芯片的射頻功能而專門開發(fā)生產(chǎn)的一塊高性價(jià)比、低成本的RF收發(fā)器,工作在2.4GHz頻段,可以與CC2530芯片實(shí)現(xiàn)無縫對(duì)接。CC2591通過功率放大器提供較高的發(fā)射功率,通過噪聲放大器提高接收機(jī)的靈敏度,再借助外接棒狀電線的作用,從而可以提高系統(tǒng)的通訊質(zhì)量,延長通信距離。同CC2530芯片一樣,CC2591也是高度集成的芯片,因此可用極少的外接元件實(shí)現(xiàn)高性價(jià)比的功率輸出。
在實(shí)驗(yàn)條件下,設(shè)備間通信距離5m,對(duì)不同的發(fā)射電路信號(hào)強(qiáng)度進(jìn)行測(cè)試,可以看出,使用CC2591和外接天線后信號(hào)強(qiáng)度明顯提高,從而可以提高節(jié)點(diǎn)間通信質(zhì)量,延長節(jié)點(diǎn)間通信距離。
四、農(nóng)業(yè)物聯(lián)網(wǎng)控制器的設(shè)計(jì)
農(nóng)業(yè)物聯(lián)網(wǎng)控制器以CC2530芯片為主控芯片,利用CC2530控制與之相連的設(shè)備打開或關(guān)閉,同時(shí)參與系統(tǒng)組網(wǎng),通過ZigBee網(wǎng)絡(luò)與邊緣網(wǎng)關(guān)進(jìn)行通信??刂破麟娐钒迳显O(shè)計(jì)了一個(gè)六位的撥碼開關(guān),其編址為000000bit-111111bit,用撥碼開關(guān)的編址來區(qū)分溫室大棚內(nèi)不同的控制器,所以系統(tǒng)最多可以安裝64個(gè)控制器,滿足了不同面積大棚的需求。
(一)控制電路設(shè)計(jì)
控制器電路中設(shè)計(jì)了四路光耦輸出電路,配合繼電器輸出電路使用,用繼電器的開關(guān)狀態(tài)就可以控制溫室內(nèi)相關(guān)設(shè)備的打開和關(guān)閉。
對(duì)于溫室大棚內(nèi)無正反轉(zhuǎn)、只有開關(guān)兩種狀態(tài)的設(shè)備(如滴灌、風(fēng)機(jī)、水泵等),每路光耦輸出通道可以控制一路這類設(shè)備,當(dāng)繼電器觸點(diǎn)與24V相連時(shí),設(shè)備打開,當(dāng)繼電器觸點(diǎn)與GND相連時(shí),設(shè)備關(guān)閉。所以一個(gè)控制器可以控制四路這類設(shè)備。實(shí)際中這些設(shè)備一般都使用220V交流電機(jī)或380V三相電機(jī),光耦繼電器輸出電路輸出電壓只有24V,則需要在電路中另加一個(gè)交流接觸器。
對(duì)于溫室大棚內(nèi)需要正反轉(zhuǎn)控制的設(shè)備,則采用兩路光耦輸出通道(例如編號(hào)為1,2)控制一個(gè)設(shè)備。當(dāng)1號(hào)觸點(diǎn)與24V相連且2號(hào)觸點(diǎn)與GND相連時(shí),電機(jī)正轉(zhuǎn)。反之,電機(jī)反轉(zhuǎn)。當(dāng)1、2兩個(gè)觸點(diǎn)均與GND相連時(shí),電機(jī)停止。以溫室大棚內(nèi)卷膜控制為例,系統(tǒng)卷膜電機(jī)額定電壓24V,可以直接用該光耦繼電器輸出電路進(jìn)行控制。
(二)控制器軟件設(shè)計(jì)
以溫室大棚內(nèi)卷膜的控制為例進(jìn)行控制器軟件說明。系統(tǒng)使用的卷膜電機(jī)供電電壓為24V,低于人體安全電壓,在滿足正常應(yīng)用需求的情況下更能保證人畜的安全,使系統(tǒng)更具有安全性。電機(jī)正常工作電流3.2A,額定功率76W。卷膜在溫室大棚內(nèi)的使用頻率非常高,正常情況下幾乎每天都要對(duì)其進(jìn)行操作,早上將卷膜全部打開進(jìn)行散熱,晚上將卷膜全部關(guān)閉進(jìn)行保溫,以維持溫室大棚內(nèi)的農(nóng)作物生長所需的正常溫度。若規(guī)定卷膜打開時(shí)卷膜電機(jī)為正轉(zhuǎn)狀態(tài),則卷膜關(guān)閉時(shí)卷膜電機(jī)即為反轉(zhuǎn)狀態(tài)。以一個(gè)八聯(lián)體的現(xiàn)代化溫室大棚為例,其中共有14個(gè)頂部卷膜,根據(jù)前述一個(gè)控制器可以控制兩路帶正反轉(zhuǎn)狀態(tài)的設(shè)備,系統(tǒng)總共需要安裝7個(gè)控制器,每個(gè)控制器控制兩個(gè)卷膜電機(jī)。溫室大棚管理人員早上將卷膜全部打開,晚上將卷膜全部關(guān)閉,有時(shí)則根據(jù)具體的天氣情況只對(duì)其中特定的幾個(gè)卷膜進(jìn)行打開或關(guān)閉操作。
系統(tǒng)為了滿足用戶需求,規(guī)定了卷膜控制規(guī)則:單個(gè)控制和批量控制,然后依據(jù)此規(guī)則規(guī)定了通信協(xié)議,具體說明如下:
1.單個(gè)控制指令只對(duì)溫室大棚內(nèi)指定的卷膜進(jìn)行操作,用戶根據(jù)需要,只對(duì)其中的一個(gè)或幾個(gè)卷膜進(jìn)行控制。對(duì)于單個(gè)控制指令,系統(tǒng)規(guī)定命令0表示卷膜關(guān)閉,命令1表示卷膜打開。當(dāng)控制器收到此類命令時(shí),會(huì)立即執(zhí)行相應(yīng)的操作,將與之相連的卷膜打開或關(guān)閉。若卷膜正在打開的過程中收到了關(guān)閉的命令時(shí),控制器不能立即控制卷膜電機(jī)進(jìn)行反轉(zhuǎn)操作,應(yīng)該先讓卷膜電機(jī)停下來,等待3秒鐘使電機(jī)線圈內(nèi)的電流完全被消耗掉,然后再執(zhí)行反轉(zhuǎn)操作,防止燒壞電機(jī)。反之,卷膜正在關(guān)閉的過程中收到了打開的命令,也應(yīng)該這樣。
2.批量控制指令對(duì)溫室大棚內(nèi)全部卷膜進(jìn)行操作,實(shí)際應(yīng)用中最常用的也是這類操作。對(duì)于批量控制指令,系統(tǒng)規(guī)定命令2表示全部卷膜關(guān)閉,命令3表示全部卷膜打開。由于系統(tǒng)采用24V電源統(tǒng)一供電,若系統(tǒng)中14個(gè)電機(jī)同時(shí)工作,瞬間電流會(huì)超出系統(tǒng)電源的輸出能力,從而燒壞電源。為了避免這種情況保護(hù)電源,我們規(guī)定當(dāng)控制器收到批量控制的命令時(shí),不能立即同時(shí)控制所有14個(gè)卷膜執(zhí)行相應(yīng)的操作,而是采用延時(shí)執(zhí)行的方案。每個(gè)控制器根據(jù)自己的撥碼編址,以25s為間隔,確定延時(shí)的時(shí)間。第一個(gè)控制器的第一個(gè)卷膜延時(shí)0s,第一個(gè)控制器的第二個(gè)卷膜延時(shí)25s,第二個(gè)控制器的第一個(gè)卷膜延時(shí)50s,第二個(gè)控制器的第一個(gè)卷膜延時(shí)75s……,以此類推。由于每個(gè)卷膜從完全打開到完全關(guān)閉的整個(gè)過程中大約需要3min時(shí)間,所以當(dāng)?shù)?個(gè)卷膜電機(jī)開始工作時(shí),第一個(gè)卷膜電機(jī)已到達(dá)最大行程開關(guān)而停止,從而保證系統(tǒng)最多只有8個(gè)卷膜電機(jī)同時(shí)工作。此時(shí),系統(tǒng)電源的輸出能力完全可以滿足要求,在滿足系統(tǒng)控制要求的同時(shí)保護(hù)了系統(tǒng)的工作電源。同樣,當(dāng)控制器收到與上一條控制指令相反的命令時(shí),也要先控制電機(jī)停止轉(zhuǎn)動(dòng),3s后再執(zhí)行相反的操作,從而保護(hù)卷膜電機(jī)。
對(duì)于溫室大棚內(nèi)無正反轉(zhuǎn)、只有開關(guān)兩種狀態(tài)的設(shè)備(如滴灌、風(fēng)機(jī)、水泵等),系統(tǒng)規(guī)定,命令0表示設(shè)備打開,命令1表示設(shè)備關(guān)閉??刂乒?jié)點(diǎn)收到該類命令時(shí),不需要等待延時(shí),直接執(zhí)行相應(yīng)的操作,控制設(shè)備打開或關(guān)閉。
(三)控制器手動(dòng)/自動(dòng)切換功能
與控制器相連接的設(shè)備通過接收邊緣網(wǎng)關(guān)下發(fā)的控制指令而工作,邊緣網(wǎng)關(guān)在整個(gè)系統(tǒng)中起著至關(guān)重要的作用。這樣的設(shè)計(jì)有一個(gè)弊端,就是當(dāng)邊緣網(wǎng)關(guān)出現(xiàn)故障無法正常工作時(shí),無法對(duì)整個(gè)系統(tǒng)進(jìn)行控制,因而無法調(diào)節(jié)農(nóng)作物生長環(huán)境,這對(duì)于整個(gè)溫室大棚系統(tǒng)將會(huì)造成很大的影響。為了使系統(tǒng)更加具有靈活性,在邊緣網(wǎng)關(guān)出現(xiàn)故障的時(shí)候能夠暫時(shí)地采用應(yīng)急預(yù)案維持系統(tǒng)正常運(yùn)行,降低由此而帶來的影響和經(jīng)濟(jì)損失,在每個(gè)控制器上設(shè)計(jì)了一套手自動(dòng)操作切換按鈕。設(shè)計(jì)原理如圖
該設(shè)計(jì)采用一個(gè)兩檔開關(guān)來決定設(shè)備的控制狀態(tài)是處于手動(dòng)狀態(tài)還是自動(dòng)狀態(tài)。設(shè)備的電源負(fù)端已經(jīng)與供電電源負(fù)端相連,供電電源正端則與一個(gè)兩檔開關(guān)公共端相接,當(dāng)兩檔開關(guān)公共端打到1位時(shí),規(guī)定為手動(dòng)狀態(tài),此時(shí)設(shè)備只能通過旁路的一個(gè)按鈕開關(guān)來進(jìn)行控制,設(shè)備的打開或關(guān)閉需要現(xiàn)場(chǎng)手動(dòng)操作該按鈕開關(guān);當(dāng)兩檔開關(guān)打到2位時(shí),規(guī)定為自動(dòng)狀態(tài),此時(shí)設(shè)備的電源正端與控制節(jié)點(diǎn)相連,利用控制節(jié)點(diǎn)來控制設(shè)備的打開或關(guān)閉。正常情況下兩檔開關(guān)打到自動(dòng)狀態(tài),控制節(jié)點(diǎn)通過接收邊緣網(wǎng)關(guān)發(fā)送的指令控制設(shè)備。當(dāng)邊緣網(wǎng)關(guān)出現(xiàn)故障暫時(shí)無法進(jìn)行操控時(shí),則將兩檔開關(guān)撥到手動(dòng)狀態(tài),然后再操作旁邊的摁鈕開關(guān)使設(shè)備正常工作。該設(shè)計(jì)作為一個(gè)應(yīng)急預(yù)案,保證了溫室大棚內(nèi)農(nóng)作物生長環(huán)境的穩(wěn)定,使系統(tǒng)更加具有適用性。
五、結(jié)束語
農(nóng)業(yè)物聯(lián)網(wǎng)無線通信控制器以CC2530芯片為核心,采用ZigBee自組網(wǎng)技術(shù)實(shí)現(xiàn)了對(duì)農(nóng)業(yè)大棚的卷膜器、遮陽棚、通風(fēng)機(jī)、水泵等設(shè)備的分布式控制。在實(shí)際應(yīng)用過程中,系統(tǒng)能夠穩(wěn)定工作,基本滿足了智慧農(nóng)業(yè)生產(chǎn)的要求。該控制器具有自動(dòng)和手動(dòng)控制切換,提高了農(nóng)業(yè)大棚設(shè)備的可控性,保證了控制系統(tǒng)穩(wěn)定可靠的運(yùn)行。
參考文獻(xiàn):
[1]馮莉,董桂梅,林玉池.短距離無線通信技術(shù)及其在儀器通信中的應(yīng)用[J].儀表技術(shù)與傳感器,2007,12(2):31-32.
[2]王銳華,益曉新,于全.ZigBee與Bluetooth的比較及共存分析[J].測(cè)控技術(shù),2005,24(6):50-52.
基金項(xiàng)目:江西省重點(diǎn)研發(fā)計(jì)劃(20181ACF60026)和江西省現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)技術(shù)體系(JXARS-06)。