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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于PIC18F2580的CAN總線超聲波測距智能節(jié)點設計

          基于PIC18F2580的CAN總線超聲波測距智能節(jié)點設計

          作者: 時間:2009-05-18 來源:網絡 收藏

          1 引言
          移動機器人要實現在不確定環(huán)境下運行,必須具備自動導航和避障功能。在移動機器人的導航系統(tǒng)中,傳感器起著舉足輕重的作用。視覺、激光、紅外、超聲傳感器等都在實際系統(tǒng)中得到了廣泛的應用。其中,傳感器以其信息處理簡單、速度快和價格低,被廣泛用作移動機器人的傳感器,以實現避障、定位、環(huán)境建模和導航等功能。本文介紹的以Microchip公司的控制核心。由于有片上自帶的控制器并且為的應用提供了許多專用的硬件功能,因此又將它作為了系統(tǒng)的CAN控制器,大大節(jié)省了主控系統(tǒng)的資源。CAN的收發(fā)器采用TJAl040。系統(tǒng)總體結構框圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/173729.htm

          圖1 系統(tǒng)總體結構框圖
          機器人系統(tǒng)控制核心由ARM或DSP實現。其主要功能是處理需要復雜計算的信息,將經過處理的信息再送回,并對整個網絡進行管理。控制系統(tǒng)的主要功能就是判斷障礙物位置,將對移動機器人前進方向有阻礙的障礙物信息通過傳回主控系統(tǒng),由主控系統(tǒng)作出相應處理并進行避障動作。本文將著重介紹控制系統(tǒng)。
          2 超聲原理
          超聲的原理較簡單,一般采用渡越時間法,即:
          D=ct/2 (1)
          其中D為移動機器人與被測障礙物之間的距離,c為聲波在介質中的傳輸速率。聲波在空氣中傳輸速率為:
          c= co(2)
          其中,T為絕對溫度,co =331.4m/s。在不要求測距精度很高的情況下,一般可以認為c為常數。渡越時間法主要是測量超聲發(fā)射到超聲返回的時間間隔t,即“渡越時間”,然后根據式(1)計算距離。
          3 超聲波智能節(jié)點控制系統(tǒng)的硬件
          超聲波智能節(jié)點控制系統(tǒng)的硬件電路如圖2所示。
          3.1 控制電路
          超聲波傳感器的控制部分采用Microchip公司生產的。它是一個單片8位高性能微控制器,采用了哈佛總線結構,運行速度高,功耗低,抗干擾能力強,具有片內CAN控制器。
          作為系統(tǒng)控制核心,PIC18F2580擔負兩個主要任務。其一是作為超聲波傳感器的控制核心,在其普通I/O口上擴展了超聲波傳感器的接收和發(fā)射部分電路,利用軟件功能產生40 kHz信號并通過驅動放大發(fā)射出去,再利用接收部分電路進行接收。另外可以對其余口線繼續(xù)進行超聲波傳感器的擴展,實現多個超聲波傳感器系統(tǒng)的。其二是利用PIC18F2580的片內CAN控制器實現與的連接。這樣的設計改變了過去在機器人控制核心上進行系統(tǒng)的設計,不但將超聲波檢測與處理的工作轉移到了上,大大節(jié)省了機器人控制核心的系統(tǒng)資源,還將CAN總線智能節(jié)點的大部分控制工作也轉移到了上,節(jié)省了硬件資源,同時CAN總線的采用大大提升了系統(tǒng)的抗干擾能力,使機器人控制系統(tǒng)更加穩(wěn)定地工作。

          圖2 測距節(jié)點控制電路圖


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();