AB相編碼器與正交解碼,絕對值編碼器:
一、增量式編碼器:
歐姆龍的編碼器一般爲AB相增量式編碼器,在輸出方式上分爲電壓輸出和集電極開路輸出兩種輸出方式。其中集電極開路輸出在採集脈衝是需要加一個上拉電阻。同時編碼器還有一個Z相信號,即編碼器機械零位信號,每當編碼器轉到機械零位,Z相輸出一個脈衝,可用於矯正脈衝長時間的積分誤差。
二、正交解碼:
如果只是採集A相或B相的脈衝數,只能測量轉速的大小,而不能判斷旋轉的方向。正交解碼則能解決這個問題。
光電編碼器:
AB相輸出:
發光二極管發射的光通過光柵到達光敏管,引起電平變化。
如果正轉,A相輸出超前B相90度,如果反轉A相滯後B相90度。
每轉一週,索引相,即Z相經過發光二極管一次,輸出一個脈衝,可作爲編碼器的機械零位。
1、 FTM正交解碼
現在很多單片機都有FTM模塊,FTM模塊中則有正交解碼功能。正交解碼有兩種模式。下面以飛思卡爾(現在爲恩智浦)的K60芯片的FTM爲例進行講。
一種是AB相正交解碼,
先介紹兩個寄存器:
CNT寄存器:寄存器通過正解解碼的得到的脈衝值,最後只要讀取CNT的值就可以得到編碼器轉數(正值爲正轉,負值爲反轉)。
CNTIT寄存器:CNT計數的初始值。
AB相的電平和跳變沿決定了CNT的加數和減數。
CNT增計數時:
A上升沿,B邏輯低
B上升沿,A邏輯高
B下降沿,A邏輯低
A下降沿,B邏輯高
CNT減計數是:
A下降沿,B邏輯低
B下降沿,A邏輯高
B上升沿,A邏輯低
A上升沿,B邏輯高
另外一種A相輸出的是脈衝,B相輸出方向。
當B相輸出高電平,CNT寄存器加上A相輸出的脈衝;
當B相輸出低電平,CNT寄存器減去A相輸出的脈衝;
而CNT的初始值由CNTIT決定,一般設置爲0。
2、 D觸發器:
如果單片機沒有正交解碼功能,可以通過D觸發器來判斷編碼器的旋轉方向。
將編碼器的B相作爲時鐘輸入到D觸發器的1CLK(時鐘),A相作爲脈衝輸入到D觸發器的1D(數據位)。當B相有上升沿時,A相的電平將被鎖存到Q1引腳。這樣,通過讀取Q1引腳電平的高低,就可以判定編碼器的旋轉方向。當Q1爲高電平時,A相超前B相,正轉;當Q1爲低電平時,A相滯後B相,反轉;再綜合單片機PTM的脈衝計數功能,就可以實現正交解碼功能。
3、 正交解碼芯片(如HCTL-2020):
也可以通過外加正交解碼芯片實現正交解碼功能,如何使用暫時不進行敘述。
三、絕對式編碼器:
絕對式編碼器的每一個位置對應一個二進制數,二進制數有每一道線的亮暗表示。例如:10位的絕對式編碼器每個位置有10道線,可以表示0-1023共1024個位置。
絕對值編碼器爲每一個軸的位置提供一個獨一無二的編碼數字值。絕對編碼器由機械位置決定的每個位置是唯一的,它無需記憶,無需找參考點,而且不用一直計數,什麼時候需要知道位置,什麼時候就去讀取它的位置。這樣,編碼器的抗干擾特性、數據的可靠性大大提高了。