第二章 弦波編碼器解碼演算法
2.1 弦波編碼器
本節介紹弦波編碼器的基本背景、分析弦波編碼器的輸出,並且說明弦波編碼器的 解碼概要,解碼概念是將弦波編碼器的資訊分為兩個部份分別計算,最後再合成完整的 位置資訊。
2.1.1 弦波編碼器之介紹
近年來在伺服馬達控制系統中對於位置回授的解析度要求越來越高,有鑑於此,傳 統的編碼器(encoder)及解角器(resolver)逐漸被擁有更高解析度的弦波編碼器(sinusoidal encoder)所取代。弦波編碼器有別於傳統編碼器的工作原理,利用一對相差 90°、隨著轉 動角度而改變的正弦(sine)及餘弦(cosine)信號,可以提供更高解析度的位置資訊。
( )
( θ )
θ
×
=
×
=
P V
P V
c s
cos sin
(2.1)
P 是每 360°弦波編碼器所產生的弦波週期數。由於其特殊的輸出信號特性,需要不
同於以往的解讀方法,學者紛紛發展各式的解讀技巧,一般常見的有反正切函數運算 (direct arctangent computation) [1]、或是根據舊有的解角/數位轉換器(resolver-to-digital converter)所衍生出的追跡及濾波迴路(tracking and filtering loop) [1,2]、線性化技巧 (linearization) [3,4,5]或是內插法、查表法等等。在實現的方式上也可分為硬體實現及軟 體實現兩種方式,本章將分別介紹兩種適合不同實現方式的解碼技巧。2.1.2 弦波編碼器輸出分析
弦波編碼器的輸出如上所述是一對相差 90°的正弦/餘弦信號,將這兩信號分別置於
x 軸與 y 軸座標上,令 ( ) ( x
,y
=V c
,V s )
可以得到一圓,仔細分析圓形可以檢視弦波編碼器 經過 ADC 取樣之後信號是否受雜訊干擾。理論上應得到一圓心在原點的正圓形,如果 圓心不在原點上,表示輸入信號有 offset 的情形,如果不是正圓而是橢圓的話表示兩相 出入有 gain 值的差異。下圖 2-1 是弦波編碼器的實際輸出,使用的是 HPB 公司所生產 的 2048 PPR (period per revolution,即一圈為 2048 個週期)弦波編碼器,由圖得知弦波編 碼器經過取樣後的輸出圓心接近原點表示 offset 非常小,兩相 gain 值也是差距不大。-8000 -6000 -4000 -2000 0 2000 4000 6000 8000 -8000
-6000 -4000 -2000 0 2000 4000 6000 8000
圖 2-1 弦波編碼器實驗輸出分析圖
2.1.3 弦波編碼器解碼概要
弦波編碼器解碼結果可分成兩個部份,一為粗略解析度資訊(coarse resolution data),另一部分為精細解析度資訊(fine resolution data) [1]。粗糙解析度資訊類似原有光 學編碼器(optical encoder)的 QEP 信號,負責計算弦波經過的個數;精細解析度資訊則是 利用解角器特有的弦波輸出,在原本的信號中內插細分,使解析度提升,兩者相對關係 如下
0 1 2 3 4 5 6 0
0.5 1
Position(rad)
Coarse Position Output (A phase)
0 1 2 3 4 5 6
0 0.5 1
Position(rad)
Coarse Position Output (B phase)
0 1 2 3 4 5 6
0 0.5 1
Position(rad) Fine Position Output
圖 2-2 粗略位置與精細位置相對關係圖
如前一節所述,將輸出分別置於 x 座標及 y 座標得
( ) ( x , y = cos θ , sin θ )
,可做出一半 徑為 1 且圓心位於原點的圓,構想是以粗造解析度資訊計算所經過的象限數目,再加上 精細解析度資訊求出每個象限內的角度便可求出高解析度位置資訊。圖 2-3 弦波編碼器解碼資訊概念圖
上圖 2-3 是弦波編碼器的粗糙資訊與精細資訊組合圖,顯示在粗糙解析度與精細解
析度間有 2 位元重疊,重疊的原因是因為粗糙解析度計算的象限數目正巧與精細解析度 的前兩位元所表示的位置相同。弦波編碼器的解析度是由粗糙解析度加上精細解析度所 得,粗糙解析度限制主要是在於弦波編碼器硬體所限制,例如 2048 PPR 的弦波編碼器 就可提供
2048 × 4 = 8192
的粗糙解析度;精細解析度則是受到硬體 ADC 解析度及不同的 精細位置解碼技巧所共同決定,例如以 12 位元的 ADC 取樣最多可得 12 位元的解析度 再加上解碼技巧的不同有所減少。以一個 2048 PPR 的弦波編碼器搭配 12 位元的 ADC 最高可得2048×4×212
÷4=223
的解析度,其中除 4 就是扣除掉精細解析度與粗糙解析度 重疊的部份,但實際上受到硬體電路雜訊、ADC 取樣精確度及解碼技巧不同的影響,解析度可能低於理論值。
Sinusoidal Encoder
Preprocessing Circuit
Preprocessing Circuit
Coarse Posiiton
Fine Position
sin cos
圖 2-4 弦波編碼器解碼方塊圖
上圖 2-4 是弦波編碼器的解碼方塊圖,粗略解碼位置與精細解碼位置都會先經過一 些前處理電路,再進入解碼的步驟,而前處理電路的好壞會嚴重造成電路雜訊問題,直 接影響到弦波編碼器的解析度。