新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于H橋控制的移動機器人系統方案

        基于H橋控制的移動機器人系統方案

        作者: 時間:2013-01-28 來源:網絡 收藏

        引言

        本文引用地址:http://www.104case.com/article/148117.htm

        近年來隨著人工智能技術、計算機技術等相關技術的發展,對的研究越來越廣泛。本設計是采用OpenWrt操作,它可實現多種不同功能,如探測險情、巡視、圖像采集、定位、無線通信等。它還可以作為各種智能方法(包括動態避障、路徑規劃、群體協作策略)的良好載體,開展研究。

        1

        采用2層架構。上層以ARM處理器S3C2440為核心,選用MINI2440開發板作為上層的主板,負責圖像采集,并將圖像通過WiFi方式發送給遠端的PC機。WiFi無線通信是利用PC機與無線路由器搭建環境平臺共同實現的。

        下層是以51單片機為核心的單片機板,由51單片機及外圍電路組成。下層主要負責,傳感器數據處理。51單片機通過I/O口輸出PWM信號控制直流電機的轉速和轉向,實現機器人的前進、停止、左轉和右轉。單片機接口電路上掛接了1個超聲波測距模塊、1個人體紅外感應模塊、1個步進電機模塊。超聲波測距模塊用來實現機器人避障。在嵌入式智能的前端安裝了一個步進電機,而超聲波測距模塊安置在步進電機的轉軸上,步進電機不停地來回轉動,超聲波測距模塊也隨之轉動。這樣用1個超聲波測距模塊就可實現多方位測距,從而減少了超聲波測距模塊的數量。

        機器人主要由硬件和軟件系統構成。硬件系統主要包括:ARM處理器、單片機、外圍接口電路、機器人底盤以及電源等。其中ARM處理器是上層的核心,51單片機是下層的核心。軟件包括:嵌入式Linux操作系統、外設驅動程序、Linux應用程序以及單片機應用程序等。系統沒有選用通常的嵌入式Linux版本,而是另辟蹊徑,選用一種獨特的嵌入式Linux發行版之一OpenWrt作為操作系統。OpenWrt提供了一個完全可寫的文件系統及軟件包管理,它通過簡單易用的方式,降低了嵌入式Linux開發的門檻,提高了系統軟件開發的效率。

        嵌入式智能移動機器人的工作流程為:傳感器模塊實時采集周圍環境信息,將此數據信息傳輸到機器人控制系統中,單片機通過數據分析獲取有效數據,從而獲知機器人與障礙物的相對位置,然后根據此位置信息產生控制信號;單片機產生PWM信號控制直流電機來控制機器人轉向,從而達到機器人自主“行走”的目的。下層的單片機與上層的ARM處理器通過串口來通信,ARM主板可將下層單片機控制板的工作數據通過無線WiFi的方式傳輸到遠端的PC機。ARM主板可以不間斷地將USB攝像頭采集的清晰現場圖片發給遠端的PC控制終端。

        2 系統硬件設計

        硬件系統主要包括:ARM處理器、單片機、外圍接口電路、機器人底盤以及電源等,其中ARM處理器是上層的核心,51單片機是下層的核心。硬件結構框圖如圖1所示。


        硬件結構框圖


        圖1 硬件結構框圖

        由圖1可以看出,系統主要由以下模塊構成:圖像采集模塊、無線通信模塊、超聲波測距模塊、紅外感應模塊、MINI2440、單片機STC89C52以及直流電機驅動模塊等。下面重點介紹直流電機驅動模塊。

        直流電機驅動模塊以L298N芯片為核心,該芯片具有帶載能力強的特點。直流電機驅動電路如圖2所示。驅動電路芯片的外圍電路主要是由二極管構成的電橋電路與2組電機并聯連接,以達到控制電機按照設定運轉的目的。


        直流電機驅動電路


        圖2 直流電機驅動電路

        移動機器人采用H橋控制,整體控制如圖3所示。


         H橋控制方案


        圖3 H橋控制方案

        電機共有4路PWM輸出分別作為左右輪的驅動,而通過2路PWM輸出可控制一個電機,兩個電機以并聯方式連接。

        當L298N芯片使能信號ENABLE為高時,輸出才隨輸入變化,否則為高阻態,所以焊接時,ENABLE引腳及電源引腳VS均接電源VCC.

        具體驅動過程為:通過編程由控制芯片經PWM發出驅動信號,PWM輸出作為L298N的輸入,經L298N轉換輸出控制信號使電機轉動,從而實現電動機的驅動。

        PWM輸出信號的高低則可以控制直流電機轉速。當占空比加大時,轉速升高;占空比減小時,轉速降低;當PWM信號輸出占空比為0時可控制電機的停止。

        當左輪停止,右輪轉時,小車左轉;當右輪停止,左輪轉動時,小車右轉。而2路PWM輸出的正負順序轉換則可控制電機的正反轉,進而控制小車的前進和后退。

        3 系統軟件設計

        軟件部分是移動機器人的智能化的體現,它控制移動機器人所有的運行狀態。

        操作系統采用了OpenWrt操作系統,該系統簡化了Linux內核的定制過程,而且允許開發者使用軟件包的概念來定制嵌入式設備,從而簡化了嵌入軟件開發的流程。

        程序在Kubuntu CodeBlock IDE集成開發環境中進行編寫,用Openwrt編譯出來的ARM eabi交叉編譯工具編譯,再經過終端SercurtCRT通過串行口向移動終端燒入交叉編譯后的程序以及系統。

        應用軟件控制小車的避障、攝像、發送視頻等行為。通信方面通過在主機端用vsftp軟件架設FTP服務器,并通過IEEE 802.11g(RTL8187)無線網卡建立無線局域網。這樣,移動終端就可以接收上位機的控制命令到達指定地點拍照并發送圖片,而PC機終端就可以接收通過WiFi傳送過來的圖片。

        系統軟件結構如圖4所示。


        系統軟件結構


        圖4 系統軟件結構

        系統驅動程序利用MINI2440開發板提供的例程進行改寫,并編譯進內核。

        攝像頭控制軟件mjpgstreamer由Openwrt以軟件包形式提供,通過端口8080輸出為MJPEG格式的圖像。無線通信部分內容為Linux下socket編程,為客戶端提供遠程控制支持。無線通信的部分代碼如下:

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 祁门县| 怀仁县| 辉县市| 广昌县| 海晏县| 安新县| 双流县| 隆安县| 宁波市| 恭城| 竹山县| 唐海县| 万源市| 浮山县| 滕州市| 岑溪市| 静宁县| 保亭| 库尔勒市| 柘荣县| 仪征市| 黑河市| 运城市| 彭阳县| 雅江县| 鄢陵县| 调兵山市| 柳江县| 连城县| 牙克石市| 阿克陶县| 郁南县| 东丽区| 乐业县| 右玉县| 镇平县| 汕头市| 景洪市| 临夏县| 常山县| 资源县|