8.3.1 硬件_电机与电机驱动板

如果要通过Arduino实现电机相关操作(比如:转向控制、转速控制、测速等),那么必须先要具备两点前提知识:

  1. 需要简单了解电机类型、机械结构以及各项参数,这些是和机器人的负载、极限速度、测速结果等休戚相关的;
  2. 还需要选配合适的电机驱动板,因为Arduino的输出电流不足以直接驱动电机,需要通过电机驱动板放大电机控制信号。

当前我们的机器人平台使用的电机为直流减速电机,电机驱动板为基于L298P实现的电路板。接下来就分别介绍这两个模块:

1.直流减速电机

如图所示,相当一部分ROS智能车中使用的直流减速电机与之类似,主要由三部分构成:

  • 减速箱
  • 电机主体
  • 编码器

电机主体通过输入轴与减速箱相连接,通过减速箱的减速效果,最终外端的输出轴会按照比例(取决于减速箱减速比)降低电机输入轴的转速,当然速度降低之后,将提升电机的力矩。

尾部是AB相霍尔编码器,通过AB编码器输出的波形图,可以判断电机的转向以及计算电机转速

另外,即便电机外观相同,具体参数也可能存在差异,参数需要商家提供,需要了解的参数如下:

  • 额定电压
  • 额定电流
  • 额定功率
  • 额定扭矩
  • 减速比
  • 减速前转速
  • 减速后转速
  • 编码器精度

主要参数:

额定扭矩:额定扭矩和机器人质量以及有效负荷相关,二者正比例相关,额定扭矩越大,可支持的机器人质量以及有效负荷越高;

减速比:电机输入轴与输出轴的减速比例,比如: 减速比为90,意味着电机主体旋转90圈,输出轴旋转1圈。

减速后转速:与减速比相关,是电机减速箱输出轴的转速,单位是 rpm(转/分),减速后转速与减速前转速存在转换关系: 减速后转速 = 减速前转速 / 减速比。另外,可以根据官方给定的额定功率下的减速后转速结合车轮参数来确定小车最大速度。

编码器精度:是指编码器旋转一圈单相(当前编码器有AB两相)输出的脉冲数;
注意:电机输入轴旋转一圈的同时,编码器旋转一圈,如果输出轴旋转一圈,那么编码器的旋转圈数和减速比一致(比如减速比是90,那么输出轴旋转一圈,编码器旋转90圈)。
编码器输出的脉冲数计算公式则是: 输出轴旋转一圈产生的脉冲数 = 减速比 * 编码器旋转一圈发送的脉冲数(比如:减速比为90,编码器旋转一圈输出11个脉冲,那么输出轴旋转一圈总共产生 11 * 90 也即990个脉冲)。

电机编码器

M1: 电机电源+(和M2对调可以正反转 )

GND: 编码器电源-

C