CAN总线与RM2006电机

简介: CAN总线与RM2006电机

1、CAN总线介绍

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


0e1c32a74ed221917de673bc0ec2ed47.png


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


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

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

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

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

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

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


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

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

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


3.帧种类,


4.帧格式


5.标识符


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

2.1、STM32发送数据到电调

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


21b6e5cffa0924ff26de174b1278a823.png


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


2a06a43e0d6691d5c168abc85fc7073d.png

10cecdb3e2638abd0c7ed853cb25303f.png


2.2、STM32接收到电调数据

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


62485ba5e2e386c5dcf9b8638bde53d2.png


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


a5e1a65ca88dd893f11c45d91f33624b.png


3、RM2006电机接线示意图


300e2f67036245b75735e0761b70170b.jpg

相关文章
|
10月前
|
传感器 人工智能 算法
傅利叶开源人形机器人,提供完整的开源套件!Fourier N1:具备23个自由度和3.5米/秒运动能力
傅利叶推出的开源人形机器人N1搭载自研动力系统与多模态交互模块,具备23个自由度和3.5米/秒运动能力,提供完整开源套件助力开发者验证算法。
810 3
傅利叶开源人形机器人,提供完整的开源套件!Fourier N1:具备23个自由度和3.5米/秒运动能力
|
8月前
|
NoSQL IDE MongoDB
Studio 3T 2025.10 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.10 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
744 21
Studio 3T 2025.10 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
|
11月前
|
数据可视化 测试技术 API
前后端分离开发:如何高效调试API?有工具 vs 无工具全解析
在前后端分离开发中,API调试至关重要。本文探讨有无调试工具时如何高效调试API,重点分析Postman、Swagger等工具优势及无工具代码调试方法。通过实际场景如用户登录接口,对比两者特性。同时介绍Apipost-Hepler(IDEA插件),将可视化与代码调试结合,提供全局请求头配置、历史记录保存等功能,优化团队协作与开发效率,助力API调试进入全新阶段。
|
监控 安全 物联网
在使用物联网卡过程中的一些限制
在使用物联网卡(IoT卡)的过程中,确实存在一些限制和注意事项,这些限制主要来源于技术、安全、法规以及服务提供商的政策等多个方面。以下是一些常见的限制及操作建议:
|
机器学习/深度学习 算法 机器人
机器人控制中常见的算法总结
机器人控制中常见的算法总结
1018 0
|
测试技术 开发工具 Python
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
876 0
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
346 3
|
机器学习/深度学习 移动开发 资源调度
【YOLOv8改进 - 注意力机制】S2Attention : 整合空间位移和分割注意力
YOLOv8专栏探讨了MLP主干网络的创新,如S2-MLPv2,它通过通道扩展和分块空间移位提高性能,达到83.6%的ImageNet top-1准确率。文章介绍了分割注意力模块,用于融合特征图。提供了S2Attention类的代码示例,展示如何结合空间位移和分割注意力。详细内容和实战案例可在[CSDN博客](https://blog.csdn.net/shangyanaf)找到。
STM32CubeMX FreeRTOS 互斥锁
STM32CubeMX FreeRTOS 互斥锁
706 12
|
tengine 自然语言处理 Kubernetes
Nacos2.0的K8s服务发现生态应用及规划
Nacos 是阿里巴巴于 2018 年开源的注册中心及配置中心产品,帮助用户的分布式微服务应用进行服务发现和配置管理功能。随着 Nacos2.0 版本的发布,在性能和扩展性上取得较大突破后,社区开始考虑如何提供更加云原生方向的功能和用法。本次分享主要介绍 Nacos 在 2.0 版本在Kubernetes 环境下对服务发现生态的应用探索成果及后续探索方向的规划。
Nacos2.0的K8s服务发现生态应用及规划

热门文章

最新文章