国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關注中國自動化產業發展的先行者!
CAIAC 2025
2024
工業智能邊緣計算2024年會
2023年工業安全大會
OICT公益講堂
當前位置:首頁 >> 資訊 >> 行業資訊

資訊頻道

談LPC2104的爬壁機器人控制系統設計
  • 作者:互聯網
  • 點擊數:516     發布時間:2013-01-20 20:08:47
  • 分享到:
近年來,隨著微機電系統(MEMS)技術的發展和微小型移動機器人應用領域的不斷拓展,出現了這樣一種需求,即用微型爬壁機器人代替人工進行各種極限作業
關鍵詞:

引言
      近年來,隨著微機電系統(MEMS)技術的發展和微小型移動機器人應用領域的不斷拓展,出現了這樣一種需求,即用微型爬壁機器人代替人工進行各種極限作業,如公安消防中使用微型爬壁機器人進行縱橫交織;上下連通的大樓通風管道進行災情現場考察;敵情偵察;或進入空間狹窄的核工業管道群之間進行外管壁的檢測和維修等。微型摒棄壁機器人具有廣泛的應用前景,在國家自動科學基金和上海市啟明星的聯合資助下,筆者開發了基于并聯腿機構的四足微型爬壁機器人。
    1 機構簡介
    本文所設計的微型爬壁機器人(長10cm,寬4cm,高4cm)采用四足對稱結構,隨機構采用并聯機構(也稱并行三連桿機構),吸附裝置采用仿生高分子粘性材料經切削加工制成的貼性吸盤。每一條腿有三個自由度,分別通過三個微型直流電機配合微型線杠螺母機構直接驅動。

2 控制系統硬件設計
      該微型爬壁機器人采用12個微型電機驅動,4個接觸傳感器,4個壓力傳感器,以后還要增加用于壁障的紅外傳感器和用于采集現場信號的微型攝像頭,所以對主控制器的要求較高。設計中,最終選定Philips公司最新開發的基于32位ARM7TDMI-S內核的低軾耗ARM處理器LPC2104作為控制系統主控制器。LPC2104具有以下特性:
     *128KB片內Flash程序存儲器,帶ISP和IAP功能;
     *16KB靜態RAM;
     *向量中斷控制器;
     *仿真跟蹤模塊支持實時跟蹤;
     *標準ARM測試/調試接口,兼容現有工具;
     *雙UART,其中一帶有調制解調器接口;
     *高速I2C串行接口,400kb/s;
     *SPI串行接口;
     *2個定時器分別具有4路捕獲/比較通道;
     *多達6路輸出的PWM單元;
     *實時時鐘;
     *看門狗定時器;
     *通用I/O口;
     *CPU操作頻率可達60MHz;
     *兩個低功耗模式,空閑和掉電;
     *通過外部中斷,將處理器從掉電模式中喚醒;
     *外設功能可單獨使能/禁止實現功耗最優化;
     *片內晶振的操作頻率范圍10~25MHz;
     *處內PLL允許CPU可以在超過整個晶振操作頻率范圍的情況下使用。
      微型爬壁機器人控制系統的原理框圖如圖2所示,選用LPC2104作為嵌入式控制器。為提高系統效率和降低功耗,功放驅動電路采用基于雙極性H-橋型脈寬調整方式PWM的集成電路L293D。L293D采用16引腳DIP封裝,其內部集成了雙極型H-橋電路,所有的開量都做成n型。這種雙極型脈沖調寬方式具有很多優點,如電流連續;電機可四角限運行;電機停止時有微振電流,起到“動力潤滑”作用,消除正反向時的靜摩擦死區:低速平穩性好等。L293D通過內部邏輯生成使能信號。H-橋電路的輸入量可以用來設置馬達轉動方向,使能信號可以用于脈寬調整(PWM)。另外,L293D將2個H-橋電路集成到1片芯片上,這就意味著用1片芯片可以同時控制2個電機。每1個電機需要3個控制信號EN12、IN1、IN2,其中EN12是使能信號,IN1、IN2為電機轉動方向控制信號,IN1、IN2分別為1,0時,電機正轉,反之,電機反轉。選用一路PWM連接EN12引腳,通過調整PWM的占空比可以調整電機的轉速。選擇一路I/O口,經反向器74HC14分別接IN1和IN2引腳,控制電機的正反轉。為了節省LPC2104的I/O口資源,選用2片74LS138和IN2引腳,控制電機的正反轉。為了節省LPC2104的I/O資源,選用2片74LS138譯碼器對I/O口進行擴展,每片分別選用3路I/O作為輸入信號和1路I/O作為片選信號,這樣就可以將8路I/O口擴展或16路I/O口。如前所述,因為直注電機采用PWM調速,這樣每1個電機至少需要1路PWM,12個電機需要12路PWM,而LPC2104只有6路PWM輸出,所以選用2片電平鎖存器74LS373使12個電機分成2組共用6路PWM信號。

接觸傳感器由外層管和內部超彈性線構成,內外兩層通過硅管隔開。當內線和外層接觸時,開關關閉。通過這種方法,接觸傳感器向LPC2104發送信號,借此來控制吸盤的方向。
      從壓力傳感器來模擬信號經A/D轉換器轉換成數字信號,LPC2104通過壓力傳感器來的信號來判斷吸盤是否安全的吸附在墻壁上。
     LPC2104還可以通過串口RS232和上位機進行通信。
     3 控制系統軟件設計
     微型爬壁機器人控制系統軟件選用嵌入式實時多任務操作系統μC/OS-II。它是一個源代碼公開、可移植、可固化、可裁剪、占先式的實時多任務操作系統。其絕大部分源碼是用ANSI C寫的,移植方便,且運行穩定可靠。目前,它已經在幾十種從8位到64位的微處理器、微控制器上實現了成功的移植。下面首先介紹μC/OS-II在LPC2104上的移植過程,然后介紹微型爬壁機器人控制軟件的設計。
     3.1 μC/OS-II在LPC2104上的移植
     移植μC/OS-II,主要包括:設置堆棧的增長方面,聲明3個宏(開中斷、關中斷和任務切換),聲明10個與編譯器相關的數據類型;用C語言編寫6個與操作系統相關的函數(任務堆棧初始化函數和5個鉤子函數);用匯編語言編寫4個與處理器相關的函數。
     用匯編語言編寫的4個與處理器相關的函數如下:
     ①OSStartHighRdy()用于在調度中使最高優先級的任務處于就緒態并開始執行;
     ②OSCtxSw()完成任務級的上下文切換;
     ③OSIntCtxSw()完成中斷級任務切換,其過程與OSCtxSw()類似,只是在執行中斷服務子程序后可能使更高優先級的任務處于就緒態;
     ④OSTickISR()是系統節拍中斷服務子程序。
     3.1.1 OS_CUP.H的移植
      μC/OS-II不使用C語言中的short、int、long等數據類型的定義,因為它們與處理器類型有關,隱含著不可移值性,所以代之以移值性強的整數數據類型,這樣,既直觀又可移值。

在μC/OS-II中,使用OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()開中斷和關中斷來保護臨界段代碼。ARM處理器核的用戶模式和執行Thumb代碼時,不能改變處理器的開中斷位I。為了兼容各種模式,使用軟中斷指令SWI使處理器進入管理模式和ARM指令狀態,即使用SWI 0x02關中斷,使用SWI 0x03開中斷。
    ΜC/OS-II使用結構常量OS_STK_GROWTH指定堆棧的增長方式,0表示堆棧從低地址往高地址增長,1表示堆棧從高地址往低地址增長。雖然ARM處理器核對于兩種方式支持,但ADS的C語言編譯器僅支持一種方式,即從高地址往低地址增長,并且必須是滿遞減堆棧,所以OS_STK_GROWTH的值為1。以上內容在文件OS_CPU.h中做如下定義。
     Typedef unsigned char BOOLEAN;/*布爾變量*/
     Typedef unsigned char INT8U; /*無符號8位整型變量*/
     Typedef signed char INT8S;/*有符號8位整型變量*/
     Typedef unsigned short INT16U;/*無符號16位整型變量*/
     Typedef signed short INT16S;/*有符號16位整型變量*/
     Typedef unsigned int INT32U;/*無符號32位整型變量*/
     Typedef signed int INT32S;/*有符號32位整型變量*/
     Typedef float FP32;/*單精度浮點數(32位長度)*/
     Typedef double FP64;/*雙精度浮點數(64位長度)*/
     Typedef INT32U OS_STK;/*堆棧是32位寬度*/
     _swi(0x02) void OS_ENTER_CRITICAL(void);/*關中斷*/
     _swi(0x03) void OS_EXIT_CRITICAL(void); /*開中斷*/
     #define OS_STK_GROWTH 1/*堆棧由高地址向低地址增長*/
     3.1.2 OS_CPU_A.ASM文件的移值
     OS_CPU_A.ASM文件要實現在多任務啟動函數中調用OSSTartHightRdy(),任務切換函數OSCtxSw(),中斷任務切換函數OSIntCtxSw()和時鐘節拍服務函數OSTickISR()這4個匯編函數的改寫。上層任務調度部分不需要任何改動。

3.2 系統任務劃分及調度
     3.2.1 系統任務劃分
     嵌入式實時系統中的任務不同于前后臺系統中的子程序模塊,任務是處理機按程序處理數據的過程,是個動態的概念。一般,一個任務對應于一段獨立的主程序。它可以調用各種子程序,并使用各種系統資源如中斷、外設等,以完成某種預定的功能,且允許多個任務并行運行。嵌入式系統任務劃分,是將系統中所有要處理的事情劃分為一個個相對獨立的任務模塊,所有待處理的任務模塊按順序建立一個個的任務,并分配任務的優先級。在主程序中,所需要做的工作只是建立這些模塊的任務,然后每次執行就緒任務隊列中優先級最高的任務。根據微型爬壁機器人控制系統的性能指標和技術要求,對可系統進行如下的任務劃分:前進、后退、左轉彎、右轉彎、串行通信、數據采樣與數據處理等任務。
    3.2.2 任務調整
     μC/OS-II的任務調度是按優先級進行的,根據各任務的實時性要求及重要程度,分別置它們的優先級為10、9、5、6、12、11,其中0、1、2、3、OS_LOWEST_PRIO3、OS_LOWEST_PRIO3、OS_LOWEST_PRIO2、OS_LOWEST_PRIO1、OS_LOWEST_PRIO0這幾個優先級保留以被系統使用。優先級號越低,任務的優先級越高。
     為了在后臺實時檢測同步信號的變化,及時產生相應的事件,可直接利用嵌入式微控制器所提供的各種中斷,通過對中斷服務處理程序傳遞信號量,來喚醒等待同步信號的任務,使這個任務從掛起狀態到就緒狀態,送到CPU執行,從而達到實時處理的目的。
      在多任務系統中,消息、信號是系統能夠在各個任務之間通信最常用的手段,其中,使用信號量是協調多任務最簡單有效的手段。在μC/OS-II中,一個任務或者中斷服務子程序,通過事件控制塊來向另外的任務發信號。當微型爬壁機器人啟動之后,首先通過接觸傳感器和壓力傳感器檢測4只吸盤是否很好的與壁面吸合;同時,通過紅外傳感器檢測前面是否有障礙物。如果一切正常就發送信號量給直線前進任務,直線前進任務接受到信號量開始運行,通過協調控制12個電機并配合相應傳感器使爬壁機器人沿直線運行。當紅外傳感器檢測到前面有障礙物時,會進入中斷程序,在中斷程序中發送信號給停止任務,停止任務接收以信號量后運行。首先使機器人停下來調整好姿勢確保機器人四足吸在壁面上,然后發送信號量喚醒左轉或者右轉任務,控制機器人繞過障礙物。以后還可以給微型爬壁機器人配備微型攝像頭,對目標現場進行實時數據采集。總之,在微型爬壁機器人的控制系統中,信號、消息不斷傳遞,使得各個任務不斷切換運行,整個系統得以正確運轉工作。
     4 未來的工作
     因為微型爬壁機器人的關鍵技術是基于微機械電子技術、微驅動器技術、微傳感器技術、高分子材料技術等方面,所以只有在這些方面有所突破,微型爬壁機器人才能走向實用化。所設計的微型爬壁機器人目前只能采用半閉環控制,因為微型電機沒有理想的位置反饋傳感器,所以目前只能通過反復和實驗測出各位置的時間,然后通過時間來控制微型電機的轉動位置,在以后的研究工作中,我們希望能在微型傳感器方面有所突破。


熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 成年人三级黄色片| 国内自拍欧美| 久久久久欧美精品| 久久国内精品自在自线软件| 久久精品爱国产免费久久| 久草新在线观看| 国产真实乱子伦xxxxchina| 国产日产久久高清欧美一区 | 男人的天堂在线| 久草视频中文在线| 国产美女操| 99re伊人| 亚洲香蕉影院| 日韩久久久精品中文字幕| 欧美色性| 久久精品国产大片免费观看| 国内自产拍自a免费毛片| 国产精品久久久久久久久福利| 成人在线免费| 91成人免费观看网站| 亚洲性xx| 三级网站视频在线观看| 欧美亚洲国产片在线观看| 欧美成人免费网在线观看| 精品国产一区二区在线观看| 国产精品国产三级国产a| 操小美女| 亚洲欧美日韩久久精品第一区| 日韩国产欧美一区二区三区| 免费一级毛片在级播放| 久久99国产亚洲精品观看| 国产精品尹人在线观看免费| 国产aaa级一级毛片| 99精品福利视频在线一区| 亚洲系列| 日本二级毛片免费| 麻豆国产| www亚洲成人| 视频一区久久| 久久久久久久免费视频| 国产片在线观看狂喷潮bt天堂|