新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 旋轉編碼器的編程思路

旋轉編碼器的編程思路

作者: 時間:2018-07-30 來源:網絡 收藏

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

本文引用地址:http://2s4d.com/article/201807/384413.htm

我們通常用的是增量型編碼器,可將旋轉編碼器的輸出脈沖信號直接輸入給PLC,利用PLC的高速計數(shù)器對其脈沖信號進行計數(shù),以獲得結果。不同型號的旋轉編碼器,其輸出脈沖的相數(shù)也不同,有的旋轉編碼器輸出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相信號在編碼器旋轉一圈只有一個脈沖,通常用來做零點的依據(jù),連接時要注意PLC輸入的響應時間。旋轉編碼器還有一條屏蔽線,使用時要將屏蔽線接地,提高抗干擾性。

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

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

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

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

旋轉編碼器的應用電路為:

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

A和B輸出波形為

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

靜止狀態(tài)為11或00,A異或B的結果為0(注1)

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

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

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

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

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

注1:異或運算

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

1^1=0

0^0=0

1^0=1

0^1=1

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



關鍵詞: 單片機 編碼器 測量

評論


相關推薦

技術專區(qū)

關閉