基于CAN總線重型汽車內輪差預警系統(tǒng)的設計
1 內輪差原理
內輪差是車輛轉彎時的前內輪的轉彎半徑與后內輪的轉彎半徑之差。由于內輪差的存在,車輛轉彎時,前、后車輪的運動軌跡不重合。內輪差的大小與轉動方向盤的幅度和車輛軸距的長短有關,方向盤轉動幅度越大即轉向角度越大,內輪差越大,反之越小;車輛的軸距越長,內輪差越大,反之則越小。重型汽車車身都比較長,尤其是車頭轉過去后,還有很長的車身沒有轉過來,極易形成大型車輛司機的“視覺盲區(qū)”,路人步入內輪范圍后,容易造成生命危險。如圖1中的陰影部分為內輪差的形成區(qū)域。
圖1 內輪差示意圖
2 超聲波預警原理
2.1超聲波測距原理
諧振頻率高于20KHZ的聲波被稱為超聲波。超聲波為直線傳播,頻率越高,則繞射能力越弱,反射能力越強。超聲波測距的方法多種多樣,如相位檢測法、聲波幅值檢測法和往返時間檢測法等。相位檢測法雖然精度高,但檢測范圍有限;聲波幅值檢測法易受反射波的影響。本文采用往返時間檢測法,其工作原理是:使超聲波發(fā)射探頭向介質發(fā)射超聲脈沖,聲波遇到被測物體后必有反射波作用于接收探頭。若已知介質中的聲速為V,發(fā)射脈沖時刻與第一個反射波到達時刻的時間差為T,則探頭與被測物體距離S=VT/2,對距離值改變的測算可以實現所需的控制目的。超聲波的速度V與溫度相關,空氣中的聲速與溫度的關系可表示為:
(1)
2.2 輪差檢測中超聲波傳感器的布置
汽車在行駛中即會向左側轉彎也會向右側轉彎,因此超聲波傳感器應該在車身的兩邊對稱安裝。本系統(tǒng)中一共需要安裝三對傳感器,一對安裝在前輪附近,為了提醒司機轉彎時車身后面是否會撞到轉彎內側的物體;第二對安裝在軸距中間附近,為了防止有物體在汽車轉彎時突然出現在轉彎內側;第三對安裝在后輪附件,為了及時提醒司機危險狀況。
3 系統(tǒng)硬件設計
本系統(tǒng)將單片機技術、超聲波測距技術與CAN總線通信技術等相結合,可檢測汽車在轉彎過程中汽車內側狀況。預警系統(tǒng)的三對測距傳感器獨立工作,通過CAN總線經接口芯片PCA82C250驅動將數據傳輸到主控制器。測距采用SensComp 600傳感器和SensComp 6500超聲波距離模塊;單片機采用低成本的AT89C51主要功能為:1、用于控制測距傳感器并把測量數據實時通過CAN控制器SJA1000發(fā)送到CAN總線上;2、通過溫度傳感器DS18B20傳送過來的溫度參數,修正超聲波在空氣中的傳播速度;在PCA82C250與SJA1000之間還增加了高速線性光耦6N137進行隔離,有效地防止汽車在惡劣工作環(huán)境下的瞬態(tài)干擾,確保數據傳輸的準確性。因為三對測距傳感器硬件系統(tǒng)完全相同,此次只用一個進行說明,系統(tǒng)硬件結構如圖2所示。
圖2 輪差預警系統(tǒng)硬件結構圖
3.1 CAN總線通信模塊
CAN總線協(xié)議遵循ISO的標準模型,分為數據鏈路層和物理層。這兩層通常由CAN控制器和收發(fā)器了實現的。CAN總線器件可大體分為兩種類型,其一種是帶片上CAN控制器,如87C196CA/CB、MC6837等;另一種的CAN控制器獨立需要和微處理器一起使用,如Philips SJA1000、Intel公司82526及MCP251。前者多用在許多特定情況下,使用集成器件方便用戶制作印制板,使得電路設計簡化、緊湊,效率提高;后者使用上比較靈活,它可以與多種類型的單片機、微型計算機的各類總線進行接口組合。在本系統(tǒng)中,結合前面選擇的微控制器綜合考慮,選Philips半導體公司的SJAl000作為獨立CAN控制器。SJA1000的主要特性:擴展接收緩沖器(128字節(jié)FIFO);支持CAN 2.0B協(xié)議;同時支持11位和29位標識符;位通訊速率為1Mbits/s;增強CAN模式(PeliCAN);采用24MHz時鐘頻率;支持多種微處理器接口;可編程CAN輸出驅動配置;工作溫度范圍為-40℃~+125℃,足以適應各種惡劣環(huán)境。CAN總線驅動器選用Philips公司的PCA820250,它具有高速性(最高速度可達1Mbps),能滿足自制動等實時性要求較高的控制需要;具有抗瞬間干擾保護總線的能力,具有降低射頻干擾的斜率控制。此外,它可以與110個節(jié)點相連,能夠防止電源與地之間發(fā)生短路,并且當某個節(jié)點掉電時不影響總線。
CAN總線通信模塊主要有AT89C5l微控制器、獨立CAN通信控制器SJAlO00和CAN總線驅動器PCA82C250組成。為了提高系統(tǒng)的抗干擾能力,設計在SJAl000和CAN總線驅動器PCA82C250之間增加了光電隔離器6N137。當微處理器AT89C51將測距結果數據通過P0口發(fā)送到CAN總線控制器SJAl000,由SJAl000將并行數據轉換為串行數據從端口TX0發(fā)出,經過光電隔離器6N137后到達CAN總線驅動器PCA82C250,最后將數據發(fā)送到CAN總線上。相反,來自CAN總線的數據也可以經過相應電路到達微處理器。這樣就可以實現超聲波測距傳感器與上位機的通信功能。
3.2 超聲波傳感器介紹
本系統(tǒng)采用單片機AT89C51來實現對SensComp 600系列超聲波傳感器和SensComp 6500超聲波測距模塊的控制。SensComp 600系列靜電換能器的頻率為50kHz;測量范圍為6英寸到35英尺(0.15米~10.7米)。配合SensComp的6500驅動電路時傳感器測量范圍能從2.5厘米到15.2米。AT89C51通過P1.0引腳控制超聲波的發(fā)送,然后單片機不停的檢測INT0引腳,當INT0引腳的電平由低電平變?yōu)楦唠娖綍r就認為超聲波已經返回。計數器所計的數據就是超聲波所經歷的時間,通過換算就可以得到傳感器與障礙物之間的距離,如圖3所示為超聲波測距的硬件示意圖。
圖3 超聲波測距電路的硬件示意圖
3.3 溫度補償設計
由于溫度每改變10℃,聲速改變量為0.6m/s,因此溫度對測距的影響是相當大的。為了更精確的實現檢測功能,本設計使用了美國DALLAS半導體公司的單線溫度傳感器DS18B20。該傳感器能夠直接讀出被測溫度并且可根據實際要求通過簡單的編程實現9~12位的數字值讀數方式,測溫范圍-55℃~+125℃,精度達±0.5℃,現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統(tǒng)的抗干擾性,整個產品體積小、價格低、使用靈活,在測溫精度、轉換時間、傳輸距離、分辨率等方面都能夠滿足系統(tǒng)的要求。如圖4為溫度傳感器與單片機的連接原理圖。
圖4 溫度校正部分原理圖
4 系統(tǒng)軟件設計
軟件采用模塊化設計,程序由主程序、測距子程序、CAN總線通信子程序等模塊組成。調試過程中對其中每個功能模塊和子程序逐一調試,在每個子程序都完成其指定的功能后,再進行整合完成最后的綜合調試。輪差預警系統(tǒng)的主程序流程圖、測距子程序流程圖分別如圖5、6所示。汽車轉彎時啟動預警系統(tǒng),AT89C51先把P1.0置0,啟動超聲波傳感器發(fā)射超聲波,同時啟動內部定時器T0開始計時。我們采用的超聲波傳感器是收發(fā)一體的,在發(fā)送完16個脈沖后超聲波傳感器還有余震,為了從返回信號識別消除超聲波傳感器的發(fā)送信號,要檢測返回信號必須在啟動發(fā)射信號后2.38ms才可以檢測。當超聲波信號碰到障礙物時信號立刻返回,微處理器不停的掃描INT0引腳,如果INT0接收的信號由低電平變?yōu)楦唠娖?,此時表明信號已經返回,微處理器進入中斷關閉定時器。再把定時器中的數據結合溫度傳感器送來的現場溫度經過校正換算,可以得出超聲波傳感器與障礙物之間的真實距離;然后顯示測距結果,若測距結果低于設定閥值則產生報警信號;最后把得到的距離數據實時的通過CAN總線網絡向汽車主控制器發(fā)送,這樣就可以實現預警系統(tǒng)與CAN網絡其他節(jié)點和上位機的通信和網絡控制功能。
5 結論
本文提出了一種應用于重型汽車的輪差預警系統(tǒng),基于超聲脈沖測距原理進行測距,根據現場溫度對數據進行校正,并通過CAN總線將輪差預警系統(tǒng)與汽車的數字化平臺接軌,降低了環(huán)境因素的影響,提高了系統(tǒng)的檢測精度。根據障礙物到車體的距離遠近進行實時顯示,當該計算距離小于安全距離時,可以進行預警,提醒司機采取必要措施以避免發(fā)生碰撞事故。本系統(tǒng)結構簡單、可靠性高,可以經濟、有效地降低大型汽車輪差事故發(fā)生率,具有很好的應用前景。