《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于Zigbee技術(shù)的智能車運(yùn)行狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)
基于Zigbee技術(shù)的智能車運(yùn)行狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)
來源:《電視技術(shù)》
作者:張曉群 嵇啟春
摘要: 智能車又稱輪式機(jī)器人,是集傳感器、計(jì)算機(jī)、自動(dòng)控制、通信以及機(jī)械等技術(shù)于一身的綜合系統(tǒng)。在智能車的設(shè)計(jì)和制作過程中,控制算法調(diào)試是一個(gè)極其重要而又關(guān)鍵的環(huán)節(jié),面臨著許多急需解決的問題:智能車能否按照事先設(shè)計(jì)的思路運(yùn)行;控制策略是否符合實(shí)際需求;運(yùn)行中出現(xiàn)問題時(shí),智能車的各項(xiàng)實(shí)時(shí)參數(shù)是什么。針對(duì)這些問題,許多學(xué)者提出了基于仿真的解決方案。有學(xué)者提出基于參數(shù)化的機(jī)械系統(tǒng)幾何模型,使用拉格朗日方法建立系統(tǒng)動(dòng)力
Abstract:
Key words :

0 引言

智能車又稱輪式機(jī)器人,是集傳感器、計(jì)算機(jī)、自動(dòng)控制、通信以及機(jī)械等技術(shù)于一身的綜合系統(tǒng)。在智能車的設(shè)計(jì)和制作過程中,控制算法調(diào)試是一個(gè)極其重要而又關(guān)鍵的環(huán)節(jié),面臨著許多急需解決的問題:智能車能否按照事先設(shè)計(jì)的思路運(yùn)行;控制策略是否符合實(shí)際需求;運(yùn)行中出現(xiàn)問題時(shí),智能車的各項(xiàng)實(shí)時(shí)參數(shù)是什么。針對(duì)這些問題,許多學(xué)者提出了基于仿真的解決方案。有學(xué)者提出基于參數(shù)化的機(jī)械系統(tǒng)幾何模型,使用拉格朗日方法建立系統(tǒng)動(dòng)力學(xué)方程,來對(duì)虛擬機(jī)械系統(tǒng)進(jìn)行動(dòng)力學(xué)分析。但由于車輛機(jī)械結(jié)構(gòu)的復(fù)雜性,這種建模和仿真方式過于繁瑣,影響了仿真和研究的效率。清華大學(xué)針對(duì)全國大學(xué)生智能車競賽開發(fā)的PlaSTid仿真平臺(tái),其動(dòng)力學(xué)模型雖然較為簡單,但該模型是一種理想化的模型,對(duì)于影響智能車運(yùn)行狀況的一些參數(shù)的考慮較少,例如小車與路面之間的摩擦系數(shù)、小車的機(jī)械性能等因素,因而仿真結(jié)果與實(shí)際存在一定差距。有學(xué)者提出一種智能車硬件在環(huán)仿真系統(tǒng),該仿真系統(tǒng)發(fā)揮了硬件在環(huán)的長處。但該軟件仍以虛擬仿真平臺(tái)LabVIEW為基礎(chǔ),控制算法的分析和決策在上位機(jī)上運(yùn)行,脫離了車模實(shí)體的軟件運(yùn)行環(huán)境,其仿真結(jié)果與實(shí)際也存在一定的差距,因此其應(yīng)用有相當(dāng)?shù)木窒扌浴?/p>

筆者設(shè)計(jì)了一種基于無線通信技術(shù)的智能車運(yùn)行狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)。該系統(tǒng)以車模為實(shí)驗(yàn)主體,車載控制器完成智能車的數(shù)據(jù)采集、分析、決策等。上位機(jī)通過無線通信技術(shù)獲得車模的各項(xiàng)運(yùn)行參數(shù),監(jiān)控車模的運(yùn)行狀態(tài)。

1 系統(tǒng)總體設(shè)計(jì)

1.1 Zigbee技術(shù)分析

Zigbee技術(shù)是一種近距離、低功率、低成本的雙向無線通信技術(shù)[5-6],工作頻段為全球通用頻段2.4 GHz,數(shù)據(jù)傳輸速率為10~250 kbit/s,免執(zhí)照。Zigbee協(xié)議由應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層組成,其中物理層和鏈路層遵循IEEE802.15.4協(xié)議。一個(gè)Zigbee網(wǎng)絡(luò)支持255個(gè)設(shè)備;采用先進(jìn)的AES128加密算法,提供數(shù)據(jù)完整性檢查;具有載波偵聽多路訪問、沖突檢測(cè)(CSMA/CA)方式,有很好的兼容性。Zigbee定義了3種類型的節(jié)點(diǎn)設(shè)備,分別是協(xié)調(diào)器、路由設(shè)備(FFD)和終端設(shè)備(RFD)。

Zigbee網(wǎng)絡(luò)由這3種設(shè)備組成,但必須包括1個(gè)協(xié)調(diào)器,而且只能有1個(gè)協(xié)調(diào)器。協(xié)調(diào)器是整個(gè)網(wǎng)絡(luò)的中心,它負(fù)責(zé)網(wǎng)絡(luò)的組建、網(wǎng)絡(luò)節(jié)點(diǎn)的管理、網(wǎng)絡(luò)節(jié)點(diǎn)信息的儲(chǔ)存,尋找節(jié)點(diǎn)之間的路由消息,不斷地接收信息。路由設(shè)備也擔(dān)當(dāng)著協(xié)調(diào)器的作用,負(fù)責(zé)其他的路由器或終端設(shè)備入網(wǎng),拓展網(wǎng)絡(luò)范圍;終端設(shè)備是實(shí)現(xiàn)具體功能的單元[7].Zigbee網(wǎng)絡(luò)可以實(shí)現(xiàn)星型、樹型和網(wǎng)狀型多種拓?fù)浣Y(jié)構(gòu)。

赫立訊公司的IP-Link產(chǎn)品是集射頻收發(fā)器、微處理器、多拓?fù)渚W(wǎng)絡(luò)功能于一體的無線通信模塊。

IP-Link1200 模塊內(nèi)含AVR 微處理器,符合開放IEEE802.15.4協(xié)議的2.4 GHz免執(zhí)照ISM頻段的射頻收發(fā)器,可以組成任意的網(wǎng)絡(luò)拓樸。因此,IP-Link1200是一款完全滿足智能車測(cè)控系統(tǒng)要求的無線通信模塊。

1.2 監(jiān)控系統(tǒng)的組成結(jié)構(gòu)

為了能對(duì)多個(gè)智能車的運(yùn)行狀態(tài)實(shí)行在線監(jiān)控,系統(tǒng)采用星形拓?fù)浣Y(jié)構(gòu)。該系統(tǒng)的網(wǎng)絡(luò)節(jié)點(diǎn)分為協(xié)調(diào)器節(jié)點(diǎn)和終端節(jié)點(diǎn),其中協(xié)調(diào)器與上位機(jī)相連,終端節(jié)點(diǎn)嵌入智能車。

上位機(jī)(即PC 機(jī))與下位機(jī)(智能車)采用無線通信。下位機(jī)采集智能車的行駛速度以及路況信息,判斷智能車的行駛方向,并計(jì)算出下一步的行動(dòng)數(shù)據(jù)。同時(shí),下位機(jī)將采集的各項(xiàng)數(shù)據(jù)以及下一步的行動(dòng)數(shù)據(jù)發(fā)給上位機(jī),使得調(diào)試人員可以在上位機(jī)上觀察小車當(dāng)前的行駛參數(shù)以及對(duì)應(yīng)的小車行駛狀態(tài)。因此,上位機(jī)與下位機(jī)之間的通信方式是上位機(jī)首先向下位機(jī)發(fā)送通信指令,然后接收下位機(jī)發(fā)送來的小車運(yùn)行狀態(tài)信息。上位機(jī)對(duì)信息保存、顯示、修正,并將修正的參數(shù)發(fā)送到下位機(jī)。

2 系統(tǒng)硬件設(shè)計(jì)

智能車以MC9S12XS128單片機(jī)為主控芯片,該芯片擁有豐富的內(nèi)部資源。利用單片機(jī)的脈寬調(diào)制模塊對(duì)智能車的舵機(jī)和電機(jī)進(jìn)行驅(qū)動(dòng),2路PWM通道作為舵機(jī)角度控制,1路PWM通道用于電機(jī)的轉(zhuǎn)速控制;利用單片機(jī)的捕捉定時(shí)功能和A/D轉(zhuǎn)換模塊采集道路信號(hào)。

單片機(jī)與IP-Link1200的連接比較簡單方便。IP-Link1200的RXD可直接與單片機(jī)的SCI串行口發(fā)送端TXD相連接,TXD與單片機(jī)串行口接收端RXD相連接,RESET端接單片機(jī)的PE1口,通過PE1初始化IP-Link1200,即通過PE1輸出10 ms的負(fù)脈沖。下位機(jī)電路圖如圖1所示。

圖1 下位機(jī)電路圖

IP-Link1200與PC相連接時(shí)必須經(jīng)過電平轉(zhuǎn)換,將TTL電平轉(zhuǎn)換為RS-232C電平,用1片MAX232 芯片便可以完成該轉(zhuǎn)換。IP-Link1200的RESET端接在復(fù)位電路上,該電路在上電時(shí)使IP-Link1200復(fù)位或按RST按鈕使IP-Link1200復(fù)位。上位機(jī)電路圖如圖2所示。

圖2 上位機(jī)電路圖

3 系統(tǒng)軟件設(shè)計(jì)

3.1 通信協(xié)議

本系統(tǒng)中上位機(jī)與智能車之間采用全雙工通信。無線網(wǎng)絡(luò)采用星狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。與上位機(jī)相連的IP-Link1200 為協(xié)調(diào)器節(jié)點(diǎn),與各個(gè)智能車相連的IP-Link1200為終端節(jié)點(diǎn)。無線網(wǎng)絡(luò)中各個(gè)終端節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)即為智能車的標(biāo)識(shí)號(hào)。

通信協(xié)議的定義能夠確保收發(fā)數(shù)據(jù)的正確率。實(shí)驗(yàn)證明,2個(gè)AAH后跟1個(gè)55H在數(shù)據(jù)中出現(xiàn)的概率小,因此,用2個(gè)AAH后跟1個(gè)55H作為1個(gè)數(shù)據(jù)包的起始標(biāo)志。當(dāng)發(fā)送數(shù)據(jù)時(shí),在數(shù)據(jù)包前加上起始標(biāo)志。當(dāng)接收方收到1個(gè)數(shù)據(jù)包,首先檢驗(yàn)前3位是否是起始標(biāo)志,若是,則繼續(xù)接收數(shù)據(jù)包,否則,放棄接收。命令碼是上位機(jī)向下位機(jī)發(fā)出的指令,占1 byte.其中低4位是操作代號(hào),用"0"表示上位機(jī)需要讀取下位機(jī)中的數(shù)據(jù);用"1"表示上位機(jī)需要向下位機(jī)中寫入數(shù)據(jù)。高4位是指令代號(hào),表示上位機(jī)需要讀/寫下位機(jī)的哪組數(shù)據(jù),例如舵機(jī)參數(shù)、路況參數(shù)、速度參數(shù)等。數(shù)據(jù)長度位,表示數(shù)據(jù)包中數(shù)據(jù)的個(gè)數(shù)。數(shù)據(jù)的糾錯(cuò)處理采用CRC校驗(yàn)方式。

3.2 通信模塊設(shè)計(jì)

通信系統(tǒng)的軟件主要有兩部分,一是上位機(jī)從串口接收和發(fā)送數(shù)據(jù),二是智能車在MC9S12XS128單片機(jī)的控制下從IP-Link1200接收和發(fā)送數(shù)據(jù)。通信子程序在系統(tǒng)啟動(dòng)時(shí)設(shè)置串行口的波特率為38 400 baud,并通過IP-Link1200給通信網(wǎng)絡(luò)中的各個(gè)子節(jié)點(diǎn)發(fā)送控制消息,查看各個(gè)節(jié)點(diǎn)是否連接正常。智能車中的通信子程序,上電時(shí)設(shè)置串行口的波特率為38 400 baud,設(shè)置無線網(wǎng)絡(luò)中各個(gè)終端節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)為智能車的標(biāo)識(shí)號(hào),設(shè)置IP-Link1200的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為星型、傳輸波特率為38 400 baud、信道為11等。Zigbee網(wǎng)絡(luò)的建立是由與上位機(jī)相連的協(xié)調(diào)器發(fā)起的。首先,協(xié)調(diào)器進(jìn)行掃描搜索,發(fā)現(xiàn)一個(gè)未用的最佳信道來建立網(wǎng)絡(luò),然后再掃描搜索發(fā)現(xiàn)新的終端節(jié)點(diǎn)將其加入到這個(gè)網(wǎng)絡(luò)中。

3.3 下位機(jī)軟件設(shè)計(jì)

在上位機(jī)與上位機(jī)的通信中,上位機(jī)處于主動(dòng)地位,下位機(jī)處于從屬地位。當(dāng)下位機(jī)沒有收到上位機(jī)的通信指令時(shí),小車就不斷地采集前方的道路信息,提取引導(dǎo)線,采集小車行駛速度,生成控制參數(shù),控制著小車沿引導(dǎo)線前進(jìn)。當(dāng)小車收到上位機(jī)的通信指令時(shí),首先判斷指令類型。若是上位機(jī)向下位機(jī)發(fā)來的修正數(shù)據(jù)包,下位機(jī)接收數(shù)據(jù)并修改運(yùn)行參數(shù);若是上位機(jī)要求下位機(jī)傳送小車運(yùn)行參數(shù)的指令,下位機(jī)立即將發(fā)送類型字打包并上傳。

3.4 上位機(jī)軟件設(shè)計(jì)

上位機(jī)軟件采用VB語言來編寫,基于Windows 的窗口化程序設(shè)計(jì)MFC,使人機(jī)界面生動(dòng)直觀,操作簡單。

上位機(jī)完成的主要功能是負(fù)責(zé)一次通信的發(fā)起,選擇需要采集的參數(shù)組,將接收到的數(shù)據(jù)存儲(chǔ)、顯示,并對(duì)參數(shù)進(jìn)行修正。它的功能模塊分為主控模塊、通信模塊、數(shù)據(jù)庫管理模塊。主控模塊由數(shù)據(jù)接收子模塊、顯示子模塊和參數(shù)修正子模塊組成。數(shù)據(jù)接收子模塊由圖像信息子項(xiàng)、舵機(jī)相關(guān)參數(shù)子項(xiàng)、PID參數(shù)子項(xiàng)組成;參數(shù)修正子模塊完成對(duì)舵機(jī)轉(zhuǎn)角參數(shù)和PID算法中各因子的修正,當(dāng)參數(shù)修正完成,立即執(zhí)行發(fā)送參數(shù)修正命令,以此修改下位機(jī)的相應(yīng)參數(shù)。

4 實(shí)驗(yàn)及分析

應(yīng)用本系統(tǒng)對(duì)智能車進(jìn)行調(diào)試,能夠及時(shí)獲得智能車運(yùn)行的各項(xiàng)參數(shù),能夠及時(shí)觀察到智能車在給定參數(shù)控制下的運(yùn)行狀態(tài)。同時(shí),通過修改相應(yīng)參數(shù),調(diào)整智能車的運(yùn)行狀態(tài),使智能車的運(yùn)行狀態(tài)達(dá)到最佳狀態(tài)。

圖3是智能車運(yùn)行時(shí)電機(jī)控制的各項(xiàng)參數(shù)。在上位機(jī)上可以觀察智能車在同一路段運(yùn)行時(shí),PID各項(xiàng)因子的變化對(duì)智能車運(yùn)行狀態(tài)的影響,通過不斷調(diào)整各項(xiàng)因子,使智能車在同一路段的運(yùn)行狀態(tài)達(dá)到最佳。

圖3 智能車運(yùn)行時(shí)電機(jī)控制的各項(xiàng)參數(shù)

5 結(jié)論

本文應(yīng)用Zigbee無線通信模塊設(shè)計(jì)并實(shí)現(xiàn)了智能車運(yùn)行狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)。該系統(tǒng)能夠及時(shí)獲得智能車運(yùn)行時(shí)的各項(xiàng)參數(shù),及時(shí)觀察到參數(shù)的變化對(duì)智能車運(yùn)行狀態(tài)的影響,使智能車的調(diào)試不再盲目,而是有的放矢。同時(shí),也為控制算法的離線改進(jìn)提供了有效的依據(jù)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。