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