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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于CTMU的精確激光測距方案設(shè)計

          基于CTMU的精確激光測距方案設(shè)計

          作者: 時間:2013-04-23 來源:網(wǎng)絡(luò) 收藏

          3 設(shè)計方案性能分析
          3.1 提高分時間辨率的方法
          提高分時間辨率的方法包括:降低A/D轉(zhuǎn)換VREF;使用內(nèi)部通道(無外部引腳連接);使用外部高分辨率ADC。
          3.2 動態(tài)范圍注意事項
          為了維持恒流,電流源需要一個很小的電壓開銷通常為VDD-0.5 V,如圖5所示。

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

          e.JPG


          為了維持恒流,電流源需要一個很小的電壓開銷,通常為VDD-0.5 V=2.8 V。將動態(tài)范圍限制為ADC輸入范圍的85%,即2.8 V,或使用外部參考電壓VREF=2.5 V,這將允許100%的ADC輸入范圍。CTMU電壓開銷示意圖如圖5所示。
          3.3 CTMU精度
          根據(jù)設(shè)計,校準(zhǔn)之后CTMU電流源的精度為1%。
          假設(shè):I=55μA,C=CAD+CPIN+CSTRAY=15 pF,A/D轉(zhuǎn)換VREF=外部2.5 V,動態(tài)范圍T=(15 pF/55μA)×2.5 V=682 ns,則線性工作范圍內(nèi)的精度為1%×682 ns=6.8 ns。
          3.4 測量長時間的方法
          通常的方法是增大電容和降低電流,在兩種情況下,電容C的充電時間都會變長,延長了時間測量的周期,但是,這兩種方法都會降低分辨率。因此,我們使用粗粒度時間和細粒度時間組合的計算方法,就可以實現(xiàn)既擴大CTMU動態(tài)范圍而又不損失分辨率。
          將CTMU與輸入捕捉(ICAP)、輸出比較(OCMP)或Timer1組合使用?;谥噶顣r鐘周期TCY提供“粗粒度”的同步時間間隔(例如,對于PIC24 FJGA310,以16MIPS工作時,指令時鐘周期為62.5 ns)。CTMU用于測量“細粒度”的異步時間間隔。
          測量總時間=粗粒度時間+細粒度時間,CTMU和ICAP組合長時間測量示例圖如圖6所示。其中,TICAP=TCY×(8002-2)+(T1-T2)=500μs+(T1- T2)。

          f.JPG


          粗粒度測量的精度取決于晶振,晶振的精度一般為0.02%。細粒度測量500 ns范圍內(nèi)CTMU的精度為1%,即為1%×(0.500μs/500 μs)=0.001%,因此,總精度=粗粒度+細粒度=0.02%+0.001%=0.021%,由上可知測量時間的精度主要由晶振精度決定。

          結(jié)語
          本文基于PIC單片機的CTMU技術(shù),提出了一種高精度測距的實現(xiàn)方法。該設(shè)計只要一片PIC單片機,無需復(fù)雜電路就可實現(xiàn)激光脈沖測距,簡化了設(shè)計,提高了數(shù)據(jù)采集的精度,測程遠,精度高,價格合理,操作簡便,在實際測量中將發(fā)揮重要作用。隨著汽車電子技術(shù)的發(fā)展,這種測量方法為汽車的自適應(yīng)巡航控制(Adaptive Cruise Control,ACC)系統(tǒng)等應(yīng)用提供了新的設(shè)計思路。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: CTMU 激光測距 方案設(shè)計

          評論


          相關(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); })();