新型車輛模擬駕駛訓練系統(tǒng)動感系統(tǒng)設計
1 引言
本文引用地址:http://2s4d.com/article/78633.htm車輛模擬駕駛訓練系統(tǒng)是一種利用現(xiàn)代技術手段模擬真車駕駛的仿真系統(tǒng),它可以使汽車駕駛訓練更加安全、經(jīng)濟、高效和逼真。與現(xiàn)有車輛模擬駕駛訓練系統(tǒng)相比,新型車輛模擬駕駛訓練系統(tǒng)的獨特之處是增加了動感系統(tǒng)。該動感系統(tǒng)可以使駕駛員在模擬駕駛室內(nèi)真實感受到模型車所行駛的沙盤路面的狀況,與實車在正常路面上行駛的感覺一樣,從而彌補現(xiàn)有車輛模擬駕駛訓練系統(tǒng)的不足,提高駕駛訓練的效果。
2 系統(tǒng)的組成及工作原理
新型車輛模擬駕駛訓練系統(tǒng)中的動感系統(tǒng)主要由動感數(shù)據(jù)采集系統(tǒng)、動感數(shù)據(jù)無線發(fā)收系統(tǒng)、動感平臺及其控制系統(tǒng)組成。
工作原理是:安裝于模型車上的動感數(shù)據(jù)采集系統(tǒng)實時采集模型車行駛過程中姿態(tài)的動感數(shù)據(jù),通過無線收發(fā)系統(tǒng)將動感數(shù)據(jù)實時傳送到動感平臺控制系統(tǒng),進而使動感平臺產(chǎn)生相應的動感。
3 硬件設計
3.1 動感數(shù)據(jù)采集系統(tǒng)
動感系統(tǒng)的動感數(shù)據(jù)采集使用HMR3000型數(shù)字羅盤模塊。 HMR3000是Honeywell公司的產(chǎn)品,它不僅可以測量磁場,還可以測量物體的姿態(tài),實時準確地輸出被測物體的俯仰角、橫滾角和航向角。用單片機和HMR3000組合構建
適用于機載或車載的測控系統(tǒng),可廣泛應用于航海、通信雷達、微波定向、海上平臺控制、天線安裝、無人機、機器人、運動定向、自動控制等方面。HMR3000體積小、功耗低、精度高、價格便宜,是姿態(tài)測量用戶的理想選擇。
3.1.1 HMR3000的數(shù)據(jù)輸出格式
HMR3000數(shù)字羅盤按照NMEA0183的格式,通過所帶的RS-232接口輸出數(shù)據(jù)。輸出6種格式:HDG格式、HDT格式、XDR格式、HPR格式、RCD格式和CCD格式。動感系統(tǒng)采用的是如下所示的HPR格式:$PTNTHPR,x..x(航向),a,x..x(俯仰角),a,x..x(橫滾角),a*hh該數(shù)據(jù)輸出格式將HMR3000的3個重要測量結果和相應的測量狀態(tài)結合在一起。數(shù)據(jù)中的x..x為所測的相應航向角、俯仰角和橫滾角的值,形式為n位ASCⅡ碼,單位可以是“度”也可以是“mils”。數(shù)據(jù)中的“a”表示測量狀態(tài)。測量狀態(tài)有以下6種:
L="LOW" ALARM(低級報警);
M="LOW" WARNING(低級警告);
N="NORMAL"(正常);
O="HIGH" WARNING(高級警告);
P="HIGH" ALARM(高級報警);
C="TUNING" ANALOG CIRCUIT(調(diào)節(jié)模擬電路)。
如果1個輸出語句的3個狀態(tài)指示中有任何1個報警,航向位置將為空白。報警和警告的閾值可以在EEPROM中更改。
3.1.2 HMR3000的控制指令
工作:羅盤啟動,指令為#FAO.3=1*26<1f>;
停止:羅盤停止,指令為#FAO.3=0*27<1f>;
詢問:詢問羅盤啟動、停止狀態(tài),指令為#FA0.3?*15;
響應:有二種響應,工作狀態(tài)響應為#1*31;停止狀態(tài)響應為#0*30<1f>。
3.1.3 HMR3000的數(shù)據(jù)單位和進制的設定指令
數(shù)據(jù)單位可以分為“度”和“mils”二種。度=mils×9/160,其中,度的數(shù)值是0.0~359.9,而mils的數(shù)值是0~6 399。進制分為十進制和十六進制二種。設定數(shù)據(jù)單位和進制的指令如下:
#FA0.4=1*21 ∥殳定羅盤數(shù)據(jù)單位為“度”
#FA0.4=0*20 ∥設定羅盤數(shù)據(jù)單位為“mils”
#FA0.5=1*20 ∥設定羅盤數(shù)據(jù)為十進制
#FA0.5=0*21 ∥設定羅盤數(shù)據(jù)為十六進制
3.1.4 HMR3000數(shù)據(jù)采集速率的設定指令
HMR3000的數(shù)據(jù)輸出有6種格式,對應的數(shù)據(jù)采集速率格式也有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)數(shù)據(jù)的查詢指令
HMR3000啟動后會按照指定的工作模式發(fā)送數(shù)據(jù), 一般會選擇連續(xù)工作方式。需要查詢當前的數(shù)據(jù)狀態(tài)和具體數(shù)值時需要使用查詢指令。HPR格式的查詢指令為
$PTNT,HPR*78 ∥查詢HPR格式的數(shù)據(jù)狀態(tài)
3.1.6 HMR3000與MCU的接口連接
由于HMR3000與外界的串行通信采用的是自身所帶的RS-232接口,與MCU串行數(shù)據(jù)傳輸?shù)腡TL電平不匹配,所以需要MAX232型電平轉換器,如圖1所示。
3.2 動感數(shù)據(jù)無線收發(fā)系統(tǒng)
動感數(shù)據(jù)無線收發(fā)系統(tǒng)采用nRF905型無線收發(fā)模塊,該模塊具有以下突出特點:
●三頻段收發(fā)合一,工作頻率為國際通用的ISM頻段433/868/915 MHz;
●GMSK調(diào)制,抗干擾能力強,特別適合工業(yè)控制領域;
●采用DSS+PLL頻率合成技術,頻率穩(wěn)定性極好;
●靈敏度高,達到-100 dBm;
●工作電壓低(2.7 V),功耗小,待機狀態(tài)僅為1 μA,可滿足
低功耗設備的要求;
●最大發(fā)射功率達+10 dBm;
●具有多個頻道(最多170個以上),能滿足需要多信道工作的特殊應用;
●工作速率最高可達76.8 kb/s;
●外圍元件數(shù)目少(僅10個),基本上無需調(diào)試;
●由于采用低發(fā)射功率、高接收靈敏度的設計,使用無需申請許可證,使用距離最遠可達l 000 m。
此外,由于nRF905是一款收發(fā)一體化的無線傳輸電路,帶有調(diào)制器和解調(diào)器,發(fā)送時可以自動打包,接收時可以自動進行地址匹配、自動CRC檢驗,發(fā)送或接收完畢后,其DR引腳會自動設置高電平,以示發(fā)送或接收完畢,并且采用SPI接口與MCU通信,因此編程非常方便。它可廣泛應用于車輛監(jiān)控、遙控、遙測、工業(yè)數(shù)據(jù)采集、水文氣象監(jiān)控、非接觸RF智能卡、機器人控制、數(shù)字音頻和數(shù)字圖像無線傳輸?shù)阮I域。
nRF905除了負責動感系統(tǒng)中動感數(shù)據(jù)的無線傳輸外,還可傳輸新型車輛模擬駕駛訓練系統(tǒng)中模擬駕駛室向模型車發(fā)送的油門、燈光、制動、轉向、分動箱、離合等控制指令。nRF905與MCU的連接如圖2所示,引腳功能說明見表1。
3.3 動感平臺及其控制系統(tǒng)
動感平臺是動感系統(tǒng)的執(zhí)行部分,它由6個液壓泵和模擬駕駛室的底板構成。其工作原理是MCU根據(jù)傳來的動感數(shù)據(jù)通過繼電器驅動電路控制相應繼電器,使相應液壓泵的相應電磁閥開啟或閉合,進而模擬駕駛室上下顛簸、前后俯仰或左右搖擺,如圖3所示。
4 軟件設計
由于HMR3000和nRF905分別通過RS-232接口和SPI接口與MCU進行通信,故整個系統(tǒng)的硬件電路相對比較簡單,但是,由于HMR3000采用NMEA0183協(xié)議格式輸出數(shù)據(jù),nRF905收發(fā)數(shù)據(jù)又有嚴格的時序要求,因而軟件設計相對比較復雜。
4.1 HMR3000與MCU的通信協(xié)議
HMR3000的串行通信是根據(jù)NMEA0183標準制定的簡單的ASCⅡ協(xié)議,可以在單片機系統(tǒng)中使用RS-232或RS-485接口電路。ASCⅡ碼的傳輸和接收使用1位起始位、8位數(shù)據(jù)位、無奇偶校驗位和I位停止位,每個碼有10位。數(shù)據(jù)傳輸率可選擇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的數(shù)據(jù)
啟動HMR3000后,設定好HMR3000的數(shù)據(jù)單位、進制及其數(shù)據(jù)采集速率,每次數(shù)據(jù)采集后HMR3000自動向MCU發(fā)送數(shù)據(jù)。由于它采用 NMEA0183協(xié)議標準的HPR格式即“$PTNTHPR,x..x,a,x..x,a,x..x,a*hh”格式輸出,此格式中不僅含有效數(shù)據(jù) “x..x”和其狀態(tài)“a”,還包含有‘$’、‘P’、‘T’、‘*’、‘h’等相關格式字符,因此在程序中要加以區(qū)分。動感系統(tǒng)中將字符‘$’作為一組有效數(shù)據(jù)傳輸?shù)拈_始,將字符‘*’作為一組有效數(shù)據(jù)傳輸?shù)慕Y束,并通過計算接收逗號‘,’的個數(shù)判斷有效數(shù)據(jù)的開始。MCU接收HMR3000的數(shù)據(jù)流程如圖4所示。
4.3 nRF905與MCU的通信協(xié)議
nRF905與MCU之間的通信采用SPI通信協(xié)議,使用2條控制信號線CSN、SCK和2條數(shù)據(jù)信號線MOSI、MISO進行通信。CSN用來控制外圍設備的選通(低電平有效),SCK提供同步時鐘,MOS I、MISO分別為主從設備的輸入/輸出線。在SPI通信過程中,主從設備均在時鐘的下降沿從各自的輸出線輸出1位數(shù)據(jù),在時鐘的上升沿從各自的輸入線讀入l位數(shù)據(jù)。
4.4 nRF905發(fā)送和接收數(shù)據(jù)
nRF905發(fā)送或接收數(shù)據(jù)時必須嚴格遵守發(fā)送或接收時序,否則將導致發(fā)送或接收失敗。
4.4.1 發(fā)送數(shù)據(jù)
nRF905的發(fā)送時序如圖5所示,其中.TA-TB是nRF905的命令字寄存器、匹配地址寄存器和發(fā)送數(shù)據(jù)寄存器編程時間;TD-Tl是發(fā)送啟動脈沖,至少為10μs;T1-T2是nRF905的自動編碼,至少為650 μs;T2-T3是自動發(fā)送數(shù)據(jù);T3是發(fā)送結束時DR置高電平,表示發(fā)送結束。具體步驟如下:
(1)給nRF905上電后,MCU將TX_EN置為高電平,將TRX_CE置為低電平,使nRF905進入發(fā)送模式;
(2)MCU通過SPI接口按照SPI通信協(xié)議向nRF905寫命令字、匹配地址和將要發(fā)送的數(shù)據(jù);
(3)使TRX_CE產(chǎn)生1個至少10 μs的發(fā)送脈沖;
; (4)nRF905接到發(fā)送脈沖后自動編碼、自動發(fā)送。如果nRF905命令字寄存器中的AUTO_RE-TRAN位被設置為高電平,則nRF905不斷重發(fā),直到TRX_CE被置高電平;
(5)nRF905發(fā)送數(shù)據(jù)后,DR自動置高電平。MCU可以通過DR判斷發(fā)送完畢與否。以便發(fā)送下一組數(shù)據(jù)。
4.4.2 接收數(shù)據(jù)
nRF905接收時序如圖6所示,具體步驟如下:
(1)給nRF905上電后,MCU通過將TX_EN置低電平和TRX_CE置高電平,使nRF905進入接收模式(圖6中的TA時刻);
(2)650μs后,nRF905開始檢測有無發(fā)送的數(shù)據(jù)(圖6中的T0時刻);
(3)當nRF905探測到有接收頻率的載波時,將CD置高電平(圖6中的Tl時刻);
(4)當nRF905接收完有效匹配地址后,將AM置高電平(圖6中的T2時刻);
(5)當nRF905接收完有效數(shù)據(jù)且CRC檢驗正確后,將DR置高電平(圖6中的T3時刻);
(6)MCU在DR變高電平后可以通過SPI讀取nRF905接收的數(shù)據(jù)。
4.5 動感控制部分的編程
根據(jù)硬件電路的連接,可以利用外部中斷0服務程序實現(xiàn)動感的實時控制,這樣,MCU在DR變成高電平后即可控制動感平臺動作,提高了實效性。程序流程如圖7所示。
5 結束語
據(jù)考證,國內(nèi)現(xiàn)有的車輛模擬駕駛訓練系統(tǒng)均未安裝動感系統(tǒng)。車輛模擬駕駛動感系統(tǒng)具有廣闊的發(fā)展前景。本文為該系統(tǒng)的設計提供了切實可行、安全可靠的參考設計方案。
評論