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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的步進(jìn)電機(jī)控制器研究和實(shí)現(xiàn)

          基于FPGA的步進(jìn)電機(jī)控制器研究和實(shí)現(xiàn)

          作者: 時(shí)間:2011-04-02 來源:網(wǎng)絡(luò) 收藏

          DEC2為無細(xì)分時(shí)的電機(jī)控制模塊,控制雙四拍時(shí)的正反轉(zhuǎn)。
          的正、反轉(zhuǎn)控制可通過改變各繞組的通電順序來改變轉(zhuǎn)向,當(dāng)四相雙四拍的通電順為AB→BC→CD→DA→AB…時(shí),電機(jī)正轉(zhuǎn);當(dāng)其繞組按AD→DC→CB→BA→AD…的順序通電時(shí),電機(jī)反轉(zhuǎn)。因此,利用case語句編程來改變輸出脈沖的順序,以此改變步進(jìn)電機(jī)繞組的通電順序。用‘1’表示該繞組加電;用‘0’表示該繞組斷電。
          4.JPG
          圖4為DEC2反轉(zhuǎn)時(shí)的仿真波形。

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

          5.JPG


          2.2 利用VHDL文件生成元器件
          工程創(chuàng)建好以后,就可以用設(shè)計(jì)好的VHDL語言文件生成工程模塊。首先打開CNT8.vhd文件,點(diǎn)擊菜單中File→Create/Update→Crea-te Symbol Files forCurrent File命令,以生成圖5所示CNT8模塊。

          7.JPG


          按照同樣的方法生成CNT24和DEC2模塊。將這些模塊包裝為一個(gè)symbol,以備總模塊調(diào)用,如圖5所示。
          2.3 原理圖輸入設(shè)計(jì)
          2.3.1 PWM_1.mif文件的設(shè)計(jì)
          在設(shè)計(jì)前,必須首先完成存放PWM波形的ROM存儲(chǔ)器設(shè)計(jì),而在此之前還必須定制LPM_ROM初始化數(shù)據(jù)文件,如圖6所示。

          8.JPG


          2.3.2 ROM存儲(chǔ)器的設(shè)計(jì)
          mif文件建好以后就可以進(jìn)入ROM存儲(chǔ)器的設(shè)計(jì)。
          設(shè)計(jì)好的rom3模塊如圖7所示。

          9.JPG


          2.3.3 定制模塊
          調(diào)用LPM庫中的模塊,定制BUSMUX(參數(shù)化多路數(shù)據(jù)選擇器)元件和lpm_compare0元件。
          如圖8所示,數(shù)據(jù)選擇器通過模式選擇信號(hào),再根據(jù)不同的模式功能選擇該功能模塊的信號(hào)輸出。該模塊的輸入信號(hào)有模式選擇信號(hào)sel[0],即非細(xì)分控制和模式選擇信號(hào)sel[1],即細(xì)分控制。當(dāng)sel為“0”時(shí),對(duì)應(yīng)的為非細(xì)分控制輸出,即由DEC2輸出,此時(shí)步進(jìn)電機(jī)按照雙四拍模式運(yùn)行;當(dāng)sel為“1”時(shí),對(duì)應(yīng)的為細(xì)分控制輸出,即由比較器CMP3輸出,此時(shí)步進(jìn)電機(jī)按照細(xì)分8拍模式運(yùn)行。



          評(píng)論


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