新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89S52的防撞小車系統設計

        基于AT89S52的防撞小車系統設計

        作者: 時間:2013-10-23 來源:網絡 收藏
        1 引言

        超聲波傳感器因其測量精度高、 響應快和價格低廉而得到了廣泛應用,傳統應用方式是1 個發射頭對應1 個接收頭 ,也有多個發射頭對應1 個接收頭。但我們在實際應用中發現,如果障礙物的面很大(如墻壁),超聲波傳感器可以用來準確測距,但若將其應用在小車防撞系統中,由于障礙物呈柱狀,而超聲波發射頭有一定的散射角(左右),因此即使障礙物不在小車正前方,超聲波仍能檢測到斜前方回波,這就給智能控制車輛行進帶來困難和誤導,為了解決這一問題,我們提出了一種使用雙接收頭的方案,并從實用角度給出了一套具體控制策略。

        2系統的結構流程設計

        我們的整個系統需要完成測距,測速,定位,控制小車運動等功能,系統包括如下六部分: 超聲波發射電路, 超聲波接受電路,信號處理器,溫度測量,小車控制電路等五部分。系統結構框圖如圖一所示:
        基于AT89S52的防撞小車系統設計   
        圖1:系統結構框圖

        通過單片機產生40k 的方波,經過放大后驅動超聲波傳感器發射頭,從而發出超聲波,遇到前方物體反射后由接收端捕捉,經過對兩個接收頭捕捉時間的計算以及加入溫度補償,判斷最終前方小車的方向與距離,再通過與前次數據差分計算出其相對前車的速度,最后通過速度、距離以及位置三個數據進行智能控制,控制小車轉彎或減速慢行等。

        具體的硬件組成為:MCU 采用 單片機,P1.0 口輸出超聲波換能器所需的40K 方波信號,經過反相器7404 后驅動傳感器,為了能使超聲波發射得更遠,我們并接了三個發射頭,利用外中斷0 口監測超聲波接收電路輸出的返回信號,回波檢測采用紅外檢測集成芯片CX20106,顯示電路采用簡單的4 位共陽LED數碼管,斷碼用74LS244,位碼用8550 驅動。測溫部分使用18B20 測出當前的環境溫度用以判斷出超聲波傳播的速度。

        3 MCU 算法控制

        3.1 距離計算與方位判斷

        單片機可以計算出發射與接收到超聲波之間的時間,根據測溫系統的實際測溫, 查找出在該對應溫度下的聲速,計算出反射物距離兩接收端的距離。 理論上由以上兩個數據上就可以直接數學推導出該物體的空間位置(如圖2 和公式一、二所示)。  
        基于AT89S52的防撞小車系統設計   基于AT89S52的防撞小車系統設計
        圖2 超聲波傳感器空間方位

        其中d 為R1 與R2 的距離,z1、z2 分別為物體到各個接收端的距離 ,如果直接這樣計算就會過于復雜,普通單片機處理的話耗時較多, 于是我們提出了一種基于計算二者距離差來大致判斷物體位置的方法。一般來講小車只關心在車前方的物體,我們設定一個距離參數l代表前方障礙物與小車的水平距離,再設定一個距離參數h,代表前方障礙物與小車的垂直距離。我們可以由下面的關系推導出h, l, d與z2-z1的關系(公式3---公式6)。

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鄂温| 夏河县| 泽普县| 横山县| 汽车| 梅河口市| 霞浦县| 和龙市| 温州市| 肃南| 洛川县| 陆丰市| 宜丰县| 抚顺市| 涪陵区| 临邑县| 额敏县| 陆川县| 庄浪县| 尚义县| 谷城县| 黄陵县| 隆化县| 罗田县| 水城县| 三明市| 阳山县| 宣汉县| 芮城县| 中阳县| 盱眙县| 界首市| 樟树市| 扎兰屯市| 安达市| 吉林省| 钟祥市| 仲巴县| 宜章县| 邛崃市| 图木舒克市|