新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 旋轉(zhuǎn)編碼器的編程思路

旋轉(zhuǎn)編碼器的編程思路

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

旋轉(zhuǎn)應(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)了一周。因此旋轉(zhuǎn)編碼器可以角位移及位移方向。

本文引用地址:http://butianyuan.cn/article/201807/384413.htm

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

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

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

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

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

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

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

A和B輸出波形為

通過輸出波形圖可知每個運(yùn)動周期的時序?yàn)?/p>

靜止?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:異或運(yùn)算

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

1^1=0

0^0=0

1^0=1

0^1=1

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



關(guān)鍵詞: 單片機(jī) 編碼器 測量

評論


相關(guān)推薦

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

關(guān)閉