SIN/COS編碼器介紹
正余弦編碼器是一種采用模擬輸出的增量編碼器。其輸出為正余弦模擬信號。正余弦編碼器與普通方波增量式編碼器的AB正交脈沖信號類似,但與普通增量編碼器的通斷輸出不同,正余弦編碼器輸出兩路相位相差90°的正弦波,因此又稱為正余弦編碼器。
正余弦編碼器的信號由正弦探測器產(chǎn)生,也屬于光電編碼器。
正余弦編碼器輸出的工業(yè)標準是峰峰1V(~1Vpp)的正余弦電壓。如下圖中所示M為1V。
由于輸出的是低壓模擬信號,這種編碼器對噪聲很敏感。因此,每個信號提供互補信號通道。
為避免提供負電源,通常給信號加上2.5V的直流偏置電壓,如下圖所示:
正余弦編碼器的主要特點是抗干擾能力強,傳輸距離長,低速應(yīng)用時可提供較高分辨率,高速控制時可提供足夠低的信號帶寬。
SIN/COS編碼器的分辨率
編碼器旋轉(zhuǎn)一圈,正余弦編碼器會周期性地產(chǎn)生多個正余弦周期,如256(28),512(29),1024(210)或2048(211)等。與增量編碼器的每轉(zhuǎn)刻線數(shù)對應(yīng)。
正余弦編碼器直接輸出的是模擬量正余弦信號,從正余弦周期的個數(shù)來看,正余弦編碼器的分辨率似乎不高。但正余弦編碼器有一個特點,即它的輸出信號可被插補,或細分。用戶可按實際應(yīng)用需求,在后續(xù)的控制器或驅(qū)動器中,對正余弦編碼器信號進行細分,以獲得足夠高的分辨率。
比如,一個1024周期的正余弦編碼器,在驅(qū)動器內(nèi)對其進行212細分,則在驅(qū)動器內(nèi),可獲得的位置分辨率為:
1024*212=222=4194304
針對于正余弦編碼器,在驅(qū)動器或控制器內(nèi),會有細分參數(shù)可設(shè)定。設(shè)置細分參數(shù)時,要綜合考慮分辨率的高低,以及編碼器信號的傳輸距離。傳輸距離較長時,不宜把細分數(shù)設(shè)的太大。
SIN/COS編碼器位置值的計算
假設(shè)細分系數(shù)為2n。對于一個正弦周期(360°電角度)中的某個點,從通道A和B讀入模擬信號VA和VB。其中VB為正弦值,VA為余弦值,則這兩個電壓比的反正切即可得到這個正弦波內(nèi)的插補電角位移。
θintep=arctan(VB/VA)
其對應(yīng)的本周期內(nèi)的計數(shù)值為:
Csub=2n*(θintep/360)
=2n*(arctan(VB/VA)/360)
其中,反正切函數(shù)必須通過對檢測正弦和余弦信號的符號進行小心處理,以正確辨識角度在哪一個象限。
驅(qū)動器也對正弦波的周期進行計數(shù),假設(shè)這是第m+1個周期,則當(dāng)前位置在一圈內(nèi)的計數(shù)為:
C=2n*m+Csub
SIN/COS編碼器的細分及數(shù)值計算一般都使用反正切插值的方法:
SIN/COS編碼器的應(yīng)用場合
SIN/COS編碼器可單獨作為增量式編碼器使用,但更多是用在混合式編碼器中,作為增量信號出現(xiàn)。
EnDat2.1-海德漢(Heidenhain)
Hiperface-西克(SICK)
EnDat2.1和Hiperface接口的共同點是,都提供兩路編碼器信號,一路為絕對值信號,一路為SIN/COS增量編碼器信號。因此,一般稱這兩種接口的編碼器為絕對值編碼器。
EnDat2.1:對于EnDat2.1接口的絕對值編碼器,絕對位置只是在驅(qū)動器剛上電時,讀取伺服電機的當(dāng)前位置。SIN/COS增量編碼器信號用于實現(xiàn)電機的實時控制。
Hiperface:Hiperface與EnDat2.1類似,也可產(chǎn)生絕對值和SIN/COS增量兩路信號。絕對位置值僅當(dāng)設(shè)備通電并與控制器里的外部計數(shù)器通信時才產(chǎn)生(通過與RS485規(guī)格相符的基于總線的參數(shù)接口)。增量計數(shù)器在這絕對位置值基礎(chǔ)上,對模擬量正弦/余弦信號進行增量計數(shù)。SIN/COS編碼器信號用于驅(qū)動器的速度控制。
基于SIN/COS編碼器回零的注意事項
SIN/COS編碼器,不像增量式編碼器那樣,有Z相脈沖。在控制器或驅(qū)動器內(nèi),根據(jù)SIN/COS編碼器信號的相位,計算生成模擬的Z相脈沖或零位脈沖。但此模擬Z相脈沖的寬度比細分后的SIN/COS信號脈沖寬度要寬,可能是5~10個計數(shù)的寬度。
因此,應(yīng)盡量固定從Z相脈沖的一側(cè),沿固定方向找零點。不然,可能造成回零精度有5~10個計數(shù)距離的誤差。如上圖,從左側(cè)向右回零,零點在位置100處,而從右側(cè)向左回零,零點在位置106處,兩種回零方式,零點位置有6個單位距離的誤差。