基于Zigbee的智能車運行狀態(tài)實時監(jiān)控系統(tǒng)設(shè)計
圖2 上位機電路圖本文引用地址:http://www.ex-cimer.com/article/196746.htm
3 系統(tǒng)軟件設(shè)計
3.1 通信協(xié)議
本系統(tǒng)中上位機與智能車之間采用全雙工通信。無線網(wǎng)絡(luò)采用星狀網(wǎng)絡(luò)拓撲結(jié)構(gòu)。與上位機相連的IP-Link1200 為協(xié)調(diào)器節(jié)點,與各個智能車相連的IP-Link1200為終端節(jié)點。無線網(wǎng)絡(luò)中各個終端節(jié)點的節(jié)點號即為智能車的標識號。
通信協(xié)議的定義能夠確保收發(fā)數(shù)據(jù)的正確率。實驗證明,2個AAH后跟1個55H在數(shù)據(jù)中出現(xiàn)的概率小,因此,用2個AAH后跟1個55H作為1個數(shù)據(jù)包的起始標志。當發(fā)送數(shù)據(jù)時,在數(shù)據(jù)包前加上起始標志。當接收方收到1個數(shù)據(jù)包,首先檢驗前3位是否是起始標志,若是,則繼續(xù)接收數(shù)據(jù)包,否則,放棄接收。命令碼是上位機向下位機發(fā)出的指令,占1 byte.其中低4位是操作代號,用0表示上位機需要讀取下位機中的數(shù)據(jù);用1表示上位機需要向下位機中寫入數(shù)據(jù)。高4位是指令代號,表示上位機需要讀/寫下位機的哪組數(shù)據(jù),例如舵機參數(shù)、路況參數(shù)、速度參數(shù)等。數(shù)據(jù)長度位,表示數(shù)據(jù)包中數(shù)據(jù)的個數(shù)。數(shù)據(jù)的糾錯處理采用CRC校驗方式。
3.2 通信模塊設(shè)計
通信系統(tǒng)的軟件主要有兩部分,一是上位機從串口接收和發(fā)送數(shù)據(jù),二是智能車在MC9S12XS128單片機的控制下從IP-Link1200接收和發(fā)送數(shù)據(jù)。通信子程序在系統(tǒng)啟動時設(shè)置串行口的波特率為38 400 baud,并通過IP-Link1200給通信網(wǎng)絡(luò)中的各個子節(jié)點發(fā)送控制消息,查看各個節(jié)點是否連接正常。智能車中的通信子程序,上電時設(shè)置串行口的波特率為38 400 baud,設(shè)置無線網(wǎng)絡(luò)中各個終端節(jié)點的節(jié)點號為智能車的標識號,設(shè)置IP-Link1200的網(wǎng)絡(luò)拓撲結(jié)構(gòu)為星型、傳輸波特率為38 400 baud、信道為11等。Zigbee網(wǎng)絡(luò)的建立是由與上位機相連的協(xié)調(diào)器發(fā)起的。首先,協(xié)調(diào)器進行掃描搜索,發(fā)現(xiàn)一個未用的最佳信道來建立網(wǎng)絡(luò),然后再掃描搜索發(fā)現(xiàn)新的終端節(jié)點將其加入到這個網(wǎng)絡(luò)中。
3.3 下位機軟件設(shè)計
在上位機與上位機的通信中,上位機處于主動地位,下位機處于從屬地位。當下位機沒有收到上位機的通信指令時,小車就不斷地采集前方的道路信息,提取引導線,采集小車行駛速度,生成控制參數(shù),控制著小車沿引導線前進。當小車收到上位機的通信指令時,首先判斷指令類型。若是上位機向下位機發(fā)來的修正數(shù)據(jù)包,下位機接收數(shù)據(jù)并修改運行參數(shù);若是上位機要求下位機傳送小車運行參數(shù)的指令,下位機立即將發(fā)送類型字打包并上傳。
3.4 上位機軟件設(shè)計
上位機軟件采用VB語言來編寫,基于Windows 的窗口化程序設(shè)計MFC,使人機界面生動直觀,操作簡單。
上位機完成的主要功能是負責一次通信的發(fā)起,選擇需要采集的參數(shù)組,將接收到的數(shù)據(jù)存儲、顯示,并對參數(shù)進行修正。它的功能模塊分為主控模塊、通信模塊、數(shù)據(jù)庫管理模塊。主控模塊由數(shù)據(jù)接收子模塊、顯示子模塊和參數(shù)修正子模塊組成。數(shù)據(jù)接收子模塊由圖像信息子項、舵機相關(guān)參數(shù)子項、PID參數(shù)子項組成;參數(shù)修正子模塊完成對舵機轉(zhuǎn)角參數(shù)和PID算法中各因子的修正,當參數(shù)修正完成,立即執(zhí)行發(fā)送參數(shù)修正命令,以此修改下位機的相應參數(shù)。
4 實驗及分析
應用本系統(tǒng)對智能車進行調(diào)試,能夠及時獲得智能車運行的各項參數(shù),能夠及時觀察到智能車在給定參數(shù)控制下的運行狀態(tài)。同時,通過修改相應參數(shù),調(diào)整智能車的運行狀態(tài),使智能車的運行狀態(tài)達到最佳狀態(tài)。
圖3是智能車運行時電機控制的各項參數(shù)。在上位機上可以觀察智能車在同一路段運行時,PID各項因子的變化對智能車運行狀態(tài)的影響,通過不斷調(diào)整各項因子,使智能車在同一路段的運行狀態(tài)達到最佳。
圖3 智能車運行時電機控制的各項參數(shù)
5 結(jié)論
本文應用Zigbee無線通信模塊設(shè)計并實現(xiàn)了智能車運行狀態(tài)實時監(jiān)控系統(tǒng)。該系統(tǒng)能夠及時獲得智能車運行時的各項參數(shù),及時觀察到參數(shù)的變化對智能車運行狀態(tài)的影響,使智能車的調(diào)試不再盲目,而是有的放矢。同時,也為控制算法的離線改進提供了有效的依據(jù)。
評論