基于AVR單片機的滅火機器人設計與實現(xiàn)
摘要:根據(jù)滅火機器人的競賽規(guī)則,給出了滅火機器人的硬件結構設計方案和軟件設計流程。所用的機器人處理器為AVR單片機,主要利用紅外傳感器、光敏傳感器對環(huán)境進行檢測,使機器人在場地中按照預定的方案尋找火源并撲滅。
關鍵詞:滅火機器人;傳感器;ATmega32
1 引言
機器人競賽是近年來迅速開展起來的一種對抗活動,它涉及人工智能、機械、電子、傳感器、精密機械等諸多領域。通過競賽可以培養(yǎng)學生的創(chuàng)新意識、動手能力、團隊寫作能力等。其中滅火比賽是開展范圍最廣、影響最大的機器人競賽項目之一。
比賽規(guī)則為模仿生活中消防員滅火,機器人從H點出發(fā),在四個房間內(nèi)尋找任意擺放的蠟燭,并且設法將其滅掉。比賽場地的墻壁高33cm,材質為木板,顏色為黑色。尺寸如圖1所示。對于比賽,得的分越低成績越好。另外根據(jù)選擇的模式不同,計分時要乘上相應的系數(shù)。
圖1比賽場地平面結構
2 系統(tǒng)硬件設計
2.1 系統(tǒng)總體設計
系統(tǒng)以ATmega32單片機為核心,它是一種基于增強RISC結構的、低功耗的8位單片機。其特點為:①片內(nèi)具有32K字節(jié)的可編程Flash;2K字節(jié)的片內(nèi)SRAM數(shù)據(jù)存儲器;1024個字節(jié)片內(nèi)在線可編程EEPROM數(shù)據(jù)存儲器。②片內(nèi)含JTAG接口。③外圍接口。兩個帶有分別獨立、可設置預分頻器的8位定時器/計數(shù)器;一個16位定時器/計數(shù)器;四個通道的PWM輸出;8路10位ADC;32個可編程的I/O口。④低功耗,最高工作頻率為16MHz。[!--empirenews.page--]
根據(jù)滅火比賽的規(guī)則要求,配以碰撞傳感器、灰度傳感器、火焰?zhèn)鞲衅骱图t外傳感器。通過兩路PWM控制兩只電機以驅動滅火機器人,另外一路滅火電機由I/O口通過光電耦合器直接驅動。
圖2系統(tǒng)總體框圖
2.2 系統(tǒng)電源部分
系統(tǒng)采用單電源供電電路時比較簡單,但是考慮到電動機起動瞬間電流很大,會造成電源電壓不穩(wěn),影響單片機和輸入電路工作的穩(wěn)定性和可靠性,因此采用雙電源供電方案。將電機電源和單片機電源完全隔離。單片機以及傳感器電路使用8V供電,電動機使用12V供電。提高電動機的供電電壓,可以提高機器人的運行速度,從而可以提高滅火的成績。
2.3 電機驅動部分
機器人需要控制在一個合適的速度行駛,在滅火的過程中既要以較快的速度找到火源,又要防止因為碰撞而影響比賽的成績。小車的速度是由兩只直流電機控制。L298驅動芯片是性能優(yōu)越的小型直流電機驅動芯片之一。它可被用來驅動兩個直流電機或者是雙極性步進電機。在6—46V的電壓下,可以提供2A的額定電流。L298還有過熱自動關斷功能,并有反饋電流檢測功能。為保證L298正常工作,建議加裝片外續(xù)流二極管。由ATmega32單片機直接輸出兩路PWM驅動L298N。改變PWM調制脈沖占空比,可以實現(xiàn)精確調速。脈沖頻率對電機轉速有影響,脈沖頻率高連續(xù)性好,但帶負載能力差;脈沖頻率低則反之。通過PD2和PD3兩根I/O口線來控制電機的轉動方向。
圖3單片機電源電路
[!--empirenews.page--]
圖4電機驅動電路
2.4 傳感器部分
滅火比賽需要機器人在盡量不碰撞墻壁的基礎上盡可能快地找到蠟燭并將火滅掉。在完成任務的過程中首先需要不碰撞墻壁,然后需要判斷前方是否有火焰。在找到火焰后需要判斷蠟燭旁邊的白線。如果碰撞墻壁的話,需要機器人能檢測出來并進行處理,不然就會發(fā)生機器人卡死的情況,那就不能完成任何任務。
圖5紅外傳感器電路
圖5所示為紅外傳感器的發(fā)射和接收電路。紅外射管采用脈寬調制(PWM)驅動,工作在38KHz的頻率下,減少發(fā)射電路的功耗。脈沖發(fā)生器由NE555構成,通過外部的電位器R1來調節(jié)占空比和脈沖頻率,由于紅外肉眼不可見,所以電路中加入一個LED指示燈來指示紅外發(fā)射管是否在工作。該LED和紅外發(fā)射管串聯(lián),當紅外發(fā)射管正常工作時,該LED燈會點亮。接收電路采用西門子公司生產(chǎn)的紅外專用集成接收芯片SFH506-38,它只有接收到38KHZ的脈沖波時才會作用。它內(nèi)部集成了選項、濾波、放大電路,對外只有3個引腳:①腳為信號輸出端;②腳為接地端;③腳為電源端,所以使用起來非常方便,效果比較理想。
圖6灰度傳感器和火焰?zhèn)鞲衅?/p>
灰度傳感器是模擬傳感器,有一只發(fā)光二極管和一只光敏電阻,安裝在同一面上。灰度傳感器利用不同顏色的檢測面對光的反射程度不同,光敏電阻對不同檢測面返回的光其阻值也不同的原理進行顏色深淺檢測。
火焰?zhèn)鞲衅魇悄M傳感器。它利用紅外敏感型元件對紅外信號強度的檢測并將其轉換為機器人可以識別的信號,從而來檢測火焰信號。火焰?zhèn)鞲衅骺梢杂脕硖綔y波長在700nm~1000nm范圍內(nèi)的紅外線,探測角度為60º;,其中紅外線波長在880nm附近時,其靈敏度達到最大。
碰撞傳感器使用碰撞開關,通過I/O口可直接作為數(shù)字量輸入。[!--empirenews.page--]
2.5 LCD顯示及其它電路
液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應用系統(tǒng)中得到越來越廣泛的應用。這里采用2行16個字的DM-162液晶模塊,通過與單片機連接、編程,完成顯示功能。
圖7其它電路
3 滅火機器人軟件設計
場地的四個房間內(nèi)的任何地方都有可能擺放蠟燭,所以機器人必須能夠實現(xiàn)搜索所有的房間,而且在行走的過程中不允許碰撞墻壁。找到火源后,通過滅火裝置迅速將火滅掉。根據(jù)以上的要求設計機器人的滅火邏輯如圖8所示。
圖8滅火邏輯
機器人采用左手走規(guī)則,左手走規(guī)則是指機器人始終沿著左面的墻壁行走,一直走完全程。在行走的過程中按照起點、一號房間、二號房間、三號房間、四號房間的順序搜索火源并滅火。機器人首先讀取傳感器信息,然后對傳感器的信息進行判斷。如果發(fā)現(xiàn)火源,則進入滅火子程序,該子程序完成趨光、滅火等功能。
4 結論
本文根據(jù)滅火比賽規(guī)則的要求,基于單片機及傳感器原理,以AVR單片機ATmega32為控制核心,小型直流電機作為驅動元件,設計出一種價格低廉、簡單實用的滅火機器人。通過簡單的修改,可以將此機器人用于其它的競賽項目。