如果要通过Arduino实现电机相关操作(比如:转向控制、转速控制、测速等),那么必须先要具备两点前提知识:
- 需要简单了解电机类型、机械结构以及各项参数,这些是和机器人的负载、极限速度、测速结果等休戚相关的;
- 还需要选配合适的电机驱动板,因为Arduino的输出电流不足以直接驱动电机,需要通过电机驱动板放大电机控制信号。
当前我们的机器人平台使用的电机为直流减速电机,电机驱动板为基于L298P实现的电路板。接下来就分别介绍这两个模块:
1.直流减速电机
直流减速电机由5部分组成:
编码器(里程计)
主体
减速器(连接主体的是输入轴,在外面连接轮胎的是输出轴)
结构详解:
电机的主体通过输入轴与减速箱连接,从而达到输出轴速度降低的效果,速度降低,力矩变大
直流减速电机选购时的主要参数介绍:
1,额定电压,额定电流,额定功率(选取电源)
2.额定扭矩:额定扭矩知道的话我们可以好确定机器人的质量与有效负荷。
3.减速比 (传动比):电机输入轴与输出轴减速比例
比如减速比=90,则输入轴90圈,输出轴一圈
4.减速前转速与减速后转速
传动比(减速比)=减速前v/减速后v
5.编码器精度:旋转一周编码器单相输出的脉冲数 (有些编码器是AB相)
例子:假设编码器旋转一周单相释放脉冲数为11,减速比为90的情况下,求轮子转一周,编码器共产生多少脉冲数?
解:
输入轴圈数=输出轴圈数*减速比=1*90=90
编码器圈数与输入轴圈数一致
编码器脉冲数=编码器圈数*精度=90*11=990(个)
电机编码器:
我们这款电机是AB相的。
AB相式脉冲,b相延迟或超前A相1/4.
2.电机驱动板
由于我们的arduino驱动板提供的电压有限,不足以驱动电机使用,所以我们需要电机驱动板来发大电压,来驱动电机使用。
我们使用的是L298P电机驱动板