基于AVR的智能教學(xué)無(wú)人車控制系統(tǒng)設(shè)計(jì)
2.2.3傳感器模塊
本文引用地址:http://cafeforensic.com/article/267091.htm傳感器模塊包括紅外模塊和霍爾模塊兩部分。
紅外模塊包含接收和發(fā)射兩個(gè)功能模塊。紅外接收模塊由一個(gè)紅外接收管構(gòu)成,接收對(duì)方車輛發(fā)射的紅外攻擊信號(hào)。當(dāng)系統(tǒng)接收到進(jìn)攻信號(hào)時(shí),PE6引腳上會(huì)出現(xiàn)一個(gè)高電平,觸發(fā)一次外部中斷,在中斷服務(wù)程序中處理并判斷紅外數(shù)據(jù)。如果確認(rèn)為進(jìn)攻信號(hào),則使生命值變量減一,同時(shí)熄滅一個(gè)LED燈。發(fā)射模塊由一只紅外發(fā)射管和一個(gè)三極管組成,紅外攻擊信號(hào)經(jīng)過(guò)三極管放大后由紅外發(fā)射管發(fā)出。攻擊信號(hào)為8位數(shù)據(jù),當(dāng)收到進(jìn)攻指令時(shí),發(fā)射模塊將程序中設(shè)定好的8位數(shù)據(jù)按位發(fā)出。
霍爾模塊由兩只霍爾傳感器和四片磁鐵組成,用于測(cè)速,以實(shí)現(xiàn)調(diào)速、自動(dòng)行駛等功能。磁鐵正反安放在左右兩個(gè)電機(jī)減速箱的二級(jí)齒輪的邊緣上。當(dāng)教學(xué)無(wú)人車行駛時(shí),電機(jī)帶動(dòng)齒輪轉(zhuǎn)動(dòng),兩片磁鐵就會(huì)交替從霍爾元件下面經(jīng)過(guò),由于兩片的磁場(chǎng)方向不同,就會(huì)使霍爾元件內(nèi)部的電子發(fā)生不同的偏轉(zhuǎn),這樣,二級(jí)齒輪每轉(zhuǎn)過(guò)一周就會(huì)使霍爾元件產(chǎn)生一個(gè)脈沖信號(hào),構(gòu)成閉環(huán)系統(tǒng)。主控芯片接收脈沖信息,通過(guò)不同算法可控制兩電機(jī)完成不同的控制要求。
2.2.4語(yǔ)音模塊
語(yǔ)音模塊由WT588D語(yǔ)音芯片和SPI尋址的8M ROM芯片及其外圍電路組成。使用前將需要播放的語(yǔ)音燒寫(xiě)在ROM芯片中。語(yǔ)音模塊使用三線串口控制模式,這種控制模式由CS,DATA,CLK 3條通信線組成,分別連接到Atmega128的PC0、PC1、PC2 3個(gè)I/O口??刂茣r(shí)序根據(jù)標(biāo)準(zhǔn)SPI通信方式。
2.2.5無(wú)線模塊
無(wú)線模塊主要包括NRF24L01和Atmega128.NRF24L01采用FSK調(diào)制,內(nèi)部集成NORDIC公司自家的Enhanced Short Burst協(xié)議,可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或是1對(duì)6的無(wú)線通信,無(wú)線通信速度可達(dá)2.4 Gbps,并可以通過(guò)配置其寄存器實(shí)現(xiàn)調(diào)頻傳輸。主控芯片通過(guò)SPI協(xié)議配置NRF24L01的相關(guān)寄存器來(lái)完成對(duì)無(wú)線模塊的初始化和數(shù)據(jù)的傳輸。無(wú)線模塊的SPI信號(hào)線對(duì)應(yīng)的接到Atmega128的PB0-PB3 4個(gè)I/O口上,CE端接到PE2,利用Atmega128內(nèi)部集成的SPI功能進(jìn)行通信。無(wú)線模塊電路設(shè)計(jì)如圖4所示。
3軟件設(shè)計(jì)
軟件設(shè)計(jì)包括控制端軟件的設(shè)計(jì)和終端軟件的設(shè)計(jì)。
3.1控制端軟件設(shè)計(jì)
無(wú)人車控制臺(tái)的主控軟件將鍵盤(pán)指令轉(zhuǎn)化為控制碼發(fā)往下位機(jī),控制小車的動(dòng)作并顯示下位機(jī)發(fā)來(lái)的狀態(tài)信息。該軟件利用Labview串口通訊將鍵盤(pán)指令轉(zhuǎn)化為二進(jìn)制字符串送到上位機(jī)。利用模擬SPI的方式,通過(guò)STC12LESA60S2配置NRF24L01的寄存器使其處于發(fā)射模式。當(dāng)收到PC串口發(fā)送的數(shù)據(jù)時(shí),NRF24L01在單片機(jī)的控制下將數(shù)據(jù)逐位發(fā)出。設(shè)計(jì)的控制端軟件如圖5所示。
3.2終端軟件設(shè)計(jì)
教學(xué)無(wú)人車的終端軟件主要包括無(wú)線接收程序、驅(qū)動(dòng)控制程序等。程序中定義變量Life為生命值標(biāo)識(shí),定義Date為小車的控制標(biāo)識(shí),定義函數(shù)Motor()為電機(jī)控制函數(shù)。流程圖如圖6所示,主要分為以下步驟:
1)小車啟動(dòng)后,首先初始化各I/O口、系統(tǒng)中斷、SPI接口以及NRF24L01的相關(guān)寄存器。小車的無(wú)線模塊配置為接收模式。
2)下位機(jī)接收到無(wú)線信號(hào)后會(huì)產(chǎn)生一個(gè)中斷,將數(shù)據(jù)通過(guò)SPI送到Atmega128中。在控制程序中,用多分支選擇結(jié)構(gòu)switch—case判斷Date的值,通過(guò)調(diào)用Motor()函數(shù)控制電機(jī)做出相應(yīng)動(dòng)作。
3)接收到紅外信號(hào)時(shí),經(jīng)判斷若為有效信號(hào),則使生命值標(biāo)識(shí)Life減一。同時(shí)判斷當(dāng)前的Life值,設(shè)置PA口的值控制LED燈(生命值)的顯示。
4結(jié)束語(yǔ)
文中進(jìn)行了一種基于Atmega128單片機(jī)和無(wú)線通信的無(wú)人車控制系統(tǒng)設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,教學(xué)無(wú)人車在無(wú)障礙區(qū)域無(wú)線通信有效傳輸距離可達(dá)80~100米,利用車載攝像頭可以實(shí)時(shí)獲取無(wú)人車所處環(huán)境信息,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。其創(chuàng)新點(diǎn)是采用了PC控制模式和單兵運(yùn)行模式兩種方式對(duì)無(wú)人車進(jìn)行控制,極大地增強(qiáng)了無(wú)人車的功能性和環(huán)境適應(yīng)能力。在實(shí)際對(duì)抗演練中,無(wú)人車在遇到干擾的情況下順利完成貨物運(yùn)輸、環(huán)境勘探、反擊敵方車輛等功能,取得了良好的控制效果。該設(shè)計(jì)可廣泛應(yīng)用于短途貨運(yùn)客運(yùn)、應(yīng)急救援、惡劣環(huán)境下自動(dòng)作業(yè)等領(lǐng)域。
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評(píng)論