郭濤 郝亮 曹景勝 王群 于繼開
(遼寧工業大學汽車與交通工程學院)
汽車性能評價中的一個重要指標就是汽車轉向系統的性能。電動助力轉向系統(EPS)能夠保證汽車的安全性與穩定性,受到越來越多汽車廠商的青睞。由于全球定位系統(GPS)測量精度不斷提高和發展,將GPS信息融入汽車EPS中,針對GPS測量信息,進行數據融合,將處理所得數據通過電子控制單元計算出控制信號,可實現對汽車轉向輪的主動控制,達到增強汽車操縱穩定性的目的,因此在汽車轉向系統中引入GPS技術是汽車轉向主動控制發展的趨勢[1]。文章設計了基于GPS技術的汽車電動助力轉向模擬系統。
本系統以GPS芯片作為核心,輔以外圍電路組成下位機控制器,將采集到的GPS衛星信息通過串口傳輸到PC機,在電腦端編寫VC++軟件接收GPS數據,通過軟件策略動態顯示汽車3D模型隨著GPS經緯度數據變化而實現左右主動轉向,實現基于GPS的汽車電動助力轉向模擬系統功能。
GPS是當前應用范圍最廣的測距、授時及導航定位系統。其導航定位的基本原理是測量出已知位置的衛星到用戶接收機之間的距離,然后綜合多顆衛星的數據就可知道接收機的具體位置。當GPS衛星正常工作時,會不斷地用1和0二進制碼元組成的偽隨機碼(簡稱偽碼)發射導航電文。導航電文包括衛星星歷、工作狀況、時鐘改正、電離層時延修正及大氣折射修正等信息。它是從衛星信號中解調制出來,以50 b/s調制在載頻上發射的。當用戶接收到導航電文時,提取出衛星時間并將其與自己的時鐘做對比便可得知衛星與用戶的距離,再利用導航電文中的衛星星歷數據推算出衛星發射電文時所處位置,用戶在WGS-84大地坐標系中的位置速度等信息便可得知。
可見GPS導航系統衛星部分的作用就是不斷地發射導航電文。然而,由于用戶接收機使用的時鐘與衛星星載時鐘不可能總是同步,所以除了用戶的三維坐標x,y,z外,還要引進一個Δt,即衛星與接收機之間的時間差作為未知數,然后用4個方程求解這4個未知數。所以如果想知道接收機所處的位置,至少要能接收到4個衛星的信號。
由于在多方面因素的影響下,非特許GPS用戶的三維位置測量精確度只能達到100m左右,遠遠不能滿足汽車運動平穩性測量的要求,所以在汽車轉向系統中一般使用差分衛星定位系統(DGPS)。DGPS是在正常的GPS外附加(差分)改正信號,此改正信號改善了GPS的精度。DGPS技術消除了星鐘誤差、星歷誤差和接收機時鐘差,大大提高了測量精度。具有高速率數據輸出和采樣、低速率延遲及快速信號重捕等優勢,能夠使數據達到毫米級處理精度,滿足了汽車測試系統對精度的要求[2]。其測量原理圖,如圖1所示。
本模擬系統使用GPS芯片作為控制器核心,實時取得GPS衛星數據,并通過RS232串口通信將數據傳輸到電腦端,電腦端軟件應用程序根據接收的衛星數據解析出汽車的經緯度等信息,根據這些信息的實時變化來判斷汽車進行主動轉向的意圖,并模擬汽車主動轉向。其系統總體架構,如圖2所示。
本系統硬件設計框圖,如圖3所示。
GPS芯片采用NEQ-5Q主芯片,其為多功能獨立型GPS模組,以ROM為基礎架構,成本低,體積小,采用最新的kickstart微弱信號攫取技術,能確保采用此模組的設備在任何可接收到信號的位置都能快速定位。其最小系統原理圖,如圖4所示。
電源模塊主要是將外部直流電壓穩壓為系統中使用的電壓,系統硬件設計電源部分主要使用3.3 V直流電壓,因此本設計使用直流穩壓芯片(AMS1117-3.3芯片)來得到3.3 V電壓。AMS1117系列芯片為低壓差芯片,當該芯片提供1 A輸出電流時其工作壓差可降低至1 V,穩壓效果良好[3]。該設計中電源部分電路原理圖,如圖5所示。
GPS上電后,每隔一定的時間就會返回一定格式的衛星數據,因此設計中必須將GPS模塊接收到的數據傳送到電腦端來進行接收、解析和處理,然后使模擬軟件上的汽車3D模型進行主動轉向。故在本設計中使用RS232來與電腦端進行數據通信,其電路原理圖,如圖6所示。
當GPS模塊斷電后,其內存中的當前數據不保存,且再次上電時,啟動時間很長,故在本硬件設計中添加后備電池電路,后備電池可在GPS模塊斷電后保存當前的星歷數據,2 h之內再次啟動GPS模塊,可實現1 s快速定位。其電路原理圖,如圖7所示。
考慮到GPS模塊接收衛星數據的狀態及接收時間間隔,在本硬件設計中設計了數據指示燈電路,用于進行調試和觀測。其電路原理圖,如圖8所示。
本系統軟件部分主要使用VC++來開發電腦端模擬軟件,通過串口接收GPS控制板傳送過來的衛星數據(這里主要是GPRMC數據),然后解析和處理,根據衛星數據的實時變化來模擬汽車3D模型的轉向。
GPS模塊每隔一定時間接收衛星數據,其數據格式為“$信息類型,x,x,x,x,x,x,x,x,x,x,x,x,x”,其信息類型主要包括:可見衛星信息(GPGSV)、地理定位信息(GPGLL)、推薦最小定位信息(GPRMC)、地面速度信息(GPVTG)、GPS定位信息(GPGGA)及當前衛星信息(GPGSA)等。
本軟件設計中,主要是接收GPRMC數據并解析。GPRMC數據格式為:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1>UTC時間,hhmmss(時分秒)格式
<2>定位狀態,A=有效定位,V=無效定位
<3> 緯度ddmm.mmmm(度分)格式
<4>緯度半球N(北半球)或S(南半球)
<5> 經度dddmm.mmmm(度分)格式
<6> 經度半球E(東經)或W(西經)
<7>地面速率(000.0~999.9節)
<8>地面航向(000.0~359.9度)
<9>UTC日期,ddmmyy(日月年)格式
<10>磁偏角(000.0~180.0度)
<11> 磁偏角方向,E(東)或 W(西)
<12>模式指示(A=自主定位,D=差分,E=估算,N=數據無效)
由于串口在主線程中讀取數據的速率比較慢,會阻塞主線程中處理主窗體的消息隊列[4],因此在串口通訊程序設計中采用多線程進行編程,在串口CPSerial-Port類之上封裝CComFun類,更方便數據讀取等。在打開串口的同時創建接收線程:m_pSerial_Port=new CPSerialPort();if(m_pSerial_Port->OpenPort(_T("COM2:"),96000,8,ONESTOPBIT,NOPARITY,OnSerialRead,this))m_pSerial_Port->Activate();
本系統模擬軟件界面,如圖9所示。
使用GPS控制器將采集到的GPS衛星信息通過串口傳輸到PC機,在電腦端編寫VC++軟件接收GPS數據,通過軟件策略動態顯示汽車3D模型隨著GPS經緯度數據變化而實現左右主動轉向,實現基于GPS的汽車電動助力轉向模擬系統功能。本樣機經過測試達到了研發的目的和效果。