大疆M2006电机测试文档

简介: 本文是关于大疆RoboMaster M2006电机的测试文档,介绍了在Ubuntu20.04环境下通过ROS读取电机反馈信息、控制电机移动,并利用PID控制算法实现速度闭环的测试流程,涵盖了测试材料、接线方法、电机校准、CAN通讯测试以及在ROS中的移植和PID调节的详细步骤和方法。

一、项目

MilkTeaBrother是使用麦克纳姆移动方式的室内服务小车,动力系统为RoboMaster M2006,文中提到的相关文件可以在下方获取。
点击此处了解MilkTeaBrother相关信息

二、测试内容

测试在Ubuntu20.04环境下,在ROS读取电机位置或速度反馈信息控制电机,完成小车移动控制,通过PID控制算法,实现小车速度的闭环。

三、测试材料

① 优利德UNIT直流稳压电源UTP1310

UTP1310是经济型的直流稳压电源,具有过压保护、过流保护、过温保护、LED四位电压电流显示等功能。
了解UTP1310直流稳压电源相关信息

② RoboMaster M2006 P36直流无刷减速电机

了解M2006电机相关信息
M2006 P36电机采用三相永磁直流无刷结构,具有输出转速高、体积小、功率密度高的特点。M2006内置位置传感器,提供精确的位置反馈,以FOC矢量控制方式使电机产生连续的扭矩。减速箱减速比为36:1
电机的额定输入电压为24V,额定电流为3A

③ RoboMaster C610无刷电机调速器

了解C610电调相关信息
C610电调采用32位电机驱动定制芯片,使用磁场定向控制技术(FOC),实现对电机扭矩的精确控制,与M2006电机配合使用,可选用RoboMaster Assistant调参并升级固件

④ RoboMaster 电调中心板 2

了解RM2电调中心板相关信息
RoboMaster 电调中心板 2 是一款专为实现电源及 CAN Bus 通信接口扩展的转接板。中心板具有结构紧凑、接口集成度高等特性,可同时驱动 7 套动力系统;采用硅胶外壳设计提高了防护等级,保障产品可靠运行。

⑤ MakerbaseMKS CANable Pro V1.0 USB转CAN模块

CANable 是一款小型的、低成本的开源 USB 转 CAN 适配器。 CANable 在您的计算机上显示为虚拟串行端口,并充当 CAN 总线接口的串行线路。 使用可选的candlelight固件时,CANable 将作为 Linux 上的本机 CAN 接口被调用。
CANable Pro 是 CANable 的电隔离版本,具有增强的 ESD 保护和分离式固定孔。
了解CANable相关信息
了解Makerbase商家提供的测试案例

四、测试前准备

① 接线

开始测试前,需要首先将各部分接线如下:

1. 连接XT60电源线与中心板

RoboMaster Central Board 2额定输入电压为24V,额定输入电流为30A,电源输入接口为XT60

2. 连接中心板与XT30电源线

中心板上有七个XT30电源输出接口,额定电压为24V,额定输出电流为15A

3. 连接XT30电源线与C610电调

将XT30电源线正负两线,分别焊于电调的正负点位,对应焊接点在C610电调说明书中有具体描述。
C610电调额定电压为24V,最高支持10A的持续电流。

4. 连接中心板与CAN信号线

在中心板的顶部或侧面有多个2-Pin CAN总线接口,每个接口与板上其他CAN总线接口并联,用于CAN总线通讯。

5. 连接CAN信号线与C610电调

按照CAN信号线线序CAN_H、CAN_L,将CAN信号线焊接到C610电调背面对应端点,在说明书中有具体描述。
CAN总线比特率为1Mbps,M2006动力系统的CAN通信默认发送频率为1KHz

6. 连接C610电调与M2006电机的三相动力接头

连接时确保连线正确,在说明书中有具体说明。

7. 连接C610电调与M2006电机的4-Pin数据线

将M2006电机的4-Pin位置传感器数据线连接到C610电调对应端口上,在说明书中有具体描述。
最终接线情况应如下图所示:
在这里插入图片描述

② 接通电源并校准电机

1. 接通电源

待收到启动蜂鸣,电机与电调开始正常工作后,绿灯闪烁,此时可以开始校正电机。

2. 校正电机

校准过程中须保持空载,且不可触碰电机。
初次使用需校准电机,长按C610电调上的SET按键,直至指示灯变为绿灯高频闪烁,随后释放SET按键。此时电机将进入自动校准模式,校准完成后会自动退出校准模式。

五、测试

① 调试MakerbaseCANable USB转CAN模块

1. 获取CANable固件

可以从CANable官网下载固件。
也可查看文件夹中已经编译好的固件firmware.bin,或者是按照candlelight项目的编译步骤获取固件文件。

2. 烧录

使用STM32CubeProgrammer将固件烧录到板中。
下载STM32CubeProgrammer
将板上的boot跳线连接,开启DFU (Device Firmware Upgrade) 烧录模式,boot位置即图上红框处。
在这里插入图片描述
打开STM32CubeProgrammer,依次点击红绿蓝三个按钮,搜索可用的STM32设备。
在这里插入图片描述
随后按照图示顺序,加载本地的固件文件。
在这里插入图片描述
选择好本地的固件文件后,点击和上图中Read同位置的Download按钮,将固件文件载入板中。
当提示烧录成功后,断开跳线,准备开始下一步在Linux中进行测试。

② 在Linux中测试接收CAN总线信息

1. 安装测试软件包及其依赖

sudo apt-get install -y can-utils net-tools

2. 查看CAN设备是否能被发现

can设备在Linux下在ifconfig中和其他设备一同管理,图中红框所示为测试要用的CAN设备。

ifconfig -a

在这里插入图片描述

3. 启用CAN设备

以CAN设备名为can0为例,比特率为1000000,启用该设备。

sudo ip link set can0 up type can bitrate 1000000

4. 监听CAN端口

监听Can0收到的信息。

candump can0

在这里插入图片描述
此时扭动电机,可以看到can0处收到的信息在不断变化,证明能接收到CAN总线信息,可以准备下一步测试,按照协议规则,读取CAN设备传达的具体信息。

③ CAN通讯

要通过CAN总线收发电机的信息,首先要了解CAN本身,着重了解数据帧部分
了解CAN通讯数据帧相关内容
因为只涉及到应用CAN,因此对其底层的具体实现不需要全部掌握,使用python-can在Ubuntu中开发。
python-can 库为 Python 提供控制器区域网络支持,为不同的硬件设备提供通用抽象,以及一套用于在 CAN 总线上发送和接收消息的实用程序。
查看MilkTeaBrother的can通讯模块

④ 控制电机

在了解完CAN通讯后,依照MilkTeaBrother的CAN模块,接收并向电机发送控制指令
查看MilkTeaBrother的电机主程序

⑤ 初步PID闭环调节

需要完成对电机的初步pid调节后,电机可以按照用户想要的值转动
查看MilkTeaBrother的PID模块

⑥ 移植到ROS中

在ROS中调用电机的主程序,并将参数传向参数服务器,在上位机中对pid常数作优化调整

参考资料如下:
广东工业大学USB2CAN项目
CAN通讯
python串口通信控制电机驱动

目录
相关文章
|
Nacos
按照nacos官方文档做的一个测试的demo,有人做过这块吗?是有啥需要注意的吗?
按照nacos官方文档做的一个测试的demo,有人做过这块吗?是有啥需要注意的吗?
79 1
|
6月前
|
JavaScript Java 测试技术
大学生体质测试|基于Springboot+vue的大学生体质测试管理系统设计与实现(源码+数据库+文档)
大学生体质测试|基于Springboot+vue的大学生体质测试管理系统设计与实现(源码+数据库+文档)
108 0
|
6月前
|
安全 测试技术 网络架构
【专栏】编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。
【4月更文挑战第28天】本文介绍了编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。通过实际案例分析,展示了如何成功完成割接,确保业务连续性和稳定性。遵循这些步骤,可提高割接成功率,为公司的网络性能和安全提供保障。
713 0
|
3月前
|
监控 安全 测试技术
测试与开发问题之为什么测试开发工程师需要有安全生产意识,文档编写能力对于测试开发工程师的重要性如何理解
测试与开发问题之为什么测试开发工程师需要有安全生产意识,文档编写能力对于测试开发工程师的重要性如何理解
|
4月前
|
数据采集 监控 算法
LabVIEW开发新能源电机控制器测试系统
LabVIEW开发新能源电机控制器测试系统
39 4
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的高中信息技术课程在线测试系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的高中信息技术课程在线测试系统的详细设计和实现(源码+lw+部署文档+讲解等)
37 0
|
4月前
|
安全 新能源 测试技术
LabVIEW汽车电机测试系统
LabVIEW汽车电机测试系统
44 0
|
6月前
|
JavaScript Java 测试技术
基于ssm+vue.js的在线测试管理系统附带文章和源代码设计说明文档ppt
基于ssm+vue.js的在线测试管理系统附带文章和源代码设计说明文档ppt
50 0
|
6月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的在线测试管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线测试管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
326 0
|
6月前
|
数据可视化 数据挖掘 Java
springboot+vue体质测试数据分析及可视化设计(源码+文档)
体质测试数据分析及可视化设计实现了以下功能: 管理员:首页、个人中心、学生管理、教师管理、日常运动管理、运动分析管理、成绩信息管理、论坛管理、系统管理, 学生:首页、个人中心、日常运动管理、运动分析管理、成绩信息管理、论坛管理, 教师:首页、个人中心、日常运动管理、运动分析管理、成绩信息管理、系统管理, 前台首页:首页、论坛信息、公告信息、个人中心、后台管理、客服模块的修改维护操作。
下一篇
无影云桌面