楊佳潤
摘 要本文介紹了一個以STC89C51單片機(jī)為控制核心的智能小車,該小車的具有3個輪子,利用L298N驅(qū)動芯片驅(qū)動電機(jī)工作,結(jié)合傳感器探測的信號實現(xiàn)了小車的自動循跡、避障功能。
【關(guān)鍵詞】單片機(jī) 循跡 避障 紅外傳感器
1 引言
隨著機(jī)械、電子、電氣、信息處理以及計算機(jī)等多個學(xué)科的融合,機(jī)器人逐漸走入人們的生活中。智能小車就是機(jī)器人的一個典型代表,在小車上配備傳感器,通過傳感器識別外界信號,信號反饋給控制器,控制器再根據(jù)預(yù)先寫入的控制程序判斷小車的狀態(tài)進(jìn)而做出下一步的指令,并傳輸給執(zhí)行器,從而實現(xiàn)在無人為干預(yù)的情況下智能小車的自動行進(jìn)。智能小車能夠應(yīng)用于考古、救援、醫(yī)療以及家用電器等多個領(lǐng)域,而且還能夠為智能交通的構(gòu)建提供參考。基于對智能小車的需要,本文研究了一款基于STC89C51單片機(jī)的智能小車,能夠?qū)崿F(xiàn)自動行駛、自動避障以及小車行進(jìn)狀態(tài)的顯示。
2 智能小車總體方案設(shè)計
在該設(shè)計方案中,智能小車主要由電源、驅(qū)動、顯示、循跡、避障以及控制等模塊組成。小車采用前端驅(qū)動的方式,兩個前車輪上配備有兩個電機(jī),通過單片機(jī)向驅(qū)動模塊發(fā)出指令,由驅(qū)動模塊控制電機(jī)的轉(zhuǎn)動、停止以及正反轉(zhuǎn),后端使用一個萬向輪作為支撐保持小車在行駛過程中的平衡。
2.1 控制模塊
該智能小車采用STC89C51單片機(jī)作為系統(tǒng)的主控芯片,通過預(yù)先寫入STC89C51中的控制程序來控制小車的運動,進(jìn)而達(dá)到對智能小車的控制。
2.2 循跡模塊
循跡是指在預(yù)先鋪設(shè)的白色地板上設(shè)置一條黑色的條帶,即為智能小車的跑道,小車將自動沿著黑色跑道行駛。自然界中不同的物質(zhì)對紅外線的吸收能力不同,當(dāng)紅外線遇到白色物體時會發(fā)生漫反射,當(dāng)紅外線遇到黑色物體時,紅外線會被吸收。借助這個原理,在本設(shè)計中將兩個循跡紅外對管分別安裝在智能小車車頭下的左右兩側(cè),每個紅外對管都由一個接收管和一個發(fā)射管組成,發(fā)射管發(fā)射紅外光到地面,當(dāng)紅外線遇到黑色條帶時,紅外線將被吸收,如果左邊的紅外傳感器將接收不到返回來的信號,L298N驅(qū)動芯片將控制左邊電機(jī)停止轉(zhuǎn)動,車頭將逐漸向左邊調(diào)整;如果右邊的紅外傳感器將接收不到返回來信號,L298N驅(qū)動芯片將控制右電機(jī)停止轉(zhuǎn)動,車頭將向逐漸向右邊調(diào)整。
2.3 避障模塊
避障模塊主要由兩部分組成,一部分是基于紅外探測原理,類似于循跡。在智能小車的前端以及左、右兩邊分別安裝一對紅外對管,可以用來檢測小車前進(jìn)路線的前面和左、右兩邊的情況。如果前端的紅外對管檢測到有紅外線被反射回來時,表明前方有阻礙,此時小車會做出相應(yīng)的響應(yīng),躲避障礙物。另一部分是根據(jù)金屬探測原理,在實際道路上存在各種小型的金屬材質(zhì)的障礙物,為了使小車更加適合實際路況,在本設(shè)計中采用電感式接近開關(guān)作為金屬傳感器,其內(nèi)部主要由LC高頻振蕩電路和放大處理電路兩部分組成。當(dāng)有金屬障礙物接近傳感器時,LC高頻振蕩電路將發(fā)生電磁場震蕩,將會產(chǎn)生渦流影響接近開關(guān),該開關(guān)的振蕩能力隨之減弱,引起電路內(nèi)部參數(shù)發(fā)生變化,從而判斷出有沒有金屬障礙物。
2.4 驅(qū)動模塊
在智能小車兩個前輪上各安裝一個直流電機(jī),分別控制小車的兩個輪子的轉(zhuǎn)速,當(dāng)兩個輪子的轉(zhuǎn)速不同時,小車將會轉(zhuǎn)彎,當(dāng)兩個輪子的轉(zhuǎn)速相同時,小車將直行。本系統(tǒng)中使用L298N對直流電機(jī)進(jìn)行驅(qū)動,其內(nèi)部設(shè)有兩個H橋高電壓大電流全橋式驅(qū)動器。通過單片機(jī)將PWM脈沖信號傳輸給L298N電機(jī)驅(qū)動芯片,從而達(dá)到控制直流電機(jī)的速度、停止和正反轉(zhuǎn)向,保證小車能夠?qū)崿F(xiàn)沿著預(yù)先設(shè)置的軌道行走、躲避障礙物以及自動糾正偏離。
2.5 顯示模塊
該模塊用于顯示智能小車行駛運動的方向、時間和路程。LCD1602是一款液晶顯示屏,具有低功耗、無輻射、顯像穩(wěn)定、顯示區(qū)域大,顯像效果好,能夠顯示多種類型字符以及高分辨率的優(yōu)點,這款顯示屏足夠滿足本設(shè)計的需要,因此在該智能小車上安裝一個128*64的型號為LCD1602液晶顯示屏。
2.6 電源模塊
本次設(shè)計的智能小車系統(tǒng)中所有芯片需要的工作電壓大小為5V,考慮到直流電機(jī)的額定電壓、額定電流都比較大,本設(shè)計中采用9V的干電池作為電源,另外設(shè)計了一個電源穩(wěn)壓電路,利用7805穩(wěn)壓芯片對9V電壓進(jìn)行處理得到一個5V穩(wěn)定電壓。
3 軟件設(shè)計
在單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程中,C語言是最為常用的開發(fā)語言,而且C語言編程更加符合人的思維方式,因此本文選用C語言作為系統(tǒng)的開發(fā)語言,同時借助Keil C51平臺開發(fā)了系統(tǒng)軟件。
智能小車啟動后先自由低速行駛,慢慢尋找黑色的跑道,如果遇到黑色跑道就開始計時、記錄路程同時開始高速行駛,在行駛過程中不斷檢測是否出現(xiàn)偏離跑道、遇到障礙,如果出現(xiàn)偏離跑道就進(jìn)行修正,如果遇到障礙就進(jìn)行自動躲避障礙。當(dāng)智能小車到達(dá)停車區(qū)域,小車將自動停車。主程序流程圖如圖1所示。
4 結(jié)論
本文提出了一個以STC89C51單片機(jī)為控制核心,結(jié)合L298N驅(qū)動芯片和傳感器的智能小車,該小車能夠?qū)崿F(xiàn)自動循跡行走,也能實現(xiàn)自動躲避多種障礙,同時顯示出小車的行進(jìn)狀態(tài)。經(jīng)過多次實驗,本智能小車的循跡、避障效果比較理想,系統(tǒng)抗干擾能力比較強,可以應(yīng)用到智能交通、工業(yè)運輸?shù)确矫?,具有很強的實用價值。
參考文獻(xiàn)
[1]郭天祥.51單片機(jī)C語言教程[M].電子工業(yè)出版社,2009.
[2]卜文東,華凱,馬草原,白耀武,孫榮琛.基于紅外傳感器智能小車的設(shè)計[J].電子世界,2017(03):134-136.
[3]鄧喜兵,許建明,陳炯明.基于單片機(jī)的智能小車設(shè)計[J].電子世界,2016(09):47.
[4]洪淼淼,蔡寧.基于STC89C52的智能小車[J].電子世界,2016(11):41-42.
[5]徐愛鈞.Keil C51單片機(jī)高級語言應(yīng)用編程技術(shù)[J].電子工業(yè)出版社,2015(10).
作者單位
鄭州外國語新楓楊學(xué)校 河南省鄭州市 450000