周桔蓉,孫旭日
(九江職業技術學院,江西九江 332007)
基于ARM Cortex-M3處理器搜救機器人的設計
周桔蓉,孫旭日
(九江職業技術學院,江西九江 332007)
以ARM Cortex-M3單片機為搜救機器人的控制器,以N溝MOSFET來設計可控制大電流電機的電機驅動器,全面提高了搜救機器人的性能。
STM32單片機;搜救機器人
目前市場的搜救機器人種類繁多,主要存在以下的不足。(1)處理器底層程序代碼沒有公開,用戶只能按用戶模式編程,不能進行深入的編程與開發。而且處理器價格比較昂貴;(2)搜救機器人運動電機發熱過大,影響搜救。本文基于ARM Cortex-M3處理器搜救機器人的設計。
人對周圍環境的反應過程主要是感覺→大腦思考→作出反映,搜救機器人的信息處理流程也是如此。搜救機器人配有十幾個傳感器,另外還可以根據需要擴展其他傳感器,對環境的感知能力很強。微控制器采用的是STM32微處理器,芯片時鐘72MHZ。機器人的執行器有:二只高性能直流電機;一只喇叭;一只FPTC觸摸屏的液晶顯示器。總體設計如圖1。

圖1 搜救機器人總體設計
2.1 控制器的選擇
傳統的控制器的多數采用的是STR911FAM44微處理器為核心的控制器。該控制器有以下缺點:⑴該處理器底層程序代碼沒有公開,用戶只能按用戶模式編程,不能進行深入的編程與開發;⑵該處理器價格比較昂貴。而STM32單片機剛好解決了以上問題。STM32單片機是一款底層函數公開、性價比很高的控制器。CortexM3是一個32位處理器內核。內部的數據路徑是32位的,寄存器是32位的,存儲器接口也是32位的。CM3采用了哈佛結構,擁有獨立的指令總線和數據總線,可以讓取指與數據訪問并行不悖。這樣一來數據訪問不再占用指令總線,從而提升了性能。為實現這個特性,CM3內部含有好幾條總線接口,每條都為自己的應用場合優化過,并且它們可以并行工作。
2.2 電機驅動系統的設計
電機驅動系統是搜救機器人的關鍵部位,良好電機驅動系統不僅使機器人越過障礙物而且發熱量小。傳統的電機驅動系統采用L293或L298等全橋芯片來控制直流電機,雖然簡便而且成本低廉,但由于它們的內阻較大,在控制大電流的馬達時芯片常常過熱,導致系統的整體效率較低。在機器人上,馬達控制芯片的內阻過大會導致車子的加速度變小,經常在搜救現場搜救速度慢。
結合搜救現場的實際情況,對電機驅動系統我們進行了很大的改進。經過試驗和論證,最后采用N溝MOSFET來設計可控制大電流電機的電機驅動器。原理如圖2所以。
此方案以及高性能鋰聚合物電池的幫助下可以毫無壓力地驅動4個380減速電機,通過控制器產生占空比可調的PWM來控制電機驅動器,從而實現了電機速度大小和轉動方向均可調整,從而實現機器人的運動控制。經過實踐的檢驗小車在全速啟動以及突然反向運動時的性能明顯比使用L298要好。對于散熱問題,決定采用貼片的D2PAK封裝的IRF540,其他元件也都改為貼片封狀。在芯片的上面設計了散熱器和風扇。降低MOS溫度可以大大提高工作效率。傳統的TO-220封裝的MOS管直立加上散熱器很占空間。

圖2 IR2104+IRF540全橋電機驅動系統
2.3 傳感器的設計
STM32單片機內部自帶有8路12位ADC高精度轉換器,可以連接機器人的傳感器,減少外圍電路的設計。
機器人是通過傳感器來對外部信號的識別。就相當人的眼睛和耳朵,機器人需要不斷采集環境信息然后經濾波處理然后經控制器邏輯運算繼而控制執行機構,從而實現現場搜救。
2.3.1 雷達
機器人在搜救過程中最怕就是碰壁,從而造成損壞機器。傳統搜救機器人避障是采用PSD傳感器,一般是裝3-6個PSD傳感器對對障礙物的判斷。但是總是存在盲區,在盲區內你根本無法避障,容易損壞機器人。針對以上的缺點,我們設計了“雷達”傳感器,360度布設光電傳感器,不斷循環掃描,讀取離目標最近的光電傳感器,最短時間和最精確的判斷障礙物的方向和距離。通過實驗解決了機器人碰壁的過程。

圖3 “雷達”傳感器
2.3.2 紅外攝像頭
攝像頭有成電腦相機,電腦眼等,是一種視頻輸入設備。機器人上裝有此設備,可通過傳輸到外界使人可以用遙控進行控制。而且,紅外攝像頭可以實現夜視。
2.3.3 話筒
機器人話筒的功能很強,它可以感受到聲音的強弱。我們的耳朵并不是所有聲音都可以聽見的,機器人的“耳朵”也是這樣,它能聽見的聲音頻率范圍跟人能聽到的范圍大致是一樣的,大約是16Hz~20000Hz的機械波。
本設計采用μC/OS-II操作系統。μC/OS-II僅僅包含了任務調度、任務管理、時間管理、內存管理、任務間的通信和同步等基本功能。采用模糊控制算法,將地面檢測到的反饋信號與設定的標準顏色AD值比較,求出偏離AD值的偏差信號與偏差信號的變化率,并將其作為模糊控制器的輸入,將偏差信號按照分檔法分為七檔,再通過查詢由分檔法和模糊推理合成算法得到的控制作用表來獲得模糊控制器的輸出,從而進一步設定轉速值。
本文實現了搜救機器人控制器硬件的設計,成功地在STM32上嵌入了實時操作系統μC/OS-II。我們根據以上設計和制作,對各個動作進行分解、編寫程序,完全依據規則的評分細則設計,同時通過自行設計應對復雜環境,比較全面地完成了規定的任務。
Design of Rescuing Robot Based on ARM Cortex-M3 Processor
Zhou Jurong,Sun Xuri
(Jiujiang Vocational and Technical College,Jiujiang,Jiangxi,332007)
The paper introduces the rescuing robot with the ARM Cortex-M3 as its controller,and with the electric driver that is composed with MOSFET which can control the large current.
STM32 single-chip computer;rescuing robot
TP242
B
1009-9522(2014)01-0022-02
2013-08-29
周桔蓉:女,工程碩士,九江職業技術學院電氣工程學院教師。