采用PC控制和單兵運行的無人車控制系統(tǒng)設計方案
該方案基于Atmega128單片機和無線通信技術設計,其創(chuàng)新點是采用了PC控制模式和單兵運行模式兩種方式對無人車進行控制,極大地增強了無人車的功能性和環(huán)境適應能力。該方案可廣泛應用于短途貨運客運、應急救援、惡劣環(huán)境下自動作業(yè)等領域。
智能無人車是一種履帶式移動機器人,目前市場上的無人車大多采用單片機對其進行控制,其優(yōu)點是體積小,成本低,結構簡單,但僅僅依靠單片機遠不能使無人車在復雜多變的工作環(huán)境中進行及時調整,并且極大地限制了其功能的擴展?;诖瞬蛔?,本設計主要利用PC機與無人車的無線通信,使無人車在PC機無線指令下完成前進、后退、轉彎、打擊、生命值顯示、調速和自動行駛等功能,并通過車載攝像頭實時獲取無人車所處環(huán)境信息,實現了遠程監(jiān)控。在執(zhí)行任務時,如遭遇敵方車輛干擾通信,無人車在抵御干擾信號同時進行敵我識別,適時作出反擊。
一、智能無人車方案設計原理
無人車控制系統(tǒng)由上位機(PC)控制部分和下位機(教學無人車)控制部分組成。系統(tǒng)結構框圖如圖1所示。
圖1 系統(tǒng)結構框圖
無人車系統(tǒng)工作原理為:
打開教學無人車電源時,Atmega128單片機通過語音模塊使揚聲器發(fā)出啟動提示。當上位機無線控制臺及PC端軟件準備好后,PC端控制軟件通過USB口向無線控制臺單片機發(fā)出指令,使其配置無線模塊相關寄存器,芯片進入指令發(fā)射模式;下位機由Atmega128單片機控制,在接收到上位機的指令后通過其集成的PWM外設模塊產生2路PWM波和4條轉向控制線經電機驅動模塊增大驅動能力后控制左右2個電機產生相應的動作。例如,當PC端發(fā)出“左轉”的指令時,下位機的無線模塊接受成功后會自動返回接受成功應答信號。接著Atmega128單片機通過PA口控制L298P,使左側電機反向轉動,右側電機正向轉動,從而實現左轉的功能;當PC端發(fā)出“打擊”指令時,Atmega128則通過PE5口使紅外發(fā)射管發(fā)出相應碼制的紅外進攻信號;當PC端發(fā)出“自動行駛”指令時,Atmega128結合接收霍爾傳感器采集回來的數據,通過相應算法來協(xié)調左右兩側的電機,使坦克完成直線行走、轉過固定角度,行駛固定距離等功能。教學無人車通過連接到PE5口的紅外傳感器感應對方無人車的攻擊信號。如果接收到紅外信號,PE5口會輸入固定碼制的信號,此時主控芯片會將生命參數減一并熄滅一個LED燈,當所有LED燈都被熄滅后,主控模塊會通知語音芯片發(fā)出陣亡提示,無人車停止一切動作。
二、硬件電路設計
教學無人車控制系統(tǒng)硬件電路設計包括PC端無線控制臺部分和下位機無人車控制部分的硬件設計。
1、PC端無線控制臺部分硬件設計
無線控制臺部分由PC機、STC12LE5A60S2單片機、NRF24L01無線模塊及PL2303組成。PC端控制臺軟件通過USB口向STC12LE5A60S2發(fā)出指令,使其通過SPI串行通信協(xié)議配置NRF24L01的相關寄存器,隨后芯片進入發(fā)射模式,將上位機指令轉發(fā)給下位機。其設計電路圖如圖2所示。
圖2 設計電路圖
2、下位機無人車控制部分硬件設計
下位機硬件由MCU模塊、電機驅動模塊、傳感器模塊、無線模塊、語音模塊、LED生命值顯示模塊以及電源模塊組成。
MCU模塊
MCU模塊以Atmega128單片機為核心,Atmega128單片機是一款高性能、低功耗的AVR 8位微處理器,處理速度可達1 MIPS/MHz,應用先進的RISC結構,特別是具有I2C、SPI、PWM、RS232串口、ADC、定時器等功能十分全面的外設。該單片機通過SPI串行通訊接口與無線模塊連接,通過通用可編程I/O接口與電機驅動模塊、語音模塊、紅外發(fā)射管和接收管連接。
電機驅動模塊
電機驅動模塊用于驅動直流電機,采用L298P電機驅動芯片。L298P是SGS公司的產品,為20管腳的專用電機驅動芯片,內含二個H—Bridge的高電壓、大電流雙全橋式驅動器,接收標準TTL邏輯準位信號,可驅動46 V、2 A以下的步進電機和直流電機,具有高電壓、高電流的特點。電路設計如圖3所示。
圖3 電機驅動模塊電路設計
Enable控制電機停轉,接到單片機的PE3、PFA口上,由這兩個I/O口產生PWM波控制電機轉動。input1—input4控制電機的正反轉,接到單片機的PA0-PA3口上。OUT1、OUT2和OUT3、OUT4之間分別接2個直流電機。
傳感器模塊
傳感器模塊包括紅外模塊和霍爾模塊兩部分。
紅外模塊包含接收和發(fā)射兩個功能模塊。紅外接收模塊由一個紅外接收管構成,接收對方車輛發(fā)射的紅外攻擊信號。當系統(tǒng)接收到進攻信號時,PE6引腳上會出現一個高電平,觸發(fā)一次外部中斷,在中斷服務程序中處理并判斷紅外數據。如果確認為進攻信號,則使生命值變量減一,同時熄滅一個LED燈。發(fā)射模塊由一只紅外發(fā)射管和一個三極管組成,紅外攻擊信號經過三極管放大后由紅外發(fā)射管發(fā)出。攻擊信號為8位數據,當收到進攻指令時,發(fā)射模塊將程序中設定好的8位數據按位發(fā)出。
霍爾模塊由兩只霍爾傳感器和四片磁鐵組成,用于測速,以實現調速、自動行駛等功能。磁鐵正反安放在左右兩個電機減速箱的二級齒輪的邊緣上。當教學無人車行駛時,電機帶動齒輪轉動,兩片磁鐵就會交替從霍爾元件下面經過,由于兩片的磁場方向不同,就會使霍爾元件內部的電子發(fā)生不同的偏轉,這樣,二級齒輪每轉過一周就會使霍爾元件產生一個脈沖信號,構成閉環(huán)系統(tǒng)。主控芯片接收脈沖信息,通過不同算法可控制兩電機完成不同的控制要求。
語音模塊
語音模塊由WT588D語音芯片和SPI尋址的8M ROM芯片及其外圍電路組成。使用前將需要播放的語音燒寫在ROM芯片中。語音模塊使用三線串口控制模式,這種控制模式由CS,DATA,CLK 3條通信線組成,分別連接到Atmega128的PC0、PC1、PC2 3個I/O口??刂茣r序根據標準SPI通信方式。
無線模塊
無線模塊主要包括NRF24L01和Atmega128.NRF24L01采用FSK調制,內部集成NORDIC公司自家的Enhanced Short Burst協(xié)議,可實現點對點或是1對6的無線通信,無線通信速度可達2.4 Gbps,并可以通過配置其寄存器實現調頻傳輸。主控芯片通過SPI協(xié)議配置NRF24L01的相關寄存器來完成對無線模塊的初始化和數據的傳輸。無線模塊的SPI信號線對應的接到Atmega128的PB0-PB3 4個I/O口上,CE端接到PE2,利用Atmega128內部集成的SPI功能進行通信。無線模塊電路設計如圖4所示。
圖4 無線模塊電路設計
三、軟件設計
軟件設計包括控制端軟件的設計和終端軟件的設計。
1、控制端軟件設計
無人車控制臺的主控軟件將鍵盤指令轉化為控制碼發(fā)往下位機,控制小車的動作并顯示下位機發(fā)來的狀態(tài)信息。該軟件利用Labview串口通訊將鍵盤指令轉化為二進制字符串送到上位機。利用模擬SPI的方式,通過STC12LESA60S2配置NRF24L01的寄存器使其處于發(fā)射模式。當收到PC串口發(fā)送的數據時,NRF24L01在單片機的控制下將數據逐位發(fā)出。設計的控制端軟件如圖5所示。
圖5 控制端軟件
2、終端軟件設計
教學無人車的終端軟件主要包括無線接收程序、驅動控制程序等。程序中定義變量Life為生命值標識,定義Date為小車的控制標識,定義函數Motor()為電機控制函數。流程圖如圖6所示,主要分為以下步驟:
圖6 流程圖
1)小車啟動后,首先初始化各I/O口、系統(tǒng)中斷、SPI接口以及NRF24L01的相關寄存器。小車的無線模塊配置為接收模式。
2)下位機接收到無線信號后會產生一個中斷,將數據通過SPI送到Atmega128中。在控制程序中,用多分支選擇結構switch—case判斷Date的值,通過調用Motor()函數控制電機做出相應動作。
3)接收到紅外信號時,經判斷若為有效信號,則使生命值標識Life減一。同時判斷當前的Life值,設置PA口的值控制LED燈(生命值)的顯示。
四、總結
實驗結果表明,教學無人車在無障礙區(qū)域無線通信有效傳輸距離可達80~100米,利用車載攝像頭可以實時獲取無人車所處環(huán)境信息,實現遠程監(jiān)控。其創(chuàng)新點是采用了PC控制模式和單兵運行模式兩種方式對無人車進行控制,極大地增強了無人車的功能性和環(huán)境適應能力。在實際對抗演練中,無人車在遇到干擾的情況下順利完成貨物運輸、環(huán)境勘探、反擊敵方車輛等功能,取得了良好的控制效果。該設計可廣泛應用于短途貨運客運、應急救援、惡劣環(huán)境下自動作業(yè)等領域。
評論