首页 > 其他分享 >Elmo 驱动器关于双编码器读数的获取方式

Elmo 驱动器关于双编码器读数的获取方式

时间:2023-04-27 22:35:31浏览次数:47  
标签:编码器 Elmo CA 配置 寄存器 驱动器

问题提出

  本文使用的 Elmo 驱动器型号是 Gold Twitter。

  想要获取双编码器的目的是发现当使用双编码器进行驱动器调参时,发现位置环跟踪非常不稳定,存在震荡现象。因为在 Elmo 的双编码器配置里,电机端的编码器用于配置速度环和 Communication ,而输出端(负载端)的编码器用于配置位置环。当输入输出间的减速器存在弹性时,就会导致简单的 PID 不能有效完成位置控制,产生震荡。

  解决这个问题的方法很简单,就是驱动器的三环都用电机端编码器,而不用输出端编码器。问题是本文所用的关节配置是电机端安装相对编码器,输出端安装绝对编码器,如果不用输出端的编码器,那么电机断电后就会丢失零位。因此我们有必要同时获取两个编码器的信息,并仅把电机端编码器用于电机三环调参。

  在 EASII 软件上直接设置的话,是不能完成上述要求的,只能实现(1)单编码器 + 三环;(2)电机端编码器(速度环)+ 负载端编码器(位置环);两种配置。本文想要实现的是驱动器上直接基于电机端编码器做三环控制,同时也要获取输出端编码器以获取绝对位置,这个绝对位置在控制器上也可以做进一步的算法控制。

  ​image

  在知乎上看到其他人也有这个问题,当时他们也没有讲清楚怎么同时读双编码器的问题。 https://zhuanlan.zhihu.com/p/55702051

  ​febc6d9872eac3dfe77b111adc7c265

解决方案

  经过研究 Elmo 的命令参考和 DS402 协议,最终解决上述问题。

  分为两部分

1. 编码器配置

  首先去 EASII 的 Help 里找到 Elmo 驱动器命令参考中关于编码器配置的内容,这部分配置集中在 CA 寄存器组,如下图,Gold 驱动器有 4 个传感器反馈通道(socket),这里 CA 命令中 CA[41-44] 表示对 socket 连接到哪种传感器。在本文的配置里,驱动器 Socket1 连接了 Quad Encoder B (CA[41] = 1​),Socket2 连接 Biss-C 编码器 (CA[42] = 24​)。

  ​​​​image​​​​

  那么这些编码器如何配置呢?直接在驱动器的调试界面配置似乎不行,因为我们想要实现双编码器配置 + 单编码器三环,而如果在调试界面里配置单反馈就不能配置第二个编码器了。最后探索发现,这个调试界面是直接读写驱动器的寄存器命令来完成调试的,它修改的寄存器只限于界面上显示的寄存器。因此我们可以先把驱动器配置为双反馈,配置好双编码器后,保存,再把驱动器配置成单反馈,再进行后续的电流、速度、位置的调试工作即可。

  ​image

  配置编码器所需要对应的寄存器也可以在 CA 这一页看到,例如配置 BissC 编码器需要很多对应的寄存器(下图)。

  ​image

  本文绝对编码器配置:

  ​image

  对应的寄存器:

CA[22] = 7
CA[23] = 1

CA[35] = 17
CA[36] = 2.5E+7

CA[42] = 24	//Socket2配置为 General Biss 编码器

CA[58] = 0
CA[59] = 19	// 表示编码器是19位的
CA[60] = 8
CA[61] = 0	// 不减少精度 如果是1,19位的编码器会被当成18位来用。
CA[62] = 0	// 多圈配置,无

CA[66] = 27	// BissC编码器单帧传递总位数
CA[67] = 8	// 位置数据起始位

  按照以上步骤配置好后,驱动器三环全部使用 Socket1 的编码器,Socket2 的数据可以读到但并没有使用。如何读到 Socket2 也就是绝对编码器的数据呢?

2. 通信配置

  DS402 协议里除了 0x6064 这个对象反馈位置外,还有一个 0x20A0 反馈辅助位置(Auxiliary Position),这个辅助位置的数据来源由 CA[79]​ 来配置,因此我们设置 CA[79] = 2​ 就可以拿到 Socket2 也就是绝对编码器的数据了。此外 0x20A0 这个对象还有 PY​ 、OV[53]​ 两个别名,对应的说明如下图。

  ​imageimage

  ​image

  ‍

  最后,在 EtherCAT 过程对象配置中,把 0x20A0 加进去,这样上层主机就可以拿到双编码器的数据了(0x6064 和 0x20A0)。

  ​image

  ‍

  在调试时也可以打开状态监视器(Status Monitor)直接将对应的寄存器名称放进去,这样调试时也可以观察到两编码器的数据。

  ​image​​

  ‍

标签:编码器,Elmo,CA,配置,寄存器,驱动器
From: https://www.cnblogs.com/Gentleaves/p/17360413.html

相关文章

  • 使用encoder编码器-decoder解码器加GAN网络的生成式图像修复
    论文链接https://openaccess.thecvf.com/content_cvpr_2016/papers/Pathak_Context_Encoders_Feature_CVPR_2016_paper.pdf简介作者提出了一种基于上下文像素预测的无监督视觉特征学习算法,它既完成了特征提取,也完成了图像修复。通过与自动编码器的类比,提出了上下文编码器(Conte......
  • PyTorch实现堆叠自编码器
    以下是一个使用PyTorch实现堆叠自编码器的示例代码,该代码包括三个自编码器和一些辅助函数,用于训练和测试堆叠自编码器。importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorchvision.transformsastransformsimporttorchvision.datasetsasdatas......
  • PyTorch实现联邦学习堆叠自编码器
    联邦学习是一种用于训练分布在不同设备或地点的模型的技术,其中数据分布在不同的设备上,且不会离开设备。每个设备只训练其本地数据的模型,并将更新的模型参数传递给服务器,服务器对这些更新进行聚合以更新全局模型。由于不共享原始数据,因此联邦学习能够提供更好的数据隐私和安全性......
  • ffmpeg可支持的编码器、解码器、封装格式、网络协议
    {ffmpeg可支持的编码器./configure--list-encodersffmpeg可支持的解码器./configure--list-decodersffmpeg可支持的封装格式./configure--list-muxersffmpeg可支持的解封装格式./configure--list-demuxersffmpeg可支持的网络协议./configure--list-protocols查看......
  • 光盘安装win7系统显示缺少所需的cd dvd驱动器设备驱动程序
    注意:必须用内置光驱才会好使。这样的问题是由于安装版镜像中不带USB3.0驱动,安装介质插到USB3.0接口导致。可以换到USB2.0的接口或是把USB3.0接口的设备拔掉。如果上面方法不行,则用下面方法:1、首先进入BIOS,在BIOS中-Config-USB-USB3.0Mode将默认的Auto选项更改为Disabled后再按F10......
  • 25-组合逻辑集成电路-编码器
    编码器组合逻辑集成电路(MSI)组合电路使用小规模电路设计,描述清楚,用小规模的集成电路实现;小规模集成电路比较灵活常用的部件(译码器\编码器\比较器\选择器)都是事先做好,直接进行使用1.编码器概念及分类1.1编码器的概念编码器:使用一组二进制数表示一个数值或者是符号。例......
  • 对射式红外传感器计次(旋转编码器计次)及外部中断的应用(实物未到待完善)
    【1.什么样的设备需要外部中断】STM32想要获取的信号是外部驱动的很快的突发信号按键不推荐,外部中断不好处理按键抖动和松手检测的问题,可以在主程序中循环读取或定时器中断读取的方式【2.使用外部中断有什么样的好处】有脉冲过来,STM32立即进入中断函数处理没有脉冲的时候,S......
  • MBI5253GFN-A专为LED视频应用而设计的16通道PWM恒流LED驱动器芯片
    MBI5253GFN-A是为使用内部脉宽调制(PWM)控制的LED视频应用而设计的,具有可选择的14位/13位色深。MBI5253具有一个16位移位寄存器,它将串行输入数据转换为输出端口的每个像素灰度。16个调节电流端口设计用于提供均匀和恒定的电流接收器,以驱动具有广泛VF变化范围的LED。输出电流可以通过......
  • 高通正式开源 aptX 和 aptX HD 编码器
    导读蓝牙音频的传输质量在过去这些年有了非常显著的进步,尤其是各大手机厂商开始陆续取消耳机接口,蓝牙音频的发展速度更是加快了不少,用户从一开始只能听个响到现在用蓝牙也可以听无损。说到音频编解码,目前市场上采用比较广泛的应该是SBC和AAC,还有高通主导的aptX、aptX......
  • is620n,is620p,is620,伺服驱动器的代码和原理等
    is620n,is620p,is620,伺服驱动器的代码和原理等YID:2899662030618032......