超聲波傳感器是移動機器人避障、測距常用傳感器之一。傳感器安裝在機器人上時距離地面不能太近,太近容易產生干擾信號,而且容易將可以翻越的障礙物當成無法逾越的障礙物。傳感器兩探頭間的距離不能太遠也不能太近,太遠測量誤差過大,太近串擾信號過強。
機器人硬件系統主要包括:ARM處理器、單片機、外圍接口電路、機器人底盤以及電源等,其中ARM處理器是上層的核心,51單片機是下層的核心。硬件結構框圖如圖1所示。
圖1 硬件結構框圖
移動機器人采用H橋控制方案,整體控制方案如圖2所示。
圖2H橋控制方案
電機共有4路PWM輸出分別作為左右輪的驅動,而通過2路PWM輸出可控制一個電機,兩個電機以并聯方式連接。
當L298N芯片使能信號ENABLE為高時,輸出才隨輸入變化,否則為高阻態,所以焊接時,ENABLE引腳及電源引腳VS均接電源VCC。
具體驅動過程為:通過編程由控制芯片經PWM發出驅動信號,PWM輸出作為L298N的輸入,經L298N轉換輸出控制信號使電機轉動,從而實現電動機的驅動。
PWM輸出信號的高低則可以控制直流電機轉速。當占空比加大時,轉速升高;占空比減小時,轉速降低;當PWM信號輸出占空比為0時可控制電機的停止。
當左輪停止,右輪轉時,小車左轉;當右輪停止,左輪轉動時,小車右轉。而2路PWM輸出的正負順序轉換則可控制電機的正反轉,進而控制小車的前進和后退。
系統軟件結構如圖3所示。
圖3 系統軟件結構
超聲波發射模塊設計
外加信號頻率等于兩壓電晶片的固有振動頻率時,將會發生共振,課題中采用的超聲波傳感器中心頻率為40kHz,因此在超聲波發射電路中,通過軟件編程方式,對單片機I/O口置高和置低,產生40kHz脈沖信號,輸出到發射電路中。由于AT89S51單片機I/O口使用時能提供20mA灌電流能力,而吸電流能力較小,所以用74HC04來提高其輸出電流的能力,保證40kHz的脈沖信號有一定的功率。超聲波發射模塊原理圖如圖4所示。
圖4 超聲波發射模塊原理圖
超聲波接收模塊設計
如圖5所示,超聲波接收處理電路采用集成電路CX20106. CX20106接收到與其中心頻率相符的信號時, 7腳就輸出低電平。 7腳輸出的脈沖下降沿和紅外傳感器測距信號相與后接單片機中斷口。
圖5 超聲波接收電路原理圖
反射式紅外傳感器檢測系統設計
紅外測距電路如圖6所示, LM567可以構成低頻振蕩器作為紅外傳感系統的編碼電路,即利用其內部的壓控振蕩器來產生低頻信號,由于R25=10.9kΩ, C25=2200pF,根據公式f0 =1/1.1RC,5腳輸出頻率38.91kHz的脈沖信號。此脈沖信號使三極管T1(8050)工作于開關狀態,驅動紅外發光二極管發出的紅外脈沖。采用這種方法省去了信號發生電路,簡化了線路和調試工作,又防止了周圍環境變化和元件參數變化對收發頻率造成的差異,實現了紅外線發射與接收工作頻率的同步自動跟蹤,使電路的穩定性和抗干擾能力大大加強。
圖6 反射式紅外傳感器測距原理圖