基于51單片機的超聲波測距系統的設計
O 引言
超聲波是指頻率大于20 kHz的在彈性介質(zhì)中產(chǎn)生的機械震蕩波。由于超聲波頻率較高,穿透力強,指向性強,傳輸過(guò)程中衰減少,能量消耗緩慢,在介質(zhì)中傳播的距離較遠,遇到雜質(zhì)或分界面時(shí)會(huì )產(chǎn)生反射波,因此常被用于非接觸式測距。并且超聲波對光線(xiàn)、色彩和電磁場(chǎng)不敏感,因此超聲波測距對環(huán)境有較好的適應能力。廣泛應用于汽車(chē)倒車(chē)、機器人避障、工業(yè)測井、水庫液位測量、管道長(cháng)度測量等需要自動(dòng)進(jìn)行非接觸測距的場(chǎng)合。
1 超聲波測距原理
Pellarn和Galt于1946年提出了脈沖回波法,其工作原理是:用超聲脈沖激勵超聲探頭向外輻射超聲波,同時(shí)接收從被測物體反射回來(lái)的超聲波(簡(jiǎn)稱(chēng)回波),通過(guò)檢測或估計從發(fā)射超聲波至接收回波所經(jīng)歷的射程時(shí)間ToF(Time of Flight),按下式計算超聲波探頭與被測物體之間的距離d,即
其中。c為聲波在空氣介質(zhì)中的傳播速度。
2 系統構成
本系統硬件電路由單片機、超聲波發(fā)射電路、超聲波接收電路、測溫電路、顯示電路、報警電路等構成,如圖1所示。
3 系統程序設計
3.1 主程序
主程序首先對系統環(huán)境初始化,設置定時(shí)器TO工作模式為16位定時(shí)/計數器模式,總中斷允許位置1并給顯示端口清0;然后調用超聲波發(fā)生子程序送出若干個(gè)超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起直射渡觸發(fā),從發(fā)射開(kāi)始一直到“虛假反射波”結束這段時(shí)間內,不開(kāi)放外部中斷(INTO)申請,便可有效躲避干擾,但同時(shí)也會(huì )造成測試“盲區”。假設延時(shí)約0.1 ms后,才打開(kāi)外部中斷接收返回的超聲波信號,當溫度為20℃,測量盲區為d=1×10-2×344=1.72 cm。
3.2 超聲波發(fā)生子程序和接收子程序
超聲波發(fā)生子程序的作用是通過(guò)P1.0端口發(fā)送超聲波換能器所需的40kHz的方波信號(脈沖寬度為12μs左右),同時(shí)把計數器TO打開(kāi)進(jìn)行計時(shí)。超聲波發(fā)生子程序較簡(jiǎn)單,但要求程序運行準確,所以采用匯編語(yǔ)言編程。
評論