1.1 系统概述
本系统是为了参加Freescale智能车大赛而设计,目标是设计一个能够自主识别路线的智能车,在专门设计的跑道上自动识别道路行驶。使用竞赛秘书处统一指定并负责采购竞赛车模,采用飞思卡尔16位微控制器MC9S12DG128作为核心控制单元,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动、转向舵机控制等,完成智能车工程制作及调试,不使用其他可编程控制芯片。下面细分每个模块的工作。
1传感器信号的采集
针对这个系统,传感器主要负责采集路面信息。赛道路面用专用白色基板制作,跑道表面为白色,中心有连续黑线作为引导线,黑线宽25mm。由于探测条件比较宽松,所以传感器的选择余地很大。本次设计使用红外光电管组成光电管阵列采集,其优点是安装调试简单,但又伴随着测试距离近,抗干扰能力不强,不能完全反应赛道信息的缺点。
2动力电机驱动
该电机主要负责为智能车提供动力,本设计选用Freescale公司的MC33886为主电机驱动芯片。该芯片内部结构为MOS管构成的H桥式电路,并加入了逻辑控制电路和过流过热保护电路。(该部分设计由孟忠伟完成。)
3转向舵机控制
对舵机的驱动为一路PWM波,本设计采用两种供电方式,即一路6V供电一路7.2V供电,平时使用6V比赛时使用7.2V。
4控制算法及执行
这里主要完成对转向舵机和驱动电机的控制。采用简单的闭环控制,使用PID算法为主要的控制算法。
下面详细分析一下系统的输入和输出。
输入主要有2路即对赛道黑线的采集信号和小车速度信号。输出为伺服电机控制信号,驱动电机控制信号,也是2路。如图1.1所示。

图1.1系统框架
对赛道采集可以使用红外传感器来实现,而车速信息的采集可以使用霍尔传感器或光电码盘来实现。本设计采用红外传感器阵列和霍尔传感器的组合实现对外界信息的采集。红外传感器有反应迅速,结构简单的优点。而霍尔传感器具有安装简单,抗干扰能力强,输出波形规整等优点,故选择这样的组合。
这样重新得到一个输入输出图1.2。

图1.2系统输入输出
本智能模型车系统以MC9S12DG128芯片为核心,由电源模块、传感器模块、电机驱动模块、路径识别模块、通讯调试模块和单片机模块组成。为了使智能车能够快速行驶,单片机必须把路径的迅速判断、相应的转向伺服电机控制以及直流驱动电机的控制紧密地结合起来。本设计将讨论传感器的种类、数量及安装,研究传感器的数据融合算法,并致力于提高转向伺服电机及直流驱动电机的控制能力。同时,单片机系统需要在接收路径识别电路信号和车速传感器信号后,采用某种路径搜索算法进行寻迹判断,进而控制转向伺服电机和直流驱动电机的工作,因此本设计还必须讨论其软件控制方案,研究高性能的控制算法。
1.2 输入输出分析
本节对智能车的输入和输出量进行分类分配,如下表1.1和1.2所示为智能车系统输入和输出分析表。
表1.1 智能车系统输入一览表

表1.2 智能车系统输出一览表

1.3 模块划分
本智能车系统的设计是属于嵌入式开发与应用范畴,制作过程主要可分为软件设计、硬件设计和机械结构设计三个部分。由于有现成的车模,机械结构无须过多关注,本设计主要关心的是其软硬件设计。
根据系统输入输出分析情况,结合其软硬件特点,在硬件上可将智能车系统划分为电源、单片机、传感器、动力电机、转向舵机和通讯调试等几个模块。如下为智能系统各功能模块。
表1.3智能系统各功能模块简介

在软件上,采用分层化的软件体系结构,分为硬件驱动层、功能控制层和主控软层。在硬件驱动层分别有AD转换驱动、PWM脉宽调制驱动、定时器驱动、蜂鸣器驱动程序和最小可运行系统驱动模块。功能控制层主要有AD采样滤波和均值处理、动力电机和转向舵机控制以及系统定时时钟模块。主控软层主要是对寻迹算法和策略的实现。
1.4 开发平台简介
要想开发一个单片机开发系统,首先要有配套的软硬件平台,开发单片机的硬件平台就是所说的最小硬件系统,通过这个最小硬件系统,就可以与单片机通讯。最小系统一般包括供电电路、时钟电路、复位电路、以及通信端口。对于 freeseale16位单片机,其最原始的通讯手段是 BDM(BaekgroudDebugMode),BDM也是当代单片机普遍采用的调试方式之一。除此之外,也可以通过RS一232下载程序,不过,首先要通过BDM把监控程序写入单片机。
本次大赛组委会为每一支代表队提供了一套硬件开发系统,不过,在设计中并没有使用这套系统,所使用的是苏州大学 FreesCaleMCU/DSP实验室开发的系统。软件平台采用 Codewarriorfor S12,Codewarrior是Metrowerks公司的,专门面向Freescale所有MCU与DSP嵌入式应用开发的软件工具,Codewarrior for S12是面向以HC12或 S12为CPU的单片机嵌入式应用开发的软件包。包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。

图1.4 写入器头实物图
程序下载。程序下载包括S19文件分析、TBDML通信和Flash存储器擦写等。TBDML通信模块负责通过USB接口将PC方的S-record代码写入到空白的Flash存储器指定区域。S19分析模块则将S-Record标准的S19文件进行分析,将文件的内容转换成特定的传输格式,以判断文件中程序的起始地址和页数以及是否越界等。


