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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 增量型光電編碼器抗抖動二倍頻電路的設(shè)計

          增量型光電編碼器抗抖動二倍頻電路的設(shè)計

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

            在某些工業(yè)自動控制領(lǐng)域、某些裝備應(yīng)用上,經(jīng)常會遇到各種需要測量長度的場合,目前通常采用的是。根據(jù)其刻度方法及信號輸出形式,可分為增量式、絕對式、混合式三種。它是一種集光、機、電為一體的,具有精度高、響應(yīng)快、性能穩(wěn)定可靠等顯著的優(yōu)點,能夠精確地檢測角度、轉(zhuǎn)速、位移等參數(shù)。它可以將位移等物理量轉(zhuǎn)變?yōu)閿?shù)字脈沖信號,通過計算脈沖的個數(shù),實現(xiàn)精確的位移測量。然而由于工作環(huán)境等因素影響,增量型輸出信號中含有較多的抖動誤碼脈沖,將會引起誤計數(shù)。本文分析誤碼脈沖產(chǎn)生的原因,設(shè)計一種有效的濾波電路。

            1 增量型編碼器的工作原理

            增量型編碼器是一種通過光電轉(zhuǎn)換將輸出軸上的機械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的,它由光柵盤和光電檢測裝置組成。光柵盤是在一定直徑的圓板上等分地開通若干個長方形孔,見圖1。由于光電碼盤與電動機同軸,電動機旋轉(zhuǎn)時,光柵盤與電動機同速旋轉(zhuǎn),經(jīng)發(fā)光二極管等電子元件組成的檢測裝置檢測輸出若干脈沖信號,編碼盤上涂有兩道相差90°黑自相同的柵欄,分別稱之為A道和B道。其輸出脈沖也是相差90°。當(dāng)編碼器正向旋轉(zhuǎn)時,A相比B相超前90°,當(dāng)編碼器反向旋轉(zhuǎn)時,A相比B相滯后90°。正常情況下編碼器的輸出波形如圖1所示。

          編碼器的輸出波形

            2 誤碼脈沖產(chǎn)生的原因及其濾除方法

            2.1 誤碼脈沖產(chǎn)生的原因

            為了說明誤碼脈沖的存在性,將編碼器碼盤局部放大。圖1中點0是編碼器旋轉(zhuǎn)軸的中心,圓角矩形代表碼盤上A列和B列透光狹縫。假定編碼器一相信號處于某種狀態(tài),而另一相信號處于高低電平跳變的交界狀態(tài),則編碼器的誤碼脈沖如圖2(a),圖2(b)所示。由于電機的旋轉(zhuǎn)或機械設(shè)備的振動,會使編碼器輸出脈沖抖動,從而引起誤計數(shù)。它一方面表現(xiàn)為在透光窗口附近的抖動,引起的干擾脈沖,如圖2(a)給出了A相脈沖信號在上升沿和下降沿發(fā)生抖動輸出的時序波形,圖2(b)給出了B相脈沖信號在上升沿和下降沿發(fā)生抖動輸出的時序波形;另一方面表現(xiàn)為在編碼器的某點附近前后振動,引起干擾脈沖。如圖2(c),圖2(d)給出了信號在編碼器b點前后抖動的時序波形。編碼器從a點正轉(zhuǎn)到b點,然后編碼器反轉(zhuǎn)到a點,又正轉(zhuǎn)到b點,兩個b點之間的脈沖數(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); })();