多摩川编码器协议理解与自做经历-(2)

发布时间 2023-09-06 15:38:41作者: β线的嘟嘟噜

1,前言:上一期介绍了多摩川协议里面的数据介绍,这期我们将使用实物多摩川编码器通过485和逻辑分析仪,来实操了解多摩川协议

纸上得来终觉浅,绝知此事要躬行。

 

我先介绍一下我用到的实物。

多摩川编码器,伺服驱动器,梦源逻辑分析仪。

通过伺服驱动器,看一下了解多摩川编码器和驱动器的通讯

 

我们通过转接板中间用梦源的逻辑分析仪,通过R485 A去抓取中间的通讯(虽然485是是差分信号,其实在干扰不大的情况下,可以通过485A去看他们的通讯),这边我们用的是单圈的多摩川17位磁编码器,

 

我们通过逻辑分析仪抓取到了如下其中的一段信息,我们看一下

 

 

 

 

 

 同过上期我写的笔记我们分析一下 1A是驱动器发给编码器的指令,获取全部信息然后返回1A 00 C5 00 00 11 00 00 00 00 CD

 这里面是有17位的有单圈信息 也就是0到131072(十进制),其中信息排列是C5低八位1到8,00 是中间位8到16,00最后一位是0,所以单圈位置是C5转换为hex为197

 

 这个三个的单圈信息,我们这边来看一下驱动器,下面是显示是197也就是16进制C5

 

 

我们再举例我旋转电机轴

这个是驱动器显示的单圈位置

 

逻辑分析仪抓取

 

 

 我们分析一下现在单圈的绝对值信息

 

 

单圈信息是2B F4 01,其中应该就是如果通过代码计算  (0x2B)|(0xF4>>8)|(0x01>>16) = 0x2b+f400+0x10000= 0x1f42 = 十进制128064,和驱动器的位置对上了,

这里如果是C语言代码里建议用联合体减少位移运算

 

 

 

 我们在分析一下多圈信息,虽然这是单圈编码器,但是不代表他没有多圈信息,而是不带电池重新上电多圈清零。

我们分析一下上图的多圈信息

  一共有3个字节代表多圈信息,单圈信息为16为,最后一个字节会一直为00,所以这里FB为低8位,FF为高八位 所以是0XFFFB = 十进制 65531

和驱动器上的对应

 

 

 

 

 我们再看一下多摩川的校验,是否和我上期说是就是异或校验

 

 1A^00^2E^F4^01^11^FB^FF^00^00 = D4

这个通过异或得到的结果,为D4

 由于时间问题,这期我这边就只将了获取全部信息中 1A指令得到多圈信息,和单圈信息,下期会继续解析其他指令

PS,由于还不习惯写博客拖了几天,我会坚持写下去的,