<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 復雜路線下機器人的三點三輪尋跡系統(tǒng)

          復雜路線下機器人的三點三輪尋跡系統(tǒng)

          作者: 時間:2009-09-21 來源:網(wǎng)絡(luò) 收藏

          引 言
          智能尋跡是一種被廣泛研究的,而且國內(nèi)外都有許多重要的比賽都以尋跡為核心展開,如我國的“飛思卡爾”杯全國大學生智能車大賽,以及吸引亞太地區(qū)眾多國家參賽的亞廣聯(lián)(ABU)機器人大賽等。
          所謂的,即由小半徑彎道、各種角度折道、直道等組成的不規(guī)則導引線,它是相對由大半徑彎道組成、過渡平滑的簡單而言的。筆者所設(shè)計的尋跡機器人小車,以AT89C52單片機為控制芯片,采用自制的3個紅外光電器,以簡單的設(shè)計、較低的成本實現(xiàn)了下機器人的自主尋跡。

          本文引用地址:http://www.ex-cimer.com/article/163567.htm

          1 硬件及電路
          1.1 控制芯片
          考慮到實用性和性價比,采用AT89C52單片機作為機器人的控制芯片。AT89C52是美國Atmel公司生產(chǎn)的低電壓、高性能CMOS 8位單片機,片內(nèi)含8 KB的可反復擦寫的只讀存儲器(PEROM)和256B的隨機存取數(shù)據(jù)存儲器(RAM),32個I/O口線,3個16位定時/計數(shù)器,1個全雙工串行通行口。器件采用Atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標準MCS-51指令及8052產(chǎn)品引腳兼容。
          1.2 器模塊
          作為尋跡機器人的“眼睛”,選擇合適的器是關(guān)鍵。目前市面上可選用的傳感器主要有CCD傳感器和紅外光電傳感器兩種。近年來CCD傳感器技術(shù)已趨成熟,在近幾屆“飛思卡爾”杯智能車大賽上,采用CCD傳感器的智能車越來越多,并取得了不錯的成績。不過,CCD傳感器價格較高,體積較大,數(shù)據(jù)處理相當,因此在按既定路線行走的尋跡機器人設(shè)計中,紅外光電傳感器以其體積小、價格低、數(shù)據(jù)處理簡單而顯得更有優(yōu)勢。
          紅外光電傳感器由1個紅外發(fā)射管和1個光敏二極管組成。工作時,紅外發(fā)射管發(fā)射的紅外光被被測表面反射回來,光敏二極管接收被反射光。由于被測表面的材質(zhì)不同,反射率也不一樣。當被測表面為白色時,反射光較強,光敏二極管將導通;反之,被測表面為黑色時,光敏二極管將截止。考慮到外界環(huán)境光照等干擾因素,輸出的電壓值有一定的波動范圍,若直接輸給單片機,可能導致檢測判斷錯誤。因此,需要將輸出電壓通過比較器(LM324)與預置的閾值電壓比較,然后得出一個高低電平輸給單片機。閾值電壓通過試驗測量得出,其電路如圖1所示。其中LED為傳感器工作指示燈,R1為閾值電壓調(diào)節(jié)電阻。

          根據(jù)上述電路,自制了3個簡易的紅外光電傳感器。經(jīng)測試表明,性能良好,有效檢測距離為1~4 cm,滿足機器人尋跡的要求。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();