編碼器及其應(yīng)用概述
編碼器是一種機(jī)電裝備,可以用來(lái)測(cè)量機(jī)械運(yùn)動(dòng)或者目標(biāo)位置。大多數(shù)編碼器都使用光學(xué)傳感器來(lái)提供脈沖序列形式的電信號(hào),這些信號(hào)可以依次轉(zhuǎn)換成運(yùn)動(dòng)、方向或位置信息。
旋轉(zhuǎn)編碼器可以用來(lái)測(cè)量軸的旋轉(zhuǎn)運(yùn)動(dòng)。圖1顯示了旋轉(zhuǎn)編碼器的基本組成部分,包括一個(gè)發(fā)光二極管(LED)、一個(gè)碼盤,以及碼盤背面的一個(gè)光傳感器。這個(gè)碼盤安置在旋轉(zhuǎn)軸上,上面按一定編碼形式排列著不透光和透光的扇形區(qū)域。當(dāng)碼盤轉(zhuǎn)動(dòng)時(shí),不透光扇區(qū)能夠遮擋光線,而透光扇區(qū)則允許光線透過(guò)。這樣就產(chǎn)生了方波脈沖,可以編譯成相應(yīng)的位置或運(yùn)動(dòng)信息。編碼器每轉(zhuǎn)通常分為100到6000個(gè)扇區(qū)。這就表明,100個(gè)扇區(qū)的編碼器可以提供3.6度的精度,而6000個(gè)扇區(qū)的編碼器則可以提供0.06度的精度。
線性編碼器與旋轉(zhuǎn)編碼器的工作原理類似。它采用了一條固定的不透光帶取代了旋轉(zhuǎn)碼盤,在不透光帶表面上有一些透光縫隙,而LED探測(cè)器組件則被附在運(yùn)動(dòng)體上。
ni.com/video/popup/?url=rtmp://cosine.ni.com/flvplayback/us/2008/quadrature_encoder.flv" target="_blank">
圖1. 光電編碼器的組件
僅有一路脈沖輸出的編碼器不能確定旋轉(zhuǎn)的角度,所以用處不大。如果使用兩路碼道,其扇區(qū)之間的相位差為90度(如圖2所示),那么通過(guò)該正交編碼器的兩路輸出通道就可以確定位置和旋轉(zhuǎn)的方向兩個(gè)信息。例如,如果通道A相位超前,碼盤就以順時(shí)針旋轉(zhuǎn)。如果通道B相位超前,那么碼盤就是以逆時(shí)針旋轉(zhuǎn)。因此,通過(guò)監(jiān)控脈沖的數(shù)目和信號(hào)A、B之間的相對(duì)相位信息,就可以同時(shí)獲得旋轉(zhuǎn)的位置和方向信息。
圖2. 正交編碼器A和B的輸出信號(hào)
除此之外,有些正交編碼器還包含被稱為零信號(hào)或者參考信號(hào)的第三個(gè)輸出通道。這個(gè)通道每旋轉(zhuǎn)一圈輸出一個(gè)單脈沖。你可以使用這個(gè)單脈沖來(lái)精確計(jì)算某個(gè)參考位置。在絕大多數(shù)編碼器中,這個(gè)信號(hào)稱為Z軸或者索引。
為止,本文之前介紹了單端增量式正交編碼器。由于A和B信號(hào)都以地作為參考信號(hào),所以被稱作為單端,并且每個(gè)信號(hào)只有一根線(或者說(shuō)只有一端)。而另外一種常用的編碼器為差分編碼器,它的A和B信號(hào)都有兩根線。A信號(hào)的兩根線分別是A’和A,B信號(hào)的兩根線分別是B’和B。因?yàn)檫@四根線總是輸出某個(gè)已知電平(0V或者Vcc),所以這種結(jié)構(gòu)也被稱為推挽結(jié)構(gòu)。當(dāng)A是Vcc時(shí)A’就是0V,反之,當(dāng)A是0V時(shí)A’就是Vcc。而在單端編碼器的情況下,A或者是Vcc或者懸空。采用差分檢測(cè)可以保證信號(hào)的準(zhǔn)確性,所以差分編碼器通??梢杂迷陔娫肼曒^大的環(huán)境中。
采用增量式編碼器僅能測(cè)量出位置的變化信息(從中可以計(jì)算出運(yùn)動(dòng)速度和加速度),但卻無(wú)法確定目標(biāo)的絕對(duì)位置。在這里,我們將介紹第三種編碼器:絕對(duì)式編碼器,該類編碼器能夠獲得目標(biāo)的絕對(duì)位置。這種編碼器同增量式編碼器一樣,具有交替變化的不透光扇區(qū)和透光扇區(qū)。但是絕對(duì)式編碼器在編碼器的碼盤上,采用了多組分區(qū)形成同心碼道,如同靶環(huán)一樣。同心碼道從編碼器碼盤的中心出發(fā),向外擴(kuò)展直到碼盤外部,每一層碼道都比其內(nèi)層多了一倍的分區(qū)。第一層,即最內(nèi)層的碼道,只有一個(gè)透光扇區(qū)和一個(gè)不透光扇區(qū);位于中心的第二層就具有兩個(gè)透光扇區(qū)和兩個(gè)不透光扇區(qū);而第三層碼道的透光扇區(qū)和不透光扇區(qū)就各有四個(gè)。如果編碼器有10層碼道,那么最外圍的碼道就有512個(gè)扇區(qū);如果有16層碼道,那么最外圍的碼道就有32,767個(gè)扇區(qū)。
因?yàn)榻^對(duì)式編碼器的每層碼道都比它里面一層的碼道多了一倍數(shù)目的扇區(qū),所以扇區(qū)的數(shù)目就形成了二進(jìn)制計(jì)數(shù)系統(tǒng)。在這種編碼器中,碼盤上的每個(gè)碼道都對(duì)應(yīng)一個(gè)光源和一個(gè)接收器。這意味著10層碼道的編碼器就需要10組光源和接收器,而16層碼道的編碼器就需要16組光源和接收器。
絕對(duì)式編碼器的優(yōu)勢(shì)在于您可以降低編碼器的轉(zhuǎn)速,可以使編碼器的碼盤在整個(gè)機(jī)器運(yùn)動(dòng)周期中只轉(zhuǎn)一圈。如果機(jī)器運(yùn)動(dòng)距離為10英寸,而編碼器具有16位精度,那么機(jī)器位置的精度就是10/65,536,即0.00015英寸。如果機(jī)器的行程更長(zhǎng)譬如6英尺,那么粗旋轉(zhuǎn)編碼器可以保證跟蹤每一英尺距離;第二級(jí)稱為細(xì)旋轉(zhuǎn)編碼器可以跟蹤1英尺以內(nèi)的距離。這就意味著,你可以調(diào)整粗編碼器,使其在整個(gè)6英尺距離內(nèi)旋轉(zhuǎn)一圈;也可以調(diào)整細(xì)編碼器,使其能夠分辨的范圍為1英尺(即12英寸)。
怎樣使用編碼器進(jìn)行測(cè)量
要使用編碼器進(jìn)行測(cè)量,必需有一個(gè)基本的電子設(shè)備即計(jì)數(shù)器。基本的計(jì)數(shù)器是通過(guò)其幾個(gè)輸入通道,產(chǎn)生一個(gè)數(shù)值,來(lái)表示檢測(cè)到的邊沿(即波形中從低到高或高到低的變化)數(shù)目。大多數(shù)計(jì)數(shù)器都有三個(gè)相互關(guān)聯(lián)的輸入——門限、源和升/降選擇。計(jì)數(shù)器記錄源輸入中的事件數(shù)目,并且根據(jù)升/降選擇線的狀態(tài)進(jìn)行加計(jì)數(shù)或者減計(jì)數(shù)。例如:如果升/降狀態(tài)位”高”,那么計(jì)數(shù)器加計(jì)數(shù);如果升/降狀態(tài)位”低”,那么計(jì)數(shù)器就減計(jì)數(shù)。圖3顯示了一個(gè)簡(jiǎn)化的計(jì)數(shù)器框圖。
圖3. 計(jì)數(shù)器的簡(jiǎn)化模型
編碼器通常有5根線需要連接。不同的編碼器,這些線的顏色是不一樣的。你可以使用這些線來(lái)給編碼器提供電源,并且讀入A、B和Z信號(hào)。圖4顯示了一個(gè)增量式編碼器的典型接口定義。
圖4. 增量式編碼器接口
接下來(lái)一步就要決定這些線應(yīng)該接到什么位置。如上文所述,將信號(hào)A接到源接線端上,對(duì)其信號(hào)中的脈沖進(jìn)行計(jì)數(shù)。信號(hào)B連接到升/降選擇端口上。將任意+5V的直流電源接到電源和地接線端口上——大多情況下,一個(gè)數(shù)據(jù)采集設(shè)備只需一根數(shù)字線就足夠了。
既然對(duì)信號(hào)邊沿計(jì)數(shù)了,接下來(lái)你需要考慮的就是這些數(shù)值應(yīng)如何轉(zhuǎn)換成位置信息。這個(gè)由邊沿?cái)?shù)值轉(zhuǎn)換為位置信息的過(guò)程,取決于所采用的編碼類型??偣灿腥N基本的編碼類型:X1、X2和X4。
X1編碼
圖5顯示了一個(gè)正交周期和其相應(yīng)的X1編碼類型下的計(jì)數(shù)值的加減數(shù)目。當(dāng)通道A引導(dǎo)通道B時(shí),增量發(fā)生在通道A的上升沿。當(dāng)通道B引導(dǎo)通道A時(shí),減量發(fā)生在通道A的下降沿。
圖5. X1編碼
X2編碼
X2編碼與上述過(guò)程類似,只是計(jì)數(shù)器A通道的每個(gè)邊沿計(jì)數(shù)是增加還是減少,取決于由哪個(gè)通道引導(dǎo)哪個(gè)通道。計(jì)數(shù)器的數(shù)值每個(gè)周期都會(huì)增加2個(gè)或減少2個(gè),如圖6所示。
圖6. X2編碼
X4編碼
X4編碼模式下,計(jì)數(shù)器同樣也在通道A和B的每個(gè)沿上發(fā)生增加或者減少。計(jì)數(shù)器的數(shù)目是增加還是減少,取決于哪個(gè)通道引導(dǎo)哪個(gè)通道。計(jì)數(shù)器的數(shù)目每個(gè)周期都會(huì)增加4個(gè)或減少4個(gè),如圖7所示。
圖7. X4編碼
一旦你設(shè)置了編碼類型以及脈沖計(jì)數(shù)類型,就可以使用下列公式把數(shù)值信息轉(zhuǎn)換為位置信息了:
對(duì)于轉(zhuǎn)動(dòng)位置
旋轉(zhuǎn)量
其中 N=軸每旋轉(zhuǎn)一周過(guò)程中,編碼器所生成的脈沖數(shù)目
x = 編碼類型
對(duì)于線性位置
位移量
其中 PPI=脈沖每英寸(這個(gè)參數(shù)與所選的編碼器有關(guān))
將編碼器連接到儀器上
在這部分中,以NI cDAQ-9172機(jī)箱和NI 9401 C系列的數(shù)字I/O模塊為例。使用不同的測(cè)量?jī)x器和設(shè)備,都與該過(guò)程類似。
圖8. NI CompactDAQ系統(tǒng)
使用的設(shè)備:
cDAQ-9172 : NI CompactDAQ 8插槽高速USB機(jī)箱
NI 9401:8-通道、5 V/TTL高速雙向數(shù)字I/O模塊
24脈沖/轉(zhuǎn)的旋轉(zhuǎn)正交編碼器
NI 9401有一個(gè) D-Sub連接器,可以為8個(gè)數(shù)字通道提供連接。每個(gè)通道都有一個(gè)數(shù)字I/O端口,可以連接到一個(gè)數(shù)字輸入或輸出設(shè)備。只有通過(guò)機(jī)箱上的第5和第6個(gè)插槽,才可以連接到cDAQ-9172中的兩個(gè)計(jì)數(shù)器上;所以,將9401插入到第5插槽上。圖8顯示了這種結(jié)構(gòu)的端口,圖9顯示了默認(rèn)的計(jì)數(shù)器接線端。
圖9. NI9401的端口(插槽5)
表1. 默認(rèn)的計(jì)數(shù)器接線端
根據(jù)這些規(guī)范,編碼器上的連線A連接到14腳上,連線B連接到17腳上,“5 VDC Power”連接到任何一個(gè)設(shè)置為“高”的尚未使用的的數(shù)字線上,“Ground”連接到任何COM端口上。
開(kāi)始測(cè)量
前面已經(jīng)將編碼器連接到測(cè)量設(shè)備上了,接下來(lái)就可以使用NI LabVIEW圖形化編程軟件,將這些數(shù)據(jù)傳到計(jì)算機(jī)中進(jìn)行觀察和分析了。
圖10顯示了一個(gè)例子,在LabVIEW編程環(huán)境中顯示邊沿?cái)?shù)目和相應(yīng)的位置增量。
圖10. LabVIEW前端面板顯示測(cè)量