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

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 一種基于FPGA的智能小車設(shè)計方案

          一種基于FPGA的智能小車設(shè)計方案

          作者: 時間:2014-07-15 來源:網(wǎng)絡(luò) 收藏

            超聲波發(fā)射電路如圖7所示。

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

            3.3 電機(jī)驅(qū)動電路

            電機(jī)驅(qū)動模塊采用專用芯片L298N作為電機(jī)驅(qū)動芯片,L298N是一個具有高電壓大電流的全橋驅(qū)動芯片,其響應(yīng)頻率高,一片L298N可以分別控制兩個直流電機(jī)。表1為L298N功能表。L298N的5、7、10、12四個引腳接到上,通過對的編程就可實現(xiàn)兩個直流電機(jī)的PWM調(diào)速控制,其驅(qū)動電路的設(shè)計如圖8所示。

            

           

            4 系統(tǒng)軟件設(shè)計

            本系統(tǒng)采用PWM來調(diào)節(jié)直流電機(jī)的速度,通過VHDL語言編程實現(xiàn)的邏輯門控制。小車進(jìn)入循跡模式后就開始不停地掃描與紅外探測器連接的單片I/O口,一旦檢測到某個I/O口有信號變化,就執(zhí)行相應(yīng)的判斷程序,把相應(yīng)的信號發(fā)送給電動機(jī)從而糾正小車的運行狀態(tài)。小車循跡避障流程圖分別如圖9、圖10所示。

            

           

            5 系統(tǒng)測試

            為了測試系統(tǒng)的正常運行情況,設(shè)計場景對循跡小車系統(tǒng)進(jìn)行測試。測試路線是用黑色的電工膠布來鋪設(shè),鋪設(shè)在淺色地板上,該軌道為S型,在起點處以及各個目的地的終點處,有一條貫穿軌道的黑色橫線,以此來指明停車點,S型軌道結(jié)束后,地面的任意擺上幾個障礙物,走完障礙物路面到達(dá)指定地點停車。

            通過軟硬件調(diào)試,在Quartus II軟件上得到的仿真波形如圖11所示。

            

           

            6 結(jié)論

            文中設(shè)計的,采用紅外傳感器TRTC5000為循跡模塊、FPCA為主要控芯片。小車使用單元模塊化的電路設(shè)計,使得系統(tǒng)簡潔,響應(yīng)快、性能穩(wěn)定,經(jīng)測試小車實現(xiàn)了避障循跡功能。

          fpga相關(guān)文章:fpga是什么


          手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)


          pwm相關(guān)文章:pwm是什么


          負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理
          透射電鏡相關(guān)文章:透射電鏡原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: FPGA 智能小車 CycloneⅡEP2 C5T

          評論


          相關(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); })();