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