循迹小车电赛论文(1)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

B题自动追光自动避障电动小车

参赛队号:2010168

自动追光自动避障电动小车

摘要:该小车以STC12C5A60S2单片机为控制核心,利用了灵敏度较高的OPT101光照传感器检测光源,采用红外反射性传感器检测道路上的障碍,采用集成H桥芯片L298和PWM方式驱动电机,实现了电动小车的自动追光和自动避障等功能。借助于STC12C5A单片机的强大的运算能力,无需外接电路提供A/D转换,PWM

调速信号。使用OPT101检光能精确判别光源方向,使得小车可以轻易找到光源。采用L298芯片结合PWM方式驱动小车,使得控制和电路结构都较简单。整个系统的电路结构简单明了,可靠性能高,多次实验测试结果满足基本要求和大部分发挥部分要求。

关键词:STC12C5A单片机;光电检测器;PWM调速;电动小车;寻光;避障

一、题目分析

1、目标

设计制作一套自动追光带太阳能充电系统的小车,并能在遇到障碍物时自动绕行追光!

2、任务

(1)进行寻光行进,没有白炽光源时,可以寻自然光前进。

(2)避障,且障碍物摆设是随机的。

(3)小车到达离光源一定位置后停止前进。

(4)太阳能板始终对准光源!

(5)太阳能板为蓄电池供电,并指示供电状态。

3、指标

(1)寻找到不大于100W的白炽灯,场地2m*2m。

(2)顺利避障,不应碰撞障碍物,尽可能不刮擦障碍物。

(3)小车寻光避障行进到终点总时间不大于1分钟,到离障碍物不大于30cm的距离时停止。

(4)在避开障碍物时,太阳能板始终对准光源。

(5)太阳能板能指示为电池的供电状态。

二、方案设计

总体思路:小车驱动部分采用L298芯片驱动,利用OPT101光敏传感器检测光源方向,利用红外传感器检测并避开障碍,配合OPT传感器找到光源,同时用舵机控制太阳能板的转动,使其一直对着光源,根据题目要求给供电电池充电!为保证太阳能板一直对着光源,小车在行进中不断微调修正使其对准光源!

1、寻找光源

(1)利用光敏电阻和运放电路构成检测光源方向的电路。这种方案的缺点在于灵敏度不高,受外界影响较大。一旦外界干扰影响很容易造成误判和漏判。另外这种方式的电路复杂,方向性、稳定性较差。

(2)利用OPT101传感器寻光,传感器精度高,方向性经加上圆筒后满足要求!同时其尺寸小,质量轻,且电路简单,安装方便。

相比之下,OPT101灵敏度高,判断准确率高,且能够胜任小车的应用,采用一些辅助电路,能达到很好的寻光效果。

综合考虑,选择OPT101传感器寻光检测方案。

2、障碍物检测

障碍物检测可以使用超声波,也可以使用红外光,甚至还可以使用机械接触

的方法,这些方法各有各自的优缺点。但是使用超声波和红外的方法,检测灵敏度高可靠性强。由于超声波控制浪费单片机资源,容易造成小车死机,综合考虑采用红外进行障碍检测方案。

3、驱动方式检测选择

(1)小车驱动的电机使用步进电机。步进电机可以实现精确控制,其缺点在于电流大,控制程序复杂。

(2)小型直流电机驱动小车。用H桥芯片L298和PWM结合驱动,方便简单,电路和程序控制都较简单。

相比之下,直流电机已经可以满足设计要求,且直流电机的方案实现简单,容易达到设计要求。

综合考虑,选择直流电机驱动方案。

4、控制太阳能板对光方式的选择

(1)步进电机可以实现精确控制,并转动任意角度,其缺点在于电流大,控制和电路较为复杂。

(2)使用小型的舵机控制,这样节省电能的消耗,控制简单只需要电源和一根信号线,采用PWM方式,控制简单方便快捷!

综合考虑,选择舵机驱动控制方案。

三、设计实现:

1 硬件设计

(1)光源检测

光源检测选用OPT101,其灵敏度较高,前方各个角度的光源都可以检测到,对于确定光源方向很不利。我们采用了将其放在圆笔筒内检测的方式,这样一来,方向性明显增强。

(2)障碍检测电路

障碍检测选用红外检测的方式,由于要检测前方

4—8cm的障碍物,因此使用可调节的红外传感器,在

一般的室内光照条件下可以正常工作。

电路如图2-1所示:

其中的可变电阻可以调节红外测距

距离和灵敏精度!

图2-1 避障用红外对管

(3)电机驱动

电机驱动采用集成H桥芯片。L298中有两套H桥电路,这里采用两路控制,为达到较好的控制效果,可以采用PWM方式调速。由于电路总体上并不复杂,驱动电路的控制输入端可以不经光耦合隔离,直接和单片机引脚相连!

(4)主控电路

小车控制由单片机完成。单片机要完成寻光控制、避障控制、近光停车控制等工作。由于红外和opt101检测需要A/D 转换,小车控制需要PWM调节,而AT89S52单片机本身不带A/D和PWM功能,需要外加电路实现,应用稍有不便,因此,选用了一款自带A/D转换的单片机——STC12C5A60S2。

STC12C5A60S2是单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度比51单片机快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)。因此这个单片机很适合作智能小车的控制核心!

2 软件设计

(1)总体设计流程图:如图2-3

(2)主要算法介绍:

寻光算法:从舵机最左边可以转到的位置开始扫描光源,经A/D转化为光照

强度,记为value,同时记下舵机角度a。每次舵机转动个小角度重新测试光照,转换记为new和b,如果value和a值小于new对应的b,则更新。当new开始减小时,停止扫描,舵机转回a,找到光源;太阳能板开始对准光源,小车小角度转向a,舵机反方向转动保证一直对准光源。

避障算法:当小车前方的红外检测到有障碍物时,判断是哪边的障碍物,对应的小车轮子后转,另一轮子前转,车子转动90度。同时舵机反方向转动,保证太阳能板始终对光,然后判断前方是否有障碍物。若无,前进10厘米左右,反方向转动,对准光源前进!若有,继续转动则后退20厘米左右向前转动!其他情况同理!

(3)设计中出现的问题及解决方法

在设计实现过程中,我们也遇到了很多问题,我们的方案也在为解决这些问题时,作了一些调整。下面我们主要介绍一下对我们方案影响较大的问题:(I)控制核心单片机的选择。竞赛之初,我们的控制核心采用了89S52单片机。由于我们需要多路A/D转换,于是更换为有内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)的STC12C5A60S2单片机。由于邮寄的单片机迟迟不到,我们就用外接的A/D芯片TLC1549在51单片机上试验。经过一天试验实现了准确寻找光源,但是当更换为STC12C5A单片机时,小车出现了明显的找不准光源的现象!于是我们认真研读了单片机的datasheet,搞清楚了STC单片机的速度是51单片机速度的8-12倍,程序的参数需要调整,同时单片机自带的A/D寄存器的设置和PWM的输出控制寄存器的设置也成了问题!经过一个晚上的努力,我们完成了控制核心的更换!

(II)寻光用几个传感器和什么算法合理?寻找光源时,在用几个传感器的问题上,我们组成员的意见出现了分歧,我们用一个传感器最先实现了准确寻找光源。但是一组员提出了实现过程中太阳能板在小车行进过程中摆动太大的问题,坚持通过使用多个传感器来微调寻光,但是再后来的试验中,由于光电传感器是我们手工制作的,各种参数不一致,会出现同等状况下,测试出来的结果偏差很大的现象,且其不是线性的数据,故实现效果不理想。我们恢复了一个传感器寻光的方式,对于太阳能板摆动的问题,我们用改善软件参数的方式基本解决啦!

(III)由于超声波测距的程序容易出现长时间的等待,使小车容易出现“死机”现象。这个现象的出现出乎我们的意料,以至于我们在软硬件中来回排查,浪费了大量的时间,于是我们放弃了用超声波测距来判断障碍物的方式!改用光电检测的方式,用开关量判断障碍物,使程序简洁高效!

四、测试结果与结果分析

最后的测试显示,本小车达到了较好的性能。小车的电源连续测试可以测试10次左右。小车的完成所有动作平均耗时55秒,最少用时40秒,其中的障碍物随机放置。在15次测试中,有一次避障时发生车体轻擦障碍,其余情况均良好。小车总体性能稳定较好!

五、结论:

相关文档
最新文档