视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
基于Arduino的智能循迹小车研究
2025-10-04 22:11:01 责编:小OO
文档
基于Arduino的智能循迹小车研究

作者:吴迪

来源:《课程教育研究》2019年第04期

        【摘要】以Arduino单片机为控制核心,将专用循迹模块通过通孔铜柱固定在车头控制车轮方向,用公对母杜邦线连接到控制器单片机。通过调试Arduino程序的数据改变转弯速率,通过调试灵敏度螺母改变感应器灵敏度。循迹的轨道是由黑色胶带纸制成的黑线,当一侧的传感器感受到黑线时另一侧轮子会转动改变方向。让中间的引导头一直跟着黑线走,一直寻迹黑色。而最外边的两个传感器不能碰到黑线。如果偏离轨道,小车就用单片机程序调整一下电机的控制,让两侧电机加速或者减速,小车就转弯。传感系统里用红外线被地面上的黑线吸收的原理传感确定下一步动作。本系统在硬件设计方面,以Arduino单片机为控制核心,以红外线传感器检测小车下方黑线,完成循迹功能。在软件方面,利用Arduino语言进行编程,通过软件编程来控制小车运转。用PWM系统调速,控制小车前进的速度。实现小车根据地面环境,做出转向和前进等动作,从而完成循迹的功能。

        【关键词】智能 循迹小车 问题及方案

        【中图分类号】TP23 【文献标识码】A 【文章编号】2095-30(2019)04-0235-02

        1.Arduino单片机概述

        Arduino是一款便捷灵活、方便上手的开源电子原型平台。构建于开放原始码simple I/O介面版,并且具有使用类似Java,C语言的Processing/Wiring开发环境。它包含两个主要的部分:硬件部分是可以用来做电路连接和Arduino电路板;另外一个则是Arduino IDE,计算机中的程序开发环境只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。

        2.项目主要研究内容

        设计题目为《基于Arduino的智能循迹小车设计》是以Arduino单片机为控制核心制造的小车。本报告主要研究小车的功能以及程序改良。将专用循迹模块通过通孔铜柱固定在在车头控制车轮方向,用公对母杜邦线连接到控制器单片机。通过调试Arduino程序的数据改变转弯速率,通过调试灵敏度螺母改变感应器灵敏度。当一侧的传感器感受到黑线时另一侧轮子会转动改变方向。让中间的引导头一直跟着黑线走,一直寻迹黑色。而最外边的两个不能碰到黑线。如果偏了,小车就用单片机程序调整一下电机的控制,让两侧电机加速或者减速,或者一加速一减速(转弯能力更强),小车就转弯。传感系统里用红外线被黑条吸收的原理传感确定下一步动作。小车灵敏度太高会导致小车偏离轨道,灵敏度太低会导致速度下降。本报告主要研究方向在小车组装试用后对程序的调试使得小车以最快的速度跑完自己制作的两条轨道。

        3.小车原理

        3.1循迹小车原理

        基于单片机的小车寻迹系统。该系统采用两组高灵敏度的光电对管,对路面黑色轨迹进行检测,并利用单片机产生PWM波,控制小车速度。测试结果表明,该系统能够平稳跟踪给定的路径。设计原理:设计原理为物理原理,根据黑色吸收光线,白色反射光线来完成,该智能小车在画有黑线的木头颜色的地板行驶,由于黑线和地板对光线的反射系数不同,接收到的反射光的强弱来判断“道路”——黑线。该模块利用了简单普遍的检测方法——红外线检测法。

        3.2避障小车原理

        本小车的硬件部分分为几个模块:红外线传感器、Arduino单片机、电源(6节5号电池)、两个直流电动机、电机驱动板、车身。电源连接在Arduino单片机上给整个小车供电。小车以Arduino单片机为核心,连接电机驱动板控制两个直流电动机的运转,从而实现小车的前进。

        4.模块

        4.1循迹模块:小车可沿着地面的黑线正常行驶,不出界,不停止。

        4.2避障模块:小车遇到障碍物无法避让反而向障碍物方向偏转。

        5.问题和解决方案

        5.1电池

        有时智能小车会出现已经装满电池却无法启动的情况,此时除了接线差错、程序出错、电池用完等问题外,还会存在电池接触不良的问题。通过断电后向下摁电池,挤压电池盒的方式确保电路被连通。

        5.2速度

        通过调试Arduino程序的数据改变转弯速率,通过调试灵敏度螺母改变感应器灵敏度。因为循迹原理是改变方向,所以即使是走黑线直线也会比平地慢上不少。

        5.3黑线

        黑线不得过粗,如果过粗将导致小车无法识别而不能前进。黑线不得过细,过细将导致小车来不及识别超速出线。实际因为胶带纸原因遇到过粗问题。使用白色胶布覆盖多余黑色胶布部分解决黑色胶布过粗问题。

        5.4避障

        避障模块可能是程序出错或是安装问题导致无法正常避障,可能是转动方向正好弄反,该问题将有机会在实验时进行解决,预计解决方式是调整程序中转向问题,将左右轮互换。

        5.5改进方向

        循迹模块变量主要是执行时间和PWM调速,执行时间是小车接收信号向左或向右转时经历的时间,数字越大时间越长,PWM是小车转动时速率的大小,数字越大速率越大,但不可超过255。此外尝试通过直接在小车上加工使其速度变快。

        6.实验过程以及结果

        6.1 循迹模块

        利用黑色胶带纸制作赛道,因为所拥有的黑色胶带纸过粗,用较细的白色胶带纸覆盖多余的部分(如赛道1和2),黑线粗细因素:黑线过粗部分容易导致小车红外线全部被吸收无法前进,黑线过细部分容易导致小车速度过快而在拐弯处无法提供足够向心力而出界。

        赛道1:此赛道略短,小车容易停止的位置是大拐弯处;

        赛道2:此赛道稍长,因为拐弯处幅度不大,小车更容易完整运行。

        A.小车修整后,根据对小车结构和循迹模块工作原理在保证原本成功率6成的前提下提高小车速度,即减少小车完成赛道所需时间,修整点:在支撑轮周围黏上一定强度但可抖动的胶带,使支撑轮尽量保持与两主动轮平行以获得前进的最大速度,但可能会导致在拐弯处无法提供足够向心力而出界,在循迹模块上两个控制灵敏度的螺丝上乔正。B.程序修改后,根据对程序某些数据的理解修改数据在保证原本成功率6成的前提下提高小车速度,即减少小车完成赛道所需时间修改点:PWM比例0~255调速,数字越大说明车轮转向速率越大,执行时间接受一次信号变化以后车轮变化时间。

        小车修整在赛道一和赛道二的完成时间上均有所成效,但成功率下降;程序修改在赛道一和赛道二的完成时间上均有所成效,赛道一增幅不如A,赛道二增幅显著超过A,但成功率保持稳定,综合来看因为程序调整效果更为稳定。

        6.2避障模块

        无法解决避障失败问题,疑似源于避障模块部分硬件出故障。

        7.结论

        使用循迹模块时在支撑轮周围黏上一定强度但可抖动的胶带,使支撑轮尽量保持与两主动轮平行以获得前进的最大速度,但可能会导致在拐弯处无法提供足够向心力而出界。在循迹模块上两个控制灵敏度的螺丝上乔正,与和修改程序数据类似效果。实验结果表面这种方法会略微降低成功率,但是加速情况较好。

        根据对程序某些数据的理解修改数据在保证原本成功率真6成的前提下提高小车速度,即减少小车完成赛道所需时间。PWM比例0~255调速 数字越大说明车轮转向速率越大。实验结果表面这种方法会略微提高成功率,但是加速情况较差。两种方法均有成效,综合来看改变数据的方式更好。

        参考文献:

        [1]黄杰,秦补枝.基于模糊控制的智能循迹小车的设计[J].中国科技信息,2010(20):148-149.下载本文

显示全文
专题