2019/11/2
收到小车配件,开始组装。
配件包含:四个直流马达,四个轮子,底板,若干螺丝,螺母,电池盒等。
Arduino模块包括:开发板(Arduino/Genuino Uno),马达板(L298N),杜邦线等。
组装步骤:
装好底板上的马达
其中螺丝钉要用长一点的那种,需要穿过马达。
安装电池盒和开发板
至此,小车的第一步拼装完成。
2019/11/9
今天主要做接线和测试直线走。
由于L298N只有左右两个接口,所以要左右各接两个马达。
接上电池后Arduino板亮灯,说明接线良好。
遇到问题:写入程序后马达根本不转。
-
猜想是接线端口接错了
-
确实有接错的问题,但是接对后还是不转
-
是不是接触不良
-
用电压表测量马达两边的电压,发现确实有电压,但是电压太小
-
再接上4节电池,也就是共8节电池,发现小车可以正常跑起来。
于是最终问题是电压不足。
代码比较好编写:
1 | const int GoSecond=7100; |
2019/12/22
今天主要测试跑八字。
测试曲线走
遇到问题:调节程序里面左右轮转速的参数,但是两轮转速不变
-
发现程序里面还预留了两个接口,猜想是还有线没接上去
-
发现马达板上并没有多余的接口,上网查找资料
-
发现有两个帽没有拔掉,拔掉以后只用接前面一个接口(称为pwm接口),如图所示
-
接上之后还是无法调转速
-
发现只有开发板上标有~的接口才能接pwm,这里连上5,6接口
-
可以调节转速
八字走
设计如下,先向左走一个圈,停一下(防止惯性的影响),然后向右走一个圈。
遇到问题,转一个圈之后无法回到开始位置,有点偏差
- 猜想是因为圈画得太大
- 将左右轮转速差调大一些
- 猜想是因为画圈的时间太长了
- 将画圈的时间CircleTime调小一点
- 现在第一个圈基本到位,但是第二个圈仍有偏差
- 猜想是因为第二圈和第一圈的参数不一样
- 经过不懈的调试,终于调好
代码实现:
1 | const int LeftMotorSpeed=70; |
视频: