郭海麗
?
基于單片機(jī)的智能小車(chē)的設(shè)計(jì)與實(shí)現(xiàn)
郭海麗
(衡水學(xué)院 電子信息工程學(xué)院,河北 衡水053000)
介紹了一種以STC89C52單片機(jī)為控制核心的智能小車(chē)的設(shè)計(jì).設(shè)計(jì)由電機(jī)驅(qū)動(dòng)模塊、超聲波測(cè)距模塊、循跡模塊、紅外和語(yǔ)音模塊組成,擬實(shí)現(xiàn)一個(gè)無(wú)人駕駛公交車(chē)系統(tǒng).通過(guò)C語(yǔ)言編程實(shí)現(xiàn)小車(chē)的前進(jìn)倒退、轉(zhuǎn)向行駛、自動(dòng)循跡導(dǎo)航、超聲波測(cè)距,并根據(jù)檢測(cè)障礙物距離調(diào)整速度、紅外遙控定點(diǎn)播報(bào)功能,實(shí)現(xiàn)智能控制,達(dá)到設(shè)計(jì)目標(biāo).該系統(tǒng)電路結(jié)構(gòu)簡(jiǎn)單、功耗低、穩(wěn)定性高,具有一定實(shí)際應(yīng)用價(jià)值.
智能小車(chē);超聲波;紅外;循跡;單片機(jī)
隨著生產(chǎn)自動(dòng)化及汽車(chē)工業(yè)的迅速發(fā)展,關(guān)于智能小車(chē)的研究已經(jīng)越來(lái)越受到人們的關(guān)注.電子技術(shù)的飛速發(fā)展,給人類(lèi)生活帶來(lái)了根本性的變革,特別是隨著大規(guī)模集成電路的產(chǎn)生而出現(xiàn)的微型計(jì)算機(jī),更是將人類(lèi)社會(huì)帶入了一個(gè)新的時(shí)代.利用微機(jī)的強(qiáng)大功能,人們可以完成各種各樣的控制.紅外反射式傳感器、無(wú)線控制技術(shù)、超聲波測(cè)距以及單片機(jī)技術(shù)成為當(dāng)今社會(huì)智能化不可缺少的一部分.小車(chē)自動(dòng)尋跡導(dǎo)航、超聲波測(cè)距、小車(chē)避障等技術(shù),可以應(yīng)用于現(xiàn)代物流、無(wú)人駕駛汽車(chē)、無(wú)人工廠、服務(wù)機(jī)器人等領(lǐng)域[1].筆者設(shè)計(jì)了一種以STC89C52單片機(jī)為控制核心的智能小車(chē)系統(tǒng),該系統(tǒng)電路結(jié)構(gòu)簡(jiǎn)單、功耗低、性?xún)r(jià)比高、穩(wěn)定性高,具有一定實(shí)際應(yīng)用價(jià)值.
本智能小車(chē)系統(tǒng)使用一片STC89C52單片機(jī)作為主控芯片,利用紅外光電傳感器對(duì)地面的黑色軌跡進(jìn)行檢測(cè)從而實(shí)現(xiàn)自動(dòng)循跡功能,并且小車(chē)通過(guò)超聲波測(cè)距來(lái)獲取小車(chē)與障礙物的距離,通過(guò)距離的判斷與比較以達(dá)到避障的目的.在小車(chē)與障礙物的距離小于安全距離(用軟件設(shè)定)時(shí),小車(chē)會(huì)自動(dòng)減速前行;如果小車(chē)與障礙物的距離小于危險(xiǎn)距離(用軟件設(shè)定)時(shí),小車(chē)會(huì)停止行駛進(jìn)行等待,直至前方障礙物移除后小車(chē)才恢復(fù)正常行駛狀態(tài).當(dāng)小車(chē)行駛到固定的站點(diǎn)時(shí),通過(guò)接收站點(diǎn)的紅外信號(hào),小車(chē)會(huì)自動(dòng)語(yǔ)音播報(bào)提示并停車(chē)等待幾分鐘(用軟件設(shè)定),之后小車(chē)?yán)^續(xù)正常行駛,依此運(yùn)行方式循環(huán)行駛.本智能小車(chē)系統(tǒng)由以下幾個(gè)模塊組成:?jiǎn)纹瑱C(jī)控制模塊、超聲波測(cè)距避障模塊、自動(dòng)循跡模塊、電機(jī)驅(qū)動(dòng)模塊、紅外接收以及語(yǔ)音播報(bào)模塊.系統(tǒng)總體組成框圖如圖1所示.
圖1 系統(tǒng)總體組成框圖
2.1 單片機(jī)最小系統(tǒng)模塊
本設(shè)計(jì)單片機(jī)最小系統(tǒng)模塊包括主控制芯片STC89C52,晶振電路和復(fù)位電路.晶振電路由一12.000 MHz的晶振和兩個(gè)30 pF的起振電容組成,復(fù)位電路由電容和電阻組成,當(dāng)復(fù)位鍵按下時(shí),復(fù)位引腳上電復(fù)位[2].
2.2 光電傳感器循跡模塊
小車(chē)在沿著規(guī)定的軌跡行駛時(shí),軌跡可能會(huì)有彎曲或小車(chē)有偏離軌道現(xiàn)象.為使小車(chē)能在軌跡上正常行駛,小車(chē)需要在偏離跑道時(shí)實(shí)時(shí)地進(jìn)行調(diào)整,因此系統(tǒng)需要將路面的循跡狀態(tài)及時(shí)地反饋到控制部分,控制部分通過(guò)判斷執(zhí)行相應(yīng)指令,使小車(chē)重新回到軌跡上來(lái).
在本設(shè)計(jì)中采用了兩個(gè)光電傳感器,分別置于小車(chē)的兩側(cè).當(dāng)小車(chē)偏離軌跡時(shí),其中一側(cè)的光電傳感器的信號(hào)將被黑色軌跡吸收而無(wú)法返回,此時(shí)光電傳感器輸出高電平信號(hào),信號(hào)經(jīng)過(guò)處理后傳遞給單片機(jī),單片機(jī)接收到信號(hào)后會(huì)調(diào)整左右電機(jī)的轉(zhuǎn)動(dòng),使小車(chē)回到軌跡上來(lái),此時(shí)傳感器回到白色區(qū)域輸出為低電平,左右電機(jī)同時(shí)轉(zhuǎn)動(dòng),小車(chē)直線前進(jìn).檢測(cè)電路如圖2所示,當(dāng)發(fā)射管的紅外信號(hào)經(jīng)反射被接收管接收后,接收管內(nèi)部將會(huì)導(dǎo)通,在電路上一般以電壓的變化形式體現(xiàn)出來(lái),而經(jīng)過(guò)LM324運(yùn)算放大器電路處理后,輸出的高低電平信號(hào)傳遞給單片機(jī).接收管內(nèi)部導(dǎo)通的強(qiáng)弱取決于接收管所接收的紅外信號(hào)強(qiáng)度,常表現(xiàn)在反射面的顏色和反射面與接收管的距離兩方面.
圖2 檢測(cè)電路
2.3 電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)電路分為左輪與右輪2部分,本設(shè)計(jì)采用電機(jī)驅(qū)動(dòng)芯片L298N驅(qū)動(dòng)左右電機(jī),其電路如圖3所示.2、3腳驅(qū)動(dòng)左輪,13、14腳驅(qū)動(dòng)右輪.INPUT1、INPUT2控制左輪轉(zhuǎn)動(dòng)方向,INPUT3、INPUT4控制右輪的轉(zhuǎn)動(dòng)方向,INPUT1(INPUT3)為高電平、INPUT2(INPUT4)為低電平時(shí),電機(jī)正轉(zhuǎn);INPUT1(INPUT3)為低電平、INPUT2(INPUT4)為高電平時(shí),電機(jī)反轉(zhuǎn);其余狀態(tài)時(shí)電機(jī)停止轉(zhuǎn)動(dòng).電路采用PWM調(diào)節(jié)小車(chē)速度,通過(guò)單片機(jī)輸出PWM信號(hào)到L298N電路的使能端來(lái)控制小車(chē)的速度,啟停[3].
圖3 電機(jī)驅(qū)動(dòng)電路圖
2.4 超聲波測(cè)距模塊
超聲波傳感器測(cè)距原理:首先利用單片機(jī)輸出一個(gè)長(zhǎng)約6 mm,頻率為40 kHz的觸發(fā)信號(hào),觸發(fā)信號(hào)經(jīng)過(guò)驅(qū)動(dòng)電路CD4069進(jìn)行調(diào)理,以使超聲波傳感器產(chǎn)生諧振,然后由超聲波測(cè)距模塊的發(fā)射器向某一方向發(fā)射超聲波.在發(fā)射超聲波的同時(shí)單片機(jī)通過(guò)軟件開(kāi)始計(jì)時(shí),超聲波沿發(fā)射方向在空氣中傳播,當(dāng)途中碰到障礙物時(shí)返回(軟件允許范圍內(nèi)),超聲波測(cè)距模塊的接收器收到反射波后,便通過(guò)CX20106進(jìn)行前置放大、限幅放大、帶通濾波、峰值檢波和比較、積分及施密特觸發(fā)比較得到解調(diào)處理后的信號(hào)(如圖4所示),并通過(guò)輸出反饋給單片機(jī),此時(shí)單片機(jī)立即停止計(jì)時(shí).由于超聲波在空氣中的傳播速度= 340 m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間,就可以計(jì)算出發(fā)射點(diǎn)與障礙物的距離,即:=×/2,通過(guò)單片機(jī)來(lái)算出距離以達(dá)到避障的目的.
圖4 超聲波接收電路原理圖
2.5 語(yǔ)音模塊
此模塊實(shí)現(xiàn)語(yǔ)音播報(bào)功能,當(dāng)小車(chē)接近公交站點(diǎn)(模擬實(shí)現(xiàn))時(shí),小車(chē)的控制系統(tǒng)會(huì)根據(jù)所接收到的紅外信號(hào)進(jìn)行解碼識(shí)別后,執(zhí)行相應(yīng)指令并進(jìn)行語(yǔ)音提示.在本系統(tǒng)中,此功能是用ISD4004語(yǔ)音芯片來(lái)實(shí)現(xiàn).預(yù)先給語(yǔ)音芯片錄入所需要的語(yǔ)音提示信息,再通過(guò)單片機(jī)程序來(lái)控制語(yǔ)音芯片的定點(diǎn)播報(bào),來(lái)實(shí)現(xiàn)語(yǔ)音提示功能.ISD4004語(yǔ)音錄放模塊的硬件電路如圖5所示.MIC為麥克風(fēng),用于錄入語(yǔ)音,可完成普通的現(xiàn)場(chǎng)錄音.在放音電路中,輸出端選用低電壓通用集成功率放大器LM386作為揚(yáng)聲器的驅(qū)動(dòng)電路.該電路中,LM386的1腳和8腳間外接10 μF的旁路電容,可以使電路的放大倍數(shù)提高200倍.ISD4004的工作電壓是 3 V,可以通過(guò)降壓電路將5 V電壓轉(zhuǎn)變?yōu)? V,考慮到廉價(jià)和方便的問(wèn)題,本電路直接采用3只二極管串聯(lián)的方式直接分壓將電壓降至3 V.
圖5 ISD4004語(yǔ)音錄放電路
2.6 紅外信號(hào)模塊設(shè)計(jì)
紅外信號(hào)模塊是對(duì)各個(gè)公交站點(diǎn)的識(shí)別,每個(gè)站點(diǎn)與每個(gè)站點(diǎn)之間發(fā)送不同的紅外信號(hào),單片機(jī)通過(guò)對(duì)接收的紅外信號(hào)進(jìn)行識(shí)別解碼后,執(zhí)行相應(yīng)的指令.
2.6.1 紅外發(fā)射模塊設(shè)計(jì)
PT2262工作原理:PT2262最多可有12位(A0 ~ A11)三態(tài)地址端管腳(懸空、接高電平、接低電平)任意組合可提供531441種地址碼.最多可以有6位(D0 ~ D5)數(shù)據(jù)位,設(shè)定的地址碼和數(shù)據(jù)碼與同步碼組成數(shù)據(jù)幀以串行數(shù)據(jù)方式輸出,通過(guò)無(wú)線傳送后,在解碼芯片的數(shù)據(jù)端取出[4].
發(fā)射電路由PT2262編碼器和紅外發(fā)射元件IRED組成.觸發(fā)電路采用555振蕩電路,連續(xù)間斷性觸發(fā)傳送紅外信號(hào).當(dāng)電路觸發(fā)PT2262上電時(shí),設(shè)定的地址碼和數(shù)據(jù)碼與固定的同步碼組成一組編碼從17腳串行輸出,經(jīng)過(guò)紅外發(fā)射元件IRED將信號(hào)發(fā)出.振蕩電阻Rosc用來(lái)調(diào)節(jié)編碼發(fā)射頻率,適當(dāng)調(diào)高電路工作電源VCC可以增大發(fā)射距離.其中12位編碼可設(shè)置為高電平、低電平、懸空3種狀態(tài),因此可以發(fā)送531 441種編碼組合,可以滿(mǎn)足各種智能控制和低速、少數(shù)據(jù)量、短距離數(shù)據(jù)通信.
2.6.2 紅外接收模塊設(shè)計(jì)
紅外信號(hào)接收裝置采用集紅外線接收、放大、整形于一體的紅外接收器1838,無(wú)需任何外接元件,就能完成從紅外線接收到輸出與TTL 電平信號(hào)兼容的所有工作,故適用于各種紅外線遙控和紅外線數(shù)據(jù)傳輸.接收信號(hào)被送至I/O 端口P3.2后,通過(guò)外部中斷方式進(jìn)行軟件解碼.
系統(tǒng)軟件設(shè)計(jì)采用C語(yǔ)言,在Keil 4軟件環(huán)境下對(duì)單片機(jī)進(jìn)行編程與調(diào)試,以實(shí)現(xiàn)各項(xiàng)檢測(cè)與控制功能.主程序起到一個(gè)導(dǎo)向和決策功能,決定小車(chē)如何行駛.小車(chē)各種功能的實(shí)現(xiàn)主要通過(guò)調(diào)用具體子程序來(lái)實(shí)現(xiàn)的.系統(tǒng)軟件設(shè)計(jì)采用模塊化結(jié)構(gòu),由主程序、各模塊及中斷初始化程序、延時(shí)子程序、電機(jī)驅(qū)動(dòng)子程序、中斷子程序、循跡檢測(cè)子程序、調(diào)速子程序、超聲波測(cè)距子程序、紅外解碼子程序、語(yǔ)音播報(bào)子程序構(gòu)成.其中:超聲波測(cè)距模塊子程序完成對(duì)前方障礙物與小車(chē)之間的距離的檢測(cè),將數(shù)值反饋給主程序,然后程序?qū)嚯x進(jìn)行判斷比較以實(shí)現(xiàn)避障的目的;循跡檢測(cè)模塊子程序完成對(duì)地面軌跡的檢測(cè)任務(wù),以實(shí)現(xiàn)小車(chē)的自動(dòng)循跡功能;遙控中斷服務(wù)子程序完成對(duì)遙控信號(hào)產(chǎn)生的外部中斷進(jìn)行處理,對(duì)不同的遙控信號(hào)產(chǎn)生相應(yīng)的控制信號(hào);語(yǔ)音播報(bào)子程序完成對(duì)語(yǔ)音儲(chǔ)存、調(diào)用與錄放工作.
本智能小車(chē)系統(tǒng)選擇比較常見(jiàn)廉價(jià)的STC89C52單片機(jī)為控制核心,采用C語(yǔ)言在Keil環(huán)境下進(jìn)行編程及仿真工作.系統(tǒng)經(jīng)過(guò)詳細(xì)設(shè)計(jì),代碼編譯仿真等,模擬實(shí)現(xiàn)了一個(gè)集自動(dòng)循跡、避障、報(bào)站等功能于一體的簡(jiǎn)單無(wú)人駕駛公交車(chē)報(bào)站系統(tǒng).通過(guò)程序仿真及各模塊的實(shí)際驗(yàn)證表明,設(shè)計(jì)可以實(shí)現(xiàn)其功能,可以應(yīng)用于現(xiàn)代物流、無(wú)人駕駛汽車(chē)、無(wú)人工廠、服務(wù)機(jī)器人等諸多領(lǐng)域.
[1] 陳靜.STC12C5A08S2單片機(jī)智能小車(chē)控制系統(tǒng)設(shè)計(jì)[J].陰山學(xué)刊,2011,25(4):40-43.
[2] 李全利.單片機(jī)原理與接口技術(shù)[M].北京:高等教育出版社,2009:19-30.
[3] 周淑娟.基于單片機(jī)智能尋跡小車(chē)的設(shè)計(jì)方案[J].工業(yè)技術(shù)與職業(yè)教育,2011,9(2):13-16.
[4] 姬紅旭.基于STC89C52單片機(jī)智能避障小車(chē)設(shè)計(jì)[J].職業(yè)技術(shù),2011(6):141-142.
Design and Implementation of the Intelligent Car Based on MCU
GUO Hai-li
(College of Electronic and Information Engineering, Hengshui University, Hengshui, Hebei 053000, China)
The design of the intelligent car which uses STC89C52 MCU as the core of the controlling system is introduced. The design consists of the motor drive module, ultrasonic ranging module, tracking module, infrared and voice modules, which intends to implement a driverless bus system. The car of this design with C language programming can achieve forward and backward movement, turning, automatic tracking navigation, ultrasonic distance measurement and speed adjusting according to the detected obstacle distance, infrared remote control fixed-point broadcast. It can achieve intelligent control and design goals. The system is a simple circuit structure with low power consumption and high stability. It has some practical value.
intelligent car; ultrasonic; infrared; tracking; MCU
(責(zé)任編校:李建明 英文校對(duì):李玉玲)
10.3969/j.issn.1673-2065.2015.01.009
TP311
A
1673-2065(2015)01-0029-04
2014-09-19
河北省科技計(jì)劃項(xiàng)目(112135111)
郭海麗(1980-),女,河北秦皇島人,衡水學(xué)院電子信息工程學(xué)院講師,工學(xué)碩士.