使用RM2006电机进行麦克纳姆底盘设计(一)

简介: 使用RM2006电机进行麦克纳姆底盘设计(一)

1、简介

针对机器人在室内移动环境,需要对底盘进行麦克纳姆轮全向移动设计,本次设计采用RobMaster系统,主控采用ROBOMASTER 开发板 C 型,电机采用RM2006电机,并且通过DR16遥控器进行移动端控制,还通过TOF系列激光测距传感器进行避障设计。


2、电机驱动

大疆的电机都有专门的电调,RM2006电机与之配套的是C610电调。RM2006驱动示意图如下所示。



需要注意的是RM2006仅支持CAN协议进行驱动,因此在使用前需要进行电机ID设置,电压上限为24V。


3、单个RM2006电机转动

3.1 cubmax操作过程

1、RCC配置


d3c7493cf13427446a556958f8794dd5.png


2、SYS配置


1f3c7e49b0ed361958e83d18043b613a.png


3、时钟树配置

直接输入红框内最大主频,回车确定,时钟树会自动进行最优分配。


6c07aa8ea63753ebce58b0bdf21a2570.png


4、CAN总线配置,

比特率=总线频率/分频系数/(同步段+BS1+BS2+1),总线频率如下图所示。


86af8180658ec4dad6bcabfd004bf951.png


通过对RMC610说明书查阅得知,CAN总线比特率为1Mbps。通过对分频系数、同步段、BS1、BS2参数配置,得到1Mbps如下图所示。


0950bc814e70196ccdc39f9232a5ac4b.png


接着将Basic Parameters中Automatic Bus-Off Management进行使能,作用是当Can总线长时间接受不到信号会自动进入低功耗模式,检测到信号自动唤醒。


528187b75e1f69c3b5485e5d13139e27.png


接着将NVIC接收中断使能,如下图所示。


620106179664d0aa9372510e2ad5e884.png

最好生成文件,如下图所示。


9b576008ba0bbe5a1c1873249ad3a8ac.png

840e84d8857ef1c7e50b7f61f312b0da.png


3.2 Keil 5操作过程

通过查阅官方发布的RM2006的Demo程序中stm32f4xx_hal_can.c文件与生成的文件进行比对,编写程序如下所示。

/* USER CODE BEGIN 2 */
    HAL_CAN_Start(&hcan1);
    uint8_t TxData[8] = {0};
    int16_t speed = 10000;
  CAN_TxHeaderTypeDef CAN1_TxHeader;
    CAN1_TxHeader.IDE = CAN_ID_STD;    
  CAN1_TxHeader.RTR = CAN_RTR_DATA;   
    CAN1_TxHeader.DLC = 0x08;
    CAN1_TxHeader.StdId = 0x200;
    TxData[0] = speed >>8;
    TxData[1] = speed;
    TxData[2] = 0;
    TxData[3] = 0;
    TxData[4] = 0;
    TxData[5] = 0;
    TxData[6] = 0;
    TxData[7] = 0;
    //HAL_CAN_AddTxMessage(&hcan1, &CAN1_TxHeader, TxData,0);
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
        HAL_CAN_AddTxMessage(&hcan1, &CAN1_TxHeader, TxData,0);
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

程序烧录后发现电机并没有转动,通过翻阅C板原理图得知,Can1引脚为D1、D2。如下图所示。


d6c39ad257cec8c4846a46ad6db28bbb.png


因此在Cubmax上对D0、D1引脚进行复用设置,如下图所示。


dd6b4b0a5154fdb6b83f6ade93a1743a.png


重新生成文件,烧录电机正常转动。


相关文章
|
移动开发 自然语言处理 小程序
分享88个企业政府PHP源码,总有一款适合你
分享88个企业政府PHP源码,总有一款适合你
798 2
|
缓存 小程序 UED
微信小程序如何在切换页面后原页面状态不变
微信小程序如何在切换页面后原页面状态不变
1548 0
|
9月前
|
存储 人工智能 算法
多模态融合 AI 视频识别技术:高精度合规
基于亚裔优化算法,融合多模态识别与本地加密部署,实现99.5%高精度识别与0.5%低误识率,支持复杂环境稳定运行。构建端到端安全防护,满足GDPR合规,集成生物识别与RFID双因子验证,实现毫秒级响应、10秒内预警处置,打造“识别-预警-追溯-整改”闭环管理,全面提升智能管控效率与安全性。
618 14
|
10月前
|
人工智能 弹性计算 机器人
阿里云无影GPU云电脑:NVIDIA RTX 5880显卡收费价格表
阿里云无影GPU云电脑搭载NVIDIA RTX 5880显卡,提供多种配置:8核16G内存4G显存型509元/月起,16核32G内存8G显存型1037元/月起,旗舰型32核64G内存最高48G显存,满足3D建模、AI推理等高性能需求,性价比出众。
|
传感器 算法 Ubuntu
大疆M2006电机测试文档
本文是关于大疆RoboMaster M2006电机的测试文档,介绍了在Ubuntu20.04环境下通过ROS读取电机反馈信息、控制电机移动,并利用PID控制算法实现速度闭环的测试流程,涵盖了测试材料、接线方法、电机校准、CAN通讯测试以及在ROS中的移植和PID调节的详细步骤和方法。
2094 0
大疆M2006电机测试文档
|
传感器 算法 机器人
机器人SLAM建图与自主导航:从基础到实践
通过Gazebo平台和gmapping算法成功生成并保存了一张二维仿真环境地图,为后续的机器人自主导航实验奠定了基础。完整代码及更多细节可参考[GitHub仓库](https://github.com/Jieshoudaxue/ros_senior/tree/main/mbot_navigation/config/move_base)。
3595 23
|
数据采集 XML JavaScript
Python爬虫:从人民网提取视频链接的完整指南
Python爬虫:从人民网提取视频链接的完整指南
|
缓存 NoSQL 关系型数据库
redis数据库超级详细(一)
本文介绍了 Redis 的基础与进阶知识。Redis 是一个使用 ANSI C 编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,属于 NoSQL 数据库。文章详细讲解了 Redis 的安装、配置、数据类型及其操作,包括字符串、哈希、列表、集合和有序集合等。此外,还提供了 Python 操作 Redis 的示例代码,以及 Redis 在实际应用中的几个典型案例,如 KV 缓存、分布式锁、延迟队列、发布订阅和定时任务等。通过这些内容,读者可以全面了解 Redis 的核心功能和应用场景。
1892 1

热门文章

最新文章