衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

科技觀察員 ? 來源:control ? 作者:大衛(wèi) ·彼得森 ? 2022-05-05 15:41 ? 次閱讀

絕對編碼器中的傳感器輸出格雷碼序列,需要一些復(fù)雜的轉(zhuǎn)換方法才能正確使用。本文展示了如何獲取絕對編碼器使用的格雷碼并將其轉(zhuǎn)換為二進(jìn)制。

對于大多數(shù)使用電機(jī)和伺服機(jī)構(gòu)的旋轉(zhuǎn)運(yùn)動,反饋至關(guān)重要。這種反饋通常采用編碼器的形式。對于許多編碼器,輸出是“絕對的”,這意味著可以隨時測量位置的精確度數(shù),但它有一個缺點(diǎn):它需要大量傳感器。這些傳感器經(jīng)常輸出格雷碼序列,需要一些復(fù)雜的轉(zhuǎn)換方法才能正確使用。

二進(jìn)制如何導(dǎo)致編碼器出現(xiàn)問題

電機(jī)和其他旋轉(zhuǎn)運(yùn)動設(shè)備最常見的反饋形式是編碼器,它使用光(光學(xué))傳感器對著具有特定黑白圖案的旋轉(zhuǎn)盤來提供角位置數(shù)據(jù)。存在兩種主要類型的編碼器:增量式和絕對式。增量編碼器對亮/暗標(biāo)記轉(zhuǎn)換進(jìn)行計數(shù),以跟蹤在給定時間內(nèi)經(jīng)過了多少度的旋轉(zhuǎn)。

另一種編碼器是絕對型編碼器,這種編碼器經(jīng)常使用,因?yàn)樗梢詼y量與增量型相同的量,但它是由圓盤構(gòu)成的,圓盤具有從中心輻射的復(fù)雜標(biāo)記圖案。根據(jù)位置的不同,圖案是完全獨(dú)特的。它們通常有 256 到 1024 個不同的獨(dú)特圖案,均勻分布在圓圈周圍,分別表示 8 位或 10 位輸出。

位數(shù)等于跟蹤模式的傳感器數(shù)量,而這個數(shù)量的傳感器可能會為單個處理器創(chuàng)建一個耗時的讀取任務(wù)。為了最大程度地減少讀取錯誤,磁盤通常具有一種模式,該模式僅允許一個傳感器讀數(shù)在磁盤旋轉(zhuǎn)時隨時更改。

由于圖案只有暗色或亮色,這為每個傳感器提供了開/關(guān)或“二進(jìn)制”輸出。在典型的二進(jìn)制模式中,位序列直接對應(yīng)于一個等效的十進(jìn)制數(shù),該十進(jìn)制數(shù)會在磁盤周圍增加,從 0 到 256(或最多 1024)。標(biāo)準(zhǔn)二進(jìn)制序列的唯一問題是多個位同時改變許多計數(shù)。每次發(fā)生這種情況時,都可能會遇到讀取錯誤。

下表顯示了這種情況發(fā)生的頻率。

poYBAGJzf36AUjR2AABGkNpJmEU144.png

如圖所示,這種可能的錯誤每隔一個計數(shù)就會發(fā)生一次,這是完全不可接受的。

為什么會出現(xiàn)這樣的問題?

作為這個錯誤嚴(yán)重性的一個例子,想象一下從第九種模式到第十種模式的轉(zhuǎn)變。四個傳感器最初會讀取 1001,然后在電機(jī)旋轉(zhuǎn)時變?yōu)?1010。

控制器會以固定的快速間隔讀取傳感器,因此它可能會在模式仍為 9 時開始讀取,因此前三個傳感器可能會讀取 1 0 和 0。然后,就在它讀取最后一個傳感器之前,模式步驟最多 10 并且最終傳感器變?yōu)?0。

控制器會將整個序列串在一起為 1000。但看起來它只是倒退了,回到了 8!實(shí)際情況并非如此。

另一方面,如果只有一個位從一個計數(shù)轉(zhuǎn)換到下一個計數(shù),控制器將看到變化并識別運(yùn)動,或者它不會看到變化并識別出還沒有發(fā)生運(yùn)動。格雷碼是這種一次只更改一次的系統(tǒng)序列,但對于熟悉標(biāo)準(zhǔn)二進(jìn)制的專業(yè)人士來說,這種模式似乎很陌生。

pYYBAGJzf4SAAtCiAABDOK1b9no020.png

雖然它與標(biāo)準(zhǔn)二進(jìn)制不匹配,但格雷碼到二進(jìn)制的計算可以非常簡單地完成,這里有一些標(biāo)準(zhǔn)梯形邏輯和使用 C++ 的結(jié)構(gòu)化文本中的示例。

梯形邏輯轉(zhuǎn)換

要將格雷碼位轉(zhuǎn)換為正確的二進(jìn)制位,每個格雷碼傳感器必須對應(yīng)一個布爾值,或者直接來自傳感器,或者作為整數(shù)的一部分。

此示例是用 Automation Direct 的梯形圖編程軟件編寫的,并假設(shè)“Sensor_1”是最低有效位 (LSB),傳感器沿著編碼器磁盤的外邊緣。共有八個傳感器(8 位)增加到編碼器的中心。

‘Binary_Number:1’ 是用于存儲標(biāo)準(zhǔn)二進(jìn)制等效值的整數(shù)的對應(yīng)位。對于其他軟件,例如 Rockwell 的 RSLogix,這個整數(shù)位可能看起來像 Binary_Number.0,其中 Binary_Number 是一個 INT 類型標(biāo)記,從位 0 開始。

第 1 行 - 為了正確轉(zhuǎn)換,最高有效位 (MSB) 即 Sensor_8 保持不變。

第 2 行 - 對于下一個有效位,在 Sensor_8 和 Sensor_7 之間使用“異或”的邏輯比較。如果 Sensor_7 和 _8 相同,則返回 0,如果 Sensor_7 和 _8 不同,則返回 1。

第 3 到 8 行 - 對于每個剩余位,我們繼續(xù)在前一個位和下一個 Sensor 值之間使用“異或”。

如果編碼器是 10 位的,則有 10 行,前兩行將使用 Sensor_10 和 _9 并下降,直到最后使用最后一個傳感器。

poYBAGJzf7-AAK2rAAD1ezf8uek466.jpg

圖 1. Automation Direct 梯形圖編程軟件中使用的梯形邏輯示例。

所有前面的邏輯線都可以包裝到單個自定義指令塊或子程序中以簡化過程。

結(jié)構(gòu)化文本轉(zhuǎn)換

這個例子只是部分的,因?yàn)橛懈鞣N各樣的語言、語法和應(yīng)用程序。核心目標(biāo)仍然是將來自八個傳感器的傳感器讀數(shù)轉(zhuǎn)換為等效的二進(jìn)制數(shù)。

對于基于 C 的語言,產(chǎn)生單個位的異或 (XOR) 是 !=。MSB 與傳感器值相同,第二位是兩個傳感器的 XOR,其余每個位是前一位和下一個傳感器的 XOR。

無效轉(zhuǎn)換(){

Binary_Number_8 = Sensor_8;

Binary_Number_7 = Sensor_8 != Sensor_7;

Binary_Number_6 = Binary_Number_7 != Sensor_6;

Binary_Number_5 = Binary_Number_6 != Sensor_5;

Binary_Number_4 = Binary_Number_5 != Sensor_4;

Binary_Number_3 = Binary_Number_4 != Sensor_3;

Binary_Number_2 = Binary_Number_3 != Sensor_2;

Binary_Number_1 = Binary_Number_2 != Sensor_1;

}

剩下的步驟是將 Binary_Number 位轉(zhuǎn)換為適合應(yīng)用程序的整數(shù)。請注意,不同的語言可能遵循不同的程序。此示例僅用于概述該過程的外觀。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2553

    文章

    51390

    瀏覽量

    756569
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3667

    瀏覽量

    135237
  • 絕對編碼器
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    6988
收藏 人收藏

    評論

    相關(guān)推薦

    什么是

    (Gray code),又叫循環(huán)二進(jìn)制碼或反射二進(jìn)制碼 在數(shù)字系統(tǒng)中只能識別0和1,各種數(shù)據(jù)要轉(zhuǎn)換
    發(fā)表于 11-11 09:34 ?7420次閱讀
    什么是<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>

    二進(jìn)制與自然二進(jìn)制碼的互換分析

    其中采用循環(huán)二進(jìn)制編碼的絕對式編碼器,其輸出信號是一種數(shù)字排序,不是權(quán)重碼,每一位沒有確定的大小,不能直接進(jìn)行比較大小和算術(shù)運(yùn)算,也不能直接轉(zhuǎn)換成其他信號,要經(jīng)過一次
    的頭像 發(fā)表于 09-23 16:23 ?6950次閱讀

    二進(jìn)制與自然二進(jìn)制碼的互換

    。而絕對式編碼器是直接輸出數(shù)字量的傳感,它是利用自然二進(jìn)制或循環(huán)二進(jìn)制
    發(fā)表于 03-08 14:16

    簡介及格二進(jìn)制轉(zhuǎn)換程序

    * 方便地用遞歸實(shí)現(xiàn).這樣就實(shí)現(xiàn)了二進(jìn)制轉(zhuǎn)換.同樣,
    發(fā)表于 04-22 09:00

    PLC中將轉(zhuǎn)換二進(jìn)制碼一種運(yùn)算方法

    介紹了位置檢測傳感---絕對值編碼器的原理及特點(diǎn),并介紹了一種在PLC 控制系統(tǒng)中,編碼器
    發(fā)表于 08-13 09:28 ?173次下載

    簡介及格二進(jìn)制轉(zhuǎn)換程序

    簡介及格二進(jìn)制轉(zhuǎn)換程序
    發(fā)表于 01-16 11:52 ?5059次閱讀

    二進(jìn)制轉(zhuǎn)換

    ,又叫循環(huán)二進(jìn)制碼或反射二進(jìn)制碼
    的頭像 發(fā)表于 03-02 15:48 ?1.8w次閱讀
    <b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>與<b class='flag-5'>二進(jìn)制</b>的<b class='flag-5'>轉(zhuǎn)換</b>

    編碼器功能實(shí)現(xiàn)

    編碼器信號或數(shù)據(jù)進(jìn)行編制、轉(zhuǎn)換為可用以通訊、傳輸和存儲的信號形式的設(shè)備。屬于可靠性
    的頭像 發(fā)表于 03-02 16:13 ?1.3w次閱讀
    <b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b><b class='flag-5'>編碼器</b>功能實(shí)現(xiàn)

    如何把二進(jìn)制轉(zhuǎn)換為是如何判斷讀空寫滿呢?

    在傳遞讀寫時鐘域的指針使用來傳遞,如何把二進(jìn)制轉(zhuǎn)換為
    的頭像 發(fā)表于 09-15 09:38 ?8382次閱讀
    如何把<b class='flag-5'>二進(jìn)制</b><b class='flag-5'>轉(zhuǎn)換為</b><b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>?<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>是如何判斷讀空寫滿呢?

    一文詳解編碼器

    本文介紹,這是絕對編碼器與控制通信所必需的一種特殊二進(jìn)制排列。
    的頭像 發(fā)表于 05-05 15:47 ?1.1w次閱讀

    二進(jìn)制轉(zhuǎn)換

    是一種循環(huán)二進(jìn)制編碼,特點(diǎn)是相鄰數(shù)變化時只有一位數(shù)據(jù)跳變。
    的頭像 發(fā)表于 01-17 11:15 ?5401次閱讀
    <b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>與<b class='flag-5'>二進(jìn)制</b><b class='flag-5'>轉(zhuǎn)換</b>

    二進(jìn)制編碼器工作原理 如何選擇二進(jìn)制編碼器

    二進(jìn)制編碼器是一種數(shù)字電路,它將輸入的二進(jìn)制代碼轉(zhuǎn)換為對應(yīng)的輸出信號。在數(shù)字系統(tǒng)中,編碼器用于
    的頭像 發(fā)表于 11-06 09:44 ?1153次閱讀

    二進(jìn)制編碼器應(yīng)用場景 二進(jìn)制編碼器與模擬編碼器比較

    編碼器信息從一種形式或格式轉(zhuǎn)換為另一種形式的設(shè)備。在數(shù)字和模擬系統(tǒng)中,編碼器扮演著至關(guān)重要的角色。二進(jìn)制
    的頭像 發(fā)表于 11-06 09:45 ?586次閱讀

    二進(jìn)制編碼器的種類及特點(diǎn)

    二進(jìn)制編碼器是一種電子電路,用于二進(jìn)制信號轉(zhuǎn)換為其他格式,如十進(jìn)制
    的頭像 發(fā)表于 11-06 09:47 ?666次閱讀

    二進(jìn)制編碼器在自動化領(lǐng)域的作用

    二進(jìn)制編碼器是一種二進(jìn)制信號轉(zhuǎn)換為數(shù)字信號的電子設(shè)備,廣泛應(yīng)用于自動化領(lǐng)域。 一、二進(jìn)制
    的頭像 發(fā)表于 11-06 09:53 ?460次閱讀
    百家乐官网太阳城真人游戏| 迪士尼百家乐的玩法技巧和规则| 肯博88网| 百家乐官网套利| 大发888娱乐城客户端迅雷下载| 百家乐官网的方法和公式| 百家乐2珠路投注法| 赌博的危害| 百家乐声音不印网| 同德县| 信誉百家乐平台| 百家乐官网下注口诀| 百家乐没边| 百家乐官网投注方法新版| 云鼎百家乐作弊| 网上百家乐官网怎么破解| K7百家乐的玩法技巧和规则 | 百家乐赌博工具| 澳门百家乐官网国际娱乐城| 澳门百家乐必赢看| 澳门百家乐官网怎洋赢钱| 大发888有破解的没| 至富百家乐官网的玩法技巧和规则| 德州扑克平台| 伟博百家乐现金网| 百家乐官网稳定打法| 威尼斯人娱乐城 104| 什么叫百家乐官网的玩法技巧和规则| 葡京娱乐场官网| 至尊百家乐年代| 澳门百家乐官网技巧皇冠网| 威尼斯人娱乐城百家乐| 荷规则百家乐官网的玩法技巧和规则 | 肯博百家乐官网的玩法技巧和规则| 12bet备用| 百家乐金海岸软件| 百家乐官网电话投注多少| 大发888网页在线游戏| 百家乐所有技巧| 百家乐官网专业赌徒| 威尼斯人娱乐城骰宝|