0. 前言
最近由于工作需要,需要基于arduino环境下智能小车的一些设计,自己本身是学软件的,对硬件仅限与一般应用,但这次由于需要,只有边摸索边实践。通过几天的摸索,终于让小车跑起来了,为了方便后面再次拼装类似的小车,特此记下整个过程,如有遗漏或优化,还烦请内行朋友不吝指教。
1. 准备工作
关于麦克纳姆轮的选择和安装方法,可以参考这篇文章【麦克纳姆轮(万向轮)驱动原理及安装方法】, 这个轮子买的时候要注意配好对,另外一个就是安装也要正确,这次买的是车架带轮子和麦克纳姆轮,开始不懂,安装错了,还以为是卖家发错货了,后来调整了一下轮子的位置就正确了。此外,由于麦克纳姆轮的运动特性,需要单独控制每一个轮子的动作,而一个L298N只能控制两个直流电机的运动,因此,特意买了双路L298N,用于单独控制4个轮子。
2. 硬件介绍和说明
2.1 双路L298N电机驱动模块
该驱动模块性能参数如下:
如果只是控制电机的转动,不需要设置转速的话,则使能端不改变,直接用跳线帽连接5v,但这里不光要控制轮子的转动方向,还要控制其转速,因此,这4个使能端口需要接到主控板上的模拟端口以便控制电机转速。
2.2 arduino uno主控板
关于主控板的选择,只要是兼容的arduino uno主控板即可,基本的硬件接口如下
3. 线路连接
如前所述,因为要控制4个电机的单独运动,每个电机需要两根控制线,以及一根使能线控制速度,因此一共需要12根线连接,这里用3,5,6,9 四个作为使能控制线,2,4,7,8,10,11,12加上A0作为信号线。开发板上通过外接电源对L298N驱动板连接,主板上的GND接驱动板上的GND, 主板上的VIN 接开发板上的VCC,具体连接方式如下图。
电机的接线较简单,如图所示,out1,out2接电机1的两极,out3,out4接电机2的两极,依次类推,如果后续调试过程发现电机的转向和我们设定的函数不一致,则更换该电机的两极即可。实物接线如下图。
连接好后,通电测试左转,右转,左上,右上,左平移,右平移,前进,后退都正常,但连线过程中有个问题,开始开发板的5V线连到驱动板上的VCC,运行不正常,有些动作能动,有些动作只能听到电机的声音,没有转动。后来改成VIN-->VCC,调整一下转向就正常了。如果有知道原因的请不吝指教。