新型車(chē)輛模擬駕駛訓練系統動(dòng)感系統設計
1 引言
本文引用地址:http://dyxdggzs.com/article/78633.htm車(chē)輛模擬駕駛訓練系統是一種利用現代技術(shù)手段模擬真車(chē)駕駛的仿真系統,它可以使汽車(chē)駕駛訓練更加安全、經(jīng)濟、高效和逼真。與現有車(chē)輛模擬駕駛訓練系統相比,新型車(chē)輛模擬駕駛訓練系統的獨特之處是增加了動(dòng)感系統。該動(dòng)感系統可以使駕駛員在模擬駕駛室內真實(shí)感受到模型車(chē)所行駛的沙盤(pán)路面的狀況,與實(shí)車(chē)在正常路面上行駛的感覺(jué)一樣,從而彌補現有車(chē)輛模擬駕駛訓練系統的不足,提高駕駛訓練的效果。
2 系統的組成及工作原理
新型車(chē)輛模擬駕駛訓練系統中的動(dòng)感系統主要由動(dòng)感數據采集系統、動(dòng)感數據無(wú)線(xiàn)發(fā)收系統、動(dòng)感平臺及其控制系統組成。
工作原理是:安裝于模型車(chē)上的動(dòng)感數據采集系統實(shí)時(shí)采集模型車(chē)行駛過(guò)程中姿態(tài)的動(dòng)感數據,通過(guò)無(wú)線(xiàn)收發(fā)系統將動(dòng)感數據實(shí)時(shí)傳送到動(dòng)感平臺控制系統,進(jìn)而使動(dòng)感平臺產(chǎn)生相應的動(dòng)感。
3 硬件設計
3.1 動(dòng)感數據采集系統
動(dòng)感系統的動(dòng)感數據采集使用HMR3000型數字羅盤(pán)模塊。 HMR3000是Honeywell公司的產(chǎn)品,它不僅可以測量磁場(chǎng),還可以測量物體的姿態(tài),實(shí)時(shí)準確地輸出被測物體的俯仰角、橫滾角和航向角。用單片機和HMR3000組合構建
適用于機載或車(chē)載的測控系統,可廣泛應用于航海、通信雷達、微波定向、海上平臺控制、天線(xiàn)安裝、無(wú)人機、機器人、運動(dòng)定向、自動(dòng)控制等方面。HMR3000體積小、功耗低、精度高、價(jià)格便宜,是姿態(tài)測量用戶(hù)的理想選擇。
3.1.1 HMR3000的數據輸出格式
HMR3000數字羅盤(pán)按照NMEA0183的格式,通過(guò)所帶的RS-232接口輸出數據。輸出6種格式:HDG格式、HDT格式、XDR格式、HPR格式、RCD格式和CCD格式。動(dòng)感系統采用的是如下所示的HPR格式:$PTNTHPR,x..x(航向),a,x..x(俯仰角),a,x..x(橫滾角),a*hh該數據輸出格式將HMR3000的3個(gè)重要測量結果和相應的測量狀態(tài)結合在一起。數據中的x..x為所測的相應航向角、俯仰角和橫滾角的值,形式為n位ASCⅡ碼,單位可以是“度”也可以是“mils”。數據中的“a”表示測量狀態(tài)。測量狀態(tài)有以下6種:
L="LOW" ALARM(低級報警);
M="LOW" WARNING(低級警告);
N="NORMAL"(正常);
O="HIGH" WARNING(高級警告);
P="HIGH" ALARM(高級報警);
C="TUNING" ANALOG CIRCUIT(調節模擬電路)。
如果1個(gè)輸出語(yǔ)句的3個(gè)狀態(tài)指示中有任何1個(gè)報警,航向位置將為空白。報警和警告的閾值可以在EEPROM中更改。
3.1.2 HMR3000的控制指令
工作:羅盤(pán)啟動(dòng),指令為#FAO.3=1*26<1f>;
停止:羅盤(pán)停止,指令為#FAO.3=0*27<1f>;
詢(xún)問(wèn):詢(xún)問(wèn)羅盤(pán)啟動(dòng)、停止狀態(tài),指令為#FA0.3?*15;
響應:有二種響應,工作狀態(tài)響應為#1*31;停止狀態(tài)響應為#0*30<1f>。
3.1.3 HMR3000的數據單位和進(jìn)制的設定指令
數據單位可以分為“度”和“mils”二種。度=mils×9/160,其中,度的數值是0.0~359.9,而mils的數值是0~6 399。進(jìn)制分為十進(jìn)制和十六進(jìn)制二種。設定數據單位和進(jìn)制的指令如下:
#FA0.4=1*21 ∥殳定羅盤(pán)數據單位為“度”
#FA0.4=0*20 ∥設定羅盤(pán)數據單位為“mils”
#FA0.5=1*20 ∥設定羅盤(pán)數據為十進(jìn)制
#FA0.5=0*21 ∥設定羅盤(pán)數據為十六進(jìn)制
3.1.4 HMR3000數據采集速率的設定指令
HMR3000的數據輸出有6種格式,對應的數據采集速率格式也有6種,其中HPR格式更新速率指令為
#BAD=I*hh ∥設定HPR的更新速率為“I”句/s
其中I的值可以設為0、l、2、3、6、12、20、30、60、120、180、300、413、600、825、1200。
3.1.5 HMR3000姿態(tài)數據的查詢(xún)指令
HMR3000啟動(dòng)后會(huì )按照指定的工作模式發(fā)送數據, 一般會(huì )選擇連續工作方式。需要查詢(xún)當前的數據狀態(tài)和具體數值時(shí)需要使用查詢(xún)指令。HPR格式的查詢(xún)指令為
$PTNT,HPR*78 ∥查詢(xún)HPR格式的數據狀態(tài)
3.1.6 HMR3000與MCU的接口連接
由于HMR3000與外界的串行通信采用的是自身所帶的RS-232接口,與MCU串行數據傳輸的TTL電平不匹配,所以需要MAX232型電平轉換器,如圖1所示。

3.2 動(dòng)感數據無(wú)線(xiàn)收發(fā)系統
動(dòng)感數據無(wú)線(xiàn)收發(fā)系統采用nRF905型無(wú)線(xiàn)收發(fā)模塊,該模塊具有以下突出特點(diǎn):
●三頻段收發(fā)合一,工作頻率為國際通用的ISM頻段433/868/915 MHz;
●GMSK調制,抗干擾能力強,特別適合工業(yè)控制領(lǐng)域;
●采用DSS+PLL頻率合成技術(shù),頻率穩定性極好;
●靈敏度高,達到-100 dBm;
●工作電壓低(2.7 V),功耗小,待機狀態(tài)僅為1 μA,可滿(mǎn)足
低功耗設備的要求;
●最大發(fā)射功率達+10 dBm;
●具有多個(gè)頻道(最多170個(gè)以上),能滿(mǎn)足需要多信道工作的特殊應用;
●工作速率最高可達76.8 kb/s;
●外圍元件數目少(僅10個(gè)),基本上無(wú)需調試;
●由于采用低發(fā)射功率、高接收靈敏度的設計,使用無(wú)需申請許可證,使用距離最遠可達l 000 m。
此外,由于nRF905是一款收發(fā)一體化的無(wú)線(xiàn)傳輸電路,帶有調制器和解調器,發(fā)送時(shí)可以自動(dòng)打包,接收時(shí)可以自動(dòng)進(jìn)行地址匹配、自動(dòng)CRC檢驗,發(fā)送或接收完畢后,其DR引腳會(huì )自動(dòng)設置高電平,以示發(fā)送或接收完畢,并且采用SPI接口與MCU通信,因此編程非常方便。它可廣泛應用于車(chē)輛監控、遙控、遙測、工業(yè)數據采集、水文氣象監控、非接觸RF智能卡、機器人控制、數字音頻和數字圖像無(wú)線(xiàn)傳輸等領(lǐng)域。
nRF905除了負責動(dòng)感系統中動(dòng)感數據的無(wú)線(xiàn)傳輸外,還可傳輸新型車(chē)輛模擬駕駛訓練系統中模擬駕駛室向模型車(chē)發(fā)送的油門(mén)、燈光、制動(dòng)、轉向、分動(dòng)箱、離合等控制指令。nRF905與MCU的連接如圖2所示,引腳功能說(shuō)明見(jiàn)表1。

3.3 動(dòng)感平臺及其控制系統
動(dòng)感平臺是動(dòng)感系統的執行部分,它由6個(gè)液壓泵和模擬駕駛室的底板構成。其工作原理是MCU根據傳來(lái)的動(dòng)感數據通過(guò)繼電器驅動(dòng)電路控制相應繼電器,使相應液壓泵的相應電磁閥開(kāi)啟或閉合,進(jìn)而模擬駕駛室上下顛簸、前后俯仰或左右搖擺,如圖3所示。

4 軟件設計
由于HMR3000和nRF905分別通過(guò)RS-232接口和SPI接口與MCU進(jìn)行通信,故整個(gè)系統的硬件電路相對比較簡(jiǎn)單,但是,由于HMR3000采用NMEA0183協(xié)議格式輸出數據,nRF905收發(fā)數據又有嚴格的時(shí)序要求,因而軟件設計相對比較復雜。
4.1 HMR3000與MCU的通信協(xié)議
HMR3000的串行通信是根據NMEA0183標準制定的簡(jiǎn)單的ASCⅡ協(xié)議,可以在單片機系統中使用RS-232或RS-485接口電路。ASCⅡ碼的傳輸和接收使用1位起始位、8位數據位、無(wú)奇偶校驗位和I位停止位,每個(gè)碼有10位。數據傳輸率可選擇l200 bit/s、2 400 bit/s、4 800 bit/s、9 600 bit/s、19 200bit/s、38 400 bit/s。
4.2 MCU接收HMR3000的數據
啟動(dòng)HMR3000后,設定好HMR3000的數據單位、進(jìn)制及其數據采集速率,每次數據采集后HMR3000自動(dòng)向MCU發(fā)送數據。由于它采用 NMEA0183協(xié)議標準的HPR格式即“$PTNTHPR,x..x,a,x..x,a,x..x,a*hh”格式輸出,此格式中不僅含有效數據 “x..x”和其狀態(tài)“a”,還包含有‘$’、‘P’、‘T’、‘*’、‘h’等相關(guān)格式字符,因此在程序中要加以區分。動(dòng)感系統中將字符‘$’作為一組有效數據傳輸的開(kāi)始,將字符‘*’作為一組有效數據傳輸的結束,并通過(guò)計算接收逗號‘,’的個(gè)數判斷有效數據的開(kāi)始。MCU接收HMR3000的數據流程如圖4所示。

4.3 nRF905與MCU的通信協(xié)議
nRF905與MCU之間的通信采用SPI通信協(xié)議,使用2條控制信號線(xiàn)CSN、SCK和2條數據信號線(xiàn)MOSI、MISO進(jìn)行通信。CSN用來(lái)控制外圍設備的選通(低電平有效),SCK提供同步時(shí)鐘,MOS I、MISO分別為主從設備的輸入/輸出線(xiàn)。在SPI通信過(guò)程中,主從設備均在時(shí)鐘的下降沿從各自的輸出線(xiàn)輸出1位數據,在時(shí)鐘的上升沿從各自的輸入線(xiàn)讀入l位數據。
4.4 nRF905發(fā)送和接收數據
nRF905發(fā)送或接收數據時(shí)必須嚴格遵守發(fā)送或接收時(shí)序,否則將導致發(fā)送或接收失敗。
4.4.1 發(fā)送數據
nRF905的發(fā)送時(shí)序如圖5所示,其中.TA-TB是nRF905的命令字寄存器、匹配地址寄存器和發(fā)送數據寄存器編程時(shí)間;TD-Tl是發(fā)送啟動(dòng)脈沖,至少為10μs;T1-T2是nRF905的自動(dòng)編碼,至少為650 μs;T2-T3是自動(dòng)發(fā)送數據;T3是發(fā)送結束時(shí)DR置高電平,表示發(fā)送結束。具體步驟如下:

(1)給nRF905上電后,MCU將TX_EN置為高電平,將TRX_CE置為低電平,使nRF905進(jìn)入發(fā)送模式;
(2)MCU通過(guò)SPI接口按照SPI通信協(xié)議向nRF905寫(xiě)命令字、匹配地址和將要發(fā)送的數據;
(3)使TRX_CE產(chǎn)生1個(gè)至少10 μs的發(fā)送脈沖;
; (4)nRF905接到發(fā)送脈沖后自動(dòng)編碼、自動(dòng)發(fā)送。如果nRF905命令字寄存器中的AUTO_RE-TRAN位被設置為高電平,則nRF905不斷重發(fā),直到TRX_CE被置高電平;
(5)nRF905發(fā)送數據后,DR自動(dòng)置高電平。MCU可以通過(guò)DR判斷發(fā)送完畢與否。以便發(fā)送下一組數據。
4.4.2 接收數據
nRF905接收時(shí)序如圖6所示,具體步驟如下:
(1)給nRF905上電后,MCU通過(guò)將TX_EN置低電平和TRX_CE置高電平,使nRF905進(jìn)入接收模式(圖6中的TA時(shí)刻);

(2)650μs后,nRF905開(kāi)始檢測有無(wú)發(fā)送的數據(圖6中的T0時(shí)刻);
(3)當nRF905探測到有接收頻率的載波時(shí),將CD置高電平(圖6中的Tl時(shí)刻);
(4)當nRF905接收完有效匹配地址后,將AM置高電平(圖6中的T2時(shí)刻);
(5)當nRF905接收完有效數據且CRC檢驗正確后,將DR置高電平(圖6中的T3時(shí)刻);
(6)MCU在DR變高電平后可以通過(guò)SPI讀取nRF905接收的數據。
4.5 動(dòng)感控制部分的編程
根據硬件電路的連接,可以利用外部中斷0服務(wù)程序實(shí)現動(dòng)感的實(shí)時(shí)控制,這樣,MCU在DR變成高電平后即可控制動(dòng)感平臺動(dòng)作,提高了實(shí)效性。程序流程如圖7所示。

5 結束語(yǔ)
據考證,國內現有的車(chē)輛模擬駕駛訓練系統均未安裝動(dòng)感系統。車(chē)輛模擬駕駛動(dòng)感系統具有廣闊的發(fā)展前景。本文為該系統的設計提供了切實(shí)可行、安全可靠的參考設計方案。
評論