学做智能车挑战飞思卡尔之智能车制作
- 格式:ppt
- 大小:4.25 MB
- 文档页数:63
2024年飞思卡尔智能车总结关于飞思____智能车轨迹追踪竞赛飞思____智能车竞赛,由飞思____公司赞助,是一项全国本科院校共同参与的科技竞赛活动。
今年,安徽省有幸成为第____届省级赛区,我们专科院校也有幸参与其中。
基于专业的匹配,我们系在本专业中选拔了一些同学,我非常荣幸能与我的团队并肩合作。
由于我们学校初次参加,缺乏经验,指导老师正与我们一起逐步探索解决方案。
我们选择使用B型车进行光电寻迹任务。
根据任务需求,老师将其划分为几个关键模块(寻迹模块、电源模块、驱动模块、测速模块),我负责的是寻迹模块的构建。
起初,对于黑白寻迹,我仅感到“神秘”。
通过查阅资料和老师的指导,我理解了其寻迹原理。
这主要基于黑白颜色对光的反射差异(白色完全反射,黑色完全吸收)来识别黑白线。
由于我们之前未接触过传感器知识,对此领域略感模糊,因此我专门投入时间学习传感器,理解了其在电路中的功能。
接下来,我们面临材料选择的挑战,市场上的光电管种类繁多,各校使用的也不尽相同。
我们需要找到一款适合我们车辆的光电管。
我最初在网上找到一些电路图,并购买了一些光电管进行焊接,但结果并未达到预期。
我一度认为问题出在光电管上,但即使更换为光电发射与接收一体管,问题仍未解决。
在一段时间的停滞和反复试验后,我尝试调整了与接收管串联的电阻值(从10k改为100k),意外地提高了接收距离,达到十几厘米。
这仍不理想,因为为了防止光电管之间的相互影响,每个光电管都需要加上套管,而我们购买的光电管无法满足这一要求。
经过深入研究,查阅资料,以及反复实验,我们最终选择了____公司的光电管(型号)。
我想强调的是,他人的经验可以作为参考,但不一定适用于我们自身,就像我之前选择的光电管电路图,可能在某些情况下适用,但在我们的特定需求下并不理想。
在探索阶段,逐步实验始终是至关重要的。
确定光电管后,我们进入了电路焊接阶段。
我们借鉴了其他学校的经验,初步决定使用____来配置光电管。
自动循迹智能小车制作目录摘要................................................................. 错误!未定义书签。
1 设计要求 (3)2 方案的选择与比较 (3)2.1 主控芯片选择 (3)2.2 电源的选择 (3)2.3 寻迹方案 (4)2.3 电机驱动方案 (4)3 最终方案 (5)4各功能模块的实现 (6)4.1 微控制器模块的设计 (6)4.2电源模块原理图 (6)4.3 TCRT5000红外检测模块 (6)4.4 系统PCB图 (7)4.5 系统程序流程图 (8)5 性能测试 (9)6 性能评价及总结 (10)7 附录 (11)附录1:元件清单 (11)附录2 系统原理图 (12)附录3系统程序 (13)8参考文献 (19)1 设计要求设计一自动寻迹小车,其实现功能如下:1.使其能够检测到轨迹的路线,并按照预订轨迹运行;2.要求在小车冲出预定路线后能够自动回到预定轨迹上;3.小车能够按多种不同的轨迹运行。
2 方案的选择与比较2.1 主控芯片选择方案1:采用51系列单片机,该系列单片机结构简单,但是能实现很多功能。
与其它单片机相比较价格便宜。
端口电流较大,可以达到20mA,驱动能力强。
方案2:采用msp430系列单片机,该系列单片机片上资源丰富,功能强大,但是端口灌电流和拉电流较小,驱动能力不强。
它主要运用在需要低功耗的地方。
本系统主要是进行寻迹运行的检测以及电机的控制,经过对比分析,我们选用AT89S52单片机作为主控芯片来驱动电机,进而控制电机转速。
2.2 电源的选择方案1:采用9V蓄电池为直流电机供电,将9V电压降压、稳压后给单片机系统和其他芯片供电。
蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。
虽然蓄电池的体积过于庞大,在小型电动车上使用极为不方便。
方案2:采用9V南孚干电池直接个电机驱动芯片L298N供电,并将9V经过7805稳压及电容滤波后给单片机供电。
“飞思卡尔”杯大学生智能汽车创意赛车模的制作Abstract: Based on the "Freescale" creative competition of college student''s smart cars, this paper designs and makes a CCD camera-based smart car, which can run in complex road conditions. The car system takes the Freescale16 microcontroller MC9S12XS128 as the system control processor, access to the track image information from the image sampling module of the camera; it controls the car''s direction and speed through the PID control strategies, measures the spacing by using the ultrasonic sensor, finally realizes the function of seeking road performance, turning left or right, two cars of the track road performance.0 引言近年来,智能车辆和智能交通已成为汽车和智能控制领域的热点研究课题之一。
本文是在第六届飞思卡尔全国大学生智能汽车创意赛背景下创作的,具体介绍了一种基于CCD摄像头的智能车在复杂道路条件下的运行情况。
飞思卡尔CCD(Charge-coupled Device,中文全称:电荷耦合元件,称为CCD图像传感器)循迹智能车,是限定16位微控制器MC9S12XS128作为唯一控制处理器,硬件方面主要由电源管理,电机驱动,舵机转向控制,路径检测,车速管理等模块构成,在软件方面是使用CodeWarrior 3.1实现控制。
智能车制作全过程43假如我写得好,请顶我一下,我将再接再厉!(本人在专门久往常做的一辆用来竞赛的智能车--获得华北一等奖,全国二等奖,有许多可改进地点.)下面我们来赶忙开始我们的智能车之旅:第一,一个系统中,传感器至关重要."不管你的CPU的速度如何的快,通信机制如何的优越,系统的精度永久无法超越传感器的精度" .是的,在那个系统中,传感器的精度,其准确性就显得至关重要.假如你问我传感器的电路,呵呵,我早就和大伙儿分享了,在我发表的日志中,有一篇<<基于反射式距离传感器>>的文章就详细的说明了传感器的硬件电路以及能够采取的信号采样方式.传感器安装成一排,如上面排列.(确实是个一字排列,没有什么专门)接下来,看看我们如何处理传感器得到的信息:大伙儿看到了.结构专门简单,我们差不多搞定了传感器通路.下面我们来看看多机的操纵方面的问题:事实上,不管是廉价依旧比较贵的舵机,差不多上一样的用法.舵机的特点确实是不同的占空比方波就对应着舵机的不同转角.因此不同的舵机有不同的频率要求.比如我用的那个舵机:方波频率50HZ.如何改变占空比?那个不确实是PWM模块的功能嘛.PWM 模块能够输出任意占空比的方波.只要你操纵其中的占空比寄存器,就能够直截了当操纵舵机的转角.你只要将传感器的状态和那个占空比对应上,不就OK了?就这么简单,做到那个地点,你就能够让你的车在跑道上跑了!接下来,我们的工作是让智能车更加完善:速度要稳固.在当前的系统结构中,要使一个系统更稳固更可靠,闭环系统是一个选择.(假如你不明白什么是闭环系统,能够参照我的文章里面的一篇"基于单片机的PID电机调速"),既然是一个闭环系统,速度传感器是必不可少的,用什么样的传感器做为速度反馈呢:认真看,和后轮之间有一条皮带的那个貌似电机的东西,确实是我的速度传感器,它的学名叫"旋转编码器".那个器件的特点确实是:每转一圈,就会从输出端输出一定的脉冲,比如我那个旋转编码器是500线的,确实是转一圈输出500个脉冲.因此,我只要在单位时刻内计数输出端输出的脉冲数,我就能够运算出车辆的速度.明显,那个速度能够用来作为PID速度调剂的反馈.现在有了反馈,我们需要的是调剂智能车驱动电机的速度了,如何来调速,就成了必须解决的问题了.我用的是驱动芯片MC33886. 事实上,那个芯片确实是一个功率放大的模块.我们明白,单片机输出的PWM信号依旧TTL信号,是不能直截了当用来驱动电机的.非要通过功率模块的放大不可.那个道理事实上专门简单,就像上次我给大伙儿画的哪个电子琴电路的放大电路一样:看上面的那个三极管,确实是将TTL电路的电流放大,才能够来驱动蜂鸣器.事实上那个地点的那个MC33886确实是如此的一个作用.而且我们自己也完全能够用三极管自己搭建一个如此的功率放大电路,因此,驱动能力确信不如那个地点的那个MC33886(如我们用三极管就搭建了超过MC33886的电路,摩托罗拉就可不能卖几十块钱一个了.呵呵.)明白了那个MC33886的工作原理,就好说了,一句话,通过PWM来调剂电机的速度.当方波中高电平占的比例大,电机的平均电压确信高,转速确信快.也确实是说,PWM的占空比越大,电机转速越高.看,就这么简单,那个智能车就做好了.接下来,我们就把我们明白的PID知识放到舵机和直流驱动电机的操纵中去.就能够达到一个比较好的操纵成效.假如要达到更高的水平,确信机械方面的改造也少不了.因此,这不属于本文的讨论范畴.呵呵.智能车制作全过程(飞思卡尔---舵机篇发表于 2020/11/28 10:00:55感谢大伙儿的支持!假如我写得好,请顶我一下!智能车的制作中,看体会来说,舵机的操纵是个关键.相比驱动电机的调速,舵机的操纵关于智能车的整体速度来说要重要的多.PID算法是个经典的算法,一定要将舵机的PID调好,如此来说即使不进行驱动电机的调速(匀速),也能跑出一个专门好的成绩.机械方面:从我们的测试上来看,舵机的力矩比较大,完全足以驱动前轮的转向.因此舵机的相应速度就成了关键.如何增加舵机的响应速度呢?更换舵机的电路?不行,组委会不承诺.一个专门有效的方法是更换舵机连接件的长度.我们来看看示意图:从上图我们能看到,当舵机转动时,左右轮子就发生偏转.专门明显,连接件长度增加,就会使舵机转动更小的转角而达到同样的成效.舵机的特点是转动一定的角度需要一定的时刻.不如说(只是比喻,没有数据),舵机转动10度需要2ms,那么要使轮子转动同样的角度,增长连接件后就只需要转动5度,那么时刻是1ms,就能反应更快了.据体会,那个舵机的连接件还有必要修改.大约增长0.5倍~2倍.在今年中,有人使用了两个舵机分别操纵两个轮子.方法专门好.但今年不承诺使用了.接下来确实是软件上面的问题了.那个地点的软件问题不单单是软件上的问题,因为我们要牵涉到传感器的布局问题.事实上,没有人说自己的传感器布局是最好的,然而确信有最适合你的算法的.比如说,常规的传感器布局是如以下图:那个地点看起来说到了传感器,我们只是略微的一提.上图只是个示意图,意思确实是在中心的地点传感器比较的密集,在两边的地点传感器比较的稀疏.如此做是有好处的,大伙儿看车辆在行驶到转弯处的情形:相信看到那个地点,大伙儿应该是一目了然了,在转弯的时候,车是偏离跑道的,因此两边比较稀疏依旧比较科学的,关于那个,我们将在传感器中在认真讨论。
基于飞思卡尔单片机的智能车及其调试系统设计基于飞思卡尔单片机的智能车及其调试系统设计摘要:本文介绍了一种基于飞思卡尔单片机的智能车设计方案,并详细阐述了其调试系统的设计和实现过程。
通过对传感器、驱动器和控制算法的整合与优化,实现了智能车对环境的感知、路径规划和自主导航功能。
调试系统包括软件调试和硬件调试两个方面,通过实验验证了系统的可行性和稳定性。
实验结果表明,该智能车具备了较高的精确性和响应速度,能够在复杂的环境中实现准确导航。
关键词:飞思卡尔单片机;智能车;调试系统;感知;路径规划;自主导航1.引言智能车作为人工智能领域的一个重要应用方向,在交通运输、环境监测等许多领域有着广泛的应用价值。
随着单片机技术的不断发展和普及,基于飞思卡尔单片机的智能车设计方案逐渐成为研究的热点。
本文旨在利用飞思卡尔单片机开发一种具备感知、控制和规划等功能的智能车,并设计相应的调试系统来验证其工作状态和性能。
2.智能车硬件设计智能车的核心是以飞思卡尔单片机为主控制器的控制系统。
该系统由多个模块组成:传感器模块、驱动器模块、通信模块和电源管理模块。
传感器模块用于感知环境,包括超声波传感器、红外传感器等。
驱动器模块用于控制车轮的转动,实现车辆的前进、后退和转向功能。
通信模块用于与外部设备进行数据交互,电源管理模块用于管理车辆的电力供应和充放电管理。
3.智能车软件设计智能车的软件系统主要包括感知模块、控制模块和规划模块。
感知模块利用传感器获取环境信息,并将其转化为数字信号。
控制模块根据感知模块的数据进行判断和决策,控制车辆的运动。
规划模块根据车辆当前位置和目标位置,采用路径规划算法计算最优路径,并通过控制模块实现车辆的导航功能。
4.智能车调试系统设计智能车的调试系统包括软件调试和硬件调试两个方面。
软件调试主要涉及程序的编写、调试和验证,通过仿真、调试和测试等手段,确保软件系统的正确性和稳定性。
硬件调试主要涉及电路连接、传感器的调试和驱动器的测试,通过检查电路连通性、校准感知模块和测试驱动器的工作状况来验证硬件系统的可靠性和性能。
智能车制作全过程(飞思卡尔)如果我写得好,请顶我一下,我将再接再厉!(本人在很久以前做的一辆用来比赛的智能车--获得华北一等奖,全国二等奖,有许多可改进地方.)下面我们来立即开始我们的智能车之旅:首先,一个系统中,传感器至关重要."不管你的CPU的速度如何的快,通信机制如何的优越,系统的精度永远无法超越传感器的精度" .是的,在这个系统中,传感器的精度,其准确性就显得至关重要.如果你问我传感器的电路,呵呵,我早就和大家分享了,在我发表的日志中,有一篇<<基于反射式距离传感器>>的文章就详细的说明了传感器的硬件电路以及可以采取的信号采样方式.传感器安装成一排,如上面排列.(就是个一字排列,没有什么特别)接下来,看看我们如何处理传感器得到的信息:大家看到了.结构很简单,我们已经搞定了传感器通路.下面我们来看看多机的控制方面的问题:其实,不管是便宜还是比较贵的舵机,都是一样的用法.舵机的特点就是不同的占空比方波就对应着舵机的不同转角.当然不同的舵机有不同的频率要求.比如我用的这个舵机:方波频率50HZ.怎么改变占空比?这个不就是PWM模块的功能嘛.PWM模块可以输出任意占空比的方波.只要你控制其中的占空比寄存器,就可以直接控制舵机的转角.你只要将传感器的状态和这个占空比对应上,不就OK了?就这么简单,做到这里,你就可以让你的车在跑道上跑了!接下来,我们的工作是让智能车更加完善:速度要稳定.在当前的系统结构中,要使一个系统更稳定更可靠,闭环系统是一个选择.(如果你不知道什么是闭环系统,可以参照我的文章里面的一篇"基于单片机的PID电机调速"),既然是一个闭环系统,速度传感器是必不可少的,用什么样的传感器做为速度反馈呢:仔细看,和后轮之间有一条皮带的这个貌似电机的东西,就是我的速度传感器,它的学名叫"旋转编码器".这个器件的特点就是:每转一圈,就会从输出端输出一定的脉冲,比如我这个旋转编码器是500线的,就是转一圈输出500个脉冲.因此,我只要在单位时间内计数输出端输出的脉冲数,我就可以计算出车辆的速度.显然,这个速度可以用来作为PID速度调节的反馈.现在有了反馈,我们需要的是调节智能车驱动电机的速度了,如何来调速,就成了必须解决的问题了.我用的是驱动芯片MC33886. 其实,这个芯片就是一个功率放大的模块.我们知道,单片机输出的PWM信号还是TTL信号,是不能直接用来驱动电机的.非要通过功率模块的放大不可.这个道理其实很简单,就像上次我给大家画的哪个电子琴电路的放大电路一样:看上面的那个三极管,就是将TTL电路的电流放大,才能够来驱动蜂鸣器.其实这里的这个MC33886就是这样的一个作用.而且我们自己也完全可以用三极管自己搭建一个这样的功率放大电路,当然,驱动能力肯定不如这里的这个MC33886(如我们用三极管就搭建了超过MC33886的电路,摩托罗拉就不会卖几十块钱一个了.呵呵.)知道了这个MC33886的工作原理,就好说了,一句话,通过PWM来调节电机的速度.当方波中高电平占的比例大,电机的平均电压肯定高,转速肯定快.也就是说,PWM的占空比越大,电机转速越高.看,就这么简单,这个智能车就做好了.接下来,我们就把我们知道的PID知识放到舵机和直流驱动电机的控制中去.就可以达到一个比较好的控制效果.如果要达到更高的水平,肯定机械方面的改造也少不了.当然,这不属于本文的讨论范围.呵呵.智能车制作全过程(飞思卡尔---舵机篇发表于 2008/11/28 10:00:55感谢大家的支持!如果我写得好,请顶我一下!智能车的制作中,看经验来说,舵机的控制是个关键.相比驱动电机的调速,舵机的控制对于智能车的整体速度来说要重要的多.PID算法是个经典的算法,一定要将舵机的PID调好,这样来说即使不进行驱动电机的调速(匀速),也能跑出一个很好的成绩.机械方面:从我们的测试上来看,舵机的力矩比较大,完全足以驱动前轮的转向.因此舵机的相应速度就成了关键.怎么增加舵机的响应速度呢?更改舵机的电路?不行,组委会不允许.一个非常有效的办法是更改舵机连接件的长度.我们来看看示意图:从上图我们能看到,当舵机转动时,左右轮子就发生偏转.很明显,连接件长度增加,就会使舵机转动更小的转角而达到同样的效果.舵机的特点是转动一定的角度需要一定的时间.不如说(只是比喻,没有数据),舵机转动10度需要2ms,那么要使轮子转动同样的角度,增长连接件后就只需要转动5度,那么时间是1ms,就能反应更快了.据经验,这个舵机的连接件还有必要修改.大约增长0.5倍~2倍.在今年中,有人使用了两个舵机分别控制两个轮子.想法很好.但今年不允许使用了.接下来就是软件上面的问题了.这里的软件问题不单单是软件上的问题,因为我们要牵涉到传感器的布局问题.其实,没有人说自己的传感器布局是最好的,但是肯定有最适合你的算法的.比如说,常规的传感器布局是如下图:这里好像说到了传感器,我们只是略微的一提.上图只是个示意图,意思就是在中心的地方传感器比较的密集,在两边的地方传感器比较的稀疏.这样做是有好处的,大家看车辆在行驶到转弯处的情况:相信看到这里,大家应该是一目了然了,在转弯的时候,车是偏离跑道的,所以两边比较稀疏还是比较科学的,关于这个,我们将在传感器中在仔细讨论。