本章将主要从硬件结构和软件结构两个方面介绍赛车系统的整体设计,在后面的章节将分模块对系统模块的设计过程、调试过程、以及响应的软件程序进行详细说明,并对控制策略作详细阐述。
2.1 系统硬件结构设计
整个赛车系统主要包括系统电源模块、单片机模块、图像获取模块、舵机驱动模块、电机驱动模块、速度检测模块、辅助调试模块等七个部分。系统示意图如图2.1所示:

图2.1 系统模块示意图
电源模块是系统的能量源泉,负责驱动赛车系统中的电机(7.2V)、舵机(6V)、摄像头(12V)、单片机及其他芯片(5V)。
单片机模块是整个赛车系统的核心部分,直接采用了清华大学提供的MC9S12DG128B开发板。
舵机驱动模块采用的舵机型号为Futaba S3010,主要用于赛车运行方向控制。
电机驱动模块采用MC33886芯片驱动,主要用于驱动赛车前进或者后退。
速度检测模块采用MOCH21A光耦传感元件并配合码盘完成速度测取功能,输出脉冲信号进入S12的ECT模块,通过获取相邻脉冲间的时间间隔计算赛车当前运行的速度。
图像获取模块主要由摄像头、视频芯片LM1881、S12处理器的A/D模块组成,其功能在于获取赛道的图像信息,转换为赛道信息对应的A/D数据。
辅助调试模块的功能在于处理芯片的监控、赛车状态监控、控制参数的修改以及赛车运行策略选择。
赛车系统的一些主要参数:
表2.1 赛车车体结构参数

表2.2 赛车传感器使用情况

表2.3 赛车其他参数

2.2 系统软件结构设计
前言中已经提到摄像头传感识别在数据处理上相对于红外检测要复杂很多,故软件处理显得尤为重要,这里只提整个软件大体的架构,后面的章节将分模块进行详细说明。
赛车系统I/O资源、中断资源分配如表2.1 、2.2所列:
表2.1系统I/O资源分配表

表2.2 系统中断源分配表

系统软件架构的流程图如下:

图2.2 系统程序流程图
根据系统的模块区分,系统软件也可分为图像获取、角度控制、速度控制、速度检测、辅助调试几个模块。其中辅助调试模块主要是进入主程序前相关参数调整以及选择,传感器是整个赛车系统的眼睛,系统通过图像获取模块得到赛道的图像信息(数据),通过速度检测模块获取当前赛车的速度信息。根据所得到的图像数据,经过处理提取出黑线位置,并得出赛车与黑线位置的偏差程度,由偏差信息对舵机进行反馈控制;同时根据检测到的赛车速度并结合当前的位置偏差信息对赛车速度进行有效的控制,使赛车尽量安全、快速前进。


