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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的智能循跡小車的硬件設(shè)計

          基于單片機的智能循跡小車的硬件設(shè)計

          作者: 時間:2011-12-01 來源:網(wǎng)絡(luò) 收藏

          3.3 電機驅(qū)動模塊
          驅(qū)動電機控制選用MC33886 H橋電機驅(qū)動芯片,其整個驅(qū)動電路如圖5所示。在此應(yīng)用中,MC33886的作用是將恒定的直流電源電壓(電池電壓)調(diào)制成頻率一定、寬度可變的PWM脈沖電壓序列,從而改變輸出平均電壓的大小。為了增強驅(qū)動電機的能力,可將兩片MC33886并聯(lián)。而為了提高控制精度,則可將內(nèi)部的PWM2和PWM3兩個通道8位寄存器級聯(lián)成16位寄存器,并從PWM3通道輸出脈沖。同理??蓪WM4和PWM5兩個通道8位寄存器也級聯(lián)成16位寄存器,也從PWM5通道輸出脈沖,PWM2和PWM3通道與引腳PP3和PP5復(fù)用,的PP3和PP5引腳輸出的PWM脈沖經(jīng)器件6N137光耦隔離后,通過信號INl和IN2進入MC33886 H橋輸入端,MC33886 H橋輸出端OUTl和OUT2分別接電機電樞兩端,從而控制電機的四象限運行。


          3.4 車速檢測模塊
          為了構(gòu)成閉環(huán)系統(tǒng),需要檢測小車速度。本系統(tǒng)中的反饋通道中采用了歐姆龍公司的增量型旋轉(zhuǎn)編碼器E6A2CS3C,并采用五線制(三根脈沖線,2根電源線),分辨率為200P/R。由于只測量車速,故只需3線,即棕色線(7.2 V電壓)、黑色線(A相輸出脈沖)和藍色線(接地),其中黑色線(A相輸出脈沖)引入單片機PT0引腳,以統(tǒng)計脈沖個數(shù),獲取電機速度。車速檢測模塊的接線如圖6所示。


          3.5 舵機模塊
          本設(shè)計采用的是Futaba S3010型號的舵機,其接線如圖7所示。該舵機實質(zhì)上是一個位置隨動系統(tǒng),它由舵盤、減速齒輪組、位置反饋電位計、直流電機和控制電路組成,通過內(nèi)部位置反饋,可使它的舵盤輸出轉(zhuǎn)角正比于給定控制信號,這樣,在負載力矩小于其最大輸出力矩的情況下,它的輸出轉(zhuǎn)角就會正比于給定的脈沖寬度。Futaba S3010型號舵機的接口是三根線,黑線(接地)、紅線(電源線)和白色線(控制信號線)。為了提高舵機的響應(yīng)速度,一般選擇最大的工作電壓7.2 V,并將單片機內(nèi)部PWM0和PWMl兩路8位輸出級聯(lián)成一個16位PWM輸出,然后從PWMl通道輸出脈沖。同時由于PWMl通道和引腳PPl復(fù)用,因此,引腳PPl便可輸出控制脈沖給舵機。

          4 結(jié)束語
          本文介紹了黑線循跡的硬件系統(tǒng)實現(xiàn)方法,實踐證明,該車效果好,響應(yīng)速度快,在規(guī)定的賽道上能跑出20秒的好成績,從而證明了該系統(tǒng)硬件設(shè)計的正確性。


          上一頁 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); })();