多摩川協議理解-(1) 多摩川編碼器有絕對值的和增量的兩種,這邊主要是我對多摩川絕對值的理解。 前文, 多摩川編碼器其實是日本有一家公司叫多摩川的公司做出來的,其實他們家有很多種編碼器,但是這裡我只對他的們出的協議作出理解。 硬體介面方面,因為有單圈和多圈只分,多圈一般有電池,所以會多一個帶電池的。 ...
多摩川協議理解-(1)
多摩川編碼器有絕對值的和增量的兩種,這邊主要是我對多摩川絕對值的理解。
前文,
多摩川編碼器其實是日本有一家公司叫多摩川的公司做出來的,其實他們家有很多種編碼器,但是這裡我只對他的們出的協議作出理解。
硬體介面方面,因為有單圈和多圈只分,多圈一般有電池,所以會多一個帶電池的。其主要就是其實是485通訊
單圈 | 多圈 |
5V供電 | 5V供電 |
GND | GND |
485 A | 485 A |
485 B | 485 B |
PE | PE |
NC | 電池正極 |
NC | 電池負極 |
指令名詞 | 解釋 |
CF | 不同的命令類型(比如我要讀取絕對值信息) |
SF | 編碼器的一些狀態 |
DF | 編碼器的位置信息 |
ADF | 編碼器的EEPROM地址 |
EDF | 編碼器EEPROM地址的內容 |
CRC | crc校驗多項式x8+1,(其實這就是異或校驗) |
2,讀寫EEPROM的指令圖 寫EEPROM
讀EEPROM
4,CF指令說明
CF的類型 | CF數組(發送) | 解釋,和返回 |
讀取信息 | ID0(0x02) | 讀取單圈信息,返回CF+SF+ABS單圈信息+CRC |
ID1(0X8A) | 讀取多圈信息,返回CF+SF+ABM多圈信息+CRC | |
ID2(0X92) | 讀取ID信息,返回CF+SF+ENID編碼器ID+CEC | |
ID3(0X1A) | 讀取全部信息,返回CF+SF+ABS+ENID+ABM+ALMC+CRC | |
清除和改變 | ID7(0XBA) | 清除所以故障位,間隔62.5us以上,連續發10次 |
ID8(0XC2) | 將當前位置設置為編碼器零點,間隔62.5us以上,連續發10次(斷電後也生效) | |
IDC(0X62) | 將多圈數據清零,間隔62.5us以上,連續發10次 |
5,DF 說明
CF類型 | DF0 | DF1 | DF2 | DF3 | DF4 | DF5 | DF6 | DF7 |
ID0(0X02) |
ABS0 | ABS1 | ABS2 | |||||
ID1(0X8A) | ABM0 | ABM1 | ABM2 | |||||
ID2(0X92) | ENID | |||||||
ID3(0X1A) | ABS0 | ABS1 | ABS2 | ENID | ABM0 | ABM1 | ABM2 | ALMC |
ID7(0XBA) | ABS0 | ABS1 | ABS2 | |||||
ID8(0XC2) | ABS0 | ABS1 | ABS2 |
1、 ABS0~ABS2 分別為編碼器單圈位置的低位、中位和高位其中 ABS2 的高 7 位為 0,其他數據組成 17bits 單圈位置信息。
2、 ABM0~ABM2 分別為編碼器多圈位置的低位、中位和高位,其中 ABM2 為 0,其他數據組成 16bits 多圈位置信息
3、 ENID 為編碼器 ID 信息,預設為 0x11(一般表示為17位)。PS(0X17表示23位)
4、ALMC SF 由於目前其實磁編碼器和光編有不一樣,其實得看編碼器廠商,這邊我貼一下多摩川原版的圖片定義,比如磁編,有可能會有磁鐵弱的警告定義,具體還得問廠商拿手冊看一下。
這是我第一次寫博客,有錯的地方希望能幫我指出(因為這是我自己網上摸索的,自己也是剛畢業沒一年小公司沒人帶,這些裡面也不一定是全對),下幾期我會實際,解析舉例,C代碼,時序上的講解,和做一個多摩川編碼器。