增量式光電編碼器應用筆記

2021-06-20 05:32:55 字數 897 閱讀 6773

增量式編碼器應用筆記

author:jackwen

email: [email protected]

增量式編碼器是直接利用光電轉換原理輸出三組方波脈衝a、b和z相;a

、b兩組脈衝相位差90度,從而可方便地判斷出旋轉方向,而z相為每轉乙個脈衝,用於基準點定位。它的優點是原理構造簡單,機械平均壽命可在幾萬小時以上,抗干擾能力強,可靠性高,適合於長距離傳輸。其缺點是無法輸出軸轉動的絕對位置資訊。

以(npn)集電極開路輸出的波形如下:

如何讀出編碼器的輸出波形和如何判斷編碼器的正轉和反轉是編碼器應用的關健問題。網上有很多關於編碼器硬體抗干擾的文章,加上外圍電路,對編碼器輸出的波形進行轉換,轉換成正傳是只輸出一組脈衝,反轉時只輸出另外一組脈衝。我對這種方法沒去驗證過,也感覺在硬體上大動手腳提高了產品的成本。我的方法是用軟體的方法直接讀出編碼器的波形並判斷正轉和反轉,同時進行正轉的計數,反轉計數。在軟體上下點功夫,也可以達到很強的抗干擾能力。

細細看輸出的波形,正轉的時候,在a上公升沿時b處於l,當反轉的時候,在a上公升沿的時b處於h。輸出波形是由於編碼器內部光柵盤的結構決定的,b通道的每乙個柵剛好在a通道的兩個柵中間,因此輸出的波形剛好相位相差90度.抓住這一特點,輕鬆地讀出編碼器的資訊了。

我用atmega48微控制器來讀出資料,atmega48的每乙個引腳都可以用電平變化來產生中斷,這樣就可以使用pcint中斷來讀取波形(extern interrupt已經用在其他方面)。在程式中定義乙個全域性變數scnt,作為編碼器脈衝的計數器。正轉的時候,scnt++。反轉的時候,scnt--。只要atmega48的晶振夠大(我用11.0592mhz),指令週期足夠短,軟體適當加上去抖動,就算解析度很高也可以做到準確計數,誤差少。把編碼器的原點定下來(scnt=0)並能保持不變,其實不一定要用到z ,那麼增量式編碼器也可以準確定位。

增量式光電編碼器原理及其結構

增量式光電編碼器原理及其結構 增量式光電編碼器的特點是每產生乙個輸出脈衝訊號就對應於乙個增量位移,但是不能通過輸出脈衝區別出在哪個位置上的增量。它能夠產生與位移增量等值的脈衝訊號,其作用是提供一種對連續位移量離散化或增量化以及位移變化 速度 的感測方法,它是相對於某個基準點的相對位置增量,不能夠直接...

stm32增量式光電編碼器

原文 編碼器速度和方向檢測,371電機方向與速度檢測,stm32編碼器介面模式 出處 yfrobot論壇 編碼器是什麼玩意呢,它可是乙個好玩的東西,做小車測速必不可少的玩意,下面,我將從編碼器的原理講起,一直到用stm32的編碼器介面模式,測出電機轉速與方向。1.編碼器 圖1 編碼器示意圖 圖1為編...

增量式編碼器

增量式編碼器通過內部兩個光敏接受管轉化其角度碼盤的時序和相位關係,得到其角度位移量,進而判斷速度和位置,主要應用在電機控制時的位置和速度檢測方面,原理比較簡單。編碼器以每旋轉360度提供多少的通或暗刻線稱為解析度,也稱解析分度 或直接稱多少線,一般在每轉分度5 10000線 ppr 其a b兩相相差...