CAN总线与RM2006电机

1、CAN总线介绍

CAN是一种总线协议,理论上CAN总线是可以接无线多的设备,而对于RM系列电机,虽然手册上说一条CAN总线可以接8个电机,但是一般最多接7个电机,否则会出现失控的情况。接线示意图如下所示。

总线距离长达10KM,并且在两端需要接120Ω电阻,来消除阻抗,CAN总线发送部分分为一下内容:

  1. 报文:总线上设备每次发出去的全部数据。报文种类共有五种,如下所示:

a、数据帧:用于发送节点向接收 节点传送数据的帧。(本设计的RM电机驱动就使用该方式)

b、远程帧:用于接收节点向具有相同ID的发送节点传送数据的帧。

c、错误帧:用于当检测出错误时向其他节点通知错误的帧。

d、过载帧:用于接收节点通知其尚未做好准备的帧。

e、帧间隔:用于将数据帧及远程帧与前面的帧分隔开来。

  1. 邮箱:CAN总线有发送、接收两种邮箱。

a、发送邮箱有三个,数据在发送过程中先传入优先级最高的邮箱中,当邮箱满后,数据进入次级邮箱,当检测CAN总线空闲,高优先级邮箱数据进行发送,起到缓存的作用。

b、接收邮箱有两个,但每个邮箱有三层的深度,并且邮箱前面还有过滤器。过滤器作用是读取识别符并且过滤不匹配的报文。

  1. 帧种类,

  1. 帧格式

  1. 标识符

2、单片机通过驱动电调来控制电机

2.1、STM32发送数据到电调

CAN通讯的数据帧仅仅8Byte,电机电流值需要2Byte,所以一个数据帧对应四个电机,出现大于四个电机驱动情况,就需要两个数据帧对电机发送数据。通过查阅C610说明书对CAN通信协议介绍部分可知标识符分别为0X22和0XFF,如下图所示。

对于4~8个电机的情况,前四个电机ID设为0X200,后面几个电机设为0X1FF即可。手册说明如下所示。

2.2、STM32接收到电调数据

为了实现对电机的闭环控制,需要实时对电调反馈的信息进行接收,接收ID方式如下所示。

接着需要对接收数据按说明手册进行解码即可,如下图所示。

3、RM2006电机接线示意图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值