线性CCD智能车自主导航系统设计
2017-11-06郭德占那阳王庆梓李文顺
郭德占+那阳+王庆梓+李文顺
摘 要:本设计是一种基于线性CCD检测的智能车自主导航系统,采用蓝宙电子公司的MK60DN5127VIQ108N300单片机为控制核心,主要由电源模块、电机驱动模块、线性CCD、舵机以及反馈控制模块构成,实验表明,智能小车能很好地识别赛道信息,并能很快地作出判断,实现了自主转弯、过障碍等功能。
关键词:智能汽车;自主导航;单片机;自主转弯;过障碍
中图分类号:U469.79 文献标志码:A 文章编号:2095-2945(2017)32-0121-02
设计智能车所涉及的学科有机械设计、电子技术基础、数字信号处理、传感器技术、电路设计、C语言程序设计、单片机、自动控制原理等,因此智能小车是一个综合了很多学科的制作。该设计包括硬件和软件两大方面,其中采集信号的模块是线性CCD,MK60DN5127VIQ108N300单片机对线性CCD采集的信号进行接收和处理,其中小车自主导航的依据就是单片机处理过的信号,从而能很好的控制小车转弯、前进、停止、加速、避障等,可以使智能车在赛道上进行自主寻迹。
1 方案论证
1.1 为了降低小车在行驶过程中产生的震动以及震动对线性CCD的影响,经过查阅质料以及亲自的实践发现加固C车模底盘使它成为刚体的方法可以有效减少震动。
1.2 小车重心的确定,由于小车在转弯过障碍的时候容易发生侧翻。为了防止小车侧翻把重心固定在底盘靠近车尾的地方,这样就可以增加小车的可控性。
1.3 测试小车的赛道比较光滑,小车在直的长赛道上加速行驶,突然遇到急转时弯易冲出赛道,为了防止小车冲出赛道可以打磨车轮胎,但是要注意力度,打磨过度轮胎就坏掉了,所以必须适当打磨,这种方法可以提高小车的灵敏度,同时能更好的驱动智能车加速。
1.4 电机驱动模块作为智能车设计最为重要的一环,需要特别可靠的方案来确保万无一失。所以我们使用BTN7971芯片作为驱动芯片。该芯片的稳定性高,对环境适应能力强且具有一定的抗干扰和自我保护能力,而且它还能提供良好的加速性能以及具备超强的散热能力,是作为电机驱动模块芯片的不二之选[2]。
1.5 智能车使用7.2V容量为2000mah锂离子电池进行供电,由于各个模块器件所需电压值不同,所以我们需要使用不同的稳压芯片将电压调整至各个模块合适的电压进行供电。电机驱动芯片所需电压为7.2V,可以直接连接电池使用,使用ASM1117(5V)线性稳压芯片将7.2V稳压成5V后给舵机供电,由于舵机是转向的核心,所以它所需的电压必须稳定。用LM2940(5V)或TPS7350(5V)分别为MK60DN5127VIQ
108N300单片机、线性CCD、编码器供电。
1.6 转向模块是设计和制作智能车的关键部分,因为转向性能会直接影响到智能车的速度和稳定性。所以就需要使用舵机进行转向控制,舵机是一种转向装置,虽然它的体积很小,但是它具有很大的力矩,可以使智能车在高速时更轻松和快速的过弯。这种装置机械结构简单且稳定性优秀,是制作智能车必不可少的器件之一。舵机的工作电压为5V,但是通过实验发现,适当提高舵机电压可以获得更快的响应速度,这样就可以使智能车在更高速的状态下稳定运行。舵机安装在两个前轮的正中间,这样可以减小转向时间,提高转向速度[3]。
1.7 线性CCD可以说是智能车的眼睛,CCD是智能车的路况信息采集装置,它能实时检测所在路况信息并反馈给CPU进行信息处理,并通过这些信息计算出偏移量等影响智能车转向控制的因素,这些信息越精准,检测速度越快,智能车的速度也就越快,操控性也就越强。所以这种基于CCD的路径识别系统的好坏直接影响智能车的性能。线性CCD拥有超远距离前瞻,可以提前检测出转弯、障碍等道路信息,及时反馈给CPU,处理信息后反馈给舵机和电机驱动模块进行转弯和刹车等操作,所以CCD的性能越好,智能车的最大速度越大[3]。
在线性CCD的安装上,我们使用了五轴固定的方法,通过五个点来固定CCD,这样可以使CCD更稳定,也利于调节。
CCD在智能车上的位置布局同样至关重要,如果采用后置式CCD,就会带来转弯滞后等问题。而如果使用前置式CCD,就会出现车身抖动和画面模糊的问题。所以为了解决这两个问题,经过多次位置试验和调整,最终决定将CCD放置在中间靠前的位置,这样可以较为完美的解决前置和后置所带来的问题。
选用碳纤维作为CCD的支架,因为这种材料质量轻,硬度大,能做有效支撑。为了确保CCD在高速移动状态下不会发生位移影响性能,所以我们在制作时确定CCD所在位置后对它进行双重加固,这样不仅能使其更加牢固,也能减轻电机对CCD模块的震动干扰。
1.8 光电编码器也是制作智能车不可或缺的一部分,它通过计算单位时间编码输出脉冲来计算智能车的速度,反馈给CPU便可以获取智能车的实时速度,更有利于控制小车速度。
1.9 在智能车的制作中,停车也是不可或缺的一个重要部分,在比赛中如果没有停车系统,那就意味着你要在你原有成绩上再加2S,这就可能导致你的成绩不理想,所以停车所用的光电对管也是不能少的,光电对管主要是利用二极管来检测黑线,如果2个同时检测到黑线反馈给CPU。经过处理后智能车可实现停车。
2 软件部分
软件算法主要由 PID 控制算法和预判算法等组成。中断采集程序对线性CCD传回的信号进行采集,通过模数转换,发送到MK60DN5127VIQ108N300来进行处理,计算出控制参数发送到舵机等模块,实现加减速停车,转弯等功能。
算法调整完成后需要进行一系列的赛道测试来测试智能车的实际情况,因为比赛赛道会很复杂,所以我们进行了各种赛道和路况的测试,通过对直线、弯道、交叉路和大S等复杂赛道的测试,发现了一系列问题,其中最主要的是CCD在进行采集图像时的数据过于庞大,导致CPU不能及时将所有数据运算处理,导致反馈不及时等现象。所以我们需要将CCD所提取的图像和数据进行筛选。我们首先筛选出赛道两旁的黑线,将黑线定位边界,进行在黑线内的扫描和采集通过对不同赛道测试和试验,最终确定了一套不同賽道的偏差值和有效值的数据。这样就能使智能车在不同赛道也能很好的控制速度和方向。
3 测试与结果
主板的设计和硬件的搭配对智能车的性能至关重要,需要不断调试硬件参数使智能车达到最佳性能,在直线赛道上提升智能车的加速度,更快的起步,CCD检测到弯道信息后,立刻反馈到CPU使小车减速,然后顺利通过弯道。提高PWM的占空比可以使智能车的速度调节更快,经过一系列优化,可以使智能车在赛道加速更快,转弯更准,减速更迅速。这样可以使智能车的速度有了一个质的飞跃。
参考文献:
[1]O'Reilly.爱上制作(第二期)[M].人民邮电出版社,2011.
[2]何艺桦.基于CCD的小型光谱分析仪器与化学发光新技术[D].四川大学,2007.
[3]蔡述庭.飞思卡尔杯智能汽车竞赛设计与实践[M].北京航空航天出版社,2012.
[4]徐国华.移动机器人的发展现状及其趋势[J].机器人技术与应用,2001(3).
[5]党宏社.智能车辆系统发展及其关键技术概述[J].公路交通科技,2002(4).
[6]尹念东.智能车辆的研究及前景[J].上海汽车,2002(2).
[7]吴晔,张阳,滕勤.基于HCS12的嵌入式系统设计[M].电子工业出版社,2010,1.
[8]吴晔,张阳,滕勤.MC9S12XS单片机原理及嵌入式系统开发[M].电子工业出版社,2011,9.
[9]李忠文.实用电机控制电路[M].化学工业出版社,2003,4.
[10]张红润.智能技术——系统设计与开发[M].北京航空航天大学出版社,2007,2.
[11]陈铁军.智能控制理论及应用[M].清华大学出版社,2009,1.
[12]刘少强.传感器设计与应用实例[M].中国电力出版社,2008.
[13]卓晴,黄开胜.学做智能车[M].北京航空航天大学出版社,2007.endprint