基于飞思卡尔单片机自动循迹小车控制的设计
1前言
1.1 设计的背景以及意义
在现代社会,汽车逐渐走进每个平民的家庭生活中,汽车行业发展迅速,同时交通事故也大大增多,每一分钟都有人死于车祸。近几年智能系统的发展迅速,智能车的研究成为了当下的研究热点。智能汽车研究涉及了很多领域,最直接的表现是要实现汽车的自动驾驶。要实现自动驾驶就离不开智能化系统的设计,同时要求智能车能感知周围的环境。一旦智能车投入使用,就会降低当前社会交通事故的发生率,同时能够大大提高现有交通道路的使用效率,并且能在一定程度上缓解能源危机的到来,降低广大人民的劳动强度,给人们一个更好的未来。
1.2 智能小车国内外概况
1.2.1国内研究的概况
我国在智能车的研究中投入了大量的资金和精力,为了能够培养出自己的研究骨干,在教育部的牵头下,我国组织了智能小车的高校比赛,以此来培养最基本的研究人才,这也符合我国的人才强国战略。这项比赛用的是飞思卡尔公司产的芯片,第一届比赛在清华大学举办,得到了各大高校的积极响应,取得了良好的效果。该项比赛,韩国有丰富的经验,他们已举办多届此类比赛。因为此项比赛涉及到了很多专业知识,尤其是必须要掌握自动控制、电子、计算机等多个领域的知识,所以能够提高大学生的知识水平。另外,比赛还可以提高学生的动手能力,弥补现在教育的弊端。
前两届比赛中组委会统一规定了赛车的模型,微型控制器选用当时最流行的16位微型控制器MC9S12DG128,该控制器为飞思卡尔公司生产,性能优良,功能可靠。现在比赛最常用的是32位的Kinetis系列,主要包括Kinetis E,EA,M,L等系列、32位的MPC56xx系列、32位的Kinetis(ARM? CortexTM-M4),主要包括Kinetis W,K等系列、16位的9S12系列、32位的DSC系列、ColdFire系列和8位的单片机系列(可使用两片)。
飞思卡尔赛车比赛规定各队在符合条件规定的情况下,赛车跑完全程时间最短者获胜,我国在2007年的比赛中首次打败了韩国队,终止了其七连冠的记录。我国已经成功的举办了10次该项比赛,参加比赛的学校大概已经有300所,它们来自全国各地,分布在30个省市、自治区。飞思卡尔比赛在我国已经办了多年,参赛队伍逐年增加,技术也相当成熟,学生们发挥自己的想象力,在原有技术上进行了大胆创新,取得了不错的效果。现在一些早期的学生已经投入到实际的智能汽车的研究之中。
`
1
基于飞思卡尔单片机自动循迹小车控制的设计
1.2.2 国外研究概况
在飞思卡尔半导体公司的资助下,韩国在全球第一次举办了全国性质的高校智能小车比赛,并且取得了非常好的效果。第一届比赛要求参赛队选用大赛方指定的HCS12单片机、车模以及电动机。大赛规定,跑完全程用时最短的队伍获胜。 参赛队伍需要自己学习并且应用嵌入式软件开发工具Codewarrior和在线开发发技术,自主开发识别最佳的行进路线,自行设计电机的驱动电路、检测电路、舵机电路,以及相应的程序编写。此项比赛举办以来,已经得到了广大企业的认可,他们认为这项比赛提高了学生们的创新能力。这也是参赛队员在设计小车时不断积累经验,不断推陈出新,敢于创新的得结果。
韩国于2000年举办了第一届该类比赛的,由汉阳大学承办。在韩国每年的参赛队达到100多支,很多学校都会派出自己的队伍。韩国的企业也非常重视这项比赛,每年企业都会拿出非常丰厚的奖品,比如特等奖就奖给队员一辆现代汽车。甚至获奖选手可以有机会到德国宝马的总部研究学习。这些奖励不仅体现了企业对人才的重视,而且促进了学生的积极性。
如今的比赛不仅仅限于一国之内,高校的参赛队伍已经走出了国门,形成国际比赛机制。2013年举办的国际赛当中,中国队以绝对的优势击败了美国队、日本队、巴西队、印度队、中国台湾队、墨西哥队、马来西亚队以及捷克与斯洛伐克队。国际赛的举办增进了各国的技术交流,对智能车的比赛以及技术的创新起到了积极的作用。
1.3智能小车的发展前景
在智能车的研发方面,我国与欧洲、美国、日本等国家还有一些差距。智能车的开发需要很多领域的结合,如信息技术、计算机技术、电子技术等多个领域
[1]
,在这些领域我国也有了很高的发展。面对这个集汽车制造行业、信息与通信
产业和交通系统复合的全新领域,我国有能力抢占这个高新技术的制高点,在未来的国际竞争中取得有利位置。我国必须把握这次机遇,制定好相应的计划、战略方针以及落实到实处的措施,统筹管理,逐渐缩小与发达国家在智能车领域的差距并且超过他们。
`
2
基于飞思卡尔单片机自动循迹小车控制的设计
2 飞思卡尔单片机自动循迹小车系统设计总方案
本设计的核心是基于K60的主控模块,车速由电机驱动模块控制、转向问题由舵机模块来控制、小车速度的检测交由测速传感器模块的检测,预判行进的路线由路径识别模块来决定。本设计实现的功能是在特定的跑道上小车自动行驶,完成在转弯处减速、在直道上加速行驶。本系统由两部分组成即硬件部分和软件部分。
2.1 系统硬件部分
本毕业设计选用飞思卡尔公司推出的32位K60微控器作为小车的核心控制单元。路径识别模块采用摄像头检测技术,将采集到的图像信息转化成电平信号送给微控单元K60。同时速度检测模块收集到的信息同样转换成电平信号送给微控单元K60。微控单元经过内部的处理,输出PWM信号,控制电机转速以及舵机转向,达到控制速度和自动行驶的目的。
要使智能小车又快又稳的行驶,不仅要控制好舵机的转向还要控制好车速。这样才能使小车在转弯的时候不会因为速度太快而偏离跑道,因此我们需要检测小车的速度,并且采取闭环的反馈机制。同时要求我们要将路径检测、车速控制以及控制转向的各个单元精密结合起来。如果传感器采集到了错误的信息,或者伺服电动机的控制出现偏差,就可能使小车出现严重的抖动,常出现的问题是小车偏离跑道;如果直流电动机的控制效果不理想,还会造成小车速度过慢等问题。本部小车的系统总体结构如图2.1所示:
图2.1 系统总体结构图
`
3
基于飞思卡尔单片机自动循迹小车控制的设计
由图可知,小车的系统是由以下几个模块组成的: (1)中央处理器单元
中央处理器采用飞思卡尔MK60DN512VMD100芯片,以32位的ARM Crotex-M为内核,运算速度快,内核提供了1.25DMIPS/MHz的DSP指令。具有8位PWM输出8路和16位增强型定时器8路。CPU的主频频率为100MHz。内部Flash高至512KB,模数转换(A/D)共8路各2组,单片机功能强大,可以有效地控制小车的运行以及检测。
(2)电源管理模块
电源模块的作用是给各个模块提供稳定的电压,保证系统的正常运行,也是系统运行最基本的要成。电源模块要有稳压电路,因为各个模块所需要的电压不同,我们还需要将电源的电压转换成所各模块所需要的电压。
(3)舵机模块
对模型车上的舵机进行驱动,快速并准确控制赛车的行驶方向。 (4)电机驱动模块
电机模块的作用是控制小车的速度,它是通过控制电机的电压来达到控制车速的目的,当然也可以通过电机实行制动。
(5)速度检测模块
速度检测模块主要是用于小车速度的采集,将采集到的速度反馈给系统,系统做出反应,来调节速度,使小车以最快的平均速度平稳的跑完全程。 (6)路径识别摄像头检测模块
该模块的作用是采集图像信息,并将其转换为数字信息传送给控制器,经过处理后控制舵机对小车的行进方向进行导航,同时控制车速。
2.2 系统软件部分
软件部分由这几个部分组成:小车的主程序、寻迹程序、PWM程序、PID控制程序等组成[2]。
采用动态阈值和边沿检测法提取黑线,保证提取黑线的稳定可靠;采用闭环PID和前瞻相结合的控制策略,并且基本上不对路型作判断,来提高赛车对赛道适应性。我们可以通过程序来处理无法检测起跑线的问题,所以不用安装红外传感器。
`
4