新聞中心

EEPW首頁 > 設(shè)計應(yīng)用 > 【E課堂】旋轉(zhuǎn)編碼器的編程思路

【E課堂】旋轉(zhuǎn)編碼器的編程思路

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

  應(yīng)用于角度定位或測量時,通常有A、B、Z三相輸出。A相和B相輸出占空比為50%的方波。編碼器每轉(zhuǎn)一周,A相和B相輸出固定數(shù)目的脈沖。當(dāng)編碼器正向旋轉(zhuǎn)時,A相比B相超前四分之一個周期;當(dāng)編碼器反向旋轉(zhuǎn)時,B相比A相超前四分之一個周期。A相和B相輸出方波的相位差為90°。編碼器每轉(zhuǎn)一周,Z相輸出一個脈沖。由于編碼器每轉(zhuǎn)一周,A相和B相輸出固定數(shù)目的脈沖,則A相或B相每輸出一個脈沖,表示編碼器旋轉(zhuǎn)了一個固定的角度。當(dāng)Z相輸出一個脈沖時,表示編碼器旋轉(zhuǎn)了一周。因此可以測量角位移及位移方向。

本文引用地址:http://www.butianyuan.cn/article/201707/361583.htm

  我們通常用的是增量型編碼器,可將的輸出脈沖信號直接輸入給PLC,利用PLC的高速計數(shù)器對其脈沖信號進(jìn)行計數(shù),以獲得測量結(jié)果。不同型號的旋轉(zhuǎn)編碼器,其輸出脈沖的相數(shù)也不同,有的旋轉(zhuǎn)編碼器輸出A、B、Z三相脈沖,有的只有A、B相兩相,最簡單的只有A相。

  編碼器有5條引線,其中3條是脈沖輸出線,1條是COM端線,1條是電源線(OC門輸出型)。編碼器的電源可以是外接電源,也可直接使用PLC的DC24V電源。電源“-”端要與編碼器的COM端連接,“+ ”與編碼器的電源端連接。編碼器的COM端與PLC輸入COM端連接,A、B、Z兩相脈沖輸出線直接與PLC的輸入端連接,A、B為相差90度的脈沖,Z相信號在編碼器旋轉(zhuǎn)一圈只有一個脈沖,通常用來做零點的依據(jù),連接時要注意PLC輸入的響應(yīng)時間。旋轉(zhuǎn)編碼器還有一條屏蔽線,使用時要將屏蔽線接地,提高抗干擾性。

  編碼器-----------PLC

  A,B,Z 分別接入PLC的輸入點(按速計數(shù)器HSC的規(guī)定)

  +24V------------+24V

  COM------------- -24V-----------COM

  旋轉(zhuǎn)編碼器的應(yīng)用電路為:

  其中100pF的電容為去抖動的作用,但是軟件處理的時候最好還是加上軟件去抖動,以防止誤判。軟件去抖動最常用的就是延時和連續(xù)采樣多次,在此不再詳述。

  A和B輸出波形為

    

  通過輸出波形圖可知每個運動周期的時序為

  靜止?fàn)顟B(tài)為11或00,A異或B的結(jié)果為0(注1)

  單片機可利用定時器中斷來檢測A和B的狀態(tài),中斷時間在5~20ms之間均可。

  當(dāng)檢測到A^B= 0時,表示為靜止?fàn)顟B(tài),記下A和B的狀態(tài)。

  當(dāng)檢測到A^B= 1時,表示有轉(zhuǎn)動,讀取AB的狀態(tài),如果AB是從11到01或者是

  從00到10則為正轉(zhuǎn),反之如果AB是從11到10或者是從00到01則為反轉(zhuǎn)。

  此方法比較簡單可靠,可以檢測轉(zhuǎn)動一格又可以檢測快速轉(zhuǎn)動。

  注1:異或運算

  異或的運算方法是一個二進(jìn)制運算,C語言中用A^B表示A異或B:

  1^1=0

  0^0=0

  1^0=1

  0^1=1

  兩者相等為0,不等為1.



關(guān)鍵詞: 旋轉(zhuǎn)編碼器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉