使用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


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


相关文章
|
5月前
|
传感器
什么是振动电阻式传感器测量模块RM501/502
RM501/502是一种振动电阻式传感器测量模块,用于测量物理量。它采用了差动电阻式传感器,通过两个电阻的比值来反映被测物理量。该传感器可以抵消环境温度影响,采用五线制测量方式,可以消除传感器线缆电阻的影响。
什么是振动电阻式传感器测量模块RM501/502
|
4月前
|
传感器 数据采集 监控
LabVIEW高温往复摩擦测试系统中PID控制
LabVIEW高温往复摩擦测试系统中PID控制
34 0
|
6月前
|
传感器 机器人
|
6月前
|
传感器
|
算法
基于双闭环PID控制器的永磁同步电机控制系统仿真
基于双闭环PID控制器的永磁同步电机控制系统仿真
295 0
基于双闭环PID控制器的永磁同步电机控制系统仿真
【弱电综合课程设计】三菱PLC经步进驱动器控制步进电机调速和正反转(硬件连接+梯形图)
【弱电综合课程设计】三菱PLC经步进驱动器控制步进电机调速和正反转(硬件连接+梯形图)
【弱电综合课程设计】三菱PLC经步进驱动器控制步进电机调速和正反转(硬件连接+梯形图)
|
数据库
太阳能路灯电路板的根本结构及作业原理
太阳能路灯的应用具有重要的现实意义,尤其是靠小规模火力发电或季节性水力发电的地区,更应大力发展太阳能电力。太阳能路灯以其先进、稳定、智能、成熟的控制技术及显著的节能特性、简便的维护方式等特点得到推广。随着太阳能照明灯具产品的普及,很多应用项目存在质量和售后服务问题。因此,需及时分析原因、规范市场,使太阳能路灯市场健康有序地发展。太阳能是地球上最为直接、普遍、清洁的能源,其作为一种可再生能源,每天达到地球表面的辐射能量约2.5亿万桶石油。
太阳能路灯电路板的根本结构及作业原理
|
存储
【NI Multisim 14.0虚拟仪器设计——放置虚拟仪器仪表(示波器)】
🍍放置虚拟仪器仪表 NI Multisim 14.0 提供了多种仪器仪表,存储在集成库中,供用户选择使用。下面详细介绍常用的仪器仪表。 🍉示波器 示波器用来显示电信号波形的形状、大小、频率等参数的仪器,如图所示为示波器图标。 选择菜单栏中的“仿真”→“仪器”→“示波器”命令,或者单击“仪器”工具栏中的“示波器”按钮,放置图标,双击示波器图标,打开如图所示的示波器的面板图。 示波器面板各按键的作用、调整及参数的设置与实际的示波器类似,一共分成3个参数设置选项组和一个波形显示区。 1.“时基”选项组 (1)标度 显示示波器的时间基准,其基准为0.1fs/Div~1000Ts/Div可供选择
803 0
【NI Multisim 14.0虚拟仪器设计——放置虚拟仪器仪表(示波器)】
基于西门子PLC s7-200 的自动立体车库设计自动化设计(控制器步进电机直流电机)
基于西门子PLC s7-200 的自动立体车库设计自动化设计(控制器步进电机直流电机)
195 0
|
传感器
多功能手持读数仪VH501TC振激励方法和激励电压
采集仪对振弦传感器激励:也称为“激振”,是振弦类传感器频率数据获取的必须过程,仅当传感器收 到合适的激励信号后才能产生自振,而仅当振弦传感器产生自振后才能输出频率信号,进一步的,读数电路会检测并读取振弦传感器的自振信号,才能通过计算得到 振动频率值。振弦传感器的激励信号(能够使传感器产生自振的外部信号)一般分 为两类,一类为高压短促脉冲,一类为特定频率的多组连续低压脉冲信号。
多功能手持读数仪VH501TC振激励方法和激励电压