24小時聯系電話:18217114652、13661815404
中文
行業資訊
雙超聲波防撞小車系統設計
超聲波傳感器因其測量精度高、 響應快和價格低廉而得到了廣泛應用,傳統應用方式是1 個發射頭對應1 個接收頭 ,也有多個發射頭對應1 個接收頭。但我們在實際應用中發現,如果障礙物的面很大(如墻壁),超聲波傳感器可以用來準確測距,但若將其應用在小車防撞系統中,由于障礙物呈柱狀,而超聲波發射頭有一定的散射角(左右),因此即使障礙物不在小車正前方,超聲波仍能檢測到斜前方回波,這就給智能控制車輛行進帶來困難和誤導,為了解決這一問題,我們提出了一種使用雙接收頭的方案,并從實用角度給出了一套具體控制策略。
本文提出了一種基于單片機控制的超聲波定位前方物體的監測控制系統。通過一左一右的雙超聲波接收頭檢測信號,送單片機進行數據計算處理,能夠精確計算與障礙物的距離,同時判斷該障礙物是否位于車輛行徑的路線上。從而能保證車輛行駛中能準確避障。實驗測試系統表明,該系統有效距離可達8m,測量精度可達0.05m,小車能自由避開前方障礙物,或遇到障礙物時緊急剎車停下, 但不會因為障礙物在小車斜方向而誤判停止。
2 系統的結構流程設計
我們的整個系統需要完成測距,測速,定位,控制小車運動等功能,系統包括如下六部分: 超聲波發射電路, 超聲波接受電路,信號處理器,溫度測量,小車控制電路等五部分。系統結構框圖如圖一所示:
通過單片機產生40k 的方波,經過放大后驅動超聲波傳感器發射頭,從而發出超聲波,遇到前方物體反射后由接收端捕捉,經過對兩個接收頭捕捉時間的計算以及加入溫度補償,判斷最終前方小車的方向與距離,再通過與前次數據差分計算出其相對前車的速度,最后通過速度、距離以及位置三個數據進行智能控制,控制小車轉彎或減速慢行等。
具體的硬件組成為:MCU 采用AT89S52 單片機,P1.0 口輸出超聲波換能器所需的40K 方波信號,經過反相器7404 后驅動傳感器,為了能使超聲波發射得更遠,我們并接了三個發射頭,利用外中斷0 口監測超聲波接收電路輸出的返回信號,回波檢測采用紅外檢測集成芯片CX20106,顯示電路采用簡單的4 位共陽LED 數碼管,斷碼用74LS244,位碼用8550 驅動。測溫部分使用18B20 測出當前的環境溫度用以判斷出超聲波傳播的速度。
3 MCU 算法控制
3.1 距離計算與方位判斷
單片機可以計算出發射與接收到超聲波之間的時間,根據測溫系統的實際測溫, 查找出在該對應溫度下的聲速,計算出反射物距離兩接收端的距離。 理論上由以上兩個數據上就可以直接數學推導出該物體的空間位置(如圖2 和公式一、二所示)。
其中d 為R1 與R2 的距離,z1、z2 分別為物體到各個接收端的距離 ,如果直接這樣計算就會過于復雜,普通單片機處理的話耗時較多, 于是我們提出了一種基于計算二者距離差來大致判斷物體位置的方法。一般來講小車只關心在車前方的物體,我們設定一個距離參數l代表前方障礙物與小車的水平距離,再設定一個距離參數h,代表前方障礙物與小車的垂直距離。我們可以由下面的關系推導出h, l, d與z2-z1的關系(公式3---公式6)。
將公式6想減的兩項做除法不難發現第一項始終大于第二項,所以z2-z1是關于l的增函數, 同時隨著h的減小,z2-z1同樣會變大,也就是說當障礙物體靠近小車時,如果其偏離了小車的中心(即不會撞到)有一個明顯的特征為其z2-z1的值會比較大,我們可以取d=5cm h=30cm, 讓l在[10cm,30cm]間變化,做出的曲線如圖3所示,各個物理量的幾何關系見圖4 。
圖4 各個物理量的幾何關系
圖4 各個物理量的幾何關系
不難發現,當l距離在[10cm,30cm](h < 30cm)區間時,z2-z1的差將 > 4cm.據此我們設定了一個閾值4cm,當檢測到差值大于4cm,不需要做任何剎車控制,直接直行通過,通過這樣簡單的計算判斷,我們可以有效避免由于偏離小車中心的障礙物靠小車過近造成的z1,z2的值過小,從而引來可能的剎車誤判。在做這個項目時,我們采用的車模體積不大,因此設計的閾值等不是很大,若應用到實際車模中時可根據情況改變閾值的大小。