旋轉編碼器應用于角度定位或測量時(shí),通常有A、B、Z三相輸出。旋轉編碼器的輸出波形見(jiàn)圖1。 |
![]() |
A相和B相輸出占空比為50%的方波。編碼器每轉一周,A相和B相輸出固定數目的脈沖(如100個(gè)脈沖)。當編碼器正向旋轉時(shí),A相比B相超前四分之一個(gè)周期;當編碼器反向旋轉時(shí),B相比A相超前四分之一個(gè)周期。A相和B相輸出方波的相位差為90±45°。編碼器每轉一周,Z相輸出一個(gè)脈沖。由于編碼器每轉一周,A相和B相輸出固定數目的脈沖,則A相或B相每輸出一個(gè)脈沖,表示編碼器旋轉了一個(gè)固定的角度。當Z相輸出一個(gè)脈沖時(shí),表示編碼器旋轉了一周。因此旋轉編碼器可以測量角位移及位移方向。 問(wèn)題出在伺服系統停止工作時(shí),若無(wú)鎖定,則旋轉軸受外力(如風(fēng)力影響)可能自由晃動(dòng),因而引起編碼器輸出波形抖動(dòng),如圖2所示, |
![]() |
從而引起誤計數。在這種情況下,就不能對波形進(jìn)行正確計數。雖然可以通過(guò)軟件設置標志狀態(tài),用記錄歷史狀態(tài)的變化來(lái)濾除誤計數,但是程序耗費頗大。因此,本人設計了一個(gè)抗抖動(dòng)計數電路,它能夠自動(dòng)消除抖動(dòng)造成的誤計數。 |
1 抗抖動(dòng)計數電路原理圖 圖3是抗抖動(dòng)計數電路原理圖。 |
![]() |
此電路濾除了旋轉編碼器輸出波形的抖動(dòng)現象。該電路分為四個(gè)部分:譯碼電路U4A;互鎖電路U5A、U5B;正旋計數鏈J1、J3、J5和反旋計數鏈J2、J4、J6。U4A為二四譯碼器,U5A、U5B為與門(mén),J1~J6為D觸發(fā)器。正旋計數鏈負責對編碼器正向旋轉的計數,反旋計數鏈負責對編碼器反向旋轉的計數。 |
2 抗抖動(dòng)計數電路工作分析 圖4為二四譯碼器輸出的波形 |
![]() |
譯碼器產(chǎn)生d、a、b、c四種不同的狀態(tài)。在圖3中當B=0、A=0時(shí),譯碼器 Q0輸出為d狀態(tài),d狀態(tài)為高電平。當B=0、A=1時(shí),譯碼器Q1輸出為a狀態(tài),a狀態(tài)為高電平。當B=1、A=1時(shí),譯碼器 Q2輸出為b狀態(tài),b狀態(tài)為高電平。b狀態(tài)不影響計數和方向確定,在圖3電路中沒(méi)有使用。當B=1、A=0時(shí),譯碼器Q3輸出為c狀態(tài),c狀態(tài)為高電平。
當旋轉編碼器正向旋轉時(shí),譯碼器輸出的狀態(tài)順序為d、a、b、c、d、a、b、c……。如圖4所示。當B=0、A=0時(shí),進(jìn)入d狀態(tài),與門(mén)U5A的Pin2=a=0(Pin是管腳的意思),于是U5A的輸出Pin3=0。D觸發(fā)器J1的R=d=1、S=0,因此J1被清0。與門(mén)U5B的Pin5=c=0,于是U5B的輸出Pin4=0。D觸發(fā)器J2的R=d=1、S=0,因此J2也被清0。這時(shí)J1、J2的端都為1,與門(mén)U5的 Pin1=Pin6=1,U5A和U5B都處于等待開(kāi)門(mén)狀態(tài)。當進(jìn)入狀態(tài)a時(shí),Q1=a=1,U5A的Pin2=a=1。由于c=0所以J2的端仍為1,U5A的Pin1=1U5A的輸出Pin3=1。J1的R=d=0、S=1,因此J1被置1。J1的Q=1,=0。J1的Q=1,正旋標志送到了J3的D端。同時(shí)J1的端關(guān)閉了U5B。在下一個(gè)d出現之前,所有的c脈沖都不會(huì )改變J2的狀態(tài)。這就是說(shuō),J1、J3、J5組成的正旋計數鏈被打開(kāi),J2、J4、J6組成的反旋計數鏈被阻斷。U5A、U5B、J1、J2完成互鎖的功能。在進(jìn)入狀態(tài)a時(shí),J3的R=a=1、S=0,J3被清0,J5的R=a=1、S=0,J5被清0。在進(jìn)入狀態(tài)c前,J3的R=a=0、S=0、D=1,J3處于待觸發(fā)狀態(tài)。J3的CLK=c,當c脈沖上升沿過(guò)后,D=1被打入J3的Q端,正旋標志送到了J5的D端。在進(jìn)入狀態(tài)d前,J5的R=a=0、S=0,J5處于待觸發(fā)狀態(tài)。J5的CLK=d,當d脈沖上升沿過(guò)后,D=1被打入J5的Q端,正旋標志送到了正旋計數輸出端。正旋計數輸出端由低電平變?yōu)楦唠娖健5酱藶橹梗瓿闪艘淮握嫈怠.斢蔂顟B(tài)d進(jìn)入狀態(tài)a時(shí),J5的R=a=1、S=0,J5被清0,正旋計數輸出端由高電平變?yōu)榈碗娖健S纱丝芍斝D編碼器正向旋轉時(shí),對應A相和B相的每一個(gè)完整周期,正旋計數輸出端都會(huì )產(chǎn)生相應的一個(gè)脈沖。 |
![]() |
本人把此電路用于對天線(xiàn)云臺角度的定位與測量。 |