• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于群體智能的自主機器人設計

      2010-07-25 08:43:58臧申俊
      微型電腦應用 2010年5期
      關鍵詞:主控板測距按鍵

      臧申俊

      0 引 言

      隨著科學技術的高度發(fā)展,機器人已經逐步在各行各業(yè)得到廣泛的應用,比如在未知或危險環(huán)境下,多機器人協(xié)同完成任務是最好的選擇。因此,基于移動機器人的研究逐漸成為當前的一大熱點。結合群體智能這個研究方向,設計該自主式機器人,主要目的是設計一群個體功能簡單的機器人,為群體智能方向的研究提供硬件平臺。本文描述的機器人采用的是luminary 的LM3S1968處理器,機器人之間通過Xbee通信模塊進行通信,利用紅外傳感器感來進行蔽障,達到群體協(xié)作共同完成相應的任務。

      1 系統(tǒng)硬件的設計

      從功能模塊劃分,系統(tǒng)由主控板,功能板和電機電源組成。

      1.1 主控板

      主控板主要由CPU及其外圍電路,以及一些調試用LED燈和按鍵組成。其電源輸入是由功能板上提供的5V電源,穩(wěn)壓芯片用的是LM1117-3.3V。經過電源轉換后,電源DP3V3穩(wěn)定在3.3V,為整個主控板供電[1]。如圖1所示。

      1.1.1 CPU

      主控板所選用的CPU是luminary 的LM3S1968。該CPU使用到的功能模塊有:GPIO端口,JTAG接口,定時器模塊,通用異步收發(fā)器等。其他模塊考慮到擴展應用的需要,在主控板上引出了接口,將來的使用者可根據需要進行調整。

      圖1 主控板

      1.1.2 時鐘晶振

      圖2 CPU外部時鐘

      CPU內部本身有一個12MHz的內部振蕩器,但頻差較大。因此機器人用的是一個外部的8MHz晶振作時鐘源,電路如圖2。而圖中另一個4.194M的晶振是供休眠模式使用的,在休眠模式中,CPU通過切換成較低頻率的時鐘來達到節(jié)能的目的。

      1.1.3 復位電路

      CPU的Reset是低電平有效,引腳外接到Reset按鍵,當按鍵按下時引腳輸入低電平,使CPU復位。初始狀態(tài)下復位后的CPU內程序被清空。

      1.1.4 LED與按鍵

      主控板上的LED燈和按鍵主要是用來作程序調試用的,如圖3和圖4所示。LED在相對應的GPIO輸出為低電平時點亮,燈D1是電源指示燈,D2是休眠模式指示燈,D3~D6是調試用燈;而按鍵電路中,按下按鍵則輸出一個低電平,其中Reset是復位鍵,Wake是休眠模塊用到的,KEY1和KEY2是調試用按鍵。

      圖3 LED電路

      圖4 按鍵電路

      1.1.5 接口

      在主控板上一共有一個電源接口、三個雙排插口和四組排針口。如圖1所示。

      1.2 功能板

      功能板是主控板的控制信號的執(zhí)行者,主要包括電源模塊、紅外測距、電機及驅動、串口等功能塊[2]。如圖5。

      圖5 功能板

      1.2.1 電源

      在功能板上存在著兩種供電電壓,分別為從電源的穩(wěn)壓輸入5V和3.3V,其中3.3V為紅外接收管和串行紅外接口供電,5V為板上的其他設備供電。

      1.2.2 紅外測距

      圖6 紅外測距模塊電路

      如圖6所示,在機器人上一共放置了五對測距紅外,上圖僅代表一對測距紅外和4066模擬開關芯片的聯(lián)接。當前方無障礙物時接收管斷開,輸出一個高電平,當前方有障礙物時發(fā)射管發(fā)射的紅外光反射回來,接收管導通,輸出一個低電平。為了調節(jié)發(fā)射強度,機器人在每個發(fā)射管上都連有一個電位器,可以通過調節(jié)電阻值大小來改變發(fā)射管的發(fā)射強度。

      1.2.3 電機

      采用四相步進電機,電機的轉速可以通過改變控制引腳狀態(tài)轉變的速度來控制。由于驅動電流過小,電機的四個引腳無法用GPIO口直接驅動,選用BA6845FS芯片驅動[3] ,如圖7所示。

      圖7 步進電機驅動電路

      1.2.4 串口

      圖8 UART與MAX232電路圖

      串口部分留出了兩對UART口和一個串行紅外通信模塊。CPU上的UART引腳需要經過232芯片,從TTL信號轉換為RS232信號。串行紅外的通信不需要經過232芯片的轉換,但需要一個集成的串行紅外模塊,電子鼠使用的是類似的HSDL-3600串行紅外通信芯片,芯片連接與3602相同[4]。在使用時,將兩個機器人的紅外通信口相對,即可進行串口的通信。

      1.2.5 接口

      在功能板上有兩個插口是與主控板相連接的,JP1對應的是主控板上的插口CONNECTOR, JP2對應的是插口UART1&IRC,以及功能板上還有一類接口是連接外部器件。如圖5所示。

      2 系統(tǒng)驅動的設計

      在這個部分中,將對這機器人的驅動程序進行說明,包括接口、模塊定義和實現(xiàn)等。

      2.1 結構體,常量和端口定義

      我們在驅動文件中,定義了一些常量和結構體控制機器人的運動,為上層功能提供數(shù)據接口,還定義了GPIO口的控制信號映射關系,以避免每次需要查找電路圖GPIO口連線。

      2.2 初始化

      在開始使用驅動程序之前,對CPU的時鐘、GPIO、LED燈、紅外測距、電機、定時器等各個模塊進行了初始化。用來記錄電機當前行止狀態(tài)、轉向、總步數(shù),電子鼠X、Y坐標、朝向、行止狀態(tài)、速度以及五個測距紅外的讀數(shù)值。

      2.3 電機驅動

      通過電機相位控制對電機的相位作記錄,根據當前電機轉向把相位向前或者向后推進一格。定時器中斷服務程序使用了CPU的兩個32位定時器Timer0和Timer1,分別對左輪和右輪進行定時驅動。電機轉速設置是通過改變相應定時器的置數(shù)值,改變定時器觸發(fā)中斷的周期,從而改變電機的轉速。

      2.4 運動的控制

      為了實現(xiàn)驅動的透明度,在電機控制之上加一層對機器人運動狀態(tài)的控制。主要運動狀態(tài)有左轉90度,左轉180度,右轉90度,右轉180度,熄火,前進等。

      定時掃描紅外測距模塊。在系統(tǒng)定時器SysTick的中斷服務程序中,驅動打開紅外測距模塊,對5個紅外測距進行逐一掃描讀數(shù),將讀到的結果保存在結構體變量Telemeter中。

      2.5 驅動應用:Pacer狀態(tài)機

      驅動的一個應用例子,通過狀態(tài)機模型實現(xiàn)機器人從初始點跑到終點,其間避開所遇到的障礙的功能。機器人根據當前位置和目標點位置貪婪地做出決策。如圖7所示:

      圖7 狀態(tài)轉化流程模型圖

      3 結論

      本文描述了機器人的結構設計,利用其基本功能實現(xiàn)了拼字母這一應用場景,并驗證了其性能。目前該設計中還有許多需要改進的地方,如布線、需要對功能板進行升級,將通信模塊集成到功能板上,給機器人控制加上反饋模塊,該模塊可以是指南針模塊或車輪轉數(shù)計數(shù)模塊,等等。

      [1] 劉霞等.電子設計與實踐[M] .電子工業(yè)出版社,2009.

      [2] (美)卡特索利斯著,徐君明,等譯.嵌入式硬件設計[M] ..中國電力版社,2004.

      [3] 王水平,周培志,張耀進等.PWM 控制與驅動器使用指南及應用電路[M] ..西安電子科技大學出版社,2005.

      [4] 海濤,龍軍主編.計算機通信技術[M] ..重慶大學出版社,2005.

      猜你喜歡
      主控板測距按鍵
      一種快速可靠的主控冗余及切換機制的設計與實現(xiàn)
      基于有限狀態(tài)機的按鍵檢測程序設計
      電子制作(2021年3期)2021-06-16 03:14:26
      類星體的精準測距
      科學(2020年3期)2020-01-06 04:02:51
      升級雙主控板交換機ISO
      淺談超聲波測距
      電子制作(2017年7期)2017-06-05 09:36:13
      變頻器檢測臺的設計、制作及主控板的維修
      電子制作(2016年11期)2016-11-07 08:43:30
      一種多方向導光按鍵結構設計
      電子制作(2016年1期)2016-11-07 08:43:05
      基于PSOC超聲測距系統(tǒng)設計
      相對差分單項測距△DOR
      太空探索(2014年1期)2014-07-10 13:41:50
      按鍵的多種狀態(tài)檢測及消抖處理方法
      家電科技(2013年4期)2013-07-09 10:55:08
      黄石市| 临高县| 连城县| 会泽县| 轮台县| 南靖县| 长宁县| 赫章县| 游戏| 图木舒克市| 平阳县| 霞浦县| 集贤县| 安达市| 北票市| 东乌珠穆沁旗| 长宁区| 双辽市| 扎赉特旗| 怀来县| 布尔津县| 丽江市| 蓝山县| 石狮市| 鄂托克旗| 贵德县| 平南县| 漯河市| 松原市| 永登县| 惠水县| 保靖县| 白山市| 宜昌市| 武安市| 龙州县| 巍山| 高青县| 宕昌县| 阳信县| 仙桃市|