新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ZigBee的遠(yuǎn)程低功耗灌溉控制系統(tǒng)設(shè)計

ZigBee的遠(yuǎn)程低功耗灌溉控制系統(tǒng)設(shè)計

作者: 時間:2014-01-18 來源:網(wǎng)絡(luò) 收藏

2.3 電磁閥驅(qū)動電路
由于CC2530的驅(qū)動電路很小,不能驅(qū)動電磁閥里面的電機(jī),使電磁閥關(guān)斷,所以必須在CC2530的I/O和電機(jī)之間加上驅(qū)動電路來驅(qū)動電機(jī),其電路圖如圖4所示。

d.jpg


J2接電磁閥的輸入端,L7010為電機(jī)驅(qū)動模塊,其工作電壓最低可以達(dá)到1.8 V,持續(xù)驅(qū)動電流達(dá)1 A,尖峰工作電流可以達(dá)到2 A,并且可以方便地控制電機(jī)的正反轉(zhuǎn),其中VM為電機(jī)電源,VCC為芯片電源。

3 系統(tǒng)軟件設(shè)計
3.1 系統(tǒng)控制協(xié)議設(shè)計
3.1.1 上位機(jī)向下位機(jī)發(fā)送控制消息
由于上位機(jī)發(fā)送指令時,是通過手機(jī)短信發(fā)送出去的,并且由于垃圾短信的存在,終端難免會收到一些和控制無關(guān)的指令,因此當(dāng)解析短信中的控制指令時,必然會使一些短信無法解析或者解析出錯誤的控制信息。不能解析出控制指令會使程序出現(xiàn)運行錯誤,使整個系統(tǒng)癱瘓;而解析出錯誤的控制指令將使電磁閥出現(xiàn)誤動作,影響控制效果。因此,為了保證系統(tǒng)的安全性和健壯性,必須設(shè)計相應(yīng)的協(xié)議。為了區(qū)分控制信息和非控制信息,必須有一個標(biāo)志來加以區(qū)分,本文采用一個字節(jié)表示消息類型。每一個節(jié)點有4個電磁閥,所以采用一個字節(jié)可以描述一個電磁閥的控制信息。為了減少終端的控制和命令解析的難度,將此字節(jié)的剩下4位作為每一個電磁閥有無控制信息的標(biāo)志。如果每一個節(jié)點都單獨發(fā)送一條控制短信,必然會加重系統(tǒng)的負(fù)擔(dān),使電能消耗增加,所以本系統(tǒng)將所有節(jié)點的控制組合在一條短信中發(fā)送出去。其消息結(jié)構(gòu)如下所示。

e.jpg


消息類型域,其長度為1個字節(jié)。應(yīng)用中設(shè)置成表1消息類型域,其長度為1個字節(jié)。應(yīng)用中設(shè)置成表1中的某值。

f.jpg


控制消息域,其長度根據(jù)具體農(nóng)田里的終端個數(shù)決定,一個終端采用一個字節(jié),其中每兩位為一個電磁閥的控制信息,應(yīng)用中應(yīng)設(shè)置成表2所列的值。

g.jpg

3.1.2 下位機(jī)向上位機(jī)發(fā)送數(shù)據(jù)消息
上位機(jī)向下位機(jī)發(fā)送控制指令后,下位機(jī)將會向上位機(jī)發(fā)送相應(yīng)的回復(fù)信息,以告訴上位機(jī)下位機(jī)對所發(fā)送指令的執(zhí)行情況,這種信息包括兩類:第一類是上位機(jī)發(fā)送完控制指令后,下位機(jī)收到指令的一個確認(rèn)狀態(tài)回復(fù),其消息類型值見表1;第二類消息是下位機(jī)對上位機(jī)發(fā)送的控制指令執(zhí)行后的電磁閥信息,電磁閥的狀態(tài)信息格式如下。

h.jpg


其消息類型見表1。字節(jié)2以后的字節(jié)表示電池閥的狀態(tài),每一個字節(jié)表示一個終端節(jié)點,其中低4位為電磁閥狀態(tài)。由于協(xié)調(diào)器節(jié)點可能沒有收到終端采集到的電磁閥狀態(tài)數(shù)據(jù),所以用第4位來表示低4位是否為電磁閥狀態(tài),1為是,0為不是。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉