1 引言 超聲波傳感器因其測量精度高、 響應快和價(jià)格低廉而得到了廣泛應用,傳統應用方式是1 個(gè)發(fā)射頭對應1 個(gè)接收頭 ,也有多個(gè)發(fā)射頭對應1 個(gè)接收頭。但我們在實(shí)際應用中發(fā)現,如果障礙物的面很大(如墻壁),超聲波傳感器可以用來(lái)準確測距,但若將其應用在小車(chē)防撞系統中,由于障礙物呈柱狀,而超聲波發(fā)射頭有一定的散射角(左右),因此即使障礙物不在小車(chē)正前方,超聲波仍能檢測到斜前方回波,這就給智能控制車(chē)輛行進(jìn)帶來(lái)困難和誤導,為了解決這一問(wèn)題,我們提出了一種使用雙接收頭的方案,并從實(shí)用角度給出了一套具體控制策略。 2系統的結構流程設計 我們的整個(gè)系統需要完成測距,測速,定位,控制小車(chē)運動(dòng)等功能,系統包括如下六部分: 超聲波發(fā)射電路, 超聲波接受電路,信號處理器,溫度測量,小車(chē)控制電路等五部分。系統結構框圖如圖一所示: 圖1:系統結構框圖 通過(guò)單片機產(chǎn)生40k 的方波,經(jīng)過(guò)放大后驅動(dòng)超聲波傳感器發(fā)射頭,從而發(fā)出超聲波,遇到前方物體反射后由接收端捕捉,經(jīng)過(guò)對兩個(gè)接收頭捕捉時(shí)間的計算以及加入溫度補償,判斷最終前方小車(chē)的方向與距離,再通過(guò)與前次數據差分計算出其相對前車(chē)的速度,最后通過(guò)速度、距離以及位置三個(gè)數據進(jìn)行智能控制,控制小車(chē)轉彎或減速慢行等。 具體的硬件組成為:MCU 采用AT89S52 單片機,P1.0 口輸出超聲波換能器所需的40K 方波信號,經(jīng)過(guò)反相器7404 后驅動(dòng)傳感器,為了能使超聲波發(fā)射得更遠,我們并接了三個(gè)發(fā)射頭,利用外中斷0 口監測超聲波接收電路輸出的返回信號,回波檢測采用紅外檢測集成芯片CX20106,顯示電路采用簡(jiǎn)單的4 位共陽(yáng)LED數碼管,斷碼用74LS244,位碼用8550 驅動(dòng)。測溫部分使用18B20 測出當前的環(huán)境溫度用以判斷出超聲波傳播的速度。 3 MCU 算法控制 3.1 距離計算與方位判斷 單片機可以計算出發(fā)射與接收到超聲波之間的時(shí)間,根據測溫系統的實(shí)際測溫, 查找出在該對應溫度下的聲速,計算出反射物距離兩接收端的距離。 理論上由以上兩個(gè)數據上就可以直接數學(xué)推導出該物體的空間位置(如圖2 和公式一、二所示)。 圖2 超聲波傳感器空間方位 其中d 為R1 與R2 的距離,z1、z2 分別為物體到各個(gè)接收端的距離 ,如果直接這樣計算就會(huì )過(guò)于復雜,普通單片機處理的話(huà)耗時(shí)較多, 于是我們提出了一種基于計算二者距離差來(lái)大致判斷物體位置的方法。一般來(lái)講小車(chē)只關(guān)心在車(chē)前方的物體,我們設定一個(gè)距離參數l代表前方障礙物與小車(chē)的水平距離,再設定一個(gè)距離參數h,代表前方障礙物與小車(chē)的垂直距離。我們可以由下面的關(guān)系推導出h, l, d與z2-z1的關(guān)系(公式3---公式6)。 將公式6想減的兩項做除法不難發(fā)現第一項始終大于第二項,所以z2-z1是關(guān)于l的增函數, 同時(shí)隨著(zhù)h的減小,z2-z1同樣會(huì )變大,也就是說(shuō)當障礙物體靠近小車(chē)時(shí),如果其偏離了小車(chē)的中心(即不會(huì )撞到)有一個(gè)明顯的特征為其z2-z1的值會(huì )比較大,我們可以取d=5cm h=30cm, 讓l在[10cm,30cm]間變化,做出的曲線(xiàn)如圖3所示,各個(gè)物理量的幾何關(guān)系見(jiàn)圖4 。 圖3 z2-z1與l的關(guān)系 圖4 各個(gè)物理量的幾何關(guān)系 不難發(fā)現,當l距離在[10cm,30cm](h 4cm.據此我們設定了一個(gè)閾值4cm,當檢測到差值大于4cm,不需要做任何剎車(chē)控制,直接直行通過(guò),通過(guò)這樣簡(jiǎn)單的計算判斷,我們可以有效避免由于偏離小車(chē)中心的障礙物靠小車(chē)過(guò)近造成的z1,z2的值過(guò)小,從而引來(lái)可能的剎車(chē)誤判。在做這個(gè)項目時(shí),我們采用的車(chē)模體積不大,因此設計的閾值等不是很大,若應用到實(shí)際車(chē)模中時(shí)可根據情況改變閾值的大小。 3.2速度的計算 速度我們采取簡(jiǎn)單的近似平均進(jìn)行估算,我們可以計算出系統測距地間隔約為120ms,通過(guò)將當前的測距結果與上次測距結果做差比較,根據公式7可以估算出當前速度的近似值: 3.3系統流程(見(jiàn)圖5) 。 圖5系統流程 4部分測試結果 表1是我們對測距電路單獨的測試結果:(單位cm) 。 表1 測距結果 從此表中可以看出我們的測距電路是很精確的。 圖6是我們對雙接收頭方案的測試結果: 圖6 雙接收頭方案測試結果 這六幅圖中,上三幅均為用右接收頭接收信號時(shí)間計算出的距離,而下三幅均為用左接收頭接受信號時(shí)間計算出的距離,從中亦可看出當障礙物偏離中心時(shí),左右接收頭測出的距離明顯不同,由此可用來(lái)定位。 最后當我們完成整個(gè)小車(chē)系統的調試后,用它測試發(fā)現無(wú)論是運動(dòng)的還是靜止的障礙物,在小車(chē)前方的任何位置,小車(chē)都可正確判后做出前進(jìn)或停止的動(dòng)作。 5 結論 綜上所述,本系統提出來(lái)一種基于雙超聲波接收頭,3發(fā)射頭的車(chē)載自動(dòng)測速測距控制系統,可以有效的起到對開(kāi)車(chē)司機保護預判提醒等作用,當司機開(kāi)車(chē)遇到緊急事故采取了錯誤的控制措施時(shí),該系統還可以強行糾正,或進(jìn)行報警提醒司機檢查。由于該系統簡(jiǎn)單,經(jīng)濟適用,工作穩定,具有非常大的市場(chǎng)前景 . |