基于單接收頭的超聲波多目標(biāo)測(cè)距
4 系統(tǒng)軟件
系統(tǒng)軟件基本構(gòu)架如下:
void main ()
{ cONfig () ; EA = 1 ; While (1) {} ; }
void time0_inter () interrupt 1 {}
void time1_inter () interrupt 3 {}
void time2_inter () interrupt 5 {}
void time3_inter () interrupt 14 {}
void time4_inter () interrupt 16 {}
void PCA_inter () interrupt 9 {}
初始化程序config () : I/ O 交叉開(kāi)關(guān)配置;使用外部時(shí)鐘,指定系統(tǒng)時(shí)鐘;time 0~4 中斷使能,其中time 0 溢出中斷發(fā)生,產(chǎn)生40 kHz 方波信號(hào)輸出;PLA 中斷開(kāi)啟。
中斷函數(shù)time0_inter ( ) :產(chǎn)生5 個(gè)40 kHz 方波信號(hào)輸出后關(guān)閉time0 中斷, TF0 = 0 ; PLA 溢出、邊緣捕捉中斷開(kāi)啟。
中斷函數(shù)PCA_inter () :若是溢出中斷發(fā)生(30ms) ,則關(guān)閉PCA_inter ( ) 中斷,CF = 0 ,開(kāi)啟time0中斷;若是CCFn = 1 ,則記下定時(shí)器時(shí)間(與初值相減后代入標(biāo)定式得距離) ,給定time n 計(jì)時(shí)初值并啟動(dòng)time n 溢出中斷( 2 ms) , 關(guān)閉CCFn 中斷,CCFn = 0.
中斷函數(shù)time1 _inter ( ) ~ time4 _inter ( ) : 當(dāng)time n 中斷發(fā)生則開(kāi)啟CCFn 中斷,關(guān)閉time n 中斷, TFn = 0.
5 結(jié)語(yǔ)
本文對(duì)單個(gè)接收頭在一次采樣時(shí)間(30 ms) 內(nèi)測(cè)量多個(gè)目標(biāo)進(jìn)行了嘗試,仿真并分析了接收信號(hào)波形,用0. 5 倍包絡(luò)峰值標(biāo)定而用小閾值測(cè)量,在2個(gè)目標(biāo)與接收頭距離之差大于30 cm 以上時(shí)能較精確測(cè)量出2 個(gè)目標(biāo),誤差不超過(guò)2 cm.
由于一次能在同一時(shí)刻測(cè)多個(gè)距離,增大了超聲波傳感器捕獲的信息量,移動(dòng)機(jī)器人裝配了該傳感器能在人員不是密集的動(dòng)態(tài)環(huán)境下根據(jù)4 面墻壁定位。
評(píng)論