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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > EPM7128在光柵位移測量儀中的應(yīng)用

          EPM7128在光柵位移測量儀中的應(yīng)用

          作者: 時間:2011-09-07 來源:網(wǎng)絡(luò) 收藏
          3.2 細(xì)分辨向電路

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

            尺信號的細(xì)分與辨向足提高尺測量精度的關(guān)鍵性一步,沒計者需要綜合考慮辨向與細(xì)分的復(fù)雜性。在辨向時,是對細(xì)分后的信號進(jìn)行辨向,而不是在細(xì)分前進(jìn)行辨向,否則不能提高測量精度。本測量系統(tǒng)中是先細(xì)分、后辨向。電路仿真波形如圖5所示。

            

            在波形圖中:a、b信號足輸入波形,clk是系統(tǒng)時鐘;clr是系統(tǒng)復(fù)位信號;direction是方向信號,通過該信號能夠判斷出尺中指示光柵的移動方向,如果是高電平,則表示指示光柵作正向運動,反之則作反向運動;clkadd表示指示光柵正向運動時的細(xì)分信號;clksubb表示指示光柵反向運動時的細(xì)分信號;clkout信號是clkadd和clksubb相與非后的結(jié)果,該信號作為可逆計數(shù)器的時鐘信號;當(dāng)direction為高電平時,叮逆計數(shù)器作加運算,當(dāng)direction為低電平時,可逆計數(shù)器作減運算。

            3.3 計數(shù)電路

            本系統(tǒng)中的計數(shù)器采用VHDL進(jìn)行設(shè)計,輸入信號定義為時鐘信號和方向信號,輸出信號定義為24位的計數(shù)結(jié)果。用VHDL實現(xiàn)的24位可逆計數(shù)器功能的原程序如下:

            

            仿真波形如圖6所示。

            

            在波形圖中:clk信號是上一級電路的clkout信號,作為可逆計數(shù)器的時鐘;up_down是辨向信號,計數(shù)器的加運算和減運算由該信號控制,當(dāng)up_down為高電平時計數(shù)器作加法,否則作減法。

            3.4 譯碼驅(qū)動和顯示電路

            本系統(tǒng)中要正確顯示測量結(jié)果,需要譯碼驅(qū)動和顯示電路模塊,澤碼電路用于轉(zhuǎn)換24位的計數(shù)結(jié)果;顯示電路需要8個LED顯示數(shù)據(jù),其中1個LED為符號位。當(dāng)正向運動時,符號位不顯示符號,當(dāng)反向運動時顯示-號。

            4 結(jié)束語

            基于EPM 7128SLC84-15構(gòu)成的測量系統(tǒng)具有分辨率高、誤差小、電路結(jié)構(gòu)簡單、成本低等優(yōu)點,完全能夠滿足實際測量的需要。由于采用的是CPLD設(shè)計,系統(tǒng)易于升級。


          上一頁 1 2 下一頁

          評論


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