基于ARM9嵌入式系統(tǒng)的智能滅火機(jī)器人怎樣設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引 言
控制器是智能機(jī)器人處理和控制信息的主體,它直接決定了機(jī)器人的行為和性能。近幾年來隨著高性能微控制器和嵌入式系統(tǒng)技術(shù)的不斷進(jìn)步,為各類實(shí)時(shí)控制應(yīng)用提供了解決方案。
嵌入式系統(tǒng)(ES)是計(jì)算機(jī)技術(shù)、通信技術(shù)、半導(dǎo)體技術(shù)、微電子技術(shù)、語音圖像數(shù)據(jù)傳輸技術(shù),甚至傳感器等先進(jìn)技術(shù)和具體應(yīng)用對象相結(jié)合后的系統(tǒng),其是硬件和軟件緊密捆綁在一起的系統(tǒng)。將嵌入式系統(tǒng)應(yīng)用于滅火機(jī)器人的設(shè)計(jì)中,對機(jī)器人的性能智能化、網(wǎng)絡(luò)化、小型化都有了明顯提高。
比賽用滅火機(jī)器人需要機(jī)器人有智能較高的自動(dòng)控制性能與可靠的機(jī)械控制性能的同時(shí)保證,才能在短時(shí)間內(nèi)準(zhǔn)確尋找到火源并滅火回家。在此以ARM9處理器為核心,對基于嵌入式系統(tǒng)的智能滅火機(jī)器人進(jìn)行了設(shè)計(jì)。本文將從硬件和軟件方面講述智能滅火機(jī)器人控制器的實(shí)現(xiàn)方法,并且給出了機(jī)器人滅火的具體實(shí)驗(yàn),驗(yàn)證了方案的可行性,為智能滅火機(jī)器人的進(jìn)一步研究提供了平臺。
1 滅火機(jī)器人的描述
滅火機(jī)器人的外形結(jié)構(gòu)如圖1所示,它的主要構(gòu)件有:紅外發(fā)射傳感器(6個(gè)),紅外接收傳感器(6個(gè)),聲音傳感器(1個(gè)),滅火風(fēng)扇(前后各1個(gè)),遠(yuǎn)紅外火焰?zhèn)鞲衅鞯龋ㄇ昂蟾?個(gè))。其中紅外發(fā)射和接受傳感器的配合使用可以使機(jī)器人自動(dòng)避障行走。遠(yuǎn)紅外火焰?zhèn)鞲衅骺梢詸z測光的強(qiáng)弱,用于判斷房間是否有火以及趨光滅火。聲音傳感器用于啟動(dòng)?;趯?shí)踐,風(fēng)扇滅火更為可靠,所以選用風(fēng)扇滅火。
2 滅火機(jī)器人的總體設(shè)計(jì)
在智能滅火機(jī)器人系統(tǒng)中,首先要解決的是定位問題,故需要一個(gè)好的定位方案。所以,控制核心需要給傳感器留足夠的輸入接口,同時(shí)也要有足夠的輸出接口用于控制外設(shè)。而速度對滅火機(jī)器人至關(guān)重要,在高速運(yùn)動(dòng)的情況下,需要CPU具有比較強(qiáng)的浮點(diǎn)數(shù)運(yùn)算能力?;谏鲜隹紤],選擇ARM9為滅火機(jī)器人的控制核心,該控制器硬件功能齊全、功耗小、周邊設(shè)備集成度高,是先進(jìn)的智能機(jī)器人計(jì)算平臺。它與其他的主要部件如表1所示,系統(tǒng)總體框架如圖2所示。
3 滅火機(jī)器人嵌入式系統(tǒng)硬件設(shè)計(jì)
3.1 控制器系統(tǒng)設(shè)計(jì)
由于嵌入式微處理器對實(shí)時(shí)任務(wù)具有很強(qiáng)的支持能力,可以完成多任務(wù)并且具有較短的中斷響應(yīng)。因此在設(shè)計(jì)過程中,采用嵌入式ARM9為核心的控制器(ST公司的STR911FAM44),實(shí)現(xiàn)了以極少的周邊芯片獲得齊全的功能。ARM9處理器具有體積小,功耗低,性能高的特點(diǎn)。它集成了28路模擬信號采集通道,可以兼容數(shù)字信號和模擬信號,每路精度為10位,因此可以分辨3 mV特的輸入電壓變化。8路高速數(shù)據(jù)采集通道每秒可采集50萬次信號。該處理器內(nèi)部采用哈佛結(jié)構(gòu),每秒可執(zhí)行1.1億條機(jī)器指令,這樣的強(qiáng)大功能可以實(shí)現(xiàn)機(jī)器人高速精確地按照規(guī)定路徑行走,并且機(jī)器人的CPU能夠?qū)崟r(shí)迅速地讀取多個(gè)傳感器端口數(shù)值,在較短的時(shí)間內(nèi)完成對各端口數(shù)值的存儲、運(yùn)算和輸出等多種任務(wù)。在主控制器核心CPU的基礎(chǔ)上,將各種功能模塊、執(zhí)行機(jī)構(gòu)等連接到CPU的引腳上??刂破骺偣灿?8路模擬采樣接口。ARM9控制器的系統(tǒng)圖如圖3所示。
在此選用Atmel公司生產(chǎn)的AVR ATmega 8微處理器作為輔助單片機(jī)。ATmega 8是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于它先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega 8的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。AVR內(nèi)核具有豐富的指令集和32個(gè)通用工作寄存器。同時(shí)ATmega 8具有一整套的編程與系統(tǒng)開發(fā)工具,包括:C語言編譯器、宏匯編、程序調(diào)試器/軟件仿真器、仿真器及評估板。這樣就大大方便了在硬件基礎(chǔ)上進(jìn)行軟件設(shè)計(jì)。
ARM9處理器含有20路標(biāo)準(zhǔn)數(shù)據(jù)采集通道通過Atmega816-PC輔助單片機(jī)連接到主芯片上,用以讀取遠(yuǎn)紅外傳感器組及檢測端口的數(shù)值,每秒可采集1 000次。這種設(shè)計(jì)提高了端口數(shù)值讀取速度,使機(jī)器人能對周圍環(huán)境信息做出迅速判斷。ARM9微處理器與輔助單片機(jī)如圖4所示。
為了保證滅火機(jī)器人靈活行走和低功耗,需要一個(gè)體積小,超薄輕巧,功耗低的顯示器。Uniohm公司生產(chǎn)的LCD滿足設(shè)計(jì)要求,通過與單片機(jī)連接、編程、下載、完成顯示功能。
3.2 控制器電源供電設(shè)計(jì)
電源直接影響機(jī)器人運(yùn)行特性。考慮到電動(dòng)機(jī)啟動(dòng)瞬間電流很大,會造成電源電壓不穩(wěn),影響單片機(jī)和輸入電路工作的穩(wěn)定性和可靠性,因此這里采用雙電源供電方案。電機(jī)電源采用容量為2 500 mAh高放電倍率聚合物鋰電池,工作電壓為24 V,能提供40 A的穩(wěn)定供電電流,是普通電池的10倍;控制器電源采用8.4 V鋰電池,并提供電壓采樣端口,以供電池檢測,控制器電源供電電路圖如圖5所示。
為獲得CPU各端口電路所需要的不同等級的電壓,該設(shè)計(jì)采用1個(gè)LM317T三端穩(wěn)壓器和2個(gè)AMS1117低壓差線性電壓調(diào)整器,并通過其附屬電路,得到精確穩(wěn)定的5 V,3.3 V,1.8 V三種電壓;用1個(gè)發(fā)光二極管LD1和限流電阻R5作為電源指示燈,以顯示電源開關(guān)的狀態(tài);為實(shí)時(shí)采樣電源電壓,防止鋰電池過放或過充,通過R1,R2分壓,引出AD19端口作為電源采樣端口。
4 滅火機(jī)器人嵌入式系統(tǒng)軟件設(shè)計(jì)
機(jī)器人控制器是一個(gè)多任務(wù)并行執(zhí)行的實(shí)時(shí)控制器。在軟件實(shí)現(xiàn)上,滅火機(jī)器人除了要協(xié)調(diào)控制各個(gè)不同功用的電機(jī),還需要對紅外、灰度、聲音等多種傳感器接收的數(shù)據(jù)進(jìn)行傳輸、處理等。采用c語言可以方便快捷的編寫程序。這里對滅火機(jī)器人的每種功能進(jìn)行模塊化處理??傮w的思路是:尋找火源.確定火源方位,接近火源,趨光滅火,回家。主程序設(shè)計(jì)流程圖如圖6所示。實(shí)現(xiàn)起來最基本的就是使機(jī)器人能夠順利的直線行走和拐彎,這一模塊稱為沿墻走(沿左墻前,沿左墻后,沿右墻前。沿右墻后),沿右墻前如圖7所示。具體為:
(1)若正前距離很大,同時(shí)右前的距離稍小時(shí),太靠近右墻,執(zhí)行左轉(zhuǎn)微調(diào);
(2)若正前距離很大,同時(shí)右前的距離稍大時(shí),太靠近左墻,執(zhí)行右轉(zhuǎn)微調(diào);
(3)若正前距離很大,右前距離適中,就直行;
(4)若正前距離特別小,同時(shí)右前距離特別小時(shí),使機(jī)器人稍后退可以防碰撞;
(5)若正前距離比較小,右前距離也比較小時(shí),機(jī)器人左轉(zhuǎn);
(6)右前距離很大時(shí),機(jī)器人執(zhí)行右轉(zhuǎn)彎。
其中:(1)~(3)保證了在走直線時(shí)可以走直,通過不斷調(diào)整,使機(jī)器人始終運(yùn)行在距離墻10~15 cm的位置。(4)~(6)保證了機(jī)器人順利拐彎和進(jìn)房間。沿左墻行走及反方向沿墻行進(jìn)同理,具體的參數(shù)必須在不斷試驗(yàn)中反復(fù)調(diào)節(jié)。幾種沿墻走配合使用就可以實(shí)現(xiàn)全部房間的遍歷和回家,再加上趨光和滅火的模塊就完成了整個(gè)滅火任務(wù)。
5 滅火實(shí)驗(yàn)
在硬件的設(shè)計(jì)和實(shí)現(xiàn)的基礎(chǔ)上,用C語言編寫了讓器人智能搜索房間,發(fā)現(xiàn)火源并滅火回家的程序。在不斷對各種參數(shù)的調(diào)節(jié)后,該機(jī)器人可以在8 s內(nèi)完成任意房間滅火,滅完火后,機(jī)器人自動(dòng)回家。統(tǒng)計(jì)了30組數(shù)據(jù),如表2所示。滅火照片如圖8所示。
6 結(jié)語
實(shí)際測試證明該設(shè)計(jì)的滅火機(jī)器人能夠較好完成滅火任務(wù),具有一定參考和使用價(jià)值。該設(shè)計(jì)的創(chuàng)新之處為:以AM09為核心的嵌入式系統(tǒng)的控制器運(yùn)行速度高,能夠高速采集和處理傳感器系統(tǒng)信號,并發(fā)出相應(yīng)的控制信號,實(shí)現(xiàn)8 s內(nèi)完成任意房間滅火;該設(shè)計(jì)采用了嵌入式系統(tǒng)內(nèi)核,大大提高了機(jī)器人處理信號的能力;STR911FAM46和AVR-ATMEGA8-16PC的選用在實(shí)現(xiàn)了功能強(qiáng)大的同時(shí),保證了良好的擴(kuò)展性,并且成本較低,有利于智能機(jī)器人早日實(shí)現(xiàn)市場化;雙電源供電系統(tǒng)的引入,使機(jī)器人的運(yùn)行更加穩(wěn)定可靠;通過沿墻行進(jìn)規(guī)則的設(shè)計(jì),機(jī)器人的靈敏度和適應(yīng)外界變化的特性明顯提高,且程序簡捷,有利于模塊化編程。