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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的伺服驅(qū)動(dòng)器分周比設(shè)計(jì)與實(shí)現(xiàn)

          基于FPGA的伺服驅(qū)動(dòng)器分周比設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2009-08-07 來源:網(wǎng)絡(luò) 收藏

          OSG被脈沖信號(hào)的上升沿觸發(fā)后,根據(jù)當(dāng)前狀態(tài)和方向信號(hào),跳到下一個(gè)狀態(tài)。當(dāng)方向信號(hào)為正時(shí),按照外環(huán)的逆時(shí)針方向切換狀態(tài),產(chǎn)生A'相超前B'相 90°的正交脈沖序列;當(dāng)方向信號(hào)為負(fù)時(shí),按照內(nèi)環(huán)的順時(shí)針方向切換狀態(tài),產(chǎn)生B'相超前A'相90°的正交脈沖序列,仿真如6所示。

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

          圖6中,dir為方向信號(hào),其跳變沿即方向變化處。由圖6可見,電機(jī)正轉(zhuǎn)時(shí)順序?yàn)?0→11→01→00(反向)→01→11→10→…。實(shí)現(xiàn)了相位隨輸入信號(hào)的切換。
          最后,對(duì)分周比功能整體結(jié)構(gòu)進(jìn)行仿真,輸入為正交的脈沖序列。輸入模仿實(shí)際電機(jī)光電編碼器脈沖輸出對(duì)脈沖相位反復(fù)切換以驗(yàn)證電機(jī)定位后的輸出。仿真如圖7所示。
          從圖7中可見,當(dāng)輸入信號(hào)pula,pulb相位不斷切換時(shí),輸出pula1,pulb1按照3分頻,滿足3或-3后輸出新的正交序列。實(shí)際實(shí)驗(yàn)波形如圖8所示。

          圖8中,波形1、波形2分別是光電編碼器輸出的A相、B相正交脈沖。波形3、波形4分別是對(duì)A相、B相正交脈沖3分頻后的A'相、B'相正交脈沖。觀察圖 7,圖8,結(jié)果一致。用此方案實(shí)現(xiàn)的分周比已經(jīng)成功應(yīng)用于高精度中,在實(shí)際應(yīng)用中反復(fù)驗(yàn)證,未發(fā)現(xiàn)誤差。


          4 結(jié) 語
          本文提出的分周比實(shí)現(xiàn)方法可以準(zhǔn)確地將光電編碼器輸出的正交信號(hào)按照設(shè)定的分周比進(jìn)行分頻。通過設(shè)定分頻比可以實(shí)現(xiàn)1~256倍的分頻,甚至更高。在實(shí)際系統(tǒng)中,還可以利用MCU通過總線在線配置分周比。假如要實(shí)現(xiàn)分?jǐn)?shù)比例的分周比,也只需在本方案基礎(chǔ)上稍加改進(jìn)即可。

          伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理



          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA 伺服驅(qū)動(dòng)器

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