ELMO驱动器用arm板子控制,并通过串口从RS232获取编码器数据

在设计机械臂的过程中,由于使用的maxon伺服电机和ELMO驱动器,需要在maxon伺服电机的尾部安装编码器作为反馈信号连接至ELMO驱动器的feedback A 接口,采用的控制方式是通过PWM信号发送至feedback B作为控制信号。如下图所示:

这种控制方式简单方便,但是也有缺点,那就是feedback A作为反馈输出信号被驱动器占用,feedback B作为控制信号输入被占用,导致我们没有更多的接口去获取编码器的数据,先上图,脉冲控制方式的接线图如下所示,可以看出port B1是作为输入的信号。

所以问题来了,当把伺服电机安装在机械臂上的时候,如何获取到编码器的数据呢?

1. 将伺服电机的编码器脉冲信号分开使用,采用并接的方式,给驱动器feedback A 接一个,再给并联一个出来接到板子监控机械臂位姿?

理论上说是可以的,直接接到板子相应的模板上,但是可能会出现干扰的问题,造成反溃信号不准确,导致电机速度位置控制都不准确,得不偿失啊!

2.在机械臂上各个关节重新安装一个编码器,单独给板子使用。

这样的确不存在干扰的问题,而且实验室的独立驱动转向小车就是这么操作的。但是俺们自己设计的机械臂长这个样子,这空间肯定不够了,强行加肯定更丑,成本又高了那么一丢丢!

还有一种方式,当初电机和驱动器的增益调节的时候,composer软件提供了两个界面,上方界面可以帮助我们发送特定指令,可以让电机使能或以特定速度转动,下方界面可以帮助我们监控驱动器和电机的各种参数,包括速度电流位置等等。

数据传输的方式是通过RS232或者CAN总线,因为调试的时候用的是RS232,咱就不讨论CAN总线的方式了,具体可以翻阅相关手册。

       既然上位机软件能通过设置监控面板来监视伺服电机的位置速度等等信息,是否就意味着驱动器以某种方式将编码器的数据传输给了上位机软件,而上位机和驱动器通信的目前只有一根RS232传输线。所以可以判断编码器数据经过feedback A进入了驱动器,驱动器通过一系列算法计算出电机运动过程中的position,velocity,position err等数据并保存在驱动器的寄存器空间中,当我们点击监控面板上的选项或者按钮,软件就会帮助我们发送特定的指令到串口的写端,随后Cello的Rx端接收了指令,并将特定命令对应的数据通过Tx端发送至上位机的串口,上位机软件(也就是composer)利用这些数据,可视化成面板上的监控数据。

如下图所示,首先选择监视的方式,然后选择监控的参数是position和velocity,下面有个Mapping 和Start Record 按钮,也是帮助我们记录和读取数据的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值