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