一款基于STM32的智能滅火機器人設計
要:設計了一種能順利完成在模擬房間內自動滅火任務的智能滅火機器人。方案以STM32F103嵌入式芯片為控制核心,采用傳感器組采集環(huán)境信號,控制機器人行動。該智能機器人能完成自動循跡、自動避障、自動尋找火源并迅速準確滅火、回家的功能。實驗結果表明:該機器人行動靈活快速,具有很高的準確性和穩(wěn)定性。
本文引用地址:http://2s4d.com/article/246312.htm引言
隨著人工智能和計算機技術研究的深入,智能機器人也成為科學愛好者和高校學子研究的熱點,具有很大的發(fā)展空間。智能機器人技術涉及自動控制原理、傳感器技術、信息處理、人工智能等學科,具有很強的綜合性,是一個國家發(fā)展水平的重要標志。
本設計的研究初衷來源于滅火機器人比賽,比賽場地將采用國際標準比賽場地,比賽場地平面圖如圖1所示。比賽場地的墻壁高為33cm,厚為2 cm,由木頭做成。墻壁刷成白色。比賽場地的地板是被漆成黑色的光滑木制板。場地中所有的走廊和門口都是46 cm的開口,一個白色的2.5 cm寬的白色帶子或白漆印跡表示房間人口,在距離火焰30 cm的圓上有一條2.5 cm寬的白線。根據要求,該機器人要在模擬的四室一廳房間內完成發(fā)現(xiàn)并確認火源、滅火和回家(回到出發(fā)點H)等功能。
本文以STM32F103嵌入式芯片為核心,完成滅火機器人的軟、硬件設計。當機器人啟動后,前部和左右的紅外測距傳感器為機器人的避障功能和沿墻走方式提供參考信號。機器人的運動速度以及運動方向由處理器輸出的PWM信號來控制?;鹧?zhèn)鞲衅鳈z測房間內火源,發(fā)現(xiàn)火源后機器人朝向火源方向行走,底部的灰度傳感器檢測地面白線判斷機器人是否靠近火源,控制機器人暫停,啟動風扇滅火,滅火后回家。
1 系統(tǒng)硬件設計
根據設計要求,本系統(tǒng)主要由STM32F103、傳感器模塊、直流電機驅動模塊、風扇模塊、電源模塊等構成。系統(tǒng)框圖如圖2所示。
1.1 機器人整體布局
機器人左右兩輪分別用兩個轉速和力矩完全相同的直流電機進行驅動,機器人前部裝一個萬向輪,這樣,可以輕松地使機器人改變運行方向和運動速度。機器人前面裝有風扇、火焰?zhèn)鞲衅骱图t外傳感器,頭部底側裝有灰度傳感器,左右兩側各有3個紅外測距傳感器,兩側的傳感器可以分別測量不同范圍內的障礙物距離。
1.2 微控制器模塊
系統(tǒng)傳感器模塊要不斷采集環(huán)境信息,要求控制芯片有較高的實時處理能力和較高的處理速度,因此,系統(tǒng)選用嵌入式芯片STM32F103該芯片使用ARM先進架構的Cortex—M3內核,CPU頻率可達72 MHz,具有兩個16位ADC用于高速采集數(shù)據采集,15個I/O端口用于連接外部設備。I/O端口作為輸入口讀取檢測端口和傳感器組的數(shù)據,作為輸出端口用于驅動電機和風扇。4個PWM定時器用于驅動大功率直流電機。芯片具有速度快、功耗低、可靠性高、實時性強等優(yōu)點。
1.3 傳感器模塊
傳感器模塊主要由紅外測距傳感器、火焰?zhèn)鞲衅骱突叶葌鞲衅魅惤M成。
紅外測距傳感器主要檢測障礙物(墻壁),防止機器人撞墻。本設計采用光電式紅外傳感器E18-D80NK,它是集紅外發(fā)射模塊和紅外接收模塊于一體的數(shù)字傳感器,有效檢測范圍為3~80 cm可調,指向角≤15°。根據比賽場地特點,本設計采用7個此類傳感器,這樣的傳感器布局可以采集所需的各種信號,準確測障,靈活調整運行方向,保證機器人運動過程中不碰壁。傳感器的分布如圖3所示。
火焰?zhèn)鞲衅饔脕頇z測火源,尋找火源位置。采用5路火焰?zhèn)鞲衅鹘M成火焰?zhèn)鞲衅鹘M,傳感器組的設計如圖4所示,這種結構可以探測180°范圍內火焰信號源。機器人在房間門口就可檢測房間內是否有火源,若無火源則直接退出該房間循跡下一個房間,大量節(jié)省了時間。
地面灰度傳感器安裝于機器人前部的底座上,用于檢測地面反射光線的強度。本設計選用QTI灰度傳感器,該器件可作為紅外接收器和發(fā)射器,內嵌日光過濾器,可防止日光的干擾。其數(shù)字信號輸出主要用來檢測比賽場地中火源周圍的白線,控制機器人在有火源的白色圓弧處暫停。
1.4 電機驅動模塊
為了控制機器人的運動速度和方向,設計了一種H橋驅動電路。該電路以IRF4905和IRF3205 MOS管為開關元件,以IRF1210為柵極驅動芯片。主控芯片產生的PWM信號控制驅動芯片,進而控制機器人左右輪的轉速和萬向輪的轉向。驅動電路的電路圖如圖5所示。滅火風扇的電機采用大功率MOs驅動器,由伺服電機輸出端的信號驅動。
1.5 其他模塊
為保證系統(tǒng)正常工作和順利滅火,系統(tǒng)還包括電源模塊、時鐘模塊和風扇模塊。以電源模塊為例,電源模塊通過專用的電源轉換芯片7805產生傳感器所需的5 V電源,通過LM1117產生主控制器所需的3.3 V電源。電源模塊如圖6所示。
2 系統(tǒng)軟件設計
系統(tǒng)軟件采用C語言編程,主要包括主程序、運動控制程序、滅火程序和回家程序等部分,主要用到的算法有沿墻走算法和趨光走算法。在程序設計中,通過傳感器采集信息,按照沿墻走算法控制機器人的行動,當發(fā)現(xiàn)火源后按照趨光走算法迅速、準確地靠近火源、滅火并回家。程序運行中應避免機器人碰撞障礙物(墻壁)。主程序控制流程圖如圖7所示。
機器人運動控制程序采用沿墻走算法,由ADC采樣程序、電機開啟、電機停止、電機速度和方向控制程序、延時程序等部分構成。通過紅外測距傳感器采集的信息,全方位地判斷障礙物的情況,控制機器人的下一步運動方式,主要有直走、后退、左微調、右微調、左轉彎、右轉彎等。
機器人滅火程序主要完成火源的尋找、確認以及滅火任務并回家。在機器人檢測到房間內有火源時,采用趨光走算法,根據火焰?zhèn)鞲衅鹘M的狀態(tài),調整機器人運動角度,使其直面火源方向前進。當檢測到房間內火源周圍白線時,停止運動,開啟風扇滅火;當檢測不到火源時,滅火成功。最后,啟動回家模式,該模式采用沿墻走避障算法。
該軟件系統(tǒng)具有很大的靈活性,因為各程序是分模塊設計的,當比賽規(guī)則改變時,只需通過主程序調用不同的模塊即可完成新的任務。
3 結果與分析
對本系統(tǒng)進行性能測試,測試中首先對電機進行測試,電機在正常工作電壓下,調整軟件系統(tǒng)的PWM控制值,可以實現(xiàn)電機的調速、直行前進、后退、左微轉、右微轉、左轉90°和右轉90°等功能。然后對機器人在比賽場地進行滅火實驗,共進行30次實驗,隨機地把點燃的蠟燭放在各個房間的指定位置。機器人都能順利地找到火源,滅火回家且所用時間均在1 min之內,試驗中沒有出現(xiàn)碰壁現(xiàn)象。此數(shù)據表明機器人能平穩(wěn)地按照靠墻走原則完成任務。整個系統(tǒng)具有很快的響應速度、較高的穩(wěn)定性和較強的抗干擾能力。
c語言相關文章:c語言教程
電路圖符號相關文章:電路圖符號大全
傳感器相關文章:傳感器工作原理
伺服電機相關文章:伺服電機工作原理
風速傳感器相關文章:風速傳感器原理
評論