機械社區

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3417|回復: 38
打印 上一主題 下一主題

旋轉編碼器的原理是什么?增量式編碼器和絕對式編碼器有什么區別?

[復制鏈接]
跳轉到指定樓層
1#
發表于 2020-7-27 00:29:36 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 羅羅日記 于 2020-7-27 00:34 編輯

由于圖片數量超標,部分圖片無法上傳,導致文章意思表達不全,請移步公眾號看全文:羅羅日記

旋轉編碼器的原理是什么?增量式編碼器和絕對式編碼器有什么區別?

先給出結論,最重要的區別在于:增量式編碼器沒有記憶,斷電重啟必須回到參考零位,才能找到需要的位置,而絕對式編碼器,有記憶,斷電重啟不用回到零位,即可知道目標所在的位置。

接下來細說一下,主要包含如下的內容:

1.增量式旋轉編碼器的工作原理是什么?

2.絕對式旋轉編碼器的工作原理是什么?

3.增量式和絕對式旋轉編碼器有哪些不同?

4.單圈絕對式和多圈絕對式編碼器有什么不同?

5.選擇編碼器,需要考慮的最重要的因素有哪3點?

6.編碼器的實際應用舉例。

1.電機屁股那點事


作為機械設計人員,我們在選電機時,非常注重電機的扭矩和尺寸,因為這直接決定了電機是否能按規定的運動模式拖動負載,能不能很好地布置在有限的空間之中。

但在精密機械設計中,其實還有一個和扭矩及尺寸同等重要的參數,那就是分辨率。

說起分辨率,很多時候,在電機參數中,可以看到一組數據,例如2000Count/Turn=2000脈沖/圈,和17bit/33bit等。

對旋轉電機有所了解的朋友都知道,2000C/T,這其實是說,這個電機帶有一個增量式編碼器,轉一圈對應著2000個脈沖,所以該編碼器的分辨率是360/2000=0.18度。

由于相對式編碼器通?梢宰4倍頻(后面我會解釋為什么),所以2000C/T的分辨率可以變成0.18°/4=0.045度。

而17bit/33bit則是在說,這個電機帶有一個17位的多圈絕對編碼器。

那么問題來了,絕對式編碼器和增量式編碼器原理上有什么區別?應用上有什么區別?絕對式編碼器為什么用二進制表示分辨率?單圈和多圈絕對式編碼器有什么區別?

我想,弄清楚這幾個問題,對于電機或者需要用到旋轉編碼器的地方,心里就不會像過去那樣模模糊糊,而是會清晰明了地,直接選擇合適的編碼器。

這也是我本次理清編碼器這個基本概念的目的。

2. 旋轉編碼器的類型和優缺點

現在市面上通常有三種編碼器:光學編碼器(Optical Encoder),磁編碼器(Magnetic Encoder),和電容式編碼器(Capacitive Encoder)。

光學編碼器

在光學編碼器中,黑色線條會擋住光線;透明窗口使光線穿過碼盤(或者在碼盤上反射)到達傳感器。當傳感器接收到光時,輸出高電平,而當光被阻擋時,輸出低電平。

磁編碼器

磁編碼器的內部有一系列磁極交替排列的旋轉磁鐵,還有一個檢測磁場位置的傳感器。

電容式編碼器

電容式編碼器內部,包含一個發射高頻信號的發射器,一個對信號進行調制的轉子,以及一個將信號轉換并發送給運動控制器的接收器。

光學編碼器是最常用,也是精度最高的一種,但同時其價格也最高。

光學編碼器相對磁和電容編碼器來說,更容易受到環境的影響,比如在低溫下使用光學編碼器,如果環境溫度急劇上升,可能在光學碼盤上形成凝霧,這會導致讀不到信號或者信號扭曲。

磁編碼器就不那么容易受到環境的影響,但是由于其天然的非線性,磁編碼器不如光學編碼器的精度高。它們通常用于灰塵,蒸汽,振動和其他可能干擾光學編碼器性能的環境中。

同時在各種液體環境下,磁編碼器也可以工作,磁編碼器使用的功耗也比光學編碼器少。

電容編碼器是工業自動化相對較新的事物,這種編碼器與磁編碼器一樣耐環境,但也無法實現光學編碼器的高分辨率和準確性。

3. 增量式旋轉編碼器的工作原理是什么

要理解增量式編碼器(Incremental Encoder)和絕對式編碼器(Absolute Encoder)之間的區別,首先要明白他們的工作原理,對嗎。

增量式編碼器的工作原理是什么?

這里以用得最多的光學編碼器為例來說明。

先放一張圖。

增量式光學編碼器的構成

如上圖,該系統包含一個碼盤,以及位于碼盤一側的LED光源,和位于其另外一側的光電探測器芯片Detector Chip。

碼盤上有一系列的黑色標線和透明窗口,黑色標線不透光,而窗口是可以透光的。

LED光經過透鏡(Lens)后,形成平行光,打在碼盤上,光線在黑色刻線處被阻擋,而在透明窗口處穿過碼盤,照射到下面的感應器感應區域。

感應器上有兩個區域是可以感應信號的,一個是Index Sensor Area,也就是起始零位感應區域,一個是位置信號變化感應區域A/B Sensor Area。

零位感應也叫Home,有的地方也叫Zero,把它探測所產生的信號叫Z信號。

并不是所有的增量式編碼器都有參考零位,比如有些傳送帶上的應用就不需要,而有的增量式編碼器有不止一個參考零位,這里不過多地討論,感興趣的可以自己去了解一下。

LED光線通過碼盤窗口,透射到另外一側的感應器感應區域。碼盤旋轉,固定的感應器便可以讀取到光的這種交替變化模式,進而將位置信息報告回機械系統。

感應器所產生的波形如下圖,是重復的方波(有的編碼器傳送正弦波或者余弦波),且高電平和低電平占用時間相同,因為碼盤上的不透明刻線和透明窗口間隔的角度相同,一個黑線和一個透明扇區域構成一個周期,對應著波形圖中的一個低電平和一個高電平,也就是一個360度電周期。

增量式編碼器波形圖,把電周期整合進去

為什么波形圖中有兩個通道,一個A,一個B?用來干什么?

細心的你,也許從剛剛前面那張圖就發現了,A/B Sensor Area就是產生兩個通道信號的原因。

怎么解釋呢,再來一張細節圖。

增量式編碼器原理細節圖

從上面這張圖中可以看出,光電感應器A和感應器B并沒有在同一半徑方向上,而是有一個角度錯位,錯位多少呢,剛好是一個刻線所占據角度的一半,也就是1/4物理周期。

我們知道,如果只有一個感應器A,那么當觸發零位后,感應器A就開始計數了,每經過一個黑線和一個透明線,波形就形成一個低電平和一個高電平,也就是一個周期,但是它并不知道碼盤的旋轉方向,可能是逆時針旋轉,也可能是順時針旋轉。

所以,感應器B加入的目的就很明顯了:和感應器A配合,用于判斷碼盤的旋轉方向。

因為A和B錯位1/4物理周期,(也就是相差90度電脈沖周期,所以也叫做正交脈沖,英文是Quadrature,我們常聽到的A-Quad-B就是從這兒來的),所以光線會先后透射過透明窗口,打在感應器A和B上,形成1/4個周期差。

例如,如果順時針旋轉,A領先于B四分之一周期,那么逆時針旋轉,A必然滯后于B四分之一周期。從而可以根據A領先于B,還是滯后于B來判斷旋轉方向。

OK,到這里,我們理解了增量式編碼器的工作原理:通過Index找到零位,通過脈沖數目計算旋轉角度,通過AB通道的相對滯后性判斷旋轉方向,通過波形所占據的時間,或者波的脈沖頻率來判斷速度。

再仔細想一下,AB通道相差1/4周期,還可以用來干什么?

或許你已經猜到,就是我在一開始就說到的4倍頻(倍乘)分辨率。

怎么實現呢?

看波形圖吧。

增量式編碼器倍頻方法

這里,以每圈100個物理周期碼盤來舉例。

一倍乘X1:碼盤旋轉時,如果我們計算通道A脈沖的每個上升沿(由0變成5V),則每轉將獲得100個脈沖。

2倍乘X2:碼盤旋轉時,如果我們計算通道A的每個上升沿和每個下降沿(由5V變成0),則每個周期將獲得2個脈沖,每轉總計200個脈沖。

4倍乘X4:如果我們計算通道A和通道B的每個上升沿和下降沿,則每個物理周期將獲得4個脈沖,每轉總計400個脈沖。

因為增量式編碼器的物理刻線相距角度一樣,本質上來說,它是通過計算脈沖數量,來計算旋轉角度的。

同樣的一圈,不同的倍頻法得到的每圈脈沖數不同,顯然4倍頻得到的分辨率最高。

這就是分辨率4倍頻的原理。

所以2000C/T的分辨率可以變成0.18°/4=0.045度。

但是需要明白的是,這個4倍乘,并沒有改變碼盤的物理刻線之間的角度,僅僅是電脈沖數量的變化,而且這個倍乘通常是在控制器或者計數器中完成的,信號質量好,可靠。

如果在不改變碼盤條件下,還想獲得更高的分辨率,怎么辦?

可以用Interpolation,也就是信號插值。


插值示意圖

插值的含義是什么呢?我理解得也不是很多,但是數學上來說,插值就是通過已知的數據,去預測未知的數據。

在編碼器應用中,因為實際的位置,可能位于黑色刻線和透明窗口之間,插值就可以得到這些位置的值,從而獲得更高的分辨率。

理論上,插值可以獲得無限的分辨率,但是過高的插值也會引入新的問題,例如信號容易受到電噪聲的影響從而降低精度,需要與之相匹配的驅動和控制器,大量的數據處理需要花費更多的時間,需要更快的響應等。

目前,我在某供應商的產品目錄中,看到最高的插值倍數是20000倍,分辨率達到0.002arcsec。當然,這個碼盤也很大,外徑達到206mm,一圈的物理周期是32400(也就是32400 Line Count)。

這個碼盤的物理分辨率是:360/32400=0.01111°,插值后分辨率是:0.01111/20000*3600=0.002arcsec,這里除以3600是單位的換算。這款編碼器安裝后能實現的精度是±1arcsec=±1/3600°。

4. 絕對式旋轉編碼器的工作原理是什么?

絕對式編碼器的工作原理和增量式有所不同。

怎么個不同法?

分餅游戲開始了。

還是先看一張圖。

絕對式旋轉編碼器的原理

這個圖是一個16位絕對式編碼器示意圖。整圈被分成了16份,也就是有16個扇區。

它和增量式編碼器的圖相似,但是又有一點不一樣:在半徑方向上,每一個扇區又被分成了4份。

LED光從碼盤一側照射下來,相應地,在碼盤另外一側有一個探測芯片,探測芯片有4個感應區,每個感應區,可以獲取同一個扇區每一份的狀態。

透明的窗口,光線穿過去,感應區感應到信號,不透明的區域,光線無法穿過,感應區無法感應到。

如果把有感應和無感應看成是兩種狀態,分別用1和0表示,那么每一個感應區可以表示2種狀態。

進而,同一個扇區中這4份(4位),可以表示2^4=16種狀態,這也是為什么這個碼盤在圓周方向上被分為了16份,其實相當于對每一個位置進行了編碼,每個編碼對應著一個特定的位置。

可能你也想問,能不能在半徑方向分4份,而在圓周方向多分幾份。多分沒有意義,因為半徑方向只有4位,無法表示更多的位置。少分又不能充分利用好感應到的狀態總數,所以分成2^4=16份剛剛好。

比如下面這幅圖,從左到右可以分別表示0001, 0101, 1100,用十進制表示就是第1, 第5,第12個位置。

絕對式編碼器編碼方法

0101轉換成10進制:0*2^3+1*2^2+0*2^1+1*2^0=5。1100轉換成10進制:1*2^3+1*2^2+0*2^1+0*2^0=12。

到這里,我們基本上明白了絕對式編碼器的原理:對每一個位置,給定一個唯一的編碼,再用傳感器去識別每個位置的編碼,輸出與之相對應的唯一信號,用來表示特定的位置。

如果要獲得更高的分辨率,那么就需要更多的編碼位數,也就是需要在圓周方向上,刻上更多的特定編碼(這通常都會加大碼盤)。

比如需要17位,也就是2^17=131072個位置,那么就需要131072個不同的編碼,這時的分辨率是360/131072=0.00275°。

當然,并不是每個廠家的編碼方法,都和上面這個例子一樣。有的廠家不在半徑方向上劃分,只在圓周方向上劃分,但是基本理念是一樣的,就是用唯一的編碼表示唯一的位置。

這就是絕對式編碼器的核心思想。

剛剛說完了編碼方法,那么絕對式編碼器輸出的波形圖和增量式有什么不同呢?

還是以光學絕對編碼器為例來說明,一個典型的絕對編碼器輸出波形如下,右圖。

這里使用的是脈沖帶寬調制(PWM=Pulse Width Modulation)。

絕對式編碼器波形圖

一個10位絕對編碼器可以輸出2^10=1024個獨特編碼,在圖中怎么表示每一個特定的位置呢?

用脈沖寬度來表示。

例如,起始零位,用一個最小的脈沖寬度1微秒來表示這個位置。在180°,用512微秒的脈沖帶寬來表示。

類似地,對于其他的位置,用不同的脈沖寬度來表示,當碼盤旋轉,越來越長的脈沖帶寬被傳遞。

順便說一下,上圖左邊,是一個絕對式磁編碼器的波形圖,它是用電壓的高低來表示不同的位置。

這些波形信息,按照控制系統的配置,可以通過不同的通信接口,傳遞給控制器,用來做反饋控制。

5. 絕對式單圈和多圈編碼器有什么不同?

絕對式編碼器又分為單圈和多圈,即Single-Turn Absolute Encoder和Multi-Turn Absolute Encoder。

單圈和多圈絕對式編碼器示意圖

單圈很好理解,就像鐘表中只有分針,一圈一圈地不停轉,60分鐘之后,表重置,并不記錄旋轉的圈數,在這里,也就是不知道是幾個小時。

多圈,就像是鐘表中即有分針,還有時針。在任何時刻,分鐘和小時數都可以被讀取。

所以多圈編碼器可以記錄很多很多圈。

實際的多圈編碼器,常用3種方法來實現圈數記錄。

第一種,就像上面那張圖一樣,在編碼器內部,用機械齒輪耦合多個軸,用來計算總的圈數,這種方法,因為用到了機械齒輪,所以會帶來磨損,使得精度降低,同時機械齒輪會占用很多空間,所以編碼器尺寸偏大。

第二種,就是用電子計數器和電容器,來計算總共轉過的圈數,但是代價是需要在編碼器內部安裝電池,而且需要定期檢查電池。

第三種,在一些磁編碼器中,采用韋根金線(Wiegand wire),并利用韋根效應來計數(Wiegand effect)。這種編碼器沒有太多機械結構件,可以做得很小。

韋根效應,也是我在了解編碼器的過程中才知道的,所以多做一點說明。

韋根效應圖

韋根金線,它由一種特殊的合金制成,具有硬磁(永磁,不易退磁)的金屬外殼和軟磁(容易退磁和磁化)的金屬芯。韋根線表現出具有兩個明顯不連續的磁滯曲線,稱為韋根效應。

在適當磁場強度的作用下,韋根線芯磁場會反向,其磁場和和外硬層相同或者相反,讓處在附近的線圈產生一個脈沖,該脈沖的大小和形狀與外部磁場變化的速度無關,磁編碼器就是利用這個脈沖來記錄轉動的圈數,并把數據寫入穩定的存儲器中。

當然,單圈編碼器也可以通過信號重復的次數,來計算旋轉的圈數,但是就沒有多圈編碼器那么直接。

單圈編碼器,如果轉了超過一圈,斷電重啟后,不知道轉了幾圈,也就是說,不知道絕對位置的。

這個特性,決定了單圈絕對編碼器只適用于開機需要絕對位置,但是在運轉過程中,旋轉不滿一圈的應用中。

而多圈編碼器,是有圈數物理絕對位置記錄的,所以,多圈相對于單圈可以獲得更長更遠的絕對位置。

但是與此同時,關于多圈編碼器,又出現了一個新的問題。

如果旋轉的圈數超過了它的總記錄容量會發生什么?

這時,圈數會溢出,要么重新計數,要么驅動器和控制器提供一種特殊的位置跟蹤,稱為“模數定位”,它可以存儲任何溢出運動,即超出記錄圈數的旋轉部分,并使用此信息提供準確的定位。

到此,我們重新理解了單圈和多圈編碼器的區別:單圈只能記錄一圈之內的運動,多圈可以記錄很長的旋轉或者直線位移。

好了。

現在我們回過頭去看一下,在文章一開始就提到的17bit/33bit。

這是什么含義?相信你從上面的解釋中,已經明白了。

17bit/33bit的含義是:17bit就是說每轉一圈有2^17=131072個脈沖,而33bit表示總共的脈沖位數是2^33=2^17*2^16,那么這個多圈編碼器可以記錄33-17=16bit=2^16=65536圈。

這里計算分辨率要注意,它的分辨率只和一圈的脈沖數有關,而和總的圈數無關,也就是說這個編碼器的分辨率是360/131072=0.00275度。

如果一個馬達使用了這個編碼器,用此馬達驅動滾珠絲杠,運動一圈前進5毫米,那么理論上的分辨率就是:5mm/131072cnt=0.038um/cnt。

當然,實際分辨率肯定要比這個低,畢竟滾珠絲杠系統也是有間隙的,而且大多數時候,機械系統的間隙才是整個系統的短板。

6. 增量式編碼器和絕對式編碼器有什么不同?包括原理,價格,應用等

通過上面的解釋,我們理解了增量和絕對式兩種旋轉編碼器的工作原理。

絕對式旋轉編碼器的原理和增量式的原理類似,都是通過傳感器來讀取碼盤上明暗相間的刻線獲得脈沖,根據脈沖數目來表示位置。

不同的是,絕對式編碼器,斷電可以記住當前位置,即使斷電后有機械移位,通電后也知道移動到哪里去了,因為絕對式編碼器對每一個位置,有一個唯一的編碼。

而增量式編碼器不同,它沒有記憶,斷電后重啟,需要找到參考點后,才能找回需要的位置。

增量式編碼器很適合用于確定速度,距離或運動方向。

如果需要在斷電重啟時就知道位置,那么就需要絕對式編碼器了。

例如,如果你要設計機械臂,在斷電后可能沒有足夠的空間或靈活性,使其無法移動到原始位置,在這種情況下,需要使用絕對編碼器。

這是從技術角度說明兩者的不同。

但是其實從成本,應用方面來看,兩者也有不同之處,我就不多探討了,直接給出結果。

有如下的這個表格:


7. 選擇編碼器,最重要的參考因素有哪3點?

1. 開機是否需要知道絕對位置,用來決定選擇增量式還是絕對式。實際運行過程中可能的旋轉圈數,用來決定多圈還是單圈編碼器。

2. 精度要求,分辨率要求,決定編碼器的分辨率選擇。

3. 最大速度。分辨率選定,需要結合最大速度計算編碼器產生信號的頻率。編碼器輸出的頻率,需要比控制器或者計數器能夠接受的最大輸入頻率低,否則需要重新選擇編碼器,重新匹配。另外編碼器本身也有最大轉速要求。

4. 價格。結合預算考慮價格。

5. 安裝方式。軸孔安裝,空間大小評估,安裝公差要求,出線的方向等。

6. 外圍環境;覊m,濕度,溫度,振動,電磁環境等,決定編碼器的選擇類型和信號線的屏蔽等,例如選擇光學式,還是磁式,還是電容式,選擇屏蔽線還是非屏蔽線等。

當然,實際選擇時,如果有不太確定的地方,一定有一個辦法可以幫你解決問題。

那就是聯系你的供應商,說出你的問題,畢竟他們是專業的,很多時候,他們可以給你一些很好的選擇建議,這個時候,往往也是很好的學習機會。

關于編碼器,如果要深挖的話,還有很多話題的,比如噪聲的來源,如何控制噪聲等。

但是限于主題和篇幅,今天就到這里吧。

如果本文對你有用,記得點個好看哦。

最后送你幾個機器人拿去玩玩,猜猜哪個是女的。

我們下次再見。

相關閱讀:

《分辨率,定位精度,重復定位精度三者之間有什么關系?》

http://www.101steak.com/thread-986466-1-1.html

《光柵尺的原理是什么?怎么選擇?供應商都沒講明白,6年了我第一次聽懂》

http://www.101steak.com/thread-985670-1-1.html

《滾珠絲杠和梯形絲杠有什么區別?各應用于什么場合?如何選用?》

http://www.101steak.com/thread-1010435-1-1.html

本文照片來自網絡,若有侵權,請聯系刪除。


blog011-image007-pulse-multiplication.png (18.5 KB, 下載次數: 45)

blog011-image007-pulse-multiplication.png

增量式編碼器信號周期.png (99.71 KB, 下載次數: 39)

增量式編碼器信號周期.png

評分

參與人數 3威望 +3 收起 理由
1102964723LIU + 1
大白小白 + 1 思想深刻,見多識廣!
默笑滄海 + 1

查看全部評分

本帖被以下淘專輯推薦:

  • · 資料|主題: 65, 訂閱: 31
回復

使用道具 舉報

2#
發表于 2020-7-27 07:36:26 | 只看該作者
好貼,Mark
http://z.3dsjw.com/
回復

使用道具 舉報

3#
發表于 2020-7-27 08:06:55 | 只看該作者
很早以前的家用錄像機,機械位置的檢測,用的就是方式開關。這個開關與編碼器的原理接近,只是功能簡單些。
回復 支持 反對

使用道具 舉報

4#
發表于 2020-7-27 08:17:48 | 只看該作者
詳細,好用
回復

使用道具 舉報

5#
發表于 2020-7-27 09:00:07 | 只看該作者
很好的文章,謝謝分享!
回復 支持 反對

使用道具 舉報

6#
發表于 2020-7-27 09:46:03 | 只看該作者
很實用的文章!收益了。謝謝

點評

@大白小白 你好,我這邊做零件尺寸和外觀缺陷類的視覺檢測,覆蓋行業廣:五金、注塑、汽車零件、電子、陶瓷、精密件、緊固件、手機零件、密封件等等  發表于 2020-7-27 12:25
什么方面的視覺檢測?  發表于 2020-7-27 10:41
回復 支持 反對

使用道具 舉報

7#
發表于 2020-7-27 09:48:44 | 只看該作者

很好的文章,謝謝分享!
回復 支持 反對

使用道具 舉報

8#
 樓主| 發表于 2020-7-27 10:15:50 | 只看該作者
|gszsg發表于 07-27 07:36好貼,Mark<br>
感謝支持
回復 支持 反對

使用道具 舉報

9#
發表于 2020-7-27 10:16:00 | 只看該作者
謝謝大俠分享!
回復 支持 反對

使用道具 舉報

10#
 樓主| 發表于 2020-7-27 10:16:06 | 只看該作者
感謝支持
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

小黑屋|手機版|Archiver|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,京公網安備11010802010176 )

GMT+8, 2021-8-25 02:22 , Processed in 0.067195 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表