單圈
絕對(duì)值編碼器在多圈計(jì)數(shù)中的應(yīng)用探討
在工業(yè)自動(dòng)化技術(shù)中,大量的線性和角度偏移必須通過(guò)電信號(hào)進(jìn)行處理。編碼器是實(shí)現(xiàn)這一功能的主要設(shè)備。然而,由于不同編碼器類型之間的價(jià)格差異很大,在實(shí)際應(yīng)用中選擇不當(dāng)很容易導(dǎo)致不適當(dāng)?shù)氖褂煤屠速M(fèi)。本文主要研究單圈絕對(duì)值編碼器在多圈過(guò)程控制中的應(yīng)用。
1、概述
編碼器是一種旋轉(zhuǎn)傳感器,它將旋轉(zhuǎn)位移轉(zhuǎn)換為一系列數(shù)字脈沖信號(hào),可用于控制角度位移。當(dāng)與齒輪帶或螺釘組合時(shí),編碼器也可用于測(cè)量線性位移。編碼器產(chǎn)生電信號(hào),并通過(guò)數(shù)控、可編程邏輯控制PLC、控制系統(tǒng)等進(jìn)行處理。這些傳感器主要用于以下領(lǐng)域:機(jī)床、材料加工、電機(jī)反饋系統(tǒng)和測(cè)控技術(shù)。
2、編碼器分類
根據(jù)工作原理,
編碼器通常分為增量型和絕對(duì)型,這兩種類型的區(qū)別最大:增量編碼器將位移轉(zhuǎn)換為周期性電信號(hào),然后將該電信號(hào)轉(zhuǎn)換為計(jì)數(shù)脈沖,使用脈沖數(shù)來(lái)表示位移的大小。在增量編碼器中,位置由從零位置標(biāo)記計(jì)算的脈沖數(shù)確定,而絕對(duì)值編碼器的位置由讀取輸出代碼確定。在圓圈中,讀取每個(gè)位置的輸出代碼是唯一的:絕對(duì)值編碼器的每個(gè)位置都對(duì)應(yīng)于某個(gè)數(shù)字代碼,因此其顯示僅與測(cè)量的開(kāi)始和結(jié)束位置有關(guān),而與測(cè)量無(wú)關(guān)
數(shù)量的中間過(guò)程是獨(dú)立的。因此,在斷開(kāi)電源時(shí),絕對(duì)值編碼器不會(huì)與實(shí)際位置分離。當(dāng)電源再次打開(kāi)時(shí),位置指示器保持當(dāng)前有效;與增量編碼器不同,有必要搜索零標(biāo)記。
絕對(duì)值編碼器也可以分為單旋轉(zhuǎn)編碼器和多旋轉(zhuǎn)編碼器。對(duì)于具有多個(gè)旋轉(zhuǎn)的絕對(duì)值編碼器,制造商利用時(shí)鐘齒輪機(jī)的原理,在中心碼盤旋轉(zhuǎn)時(shí)通過(guò)齒輪驅(qū)動(dòng)另一組碼盤(或多組齒輪、多組碼盤)。在單圈編碼的基礎(chǔ)上,增加了轉(zhuǎn)數(shù)以擴(kuò)大編碼器的測(cè)量范圍。這種類型的絕對(duì)值編碼器被稱為多圈絕對(duì)值編碼器,也是由編碼的機(jī)械位置決定的,并且每個(gè)位置代碼都是唯一的,不重復(fù)。沒(méi)有內(nèi)存。多圈編碼器的另一個(gè)優(yōu)點(diǎn)是,由于其測(cè)量范圍大,在實(shí)際使用中通常有更大的操作空間。這樣就不需要在安裝過(guò)程中尋找零點(diǎn),并且可以使用某個(gè)中間位置作為起點(diǎn),大大簡(jiǎn)化了安裝和故障排除的難度。
3、編碼規(guī)則
絕對(duì)值編碼器通常使用格雷碼編碼方法。當(dāng)編碼一組數(shù)字時(shí),當(dāng)兩個(gè)相鄰的代碼只有一個(gè)二進(jìn)制數(shù)不同時(shí),這種編碼被稱為格雷碼。此外,由于最大數(shù)和十進(jìn)制數(shù)只有一位不同,即“第一個(gè)和最后一個(gè)相連”,因此也稱為循環(huán)碼或反射碼。在數(shù)字系統(tǒng)中,代碼通常必須按照一定的順序進(jìn)行更改。例如,如果使用8421碼,那么當(dāng)數(shù)字0111變?yōu)?000時(shí),所有四個(gè)比特都會(huì)改變。然而,在實(shí)際電路中,四個(gè)比特的變化不能絕對(duì)同時(shí)發(fā)生,并且其他代碼(1100、1111等)可能在計(jì)數(shù)中短暫出現(xiàn)。在某些情況下,可能會(huì)出現(xiàn)電路狀態(tài)錯(cuò)誤或輸入錯(cuò)誤。使用格雷碼可以避免此錯(cuò)誤。
數(shù)量的中間過(guò)程是獨(dú)立的。因此,在斷開(kāi)電源時(shí),絕對(duì)值編碼器不會(huì)與實(shí)際位置分離。當(dāng)電源再次打開(kāi)時(shí),位置指示器保持當(dāng)前有效;與增量編碼器不同,有必要搜索零標(biāo)記。
絕對(duì)值編碼器也可以分為單旋轉(zhuǎn)編碼器和多旋轉(zhuǎn)編碼器。對(duì)于具有多個(gè)旋轉(zhuǎn)的絕對(duì)值編碼器,制造商利用時(shí)鐘齒輪機(jī)的原理,在中心碼盤旋轉(zhuǎn)時(shí)通過(guò)齒輪驅(qū)動(dòng)另一組碼盤(或多組齒輪、多組碼盤)。在單圈編碼的基礎(chǔ)上,增加了圈數(shù)以擴(kuò)大編碼器的測(cè)量范圍。這種類型的絕對(duì)值編碼器被稱為具有多個(gè)旋轉(zhuǎn)的絕對(duì)旋轉(zhuǎn)編碼器,這也是由用于編碼的機(jī)械位置決定的,并且每個(gè)位置代碼不重復(fù)。沒(méi)有內(nèi)存。多圈編碼器的另一個(gè)優(yōu)點(diǎn)是,由于其測(cè)量范圍大,在實(shí)際使用中通常有更大的操作空間。這樣就不需要在安裝過(guò)程中尋找零點(diǎn),并且可以使用某個(gè)中間位置作為起點(diǎn),大大簡(jiǎn)化了安裝和故障排除的難度。
格雷碼是可靠性編碼的一部分,是一種最大限度地減少錯(cuò)誤的編碼方法。因?yàn)楸M管自然二進(jìn)制碼可以直接從數(shù)模轉(zhuǎn)換器轉(zhuǎn)換為模擬信號(hào),但在某些情況下,例如,當(dāng)從小數(shù)點(diǎn)3轉(zhuǎn)換為4時(shí),二進(jìn)制碼的每一位都會(huì)發(fā)生變化,這會(huì)導(dǎo)致數(shù)字電路產(chǎn)生大的峰值電流脈沖。另一方面,格雷碼沒(méi)有這個(gè)缺點(diǎn):當(dāng)在相鄰比特之間轉(zhuǎn)換時(shí),只改變一個(gè)比特。當(dāng)從一種狀態(tài)轉(zhuǎn)換到下一種狀態(tài)時(shí),它顯著減少了邏輯混亂。由于在這種類型的編碼中,兩個(gè)相鄰的代碼組之間只有一個(gè)位數(shù)的差異,方向的旋轉(zhuǎn)偏移的微小變化(這可能導(dǎo)致數(shù)字的變化),格雷碼只改變一個(gè)數(shù)字。這比同時(shí)改變兩個(gè)或多個(gè)數(shù)字的其他編碼更可靠,并且可以降低出錯(cuò)的可能性。
格雷碼和二進(jìn)制碼之間的轉(zhuǎn)換:從第二位到左XOR,每個(gè)位與左位的解碼值作為該位的解碼價(jià)值(左位保持不變)。按順序異或到最低位置。順序XOR轉(zhuǎn)換后的值(二進(jìn)制數(shù))是格雷碼轉(zhuǎn)換后的二進(jìn)制碼的值。
用公式表示:
(G:格雷碼,B:二進(jìn)制碼)
原始代碼:p[n:0];格雷碼:c[n:0](n∈n);代碼:C=G(p);解碼:p=F(c)
4、實(shí)施方法
單圈旋轉(zhuǎn)編碼器價(jià)格低廉,在實(shí)踐中得到了廣泛的應(yīng)用。然而,由于其測(cè)量范圍較小,在安裝過(guò)程中有必要調(diào)整零點(diǎn),以避免在使用過(guò)程中繞著零點(diǎn)旋轉(zhuǎn)編碼器。這意味著編碼器只能在360度范圍內(nèi)選擇,這大大減少了其應(yīng)用范圍。然而,在使用時(shí),通常需要將編碼器旋轉(zhuǎn)一圈甚至幾圈以上。考慮到成本和使用要求,有必要對(duì)編碼器編碼進(jìn)行旋轉(zhuǎn)。以10位單圈絕對(duì)值編碼器為例,編碼范圍為0-1023,共有1024個(gè)編碼。傳統(tǒng)的方法是使用PLC程序掃描周期(通常為50-100ms)作為時(shí)間尺度,并在每個(gè)掃描周期內(nèi)將編碼器代碼X與1023進(jìn)行比較。
在這一點(diǎn)上,編碼器已經(jīng)通過(guò)了圓圈,這導(dǎo)致了兩個(gè)問(wèn)題:1。如果編碼器旋轉(zhuǎn)過(guò)快,很容易造成代碼丟失,即程序無(wú)法接收到1023的代碼值,因此無(wú)法正確確定圓。2.當(dāng)編碼器旋轉(zhuǎn)并精確地停止到1023的代碼值時(shí),它通過(guò)旋轉(zhuǎn)引起編碼器錯(cuò)誤信號(hào)。
改進(jìn)的編碼處理以可編程邏輯器件的循環(huán)掃描周期為時(shí)間尺度,即當(dāng)前周期采用編碼a,然后將a與前一周期進(jìn)行比較
如果B-A>=1沒(méi)有循環(huán),則比較編碼B;當(dāng)B-A<=1時(shí),編碼器通過(guò)一個(gè)循環(huán)。由于A和B的值是基于PLC的掃描周期不斷更新的,即使存在代碼丟失,這也不會(huì)導(dǎo)致對(duì)循環(huán)的錯(cuò)誤評(píng)估。
在程序中,MDO是由編碼器轉(zhuǎn)換的二進(jìn)制讀取,MD4是當(dāng)前循環(huán)讀取,MD8是前一個(gè)循環(huán)讀取,MDR16是速度,MD25是對(duì)累積旋轉(zhuǎn)計(jì)數(shù)后讀取的速度。
5、小結(jié)
在實(shí)際的工業(yè)控制過(guò)程中,通過(guò)PLC編程將
單圈絕對(duì)值編碼器用作多圈絕對(duì)值編碼器的方法為需要選擇多圈絕對(duì)編碼的設(shè)計(jì)者提供了一種新的設(shè)計(jì)思路。經(jīng)過(guò)在工程中的實(shí)際應(yīng)用,它可以完全取代多匝編碼器,達(dá)到既節(jié)省功能又節(jié)省成本的效果。