提高超聲波測距系統精度中的應用設計
1 前 言
目前大多數的超聲波測距系統都是采用單片機作為控制核心,利用超聲波傳感器發出超聲波信號,超聲波碰到障礙物后反射回來,傳感器接收到回波,單片機通過對發射波和回波的查詢,或利用發射波與回波觸發中斷,來開關定時器測出發射波和接收到回波的時間差 t,從而計算出定點離障礙物的距離 S=Ct/2,式中的 C 為超聲波波速。超聲波的波速 C 與溫度有關,表 1 是超聲波在不同環境溫度下的波速關系
由此可見,超聲波在空氣中的傳播速度很快,均在 300m/s 以上。由于一般的單片機時間分辨率不是很高(晶振頻率為12MHz時,時間分辨率為1μs),加之單片機查詢發射波與回波,或利用發射波與回波觸發中斷再通過程序啟停內部定時器均需要一定的時間[1],所以這種類型的測距系統的誤差都較大,導致其性能在某些場合下不能滿足要求。 引入專用的定時/計數器 8254 進行計時,可在很大程度上提高測距系統的準確性。
2 定時/計數器 8254
8254 是專用的定時器芯片,有 3 個獨立的 16位可編程計數器,每個計數器可按二進制或 BCD (二—十進制)編程,實現減法計數,使用非常靈活,功能非常強大。 8254 通過對加在其 CLK 輸入引腳的脈沖進行計數,脈沖最高頻率可以達到 10MHz,并且可以利用硬件或軟件的辦法任意啟動或停止計數,利用8254 進行計時,時間分辨率更高,如輸入 4MHz的計數脈沖,其時間分辨率可達到 0.25μs。
8254 是 NMOS 器件,采用雙列直插式 24 腳封裝,它的輸入和輸出都與TTL電平兼容。其引腳排列見圖 1。
評論