新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Atmega128的智能教學(xué)無人車控制系統(tǒng)設(shè)計(jì)

基于Atmega128的智能教學(xué)無人車控制系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2014-04-02 來源:網(wǎng)絡(luò) 收藏

摘要:針對市場上大多數(shù)教學(xué)無人車設(shè)計(jì)采用單片機(jī)單一控制導(dǎo)致其功能擴(kuò)展性弱、靈活度低等問題,設(shè)計(jì)了一種基于單片機(jī)和無線通信的智能教學(xué)無人車控制系統(tǒng),該系統(tǒng)包括PC機(jī)控制部分和無人車控制部分,通過PC控制端軟件可以經(jīng)無線通信模塊實(shí)現(xiàn)對無人車的準(zhǔn)確運(yùn)動控制。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)工作穩(wěn)定,無人車在遇到干擾的情況下順利完成貨物運(yùn)輸、環(huán)境勘察、敵我識別、打擊等功能,控制效果理想。

本文引用地址:http://m.butianyuan.cn/article/235826.htm

關(guān)鍵詞:教學(xué)無人車;控制系統(tǒng);無線通信;單片機(jī)

智能教學(xué)無人車是一種履帶式移動機(jī)器人,目前市場上的無人車大多采用單片機(jī)對其進(jìn)行控制,其優(yōu)點(diǎn)是體積小,成本低,結(jié)構(gòu)簡單,但僅僅依靠單片機(jī)遠(yuǎn)不能使無人車在復(fù)雜多變的工作環(huán)境中進(jìn)行及時(shí)調(diào)整,并且極大地限制了其功能的擴(kuò)展?;诖瞬蛔?,本設(shè)計(jì)主要利用PC機(jī)與無人車的無線通信,使無人車在PC機(jī)無線指令下完成前進(jìn)、后退、轉(zhuǎn)彎、打擊、生命值顯示、調(diào)速和自動行駛等功能,并通過車載攝像頭實(shí)時(shí)獲取無人車所處環(huán)境信息,實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控。在執(zhí)行任務(wù)時(shí),如遭遇敵方車輛干擾通信,無人車在抵御干擾信號同時(shí)進(jìn)行敵我識別,適時(shí)作出反擊。

1 設(shè)計(jì)原理

教學(xué)無人車控制系統(tǒng)由上位機(jī)(PC)控制部分和下位機(jī)(教學(xué)無人車)控制部分組成。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

?

?

系統(tǒng)工作原理為:打開教學(xué)無人車電源時(shí),單片機(jī)通過語音模塊使揚(yáng)聲器發(fā)出啟動提示。當(dāng)上位機(jī)無線控制臺及PC端軟件準(zhǔn)備好后,PC端控制軟件通過USB口向無線控制臺單片機(jī)發(fā)出指令,使其配置無線模塊相關(guān)寄存器,芯片進(jìn)入指令發(fā)射模式;下位機(jī)由單片機(jī)控制,在接收到上位機(jī)的指令后通過其集成的PWM外設(shè)模塊產(chǎn)生2路PWM波和4條轉(zhuǎn)向控制線經(jīng)電機(jī)驅(qū)動模塊增大驅(qū)動能力后控制左右2個(gè)電機(jī)產(chǎn)生相應(yīng)的動作。例如,當(dāng)PC端發(fā)出“左轉(zhuǎn)”的指令時(shí),下位機(jī)的無線模塊接受成功后會自動返回接受成功應(yīng)答信號。接著Atmega128單片機(jī)通過PA口控制L298P,使左側(cè)電機(jī)反向轉(zhuǎn)動,右側(cè)電機(jī)正向轉(zhuǎn)動,從而實(shí)現(xiàn)左轉(zhuǎn)的功能;當(dāng)PC端發(fā)出“打擊”指令時(shí),Atmega128則通過PE5口使紅外發(fā)射管發(fā)出相應(yīng)碼制的紅外進(jìn)攻信號;當(dāng)PC端發(fā)出“自動行駛”指令時(shí),Atmega128結(jié)合接收霍爾傳感器采集回來的數(shù)據(jù),通過相應(yīng)算法來協(xié)調(diào)左右兩側(cè)的電機(jī),使坦克完成直線行走、轉(zhuǎn)過固定角度,行駛固定距離等功能。教學(xué)無人車通過連接到PE5口的紅外傳感器感應(yīng)對方無人車的攻擊信號。如果接收到紅外信號,PE5口會輸入固定碼制的信號,此時(shí)主控芯片會將生命參數(shù)減一并熄滅一個(gè)LED燈,當(dāng)所有LED燈都被熄滅后,主控模塊會通知語音芯片發(fā)出陣亡提示,無人車停止一切動作。

2 硬件電路設(shè)計(jì)

教學(xué)無人車控制系統(tǒng)硬件電路設(shè)計(jì)包括PC端無線控制臺部分和下位機(jī)無人車控制部分的硬件設(shè)計(jì)。

2.1 PC端無線控制臺部分硬件設(shè)計(jì)

無線控制臺部分由PC機(jī)、STC12LE5A60S2單片機(jī)、NRF24L01無線模塊及PL2303組成。PC端控制臺軟件通過USB口向STC12LE5A60S2發(fā)出指令,使其通過SPI串行通信協(xié)議配置NRF24L01的相關(guān)寄存器,隨后芯片進(jìn)入發(fā)射模式,將上位機(jī)指令轉(zhuǎn)發(fā)給下位機(jī)。其設(shè)計(jì)電路圖如圖2所示。

?

?

2.2 下位機(jī)無人車控制部分硬件設(shè)計(jì)

下位機(jī)硬件由MCU模塊、電機(jī)驅(qū)動模塊、傳感器模塊、無線模塊、語音模塊、LED生命值顯示模塊以及電源模塊組成。

2.2.1 MCU模塊

MCU模塊以Atmega128單片機(jī)為核心,Atmega128單片機(jī)是一款高性能、低功耗的 8位微處理器,處理速度可達(dá)1 MIPS/MHz,應(yīng)用先進(jìn)的RISC結(jié)構(gòu),特別是具有I2C、SPI、PWM、RS232串口、ADC、定時(shí)器等功能十分全面的外設(shè)。該單片機(jī)通過SPI串行通訊接口與無線模塊連接,通過通用可編程I/O接口與電機(jī)驅(qū)動模塊、語音模塊、紅外發(fā)射管和接收管連接。

2.2.2 電機(jī)驅(qū)動模塊

電機(jī)驅(qū)動模塊用于驅(qū)動直流電機(jī),采用L298P電機(jī)驅(qū)動芯片。L298P是SGS公司的產(chǎn)品,為20管腳的專用電機(jī)驅(qū)動芯片,內(nèi)含二個(gè)H—Bridge的高電壓、大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯準(zhǔn)位信號,可驅(qū)動46 V、2 A以下的步進(jìn)電機(jī)和直流電機(jī),具有高電壓、高電流的特點(diǎn)。電路設(shè)計(jì)如圖3所示。

?

?

Enable控制電機(jī)停轉(zhuǎn),接到單片機(jī)的PE3、PFA口上,由這兩個(gè)I/O口產(chǎn)生PWM波控制電機(jī)轉(zhuǎn)動。input1—input4控制電機(jī)的正反轉(zhuǎn),接到單片機(jī)的PA0-PA3口上。OUT1、OUT2和OUT3、OUT4之間分別接2個(gè)直流電機(jī)。

2.2.3 傳感器模塊

傳感器模塊包括紅外模塊和霍爾模塊兩部分。

紅外模塊包含接收和發(fā)射兩個(gè)功能模塊。紅外接收模塊由一個(gè)紅外接收管構(gòu)成,接收對方車輛發(fā)射的紅外攻擊信號。當(dāng)系統(tǒng)接收到進(jìn)攻信號時(shí),PE6引腳上會出現(xiàn)一個(gè)高電平,觸發(fā)一次外部中斷,在中斷服務(wù)程序中處理并判斷紅外數(shù)據(jù)。如果確認(rèn)為進(jìn)攻信號,則使生命值變量減一,同時(shí)熄滅一個(gè)LED燈。發(fā)射模塊由一只紅外發(fā)射管和一個(gè)三極管組成,紅外攻擊信號經(jīng)過三極管放大后由紅外發(fā)射管發(fā)出。攻擊信號為8位數(shù)據(jù),當(dāng)收到進(jìn)攻指令時(shí),發(fā)射模塊將程序中設(shè)定好的8位數(shù)據(jù)按位發(fā)出。

霍爾模塊由兩只霍爾傳感器和四片磁鐵組成,用于測速,以實(shí)現(xiàn)調(diào)速、自動行駛等功能。磁鐵正反安放在左右兩個(gè)電機(jī)減速箱的二級齒輪的邊緣上。當(dāng)教學(xué)無人車行駛時(shí),電機(jī)帶動齒輪轉(zhuǎn)動,兩片磁鐵就會交替從霍爾元件下面經(jīng)過,由于兩片的磁場方向不同,就會使霍爾元件內(nèi)部的電子發(fā)生不同的偏轉(zhuǎn),這樣,二級齒輪每轉(zhuǎn)過一周就會使霍爾元件產(chǎn)生一個(gè)脈沖信號,構(gòu)成閉環(huán)系統(tǒng)。主控芯片接收脈沖信息,通過不同算法可控制兩電機(jī)完成不同的控制要求。

2.2.4 語音模塊

語音模塊由WT588D語音芯片和SPI尋址的8M ROM芯片及其外圍電路組成。使用前將需要播放的語音燒寫在ROM芯片中。語音模塊使用三線串口控制模式,這種控制模式由CS,DATA,CLK 3條通信線組成,分別連接到Atmega128的PC0、PC1、PC2 3個(gè)I/O口。控制時(shí)序根據(jù)標(biāo)準(zhǔn)SPI通信方式。

2.2.5 無線模塊

無線模塊主要包括NRF24L01和Atmega128。NRF24L01采用FSK調(diào)制,內(nèi)部集成NORDIC公司自家的Enhanced Short Burst協(xié)議,可實(shí)現(xiàn)點(diǎn)對點(diǎn)或是1對6的無線通信,無線通信速度可達(dá)2.4 Gbps,并可以通過配置其寄存器實(shí)現(xiàn)調(diào)頻傳輸。主控芯片通過SPI協(xié)議配置NRF24L01的相關(guān)寄存器來完成對無線模塊的初始化和數(shù)據(jù)的傳輸。無線模塊的SPI信號線對應(yīng)的接到Atmega128的PB0-PB3 4個(gè)I/O口上,CE端接到PE2,利用Atmega128內(nèi)部集成的SPI功能進(jìn)行通信。無線模塊電路設(shè)計(jì)如圖4所示。

?

?

3 軟件設(shè)計(jì)

軟件設(shè)計(jì)包括控制端軟件的設(shè)計(jì)和終端軟件的設(shè)計(jì)。

3.1 控制端軟件設(shè)計(jì)

無人車控制臺的主控軟件將鍵盤指令轉(zhuǎn)化為控制碼發(fā)往下位機(jī),控制小車的動作并顯示下位機(jī)發(fā)來的狀態(tài)信息???。該軟件利用Labview串口通訊將鍵盤指令轉(zhuǎn)化為二進(jìn)制字符串送到上位機(jī)。利用模擬SPI的方式,通過STC12LESA60S2配置NRF24L01的寄存器使其處于發(fā)射模式。當(dāng)收到PC串口發(fā)送的數(shù)據(jù)時(shí),NRF24L01在單片機(jī)的控制下將數(shù)據(jù)逐位發(fā)出。設(shè)計(jì)的控制端軟件如圖5所示。

?

?

3.2 終端軟件設(shè)計(jì)

教學(xué)無人車的終端軟件主要包括無線接收程序、驅(qū)動控制程序等。程序中定義變量Life為生命值標(biāo)識,定義Date為小車的控制標(biāo)識,定義函數(shù)Motor()為電機(jī)控制函數(shù)。流程圖如圖6所示,主要分為以下步驟:

?


1)小車啟動后,首先初始化各I/O口、系統(tǒng)中斷、SPI接口以及NRF24L01的相關(guān)寄存器。小車的無線模塊配置為接收模式。

2)下位機(jī)接收到無線信號后會產(chǎn)生一個(gè)中斷,將數(shù)據(jù)通過SPI送到Atmega128中。在控制程序中,用多分支選擇結(jié)構(gòu)switch—case判斷Date的值,通過調(diào)用Motor()函數(shù)控制電機(jī)做出相應(yīng)動作。

3)接收到紅外信號時(shí),經(jīng)判斷若為有效信號,則使生命值標(biāo)識Life減一。同時(shí)判斷當(dāng)前的Life值,設(shè)置PA口的值控制LED燈(生命值)的顯示。

4 結(jié)束語

文中進(jìn)行了一種基于Atmega128單片機(jī)和無線通信的無人車控制系統(tǒng)設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,教學(xué)無人車在無障礙區(qū)域無線通信有效傳輸距離可達(dá)80~100米,利用車載攝像頭可以實(shí)時(shí)獲取無人車所處環(huán)境信息,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。其創(chuàng)新點(diǎn)是采用了PC控制模式和單兵運(yùn)行模式兩種方式對無人車進(jìn)行控制,極大地增強(qiáng)了無人車的功能性和環(huán)境適應(yīng)能力。在實(shí)際對抗演練中,無人車在遇到干擾的情況下順利完成貨物運(yùn)輸、環(huán)境勘探、反擊敵方車輛等功能,取得了良好的控制效果。該設(shè)計(jì)可廣泛應(yīng)用于短途貨運(yùn)客運(yùn)、應(yīng)急救援、惡劣環(huán)境下自動作業(yè)等領(lǐng)域。

手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)


霍爾傳感器相關(guān)文章:霍爾傳感器工作原理


霍爾傳感器相關(guān)文章:霍爾傳感器原理


關(guān)鍵詞: AVR Atmega128

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉