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