本文介紹格雷碼,這是絕對(duì)編碼器與控制器通信所必需的一種特殊二進(jìn)制排列。
運(yùn)行幾乎所有現(xiàn)代控制系統(tǒng)的計(jì)算機(jī)處理器都使用一種獨(dú)特的語言。開/關(guān)值與“二進(jìn)制”系統(tǒng)相關(guān),通常表示為1和0。該系統(tǒng)適用于大多數(shù)工業(yè)傳感器,但一個(gè)常見的設(shè)備——編碼器——提出了一些不尋常的挑戰(zhàn),需要相當(dāng)專門的二進(jìn)制安排來通信帶控制器。這被稱為格雷碼。
編碼器在系統(tǒng)中的作用
運(yùn)動(dòng)可能是制造、加工和分銷的所有領(lǐng)域之間最常見的連接因素。很難找到任何不包括傳送帶、機(jī)器人或某種自動(dòng)運(yùn)動(dòng)過程的工業(yè)設(shè)施。控制運(yùn)動(dòng)需要一定程度的反饋來驗(yàn)證所需的運(yùn)動(dòng)是否在正確的時(shí)間發(fā)生。對(duì)于旋轉(zhuǎn)運(yùn)動(dòng)(電機(jī)),這種反饋通常采用編碼器的形式。
有兩種編碼器:增量式和絕對(duì)式。
作為一個(gè)簡(jiǎn)單的比較,增量編碼器跟蹤旋轉(zhuǎn)磁盤邊緣周圍的明暗標(biāo)記之間的轉(zhuǎn)換。
它們非常精確和快速,但由于它們?cè)诖疟P周圍的所有路徑都是相同的,所以唯一可以獲得的信息是磁盤移動(dòng)的速度以及在給定時(shí)間內(nèi)它走了多遠(yuǎn),就像看柵欄一樣開車時(shí)的車窗。
絕對(duì)編碼器盤具有從中心向盤邊緣輻射的由明暗標(biāo)記組成的復(fù)雜圖案。該模式因磁盤旋轉(zhuǎn)的位置而異。該信息不僅可以告訴磁盤旋轉(zhuǎn)的速度和距離,還可以隨時(shí)準(zhǔn)確地告知磁盤的位置,即使電源循環(huán)。
這些絕對(duì)編碼器具有一系列傳感器以讀取整個(gè)圖案,并且由于有多個(gè)傳感器,因此連接的控制器必須同時(shí)讀取它們以獲得當(dāng)前位置數(shù)據(jù)。
絕對(duì)編碼器時(shí)序問題
大多數(shù)這些絕對(duì)編碼器有8到10個(gè)成排排列的傳感器,以讀取從中心輻射的暗/亮標(biāo)記圖案。這將與8位或10位輸出有關(guān)。在任何時(shí)候,該模式都將包含00000000和11111111之間的某種組合,至少對(duì)于8位輸出而言。如果模式遵循真正的二進(jìn)制組合,這將分別是磁盤上的最低和最高模式。在磁盤上的某個(gè)點(diǎn),它會(huì)立即從最高模式回落到最低模式,并再次開始增加。
如果讀取這些傳感器的控制器不能同時(shí)讀取它們,則會(huì)出現(xiàn)時(shí)序問題。它從第一個(gè)傳感器開始,當(dāng)它到達(dá)第八個(gè)或第十個(gè)傳感器時(shí),我們最好的希望是模式自第一個(gè)傳感器讀數(shù)以來沒有改變。如果多個(gè)傳感器同時(shí)從亮變?yōu)榘担瑒t控制器將開始讀取舊模式上的傳感器但完成新模式上的讀取的可能性很小但可能。所以,二進(jìn)制序列是一半舊一半新但完全不正確。這將被解釋為從一個(gè)位置到另一個(gè)很遠(yuǎn)的位置的瘋狂運(yùn)動(dòng)。
如果運(yùn)動(dòng)很慢并且控制器可以非常快速地讀取傳感器模式,那么問題可能不會(huì)很嚴(yán)重。不正確的讀數(shù)可能仍然會(huì)出現(xiàn),但只會(huì)在很長(zhǎng)一段時(shí)間內(nèi)出現(xiàn)一次。然而,編碼器旋轉(zhuǎn)得如此之快,以至于我們通常不得不選擇專業(yè)的高速計(jì)數(shù)器模塊來檢查和跟蹤讀數(shù)。即使是典型數(shù)字輸入模塊的速度也不足以跟上。這意味著那些錯(cuò)誤的讀數(shù)預(yù)計(jì)會(huì)更頻繁地發(fā)生。結(jié)果可能是液壓閥瞬間打開以補(bǔ)償感知到的“錯(cuò)誤”(實(shí)際上并未發(fā)生)。此動(dòng)作對(duì)設(shè)備造成的損壞可能是災(zāi)難性的,因此即使是罕見的情況也是不可接受的。
格雷碼:傳感器布置解決方案
減慢所有運(yùn)動(dòng)可能是一種可能的解決方案,但顯然您不能只減慢整個(gè)系統(tǒng)的速度來獲得更好的結(jié)果——這會(huì)降低優(yōu)化和效率。
實(shí)際的解決方案要簡(jiǎn)單得多,但需要一點(diǎn)創(chuàng)造力才能理解。該解決方案是格雷碼的實(shí)現(xiàn),它涉及脫離標(biāo)準(zhǔn)二進(jìn)制計(jì)數(shù)序列,以消除多個(gè)位同時(shí)更改的機(jī)會(huì)。
標(biāo)準(zhǔn)的二進(jìn)制序列給每個(gè)位一個(gè)權(quán)重,就像我們的十進(jìn)制系統(tǒng)有1、10和100的位置等。每次達(dá)到每個(gè)位置的最大值時(shí),在下一次計(jì)數(shù)時(shí)所有位置都重置為0,所以只需就像如果你達(dá)到999,下一個(gè)值是1000,它將所有這些位置重置為0。
在二進(jìn)制中,111可能是一個(gè)計(jì)數(shù),然后在下一個(gè)計(jì)數(shù)1000中,這些位置都重置為0。請(qǐng)注意,有幾個(gè)數(shù)字同時(shí)發(fā)生變化——這是使用二進(jìn)制輸出的編碼器的問題。
格雷碼以計(jì)數(shù)系統(tǒng)的創(chuàng)新者弗蘭克格雷的名字命名。它并不表示編碼盤上的黑/白圖案有任何修改。對(duì)于8位格雷碼,系統(tǒng)確實(shí)從000000開始,但每次下一次計(jì)數(shù)時(shí),任何時(shí)候只有一個(gè)位可能發(fā)生變化。這樣,控制器只能有兩種可能的讀數(shù):
傳感器陣列將在一位發(fā)生變化之前被讀取,它將指示沒有變化。
該數(shù)組將在該位更改后的片刻被讀取,并且控制器將了解發(fā)生了小幅度的運(yùn)動(dòng)。
由于只有一位可以更改,因此不可能在某些位已正確更改而其他位未正確更改的更改中間讀取數(shù)組。
格雷碼實(shí)現(xiàn)
要在控制器中使用此格雷碼系統(tǒng),首先必須了解只有絕對(duì)編碼器使用此排序系統(tǒng)。在增量編碼器中,磁盤上只有一個(gè)明暗模式,因此沒有模式,只有轉(zhuǎn)換。
格雷碼不是計(jì)數(shù)序列,因此如果您直接將其作為二進(jìn)制數(shù)讀取,它似乎不會(huì)在循環(huán)中進(jìn)行,因此不會(huì)為您提供有關(guān)速度或位置的任何有用信息。
使用此格雷碼輸入的PLC或其他控制器必須設(shè)置高速計(jì)數(shù)器和將格雷碼輸入轉(zhuǎn)換為二進(jìn)制等效數(shù)的跟蹤公式,以準(zhǔn)確發(fā)送位置數(shù)據(jù)。一些PLC具有現(xiàn)成的此功能,但對(duì)于其他PLC,它必須由用戶創(chuàng)建。
-
控制器
+關(guān)注
關(guān)注
114文章
17165瀏覽量
184845 -
格雷碼
+關(guān)注
關(guān)注
2文章
34瀏覽量
13416 -
絕對(duì)編碼器
+關(guān)注
關(guān)注
0文章
15瀏覽量
7122
發(fā)布評(píng)論請(qǐng)先 登錄
什么是格雷碼

二進(jìn)制格雷碼與自然二進(jìn)制碼的互換
常用編碼(BCD編碼、余3碼、格雷反射碼、奇偶校驗(yàn)碼)
格雷碼簡(jiǎn)介及格雷碼與二進(jìn)制的轉(zhuǎn)換程序
什么是BCD碼、8421碼、余三碼、格雷碼
格雷碼的規(guī)則和應(yīng)用問題?
格雷碼式旋轉(zhuǎn)編碼器在位移檢測(cè)中的應(yīng)用

格雷碼運(yùn)算研究
格雷碼編碼器功能實(shí)現(xiàn)

將格雷碼轉(zhuǎn)換為二進(jìn)制編碼器的方法

評(píng)論