超聲波測距系統中單片機的應用
引言
本文引用地址:http://dyxdggzs.com/article/172646.htm在自主行走機器人系統中,機器人要實(shí)現在未知和不確定環(huán)境下行走,必須實(shí)時(shí)采集環(huán)境信息,以實(shí)現避障和導航,這必須依靠能實(shí)現感知環(huán)境信息的傳感器系統來(lái)實(shí)現。視覺(jué)、紅外、激光、超聲波等傳感器都在行走機器人中得到廣泛應用。由于超聲波測距方法設備簡(jiǎn)單、價(jià)格便宜、體積小、設計簡(jiǎn)單、易于做到實(shí)時(shí)控制,并且在測量距離、測量精度等方面能達到工業(yè)實(shí)用的要求,因此得到了廣泛的應用。本文所介紹的機器人采用三方超聲波測距系統,該系統可為機器人識別其運動(dòng)的前方、左方和右方環(huán)境而提供關(guān)于運動(dòng)距離的信息。
1 超聲波測距原理
超聲波發(fā)生器內部由兩個(gè)壓電片和一個(gè)共振板組成。當它的兩極外加脈沖信號,且其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會(huì )發(fā)生共振,并帶動(dòng)共振板振動(dòng),便產(chǎn)生超聲波。反之,如果兩極間未加外電壓,當共振板接收到超聲波時(shí),就成為超聲波接收器。超聲波測距一般有兩種方法:①取輸出脈沖的平均電壓值,該電壓與距離成正比,測量電壓即可測量距離;②測量輸出脈沖的寬度,即發(fā)射超聲波與接收超聲波的時(shí)間間隔t,根據被測距離s=vt?2來(lái)得到測量距離,由于超聲波速度v與溫度有關(guān),所以如果溫度變化比較大,應通過(guò)溫度補償的方法加以校正。
本測量系統采用第二種方法,由于測量精度要求不是特別高,所以可以認為溫度基本不變。
本系統以PIC16F877單片機為核心,通過(guò)軟件編程實(shí)現其對外圍電路的實(shí)時(shí)控制,并提供給外圍電路所需的信號,包括頻率振動(dòng)信號、數據處理信號等,從而簡(jiǎn)化了外圍電路,且移植性好。系統硬件電路方框圖見(jiàn)圖1。
由于本系統只需要清楚機器人前方、左方、右方是否有障礙物,并不需要知道障礙物與機器人的具體距離,因此不需要顯示電路,只需要設定一距離閥值,使障礙物與機器人的距離達到某一值時(shí),單片機控制機器人電機停轉,這可通過(guò)軟件編程實(shí)現。
2 超聲波發(fā)射電路
超聲波的中心頻率為40kHz,該頻率可以通過(guò)以下程序產(chǎn)生(部分源程序):
評論