【E課堂】旋轉(zhuǎn)編碼器的編程思路
旋轉(zhuǎn)編碼器應(yīng)用于角度定位或測(cè)量時(shí),通常有A、B、Z三相輸出。A相和B相輸出占空比為50%的方波。編碼器每轉(zhuǎn)一周,A相和B相輸出固定數(shù)目的脈沖。當(dāng)編碼器正向旋轉(zhuǎn)時(shí),A相比B相超前四分之一個(gè)周期;當(dāng)編碼器反向旋轉(zhuǎn)時(shí),B相比A相超前四分之一個(gè)周期。A相和B相輸出方波的相位差為90°。編碼器每轉(zhuǎn)一周,Z相輸出一個(gè)脈沖。由于編碼器每轉(zhuǎn)一周,A相和B相輸出固定數(shù)目的脈沖,則A相或B相每輸出一個(gè)脈沖,表示編碼器旋轉(zhuǎn)了一個(gè)固定的角度。當(dāng)Z相輸出一個(gè)脈沖時(shí),表示編碼器旋轉(zhuǎn)了一周。因此旋轉(zhuǎn)編碼器可以測(cè)量角位移及位移方向。
本文引用地址:http://cafeforensic.com/article/201707/361583.htm我們通常用的是增量型編碼器,可將旋轉(zhuǎn)編碼器的輸出脈沖信號(hào)直接輸入給PLC,利用PLC的高速計(jì)數(shù)器對(duì)其脈沖信號(hào)進(jìn)行計(jì)數(shù),以獲得測(cè)量結(jié)果。不同型號(hào)的旋轉(zhuǎn)編碼器,其輸出脈沖的相數(shù)也不同,有的旋轉(zhuǎn)編碼器輸出A、B、Z三相脈沖,有的只有A、B相兩相,最簡(jiǎn)單的只有A相。
編碼器有5條引線,其中3條是脈沖輸出線,1條是COM端線,1條是電源線(OC門輸出型)。編碼器的電源可以是外接電源,也可直接使用PLC的DC24V電源。電源“-”端要與編碼器的COM端連接,“+ ”與編碼器的電源端連接。編碼器的COM端與PLC輸入COM端連接,A、B、Z兩相脈沖輸出線直接與PLC的輸入端連接,A、B為相差90度的脈沖,Z相信號(hào)在編碼器旋轉(zhuǎn)一圈只有一個(gè)脈沖,通常用來做零點(diǎn)的依據(jù),連接時(shí)要注意PLC輸入的響應(yīng)時(shí)間。旋轉(zhuǎn)編碼器還有一條屏蔽線,使用時(shí)要將屏蔽線接地,提高抗干擾性。
編碼器-----------PLC
A,B,Z 分別接入PLC的輸入點(diǎn)(按速計(jì)數(shù)器HSC的規(guī)定)
+24V------------+24V
COM------------- -24V-----------COM
旋轉(zhuǎn)編碼器的應(yīng)用電路為:
其中100pF的電容為去抖動(dòng)的作用,但是軟件處理的時(shí)候最好還是加上軟件去抖動(dòng),以防止誤判。軟件去抖動(dòng)最常用的就是延時(shí)和連續(xù)采樣多次,在此不再詳述。
A和B輸出波形為
通過輸出波形圖可知每個(gè)運(yùn)動(dòng)周期的時(shí)序?yàn)?/p>
靜止?fàn)顟B(tài)為11或00,A異或B的結(jié)果為0(注1)
單片機(jī)可利用定時(shí)器中斷來檢測(cè)A和B的狀態(tài),中斷時(shí)間在5~20ms之間均可。
當(dāng)檢測(cè)到A^B= 0時(shí),表示為靜止?fàn)顟B(tài),記下A和B的狀態(tài)。
當(dāng)檢測(cè)到A^B= 1時(shí),表示有轉(zhuǎn)動(dòng),讀取AB的狀態(tài),如果AB是從11到01或者是
從00到10則為正轉(zhuǎn),反之如果AB是從11到10或者是從00到01則為反轉(zhuǎn)。
此方法比較簡(jiǎn)單可靠,可以檢測(cè)轉(zhuǎn)動(dòng)一格又可以檢測(cè)快速轉(zhuǎn)動(dòng)。
注1:異或運(yùn)算
異或的運(yùn)算方法是一個(gè)二進(jìn)制運(yùn)算,C語言中用A^B表示A異或B:
1^1=0
0^0=0
1^0=1
0^1=1
兩者相等為0,不等為1.
評(píng)論