新聞中心

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

        旋轉編碼器的編程思路

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

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

        本文引用地址:http://www.104case.com/article/201807/384413.htm

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

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

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

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

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

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

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

        A和B輸出波形為

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

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

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

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

        當檢測到A^B= 1時,表示有轉動,讀取AB的狀態,如果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.



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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广宗县| 保山市| 鱼台县| 石家庄市| 东丽区| 永寿县| 德钦县| 烟台市| 玛多县| 沅江市| 合阳县| 清原| 平舆县| 海口市| 泸定县| 张掖市| 墨玉县| 香格里拉县| 南部县| 万源市| 玛多县| 大新县| 余干县| 鸡泽县| 望都县| 子洲县| 汕头市| 武安市| 九寨沟县| 罗定市| 奈曼旗| 重庆市| 常熟市| 巴塘县| 准格尔旗| 梁山县| 新密市| 聂拉木县| 徐汇区| 武陟县| 孟州市|