基于單片機的超聲波測距系統的研究與設計
此外,還有幾點(diǎn)需要說(shuō)明的是:
(1)定時(shí)器T1之所以是65 ms溢出是因為它是16位定時(shí)/計數器(65 535)。在使用12MHz的晶振時(shí),由于周期T=1/f=1/[(12×106)/12]=1μs,則一個(gè)機器周期是1μs,計數器每65 ms計數器溢出。
(2)本設計中40 kHz方波的產(chǎn)生采用軟件方式實(shí)現:控制P1.0口輸出12μs的高電平,再輸出13μs的低電平,這樣得到一個(gè)周期的40 kHz的脈沖,再循環(huán)發(fā)送8次。
(3)在CPU停止發(fā)送脈沖群后,由于電阻尼,換能器不能立即停止發(fā)送超聲波,在一段時(shí)間內仍然會(huì )發(fā)送,故這段時(shí)間內不可立即開(kāi)啟INT0接收回波,要等待一段后以避免發(fā)送端的部分直射波未經(jīng)被測物就直接繞射到接收端,這段被稱(chēng)為“虛假反射波”。從發(fā)射開(kāi)始一直到“虛假反射波”結束這段時(shí)間,不開(kāi)放INT0中斷申請,可有效躲避干擾,但也會(huì )造成測試的“盲區”。本次設為1 ms,假定溫度為20℃,則測量盲區為s=1×10-3×344/2≈17.2 cm。
(4)最大測試距離將取決于:兩次脈沖群發(fā)送之間的最小時(shí)間間隔和脈沖的能量。一般來(lái)說(shuō),發(fā)射端脈沖個(gè)數越多,能量越大,所能測的距離也越遠。但也不是無(wú)限制的,本次讀取定時(shí)器T0的計數值,最大能測試的距離是T0尚沒(méi)溢出,故在溫度20℃下,最大測試距離為s=vt/2=65 535×344/(2×106)=11.272 m。在一些周期性發(fā)射超聲波設備中,如果要測試的最大距離是10 m,則兩次脈沖群之間的最小時(shí)間為t=2×s/v=2×10/344≈60:ms 。
5 結束語(yǔ)
為了驗證系統的測量精度,在實(shí)驗室進(jìn)行了實(shí)地測量。利用本系統對20~1 000 cm范圍進(jìn)行了多次測試,經(jīng)補償后最大誤差達2 cm,線(xiàn)性度、穩定性和重復性都比較好。系統具有結構簡(jiǎn)單、體積小、實(shí)時(shí)LCD顯示和報警、帶溫度補償、抗干擾性能好等優(yōu)點(diǎn)。系統的誤差主要來(lái)自于發(fā)射探頭發(fā)出的超聲波是呈喇叭狀擴散傳播、被測物的表面不光滑且不一定垂直于兩探頭的軸線(xiàn)而導致所反射回來(lái)的波也許是從不同點(diǎn)獲得,此外電子元器件自身的時(shí)延、干擾等也造成一定影響??梢愿鶕唧w場(chǎng)合,選擇合適功率的探頭,以及調整程序中脈沖的頻率、寬度和個(gè)數等提高精度或測量距離,擴大系統的應用范圍。
評論