2.1 整体设计概述
智能车竞赛所使用的车模是一款带有差速器的后轮驱动模型赛车,由大赛组委会统一提供。通过设计基于Freescale 公司开发的MC9S12DG128单片机的自动控制器控制模型车在封闭的跑道上自主循线运行。
自动控制器是以单片机MC9S12DG128[12]为核心,配合有传感器,电机,舵机,电池及相应的驱动电路,它能够自主识别路径,控制模型车高速稳定运行在跑道上。
设计自动控制器是制作智能车的核心环节。在严格遵守规则中对于电路限制条件,保证智能车可靠运行前提下,电路设计尽量简洁紧凑,以减轻系统负载,提高智能车的灵活性。
作为能够自动识别道路运行的智能汽车,车模与控制器可以看成一个自动控制系统。它可以分为传感器,信息处理,控制算法及执行机构四个部分。其中,以单片机为核心,配有传感器,执行机构以及它们的驱动电路构成了控制系统的硬件。信息处理与控制算法由运行在单片机中的控制软件完成。因此自主控制器设计可以分为硬件电路设计和控制软件两部分。
系统基本控制过程如图2.1所示

图2.1 系统基本控制流程
2.2 系统硬件结构设计
本设计中系统的硬件结构大致可以分为10个模块,如图2.2所示:

1.处理器模块
本设计的核心器件。统一采用Freescale公司的MC9S12DG128单片机。
2.图像采集模块(主要是CCD摄像头)
采进来的视频信号经过A/D转换成单片机可以识别的信息,为后来的控制程序做准备。
3.PC串行通讯接口
主要是为了中后期的调试方便而提出来的。主要是为了方便计算机与单片机数据的交流,从而能准确地掌握程序的运行状况,为算法的改进提供科学依据。
4.电机驱动模块
可以直接利用大赛组委会所提供的MC33886电机驱动芯片,也可以自行设计一个大功率电机驱动电路实现相应的驱动。在设计中就直接利用Free scale公司开发的MC3386芯片来驱动电机。
5.舵机驱动模块
原则上舵机还需要一个降压稳压电路,不过为提高舵机的灵敏性,基于实验分析,直接用电源来为舵机供电。
6.传感器模块
传感器模块可以分为两部分:速度传感器和角度传感器。主要目的是为了让系统形成闭环,更易调控。
具体地,速度传感器选用了CS3020(霍尔传感器)。而至于角度传感器,并没有像速度传感器那样用一个专门的器件而是用CCD结合程序来实现的。
7.电压检测模块
随着电量的消耗,电池电压一直在下降,这将会直接影响到各部分控制量的变化,因此电压的检测也是必要的。
8.LCD调试模块
实时直观的显示路面信息。
9.键盘输入模块
为脱机调整参数而设计。通过键盘输入,可以方便地改变一些参数,比如电机转速,舵机转动的幅度等。
10.车模
由大赛组委会统一提供。
2.3 系统软件结构设计
系统硬件相当于赛车的骨架和躯体,而软件算法就是它的思想。赛车若想达到理想的成绩须有一个完善周密的思想来支配其载体,故软件系统对赛车来说至关重要。首先,赛车系统通过图像采样模块获取前方赛道的图像数据,同时通过速度传感器模块实时获取赛车的速度。然后S12利用边缘检测方法从图像数据中提取赛道黑线,求得赛车与黑线位置的偏差,接着采用PID方法对舵机进行反馈控制。最终赛车根据检测到的速度,结合速度控制策略,对赛车速度不断进行恰当的控制调整,使赛车在符合比赛规则情况下沿赛道快速前进。设计赛车系统的软件结构如图2.3所示

只有将上述硬件、软件部分进行有效的融合,进行充分的实验、测试和标定工作,才能使赛车具有一个相对良好的整体驾驶性能。这也就是在接下来的各个分模块中需要做的工作。
2.4 模型车的技术参数
根据系统硬件结构设计思想,同时结合现场测试实验,最终确定了赛车的摄像头安装方式、高度和位置;对赛车的总重量进行了一定的优化;参照各个功能模块的硬件功能需求,选定了各元器件的类型和数量如表2.1。



