多摩川协议理解-(1)

多摩川编码器有绝对值的和增量的两种,这边主要是我对多摩川绝对值的理解。

前文,

多摩川编码器其实是日本有一家公司叫多摩川的公司做出来的,其实他们家有很多种编码器,但是这里我只对他的们出的协议作出理解。

 

硬件接口方面,因为有单圈和多圈只分,多圈一般有电池,所以会多一个带电池的。其主要就是其实是485通讯

 

单圈 多圈
5V供电 5V供电
GND GND
485 A 485 A
485 B 485 B
PE  PE
NC 电池正极
NC 电池负极
 
它的通讯波特率是2.5M,
 
通讯方面,对于绝对试编码器,其一般流程都是,发送指令给编码器,编码器返回对应信息。
其中多摩川编码器有多种指令,这里我们以单圈17位编码器为例子
 
指令分我分为两类
1,读取编码器信息状态,清除和改变编码器错误和状态的一些指令(单CF一个字节)
2,读写编码器的EEPROM的的指令
 
 
在详细说明多摩川的指令和返回信息,这边我们先说明一些名词
 
指令名词 解释
CF 不同的命令类型(比如我要读取绝对值信息)
SF 编码器的一些状态
DF 编码器的位置信息
ADF 编码器的EEPROM地址
EDF 编码器EEPROM地址的内容
CRC crc校验多项式x8+1,(其实这就是异或校验)
 
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代码,时序上的讲解,和做一个多摩川编码器。

 

 

 

 
 
 
 
 
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/dudulu002/p/17639786.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!