屈寶鵬 張喜鳳 卜文銳
摘 要: 隨著智能控制技術(shù)的發(fā)展,各種智能車不斷涌現(xiàn),在軍警特種用途、工業(yè)生產(chǎn)和日常生活等領(lǐng)域獲得了日益廣泛的應(yīng)用。首先回顧了Arduino平臺的特性,然后設(shè)計了一種以ATMEGA328單片機(jī)為核心的微控制器,采用四輪獨立驅(qū)動的車體,設(shè)計并使用安卓手機(jī)端的監(jiān)控軟件,通過WiFi信號進(jìn)行視頻監(jiān)控和遠(yuǎn)程遙控的智能車。設(shè)計的視頻監(jiān)控智能車經(jīng)硬件驗證,具備了自動避障、視頻監(jiān)控、無線遙控操作等實用功能。
關(guān)鍵詞: 智能車; Arduino; 視頻監(jiān)控; ATMEGA328
中圖分類號: TN609?34; TM910.6 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)19?0160?03
Abstract: With the development of intelligent control technology, intelligent car has been appeared constantly, and widely used in special purpose of military and police, industrial production, daily life and other fields. The characteristics of the Arduino platform is reviewed. An intelligent car was designed, which is taken ATMEGA328 microcontroller as the core microcontroller, used the car body with four?wheel independent drive, adopted the surveillance software of mobile phone with Android, and conducted with video surveillance and remote control by WiFi signal. The designed intelligent car of video surveillance was verified by hardware, and has the utility functions of automatic obstacle avoidance, video surveillance, and wireless remote control operation.
Keywords: intelligent car; Arduino; video surveillance; ATMEGA328
0 引 言
智能車是當(dāng)今智能機(jī)器人研究領(lǐng)域的一個重要分支,它體現(xiàn)了車輛工程、人工智能、自動控制、計算機(jī)等多個學(xué)科領(lǐng)域的交叉和綜合,在軍警無人偵察、消防救災(zāi)探測、管道維修施工等領(lǐng)域獲得了日益廣泛的應(yīng)用[1?4]。本文設(shè)計的視頻監(jiān)控智能車,是基于ATMEGA328單片機(jī)設(shè)計的,具備自動避障、視頻監(jiān)控、無線遙控操作等功能。
本文首先回顧了Arduino平臺和ATMEGA328單片機(jī)的特性,然后設(shè)計了一種以ATMEGA328單片機(jī)為核心微控制器,具有四輪獨立驅(qū)動車體的視頻監(jiān)控智能車。
1 Arduino平臺
Arduino平臺由Arduino硬件開發(fā)板和Arduino IDE集成軟件開發(fā)環(huán)境兩部分組成。Arduino開發(fā)板是以Atmel微處理器為核心微控制器的硬件系統(tǒng)電路板。軟件程序(sketch)可以在IDE下編輯和編譯,通過USB接口可以上傳到Arduino板,實現(xiàn)對硬件板的編程,硬件會自動執(zhí)行寫入的軟件[5?7]。
Arduino板是一個以AVR單片機(jī)為核心的開源硬件平臺,其軟硬件都是開源的,包括Arduino平臺的電路原理圖、PCB圖等硬件信息,同時還有內(nèi)部自帶的軟件庫,非常適合二次開發(fā)。Arduino的主要功能特點如下:
(1) 軟硬件開源,開發(fā)接口可以免費獲得,并根據(jù)需要自行修改;
(2) 使用低價格微處理器(單片機(jī)),如ATMEGA8和ATMEGA128等,可以用USB 供電,也可以外接直流電源;
(3) 自帶Bootloader程序,也支持ISP線上燒入,將固件燒入芯片。Bootloader程序是系統(tǒng)上電后運行的代碼,它對Arduino就像BIOS對于PC機(jī)一樣;
(4) 擴(kuò)展性強(qiáng),Arduino提供了豐富的接口,包括 USB,I2C,SPI等,可插入傳感器裝置、無線通信裝置,插入的感應(yīng)裝置可以獲得外界的光、溫度、濕度、距離等信息,無線通信裝置可方便地與其他設(shè)備進(jìn)行無線通信;
(5) Arduino的缺點在于它缺乏人機(jī)界面,雖然可以通過外接藍(lán)牙、WiFi 等連接無線網(wǎng)絡(luò),但用戶無法方便地操作,需要借助其他平臺進(jìn)行控制和處理。
Arduino平臺有自己的一套集成開發(fā)環(huán)境(Arduino IDE),是與硬件平臺相匹配的集成軟件開發(fā)環(huán)境?;贓clipse,它是由Java,Processing,avr?gcc等軟件寫成,它有跨平臺的兼容性,可以通過它對 Arduino板進(jìn)行編程,編程語言采用 C++,被 IDE 傳遞給avr?gcc編譯器轉(zhuǎn)換成機(jī)器碼得以執(zhí)行。Arduino 官方自帶的內(nèi)容包括語言、函數(shù)、庫等,它把 AVR 單片機(jī)相關(guān)的設(shè)置都參數(shù)化了,開發(fā)者不必了解其底層的編寫就可以借此開發(fā)項目。用戶可以通過 IDE 用 C++編寫自己的程序(sketch),編譯通過后下載到開發(fā)板上由開發(fā)板執(zhí)行。
開發(fā)界面非常簡單,如圖1所示,Arduino IDE提供了串行監(jiān)視功能,點擊右上角功能鍵即可即時觀測到板子與電腦的通信數(shù)據(jù)。下方的黑色窗口,顯示程序狀態(tài)和錯誤信息。官方提供了很多模塊化的庫,在設(shè)計之前只需要將其導(dǎo)入即可,另外還支持第三方庫,導(dǎo)入后即可在編程中使用。endprint
2 ATMEGA328單片機(jī)
ATMEGA328是一款基于AVR先進(jìn)RISC架構(gòu)的8?bit CMOS低功耗微型處理器,共有131條指令,一個時鐘周期執(zhí)行一條指令,一條指令可以同時訪問兩個寄存器,32個8位工作寄存器直接連接到ALU上。該處理器執(zhí)行代碼效率非常高,是CISC架構(gòu)微處理器的10倍。除此之外,芯片還提供非易失性存儲器:32 KB FLASH, 1 KB E2PROM 和 2 KB SRAM。芯片有32條GPIO線,3個靈活的計數(shù)器,提供內(nèi)/外部終端機(jī)制,一個串行可編程UART接口、兩線I2C串行接口以及SPI串行接口等。
3 視頻監(jiān)控智能車的硬件系統(tǒng)設(shè)計
本文設(shè)計的視頻監(jiān)控智能車系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
各部分的主要功能如下:
電源部分:由鋰電池組、電壓監(jiān)控、線性直流穩(wěn)壓電源組成。為了給智能車的四輪驅(qū)動電機(jī)提供足夠的驅(qū)動電流,并保證必要的續(xù)航里程,智能車采用3節(jié)18650規(guī)格的鋰電池串聯(lián)構(gòu)成電池組,電池組輸出電壓范圍為10.8~12.6 V。鋰電池組的電能提供給線性直流穩(wěn)壓電源,轉(zhuǎn)換為穩(wěn)定的5 V電源電壓,為智能車系統(tǒng)各部分提供電源。在鋰電池組上安裝了數(shù)字電壓表,通過監(jiān)控鋰電池組的電壓來估算剩余電量,以便適時充電,防止鋰電池組過度放電。
車體部分:為了更加靈活高效地控制車體,采用了四輪驅(qū)動的車體結(jié)構(gòu)。每個車輪都由單獨的電機(jī)驅(qū)動,這樣的設(shè)計一方面提高了車體的動力性能,另一方面使智能車具備了原地轉(zhuǎn)向能力,行駛軌跡的控制更加靈活。
主控部分:智能車采用配備了ATMEGA328單片機(jī)的Arduino開發(fā)板作為主控板。主控部分的主要功能包括接收自動避障模塊的信號,防止智能車誤撞障礙物;與WiFi模塊通信,處理遙控信號,實現(xiàn)智能車的遠(yuǎn)程控制。自動避障模塊使用超聲波距離傳感器,當(dāng)智能車前方出現(xiàn)無法跨越的障礙時,自動避障模塊會觸發(fā)主控板的自動避障功能,主控板會命令智能車的四輪驅(qū)動電機(jī)立即反轉(zhuǎn)0.5 s,抵消智能車的前進(jìn)速度,向后倒車離開障礙物。
遙控部分:為了保證遠(yuǎn)程視頻監(jiān)控所需要的視頻信號傳輸帶寬,智能車使用WiFi模塊作為視頻監(jiān)控和遠(yuǎn)程遙控的通信硬件。視頻監(jiān)控功能首先由車載攝像頭將智能車正前方的影像拍攝下來,然后通過WiFi模塊傳輸給安卓智能手機(jī)端,在手機(jī)屏幕上顯示攝像頭拍攝的畫面。遠(yuǎn)程遙控功能則是把來自安卓智能手機(jī)端的控制信號通過WiFi模塊傳輸給主控板,進(jìn)而控制智能車的行駛。為了擴(kuò)大視頻監(jiān)控和遠(yuǎn)程遙控的距離,本文設(shè)計的智能車為WiFi模塊安裝了12 dB高增益天線,使得智能車與手機(jī)端之間在無障礙情況下的視頻穩(wěn)定傳輸和遙控距離達(dá)到了25 m以上。完整的智能車硬件部分如圖3所示。
手機(jī)控制部分:為了實現(xiàn)安卓智能手機(jī)端對智能車的視頻監(jiān)控和遠(yuǎn)程遙控,本文設(shè)計的智能車使用了專門設(shè)計的安卓手機(jī)APP軟件。
4 手機(jī)端的控制軟件
安卓是目前國內(nèi)使用最為廣泛的智能手機(jī)操作系統(tǒng)之一,所以本文設(shè)計的智能車使用了安卓智能手機(jī)作為遠(yuǎn)程控制端。安卓是基于Linux內(nèi)核并開放源代碼的操作系統(tǒng),專為移動設(shè)備設(shè)計的軟件平臺,由Google從其開發(fā)者購買,在2007年推出,后來由開放手機(jī)聯(lián)盟支持,從此安卓系統(tǒng)開始快速發(fā)展,成為手機(jī)和平板系統(tǒng)市場的主要占領(lǐng)者。它包括操作系統(tǒng)、中間件和關(guān)鍵應(yīng)用程序,是真正意義上的開放移動設(shè)備平臺,第三方開發(fā)者可以用Java語言自行開發(fā)應(yīng)用軟件在安卓系統(tǒng)上使用。本文設(shè)計的安卓智能手機(jī)端控制軟件使用Java語言在安卓開發(fā)環(huán)境下編寫完成后,打包成一個.apk文件,安裝到安卓智能手機(jī)上,手機(jī)端的控制界面如圖4所示,手機(jī)屏幕上全屏顯示的就是智能車上安裝的攝像頭拍攝到的畫面。
5 結(jié) 語
本文設(shè)計的視頻監(jiān)控智能車經(jīng)硬件驗證,具備自動避障、視頻監(jiān)控、無線遙控操作等實用功能。智能車的設(shè)計初衷在于將其應(yīng)用于危險場合或者人員難以到達(dá)的位置進(jìn)行遠(yuǎn)程視頻監(jiān)控,有望在進(jìn)一步強(qiáng)化結(jié)構(gòu)和提高穩(wěn)定性以后推廣應(yīng)用。目前該智能車有待進(jìn)一步探討的問題在于:其一,車載攝像頭僅支持可見光環(huán)境下的拍攝,對于微光或者暗夜環(huán)境下的使用,需要更換微光攝像頭或者加裝照明光源;其二,為了擴(kuò)展通信距離使用的12 dB高增益天線導(dǎo)致智能車的高度較大,不利于通過狹窄的通道;其三,智能車的車體本身越障能力有限,缺乏復(fù)雜地形的實際應(yīng)用,系統(tǒng)穩(wěn)定性和實用性有待進(jìn)一步提高。
參考文獻(xiàn)
[1] 朱洪波,楊龍祥,于全.物聯(lián)網(wǎng)的技術(shù)思想與應(yīng)用策略研究[J].通信學(xué)報,2010,31(11):2?9.
[2] DHAWAN S. Analogy of promising wireless technologies on different frequencies: Bluetooth, WiFi, and WiMax [C]// Procee?dings of 2007 the 2nd IEEE International Conference on Wireless Broadband and Ultra Wideband Communications. Sydney: IEEE, 2007: 14.
[3] BANZI M. Getting started with Arduino [M]. 2nd ed. USA: Make Books, 2011.
[4] 楊繼志,郭敬.Arduino的互動產(chǎn)品平臺創(chuàng)新設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012,12(4):39?41.
[5] Atmel Corporation. ATmega48PA/88PA/168PA/328PA datasheet [R]. US: Atmel Corporation, 2009.
[6] 楊旭超.基于Android終端應(yīng)用的研究與實現(xiàn)[D].西安:西安電子科技大學(xué),2013.
[7] 李曉.基于Android平臺的手持終端應(yīng)用功能開發(fā)與設(shè)計[D].武漢:湖北大學(xué),2010.endprint