中圖分類號:U462.1 收稿日期:2025-04-12 DOI: 10.19999/j.cnki.1004-0226.2025.07.011
Design and Analysis of Smart Cars for Obstacle Avoidance
Qiu Chenxi Fuzhou Polytechnic Institute of Technology,F(xiàn)uzhou 350108,China
Abstract:Inordertodesignacarthatcandriveautonomously,sensetheenvironmentandavoidobstacles,thispaperprovidesa hardware modelandsoftwarealgorithm.Thesensormeasurement module,controlermoduleandelectricdrivemoduleareadopted, andtheinfraredlightcontroltubeisusedtomeasureandidentifythepathofthebarier-freeblackline,andtesteeigoftheelectric vehicleiseguatedwithorwithoutightreception,soastochievethefunctioofutomatictrackingpositioniformatio.Thisdesign canrealiethefunctionofautomaticrackingpositioninformation,andhashighreliabilityItprovidesanewideaandmetodfortere search of intelligent vehicle for tracking obstacle avoidance.
Keywords:Line following;Obstacle avoidance;Smart car;Microcontroller;Sensor;Module
1前言
隨著科學(xué)技術(shù)的進展,有關(guān)人工智能的問題正日益被人重視。智能小車在社會各個領(lǐng)域中具有廣泛的使用前景,它能在惡劣條件下代替人們進行物品搬運和儀器檢查等工作。對于智能小車而言,其在選擇的道路上合理行駛并避免與其他車輛碰撞至關(guān)重要。因此,對智能小車的循跡避障系統(tǒng)進行設(shè)計與研究變得非常重要。
目前,智能車輛已應(yīng)用于工業(yè)、軍隊國防建設(shè)、物流運輸?shù)刃袠I(yè)和民眾的生活中。李成勇等1使用擁有高性能STM32F427單片機的OpenMV(機器視覺模塊)作為MCU(微程序控制器),設(shè)計了一輛基于機器視覺的循跡避障智能小車系統(tǒng),能夠從標(biāo)記的指定位置出發(fā),迅速找尋規(guī)定場內(nèi)隨機點亮的信號表示燈。楊瑞東等[2]基于Android系統(tǒng)設(shè)計了一款智能循跡避障小車用于研究無人駕駛。
基于以上背景,本文主要研究設(shè)計一款采用STC89C52系列微機控制系統(tǒng)的智能小車,其核心功能(自主循跡與避障)是自動化導(dǎo)引運輸車(AutomatedGuidedVehicle,AGV)、服務(wù)機器人等專用移動平臺的基礎(chǔ)。該小車可應(yīng)用于倉儲物流(沿地標(biāo)線搬運)生產(chǎn)線轉(zhuǎn)運及醫(yī)院/餐廳(室內(nèi)避障)等場景,為開發(fā)低成本、高可靠的專用平臺提供技術(shù)路徑與原型驗證[3]。
2總體方案選擇
智能小車采用STC89C52單片機作為控制芯片,在其硬件配置中包括紅外傳感器循跡模塊、自動導(dǎo)引循跡功能和避障功能。為了保證小車能夠有效地進行循跡,并減少外部光線對其的干擾,采取了一系列機械結(jié)構(gòu)設(shè)計。首先,在小車底盤上安置了道路檢測電路板和紅外傳感器,以確保循跡功能的正常運行。同時,在小車的左前部放置了循跡模塊,而在右前部則安裝了超聲波探測與定位系統(tǒng)。為了保持小車的平衡度,將單片機控制板置于小車的正前方。此外,還將直流電機和電源模塊放置在車輛的中部位置,以方便控制和有效控制小車的電源。要盡量保持這些組件在一條豎線上的布局,以便既能減小小車轉(zhuǎn)彎時的慣性,也能增強其穩(wěn)定性。圖1為該智能小車的系統(tǒng)總體設(shè)計框圖。
圖1小車的總體框架設(shè)計圖
在硬件設(shè)計中,選用STC89C52單片式微型計算機,這是一種CMOS(ComplementaryMetal OxideSemi-conductor)架構(gòu)的八位微控制器,具備低功耗和高性能的特點。該微控制器內(nèi)置了8KB的可編程Flash存儲器,并且通過8個靈巧的CPU以及在系統(tǒng)內(nèi)的可編程Flash存儲器,賦予STC89C52在許多嵌入式控制應(yīng)用操作系統(tǒng)中更高的靈活性。
2.1驅(qū)動模塊選擇
L298N是一種簡便的電動機控制器,不需要進行電路隔離。通過利用單片機的輸入/輸出接口,改變芯片輸入端的電平,可以輕松地實現(xiàn)電動機的正反轉(zhuǎn)和停止操作。這種控制方式非常便捷,同時也能夠滿足直流減速電動機對于高輸出電壓的需求。在運行后對應(yīng)程序表用程序輸人相應(yīng)的代碼值,就可以完成相應(yīng)的操作,調(diào)試通過。
2.1.1PWM(脈沖寬度調(diào)制)調(diào)速原理
PWM直流調(diào)速原理,即為保持脈沖電壓頻率恒定,通過改變脈沖寬度(導(dǎo)通時間)調(diào)節(jié)電機轉(zhuǎn)速。由于電機具有慣性,其電流和轉(zhuǎn)速響應(yīng)平滑。施加高頻PWM電壓序列時,其平均效果等效于直流電壓,脈寬變化即對應(yīng)電壓變化,如圖2所示。脈沖寬度的調(diào)節(jié)可以導(dǎo)致電壓的變化。
圖2PWM等效圖示意圖
2.2循跡方案選擇
使用兩個紅外線接收器接受紅外線探測到的黑色軌跡,實現(xiàn)轉(zhuǎn)大小彎,直角(因為直角處軌跡寬度超過了探測器的寬度,所以需要一些額外處理),但是無法通過銳角。
在彎道處,車輛應(yīng)將直行速度控制在彎道的安全速度上限值以下以防止車輛沖出曲線。當(dāng)彎道剛結(jié)束時,小車保持直行暫不加速,之后小車在設(shè)定時間內(nèi)加速至最高速度,以提升車輛的平均速度。持續(xù)記錄上一個轉(zhuǎn)向狀態(tài),當(dāng)傳感器全為黑色時執(zhí)行保存的轉(zhuǎn)向操作,以成功通過直角彎道。利用STC89C52中的定時器輸入捕獲功能對速度脈沖信號進行處理,從而準(zhǔn)確計算車輛的行駛速度[4]。
slow%指一個小于 100% 的百分比數(shù)值,表示彎道時的安全速度。
串口通信程序:小車硬件平臺預(yù)留一個串口通信接□,通過STC89C52的串口可以方便地與其他串行接口設(shè)備進行無線通信和數(shù)據(jù)傳輸。
方案一:采用簡易的光電傳感器以及相應(yīng)的外圍線路檢測設(shè)備,然而實際效果卻明顯不如人意。此外,該系統(tǒng)對車輛行車時的地面穩(wěn)定性要求相當(dāng)高,而且存在較大的錯誤概率,其受光照條件和周圍道路介質(zhì)的干擾影響也極易發(fā)生故障。在安裝過程中,頻繁出現(xiàn)錯誤的現(xiàn)象十分普遍,甚至可能因某些組件缺陷而導(dǎo)致整個系統(tǒng)無法達到平衡狀態(tài)。因此,這一方案最終沒被選擇。
方案二:使用兩個紅外線對管,將它們放置在小車機身內(nèi)導(dǎo)軌的兩端。利用兩個光電子開關(guān)與白線和黑條紋接觸的情況,來實現(xiàn)車輛的轉(zhuǎn)向和車向調(diào)節(jié)。經(jīng)過測試,只需要正確設(shè)置兩個光電子接近位置的情況,就可以有效地實現(xiàn)循跡的控制。
方案三:當(dāng)使用三只紅外傳感器,即一只放在黑色軌跡線中央,兩只放在黑色軌跡線外邊,當(dāng)小車離開黑色軌跡線后,或當(dāng)置于中央的一個電光開關(guān)脫離黑色軌跡線后,或在最外邊的另一個探測到黑線時,則通過控制左右輪速度差來轉(zhuǎn)動車身,調(diào)整車身方向,直至在中央的光電接近開關(guān)再次探測到黑線時。而實踐證明,由于三個紅外傳感器小車在尋跡進程中,雖然能找回軌道,但左右搖擺現(xiàn)象過于明顯,同時容易翻車,故采用方案二。
2.3避障方案選擇
將紅外傳感器循跡模塊與超聲波相結(jié)合,并通過軟件編程實現(xiàn),智能小車能夠?qū)崿F(xiàn)以下功能:在超聲波探測到障礙物時,小車會停止前進;若超聲波未探測到任何障礙物,則會依據(jù)紅外傳感器循跡模塊所探測到的軌跡繼續(xù)前進。這種配置使智能小車具備了避障和循跡的能力。這樣的設(shè)計方案展示了將紅外傳感器和超聲波相結(jié)合的可行性,并且通過軟件編程有效地實現(xiàn)了所需功能[5-6]。
方案一:使用一個紅外對管放在車輛中部,它設(shè)置簡單,并且能夠偵測到障礙物的存在,但是難以確定小汽車在水平方位上是否會和障礙物碰撞,也無法使小汽車作出準(zhǔn)確的轉(zhuǎn)向反應(yīng)。
方案二:將兩根紅外傳感器分別放置于車輛的前部兩側(cè),與車輛行進的方向平行,以實現(xiàn)對車輛與障礙物相對位置和方向的精確判斷與準(zhǔn)確響應(yīng)。這種方法主要依賴于硬件設(shè)備,成本相對較高,且缺乏創(chuàng)新性,同時車輛左側(cè)的紅外傳感器的應(yīng)用潛力也極為有限,因此并未得到實際的應(yīng)用。
方案三:選擇一個紅外對管并放在車輛右側(cè),通過測試,這個方法就可以很好地實現(xiàn)車輛躲避障礙物,并充分地利用資源而不會浪費,所以采用方案三。
3硬件設(shè)計與說明
3.1小車的硬件分配
本系統(tǒng)的小車硬件主要包括兩個部分,一部分是機械設(shè)計,一部分是電路設(shè)計。機械設(shè)計主要是對小車的機械部分進行選件和裝配;電路設(shè)計指的是對核心單片機以及復(fù)位工作模式、晶振頻率、感應(yīng)器的結(jié)構(gòu)、電源控制模塊、驅(qū)動系統(tǒng)等加以介紹。
3.1.1機械部分材料清單
材料清單分為:電動機芯裝配材料清單、小車裝配清單與電路板硬件材料清單。
a.電動機芯裝配材料清單如表1所示。
表1電動機芯裝配材料清單
b.小車裝配清單如表2所示。c.電路板硬件材料清單如表3所示。
3.2循跡 + 避障模塊
小車循跡模塊采用TCRT5000紅外反射傳感器,集成紅外發(fā)射管與光電晶體管。工作原理:發(fā)射紅外光,白面漫反射使接收管導(dǎo)通輸出低電平;黑線吸收致反射微弱,輸出高電平。典型探測距離為 2.5~25mm (本設(shè)計安裝高度 5~10mm ),響應(yīng)時間約為 15μs 。輸出信號經(jīng)LM324比較器整形為數(shù)字電平,增強抗干擾能力與狀態(tài)判別可靠性7]。相關(guān)的實物如圖3、圖4所示。
3.3控制模塊
本設(shè)計的主控模塊是以嵌入式數(shù)字單片機為內(nèi)核,并使用了STC89C52型單片機芯片。它具備了體積較小、低功耗、效率高、抗干擾能力較強且售價相對低廉等優(yōu)勢,并使用了DIP40的標(biāo)準(zhǔn)封裝形式[8]。另外還在智能小車的底板上安裝了相應(yīng)的單片機存儲器接口,以便在用戶燒錄程序時插拔單片機。
表2小車裝配清單
表3電路板硬件材料清單
確保其運行的安全性與穩(wěn)定性。L298N芯片既能夠?qū)﹄妱訖C實現(xiàn)直接控制,并利用主要控制器芯片的I/O輸入對其調(diào)節(jié)電平加以設(shè)置,同樣也能為電動機實現(xiàn)正轉(zhuǎn)或逆向控制驅(qū)動,操作簡便、穩(wěn)定性好,也能夠適應(yīng)直流電機的大電壓驅(qū)動要求9,且一個L298N芯片能夠同一時間分別操控二臺直流電機,作為電源驅(qū)動模塊,該芯片的操作簡便,同時具備卓越的性能與良好的穩(wěn)定性。電機實物如圖5所示。
圖5超聲波和紅外對管實物圖
3.5電源模塊
圖3小車上的循跡紅外對管實物圖
采用電池組提供,并使用2支 1.5V 電池雙電源,分別提供給單片機STC89C52與電機,讓小車都能夠?qū)崿F(xiàn)其功能,且電池電量比較足,也可以充電以便重復(fù)利用,能夠?qū)崿F(xiàn)系統(tǒng)要求。電池實物如圖6所示。
圖4超聲波和紅外對管實物圖
3.4電機驅(qū)動模塊
在電機方面,本小車主要使用直流電機,而針對直流電機使用分立元件構(gòu)成的控制回路,構(gòu)造簡便,且價格相對低廉,在實際使用中運用普遍。不過這個電路結(jié)構(gòu)在工作時的性能并不穩(wěn)定,所以本文采用了智能小車專用的L298N芯片作為小車的電機驅(qū)動芯片。L298N芯片是一種能夠承受較高電壓的電機驅(qū)動芯片,由直流電機和步進電機均能夠驅(qū)動。每一個驅(qū)動器電芯都能夠同步操控兩臺直流減速電機的各種運動特性,使其在電流范圍從6~46V內(nèi)提供最大2A輸出電流的能力。此外,這兩臺電機還具備過熱自斷和反饋檢測功能,以
圖6小車上的電源模塊實物圖
4軟件設(shè)計與說明
4.1系統(tǒng)軟件流程
具體的電循跡避障流程如圖7所示。
小車在行進過程中的避障決策如圖8所示。
4.2系統(tǒng)程序
循跡避障程序如下://#include//#include//包含52單片機頭文件,內(nèi)部有各種寄存器定義。#include //包含HJ-4WD藍牙智能小車驅(qū)動IO口定義等函數(shù)。
//主函數(shù)
圖7循跡避障流程圖
圖8小車在行進過程中的避障決策示意圖
void main(void)
{
Unsigned char i;
P1=0×00 ;/小車停止。TMOD=0×01 ·
TH0=0×Fc;//1ms 定時。TL0=0×18
TR0=1
ET0=1 ·
EA=1
while(1)//無限循環(huán)。{//白線有信號為0,黑線沒有信號為1,amp;amp;與運算,2
個條件同時成立才有。if(Left_X_led == 0amp;amp;Right_X_led ==0 )//當(dāng)左右傳感
器同時在白線上。run;/調(diào)用小車前進函數(shù),小車往前走。//delay(20);Else{if(Left_X_led 1amp;amp;Right_X_led ==0 )//L左邊檢測
到黑線。廣leftrun;//調(diào)用左轉(zhuǎn)函數(shù)。}if(Left_X_led ==( 0amp;amp;Right_X_led ==1 )//R右邊檢測
到黑線{rightrun;//調(diào)右函數(shù)}}//避障簡單算法。if(Left_B_led == 0amp;amp;Right_B_led 1==0 //兩個傳感器
同時檢測到物體時。{stop;//調(diào)用停止函數(shù)delay(10);}}}
4.3軟件算法與硬件協(xié)同
軟件算法通過輪詢讀取連接在單片機I/O口上的左右兩個TCRT5000傳感器的數(shù)字輸出狀態(tài)(Left_led,Right_led)。其核心控制邏輯(如3.2節(jié)主程序所示)是一個基于狀態(tài)機的決策樹:
(0,0):表示雙白線,小車直行。
(1,0):表示左黑右白,小車左轉(zhuǎn)。
(0,1):表示左白右黑,小車右轉(zhuǎn)。
硬件(傳感器 + 比較器)負責(zé)精確感知路徑信息并轉(zhuǎn)化為數(shù)字信號,軟件(單片機程序)則根據(jù)預(yù)設(shè)規(guī)則解析這些信號,生成相應(yīng)PWM控制指令(通過L298N驅(qū)動模塊)調(diào)節(jié)左右電機轉(zhuǎn)速差,實現(xiàn)轉(zhuǎn)向調(diào)控。這種“感知-決策-執(zhí)行”的閉環(huán)協(xié)同機制是實現(xiàn)穩(wěn)定循跡的關(guān)鍵。
4.4系統(tǒng)測試過程
該小車具有循跡避障能力,它可按照當(dāng)?shù)氐暮谏窂叫凶咄瓿裳E操作,還可探測到鐵軌二端的擋板,并順著擋板行走,完成檢測定位操作。尋跡避障小車軌道示意圖說明:鐵軌主要由循跡部門(黑線)和避障部門(路線二側(cè)加擋板)兩部門構(gòu)成,車輛首先駛?cè)胙E鐵軌,沿黑線行進,在兩個部門連接的探測與定位鐵軌則沿擋板行進,并以此進行尋跡與探測定位能力的展示[10]。小車的循跡和避障示意如圖9、圖10所示。
圖9小車的循跡示意圖
圖10小車的避障示意圖
4.5系統(tǒng)測試結(jié)果與分析
簡單場景下的小車循跡功能測試在室內(nèi)的循跡地圖上進行,小車循跡功能測試結(jié)果具體如圖11所示,結(jié)果表明,小車可以根據(jù)預(yù)期進行探測定位動作完成循跡功能。
圖11小車循跡功能測試
簡單場景下的小車避障功能測試在室內(nèi)進行,選定墻壁和門作為障礙物。測試過程中小車都能快速識別障礙物并進行自動轉(zhuǎn)向重新規(guī)劃路徑,小車避障功能測試結(jié)果具體如圖12所示,結(jié)果表明,該小車能在較高車速下實現(xiàn)避障功能,且穩(wěn)定性高。
5結(jié)語
本文詳細介紹一個基于單片微型計算機和傳感器基本原理的系統(tǒng)總體設(shè)計。該設(shè)計采用STC89C52單片微型計算機作為主控制芯片,并搭配L298N芯片和12V直流電機作為主要驅(qū)動元器件。通過軟件編程使小車功能模塊化,具備反應(yīng)敏捷的循跡避障能力。經(jīng)過對小車循跡避障的測試結(jié)果分析,發(fā)現(xiàn)該小車能夠出色地實現(xiàn)預(yù)期的避障循跡功能,并表現(xiàn)出出色的動作響應(yīng)靈敏性和操作穩(wěn)定性。
圖12小車避障功能測試
參考文獻:
[1]李成勇,譚寒鐘,王莎,等.基于OpenMV的智能\"尋的\"小車控制系統(tǒng)[J].液晶與顯示,2020(8):870-876.
[2]楊瑞東,楊連軍,王云峰,等.基于Android系統(tǒng)的智能循跡避障小車設(shè)計[J].傳感器與微系統(tǒng),2018(3):81-84.
[3]趙俊杰,張艷芬,崔凱.基于STC89C52單片機控制的智能小車設(shè)計[J].電子制作, 2020(23):26-27+25 #
[4]李盛林,黃昊晶,唐建清.基于單片機及紅外光電傳感器的循跡小車設(shè)計[J].電子制作,2020(19):18-20.
[5]馮粵松,王沛武,于鳳梅,等.基于STC89C52單片機的超聲波避障小車設(shè)計[J].電子世界,2022(11):154-155+158.
[6]李春杏.超聲波避障智能小車[J].電子世界,2021(19):11-12
[7]朱春華,顧雪亮.基于紅外反射式傳感器TCRT5000的循跡小車設(shè)計[J].現(xiàn)代電子技術(shù),2018,41(18):143-146
[8]高英英.基于STC89C52智能小車的實現(xiàn)[J].通信電源技術(shù),2021,38(2):38-42+49
[9]常江雪,劉瀟瀟.智能小車避障系統(tǒng)的設(shè)計與實現(xiàn)[J].內(nèi)燃機與配件,2023(16):14-16.
[10]盧雪紅,邵亞軍.基于STM32智能小車自主循跡避障系統(tǒng)設(shè)計與功能實現(xiàn)[J].世界有色金屬,2021(22):165-168.