<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CAN總線通信設(shè)計的的重型汽車內(nèi)輪差預(yù)警系統(tǒng)

          基于CAN總線通信設(shè)計的的重型汽車內(nèi)輪差預(yù)警系統(tǒng)

          作者: 時間:2014-03-14 來源:網(wǎng)絡(luò) 收藏
        1. 1 內(nèi)輪差原理

            內(nèi)輪差是車輛轉(zhuǎn)彎時的前內(nèi)輪的轉(zhuǎn)彎半徑與后內(nèi)輪的轉(zhuǎn)彎半徑之差。由于內(nèi)輪差的存在,車輛轉(zhuǎn)彎時,前、后車輪的運(yùn)動軌跡不重合。內(nèi)輪差的大小與轉(zhuǎn)動方向盤的幅度和車輛軸距的長短有關(guān),方向盤轉(zhuǎn)動幅度越大即轉(zhuǎn)向角度越大,內(nèi)輪差越大,反之越小;車輛的軸距越長,內(nèi)輪差越大,反之則越小。車身都比較長,尤其是車頭轉(zhuǎn)過去后,還有很長的車身沒有轉(zhuǎn)過來,極易形成大型車輛司機(jī)的“視覺盲區(qū)”,路人步入內(nèi)輪范圍后,容易造成生命危險。如圖1中的陰影部分為內(nèi)輪差的形成區(qū)域。


          圖1 內(nèi)輪差示意圖

          2 超聲波預(yù)警原理

          2.1超聲波測距原理

            諧振頻率高于20KHZ的聲波被稱為超聲波。超聲波為直線傳播,頻率越高,則繞射能力越弱,反射能力越強(qiáng)。超聲波測距的方法多種多樣,如相位檢測法、聲波幅值檢測法和往返時間檢測法等。相位檢測法雖然精度高,但檢測范圍有限;聲波幅值檢測法易受反射波的影響。本文采用往返時間檢測法,其工作原理是:使超聲波發(fā)射探頭向介質(zhì)發(fā)射超聲脈沖,聲波遇到被測物體后必有反射波作用于接收探頭。若已知介質(zhì)中的聲速為V,發(fā)射脈沖時刻與第一個反射波到達(dá)時刻的時間差為 T,則探頭與被測物體距離S=VT/2,對距離值改變的測算可以實現(xiàn)所需的控制目的。超聲波的速度V與溫度相關(guān),空氣中的聲速與溫度的關(guān)系可表示為:

            (1)

          2.2 輪差檢測中超聲波傳感器的布置

            汽車在行駛中即會向左側(cè)轉(zhuǎn)彎也會向右側(cè)轉(zhuǎn)彎,因此超聲波傳感器應(yīng)該在車身的兩邊對稱安裝。本系統(tǒng)中一共需要安裝三對傳感器,一對安裝在前輪附近,為了提醒司機(jī)轉(zhuǎn)彎時車身后面是否會撞到轉(zhuǎn)彎內(nèi)側(cè)的物體;第二對安裝在軸距中間附近,為了防止有物體在汽車轉(zhuǎn)彎時突然出現(xiàn)在轉(zhuǎn)彎內(nèi)側(cè);第三對安裝在后輪附件,為了及時提醒司機(jī)危險狀況。

          3 系統(tǒng)硬件設(shè)計

            本系統(tǒng)將單片機(jī)技術(shù)、超聲波測距技術(shù)與通信技術(shù)等相結(jié)合,可檢測汽車在轉(zhuǎn)彎過程中汽車內(nèi)側(cè)狀況。預(yù)警系統(tǒng)的三對測距傳感器獨立工作,通過CAN 總線經(jīng)接口芯片PCA82C250驅(qū)動將數(shù)據(jù)傳輸?shù)街骺刂破?。測距采用SensComp 600傳感器和SensComp 6500超聲波距離模塊;單片機(jī)采用低成本的AT89C51主要功能為:1、用于控制測距傳感器并把測量數(shù)據(jù)實時通過CAN控制器SJA1000發(fā)送到 上;2、通過溫度傳感器DS18B20傳送過來的溫度參數(shù),修正超聲波在空氣中的傳播速度;在PCA82C250與SJA1000之間還增加了高速線性光耦6N137進(jìn)行隔離,有效地防止汽車在惡劣工作環(huán)境下的瞬態(tài)干擾,確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。因為三對測距傳感器硬件系統(tǒng)完全相同,此次只用一個進(jìn)行說明,系統(tǒng)硬件結(jié)構(gòu)如圖2所示。


          圖2 輪差預(yù)警系統(tǒng)硬件結(jié)構(gòu)圖

          3.1 通信模塊

            CAN總線協(xié)議遵循ISO的標(biāo)準(zhǔn)模型,分為數(shù)據(jù)鏈路層和物理層。這兩層通常由CAN控制器和收發(fā)器了實現(xiàn)的。CAN總線器件可大體分為兩種類型,其一種是帶片上CAN控制器,如87C196CA/CB、MC6837等;另一種的CAN控制器獨立需要和微處理器一起使用,如Philips SJA1000、Intel公司82526及MCP251。前者多用在許多特定情況下,使用集成器件方便用戶制作印制板,使得電路設(shè)計簡化、緊湊,效率提高;后者使用上比較靈活,它可以與多種類型的單片機(jī)、微型計算機(jī)的各類總線進(jìn)行接口組合。在本系統(tǒng)中,結(jié)合前面選擇的微控制器綜合考慮,選Philips 半導(dǎo)體公司的SJAl000作為獨立CAN控制器。SJA1000的主要特性:擴(kuò)展接收緩沖器(128字節(jié)FIFO);支持CAN 2.0B協(xié)議;同時支持11位和29位標(biāo)識符;位通訊速率為1Mbits/s;增強(qiáng)CAN模式(PeliCAN);采用24MHz時鐘頻率;支持多種微處理器接口;可編程CAN輸出驅(qū)動配置;工作溫度范圍為-40℃~+125℃,足以適應(yīng)各種惡劣環(huán)境。CAN總線驅(qū)動器選用Philips公司的 PCA820250,它具有高速性(最高速度可達(dá)1Mbps),能滿足自制動等實時性要求較高的控制需要;具有抗瞬間干擾保護(hù)總線的能力,具有降低射頻干擾的斜率控制。此外,它可以與110個節(jié)點相連,能夠防止電源與地之間發(fā)生短路,并且當(dāng)某個節(jié)點掉電時不影響總線。

            CAN總線通信模塊主要有AT89C5l微控制器、獨立CAN通信控制器SJAlO00和CAN總線驅(qū)動器PCA82C250組成。為了提高系統(tǒng)的抗干擾能力,設(shè)計在SJAl000和CAN總線驅(qū)動器PCA82C250之間增加了光電隔離器6N137。當(dāng)微處理器AT89C51將測距結(jié)果數(shù)據(jù)通過P0口發(fā)送到CAN總線控制器SJAl000,由SJAl000將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)從端口TX0發(fā)出,經(jīng)過光電隔離器6N137后到達(dá)CAN總線驅(qū)動器PCA82C250,最后將數(shù)據(jù)發(fā)送到CAN總線上。相反,來自CAN總線的數(shù)據(jù)也可以經(jīng)過相應(yīng)電路到達(dá)微處理器。這樣就可以實現(xiàn)超聲波測距傳感器與上位機(jī)的通信功能。

          3.2 超聲波傳感器介紹

            本系統(tǒng)采用單片機(jī)AT89C51來實現(xiàn)對SensComp 600系列超聲波傳感器和SensComp 6500超聲波測距模塊的控制。SensComp 600系列靜電換能器的頻率為50kHz;測量范圍為6英寸到35英尺(0.15米~10.7米)。配合SensComp的6500驅(qū)動電路時傳感器測量范圍能從2.5厘米到15.2米。AT89C51通過P1.0引腳控制超聲波的發(fā)送,然后單片機(jī)不停的檢測INT0引腳,當(dāng)INT0引腳的電平由低電平變?yōu)楦唠娖綍r就認(rèn)為超聲波已經(jīng)返回。計數(shù)器所計的數(shù)據(jù)就是超聲波所經(jīng)歷的時間,通過換算就可以得到傳感器與障礙物之間的距離,如圖3所示為超聲波測距的硬件示意圖。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();