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