一款基於STM32的智能滅火機器人設計

  本設計的研究初衷來源於滅火機器人比賽,比賽場地將採用國際標準比賽場地,比賽場地平面圖如圖1所示。比賽場地的牆壁高爲33cm,厚爲2 cm,由木頭做成。牆壁刷成白色。比賽場地的地板是被漆成黑色的光滑木製板。場地中所有的走廊和門口都是46 cm的開口,一個白色的2.5 cm寬的白色帶子或白漆印跡表示房間人口,在距離火焰30 cm的圓上有一條2.5 cm寬的白線。根據要求,該機器人要在模擬的四室一廳房間內完成發現並確認火源、滅火和回家(回到出發點H)等功能。


  STM32滅火機器人設計方案


  圖1 滅火機器人設計模擬場地


  本文以STM32F103嵌入式芯片爲核心,完成滅火機器人的軟、硬件設計。當機器人啓動後,前部和左右的紅外測距傳感器爲機器人的避障功能和沿牆走方式 提供參考信號。機器人的運動速度以及運動方向由處理器輸出的PWM信號來控制。火焰傳感器檢測房間內火源,發現火源後機器人朝向火源方向行走,底部的灰度 傳感器檢測地面白線判斷機器人是否靠近火源,控制機器人暫停,啓動風扇滅火,滅火後回家。


  1 系統硬件設計


  根據設計要求,本系統主要由STM32F103、傳感器模塊、直流電機驅動模塊、風扇模塊、電源模塊等構成。系統框圖如圖2所示。


  圖2 滅火機器人系統硬件設計框圖


  1.1 機器人整體佈局


  機器人左右兩輪分別用兩個轉速和力矩完全相同的直流電機進行驅動,機器人前部裝一個萬向輪,這樣,可以輕鬆地使機器人改變運行方向和運動速度。機器人前面裝有風扇、火焰傳感器和紅外傳感器,頭部底側裝有灰度傳感器,左右兩側各有3個紅外測距傳感器,兩側的傳感器可以分別測量不同範圍內的障礙物距離。


  1.2 微控制器模塊


  系統傳感器模塊要不斷採集環境信息,要求控制芯片有較高的實時處理能力和較高的處理速度,因此,系統選用嵌入式芯片STM32F103該芯片使用ARM先進架構的Cortex—M3內核,CPU頻率可達72 MHz,具有兩個16位ADC用於高速採集數據採集,15個I/O端口用於連接外部設備。I/O端口作爲輸入口讀取檢測端口和傳感器組的數據,作爲輸出端口用於驅動電機和風扇。4個PWM定時器用於驅動大功率直流電機。芯片具有速度快、功耗低、可靠性高、實時性強等優點。


  1.3 傳感器模塊


  傳感器模塊主要由紅外測距傳感器、火焰傳感器和灰度傳感器三類組成。


  紅外測距傳感器主要檢測障礙物(牆壁),防止機器人撞牆。本設計採用光電式紅外傳感器E18-D80NK,它是集紅外發射模塊和紅外接收模塊於一體的數字傳感器,有效檢測範圍爲3~80 cm可調,指向角≤15°。根據比賽場地特點,本設計採用7個此類傳感器,這樣的傳感器佈局可以採集所需的各種信號,準確測障,靈活調整運行方向,保證機器人運動過程中不碰壁。傳感器的分佈如圖3所示。


  圖3 滅火機器人傳感器模塊


  火焰傳感器用來檢測火源,尋找火源位置。採用5路火焰傳感器組成火焰傳感器組,傳感器組的設計如圖4所示,這種結構可以探測180°範圍內火焰信號源。機器人在房間門口就可檢測房間內是否有火源,若無火源則直接退出該房間循跡下一個房間,大量節省了時間。


  圖4 滅火機器人火焰傳感器


  地面灰度傳感器安裝於機器人前部的底座上,用於檢測地面反射光線的強度。本設計選用QTI灰度傳感器,該器件可作爲紅外接收器和發射器,內嵌日光過濾器,可防止日光的干擾。其數字信號輸出主要用來檢測比賽場地中火源周圍的白線,控制機器人在有火源的白色圓弧處暫停。


  1.4 電機驅動模塊


  爲了控制機器人的運動速度和方向,設計了一種H橋驅動電路。該電路以IRF4905和IRF3205 MOS管爲開關元件,以IRF1210爲柵極驅動芯片。主控芯片產生的PWM信號控制驅動芯片,進而控制機器人左右輪的轉速和萬向輪的轉向。驅動電路的電路圖如圖5所示。滅火風扇的電機採用大功率MOs驅動器,由伺服電機輸出端的信號驅動。


  圖5 直流電機驅動模塊電路圖


  1.5 其他模塊


  爲保證系統正常工作和順利滅火,系統還包括電源模塊、時鐘模塊和風扇模塊。以電源模塊爲例,電源模塊通過專用的電源轉換芯片7805產生傳感器所需的5 V電源,通過LM1117產生主控制器所需的3.3 V電源。電源模塊如圖6所示。


  圖6 滅火機器人電源模塊圖


  2 系統軟件設計


  系統軟件採用C語言編程,主要包括主程序、運動控制程序、滅火程序和回家程序等部分,主要用到的算法有沿牆走算法和趨光走算法。在程序設計中,通過傳感器採集信息,按照沿牆走算法控制機器人的行動,當發現火源後按照趨光走算法迅速、準確地靠近火源、滅火併回家。程序運行中應避免機器人碰撞障礙物(牆壁)。主程序控制流程圖如圖7所示。


  圖7 滅火機器人主程序控制流程圖


  機器人運動控制程序採用沿牆走算法,由ADC採樣程序、電機開啓、電機停止、電機速度和方向控制程序、延時程序等部分構成。通過紅外測距傳感器採集的信息,全方位地判斷障礙物的情況,控制機器人的下一步運動方式,主要有直走、後退、左微調、右微調、左轉彎、右轉彎等。


  機器人滅火程序主要完成火源的尋找、確認以及滅火任務並回家。在機器人檢測到房間內有火源時,採用趨光走算法,根據火焰傳感器組的狀態,調整機器人運動角度,使其直面火源方向前進。當檢測到房間內火源周圍白線時,停止運動,開啓風扇滅火;當檢測不到火源時,滅火成功。最後,啓動回家模式,該模式採用沿牆走避障算法。


  該軟件系統具有很大的靈活性,因爲各程序是分模塊設計的,當比賽規則改變時,只需通過主程序調用不同的模塊即可完成新的任務。


  3 結果與分析


  對本系統進行性能測試,測試中首先對電機進行測試,電機在正常工作電壓下,調整軟件系統的PWM控制值,可以實現電機的調速、直行前進、後退、左微轉、右微轉、左轉90°和右轉90°等功能。然後對機器人在比賽場地進行滅火實驗,共進行30次實驗,隨機地把點燃的蠟燭放在各個房間的指定位置。機器人都能順利地找到火源,滅火回家且所用時間均在1 min之內,試驗中沒有出現碰壁現象。此數據表明機器人能平穩地按照靠牆走原則完成任務。整個系統具有很快的響應速度、較高的穩定性和較強的抗干擾能力。


  (素材來自網絡,由雲漢芯城(www.ickey.cn)小編蒐集網絡資料編輯整理,如有問題請聯繫處理!)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章