基于MC9S12XSl28微控制器的智能车硬件设计
扫描二维码
随时随地手机看文章
摘要:以“飞思卡尔”杯智能车大赛为研究背景,采用MC9S12XSl28作为核心处理器,通过对比各个模块不同设计方案的性能,完成智能车电源、驱动、图像采集、测速等模块的设计与实现。通过大量的实验调试完成了智能车的组装与机械部分调整,使得智能车结构更为合理。实验及实际比赛表现表明,该智能车硬件结构稳定,性能良好。
关键词:电源设计;电机驱动;图像采集;二值化电路;MC9S12XSl28
随着汽车电子业的迅猛发展,智能车作为电子计算机等最新科技成果与现代汽车工业相结合的产物,因其具有的智能特点而成为研究重点。“飞思卡尔”杯全国大学生智能汽车比赛在此背景下产生,竞赛规则规定。赛车在设定的赛道上能够自主行驶,并以最短的时间跑完全程者获胜。因此,智能车硬件不断创新以适应小车的速度要求。本文以MC9S12XSl28为核心处理器,通过实验比较智能车各个模块电路设计方案,从而设计出性能稳定的硬件电路,经大赛实际检验性能良好稳定。
1 系统整体方案设计
1.1 智能车功能设计
根据大赛规则,智能车应具有路径识别、方向控制、速度控制、状态检测等功能,设计采用大赛指定的飞思卡尔16位微控制器MC9S12X-Sl28单片机作为核心控制单元,利用CCD摄像头作为识别路径的传感器,经MC9S12XSl28 MCU的I/O端口处理,控制赛车的运动决策,同时内部ECT模块发出PWM波,驱动直流电机及舵机对智能车进行速度控制和转向控制,为了精确控制赛车的速度,在智能车后轴上安装光电编码器,采集车轮转速的脉冲信号,经MCU捕获后进行PID自动控制,完成智能车速度的闭环控制。设计中应注意的原则:重心尽可能低、体积尽可能小、驱动尽可能大、结构尽可能简单。
1.2 系统整体结构
智能车的硬件设计是整个系统设计的基础,只有在系统硬件设计可行、稳定、可靠的前提下,其他控制方案才能得以继续。系统硬件主要包括单片机(主控)、CCD摄像头(图像采集)、旋转编码器(速度检测)、SD卡(大量数据存储)、无线抄表(数据的无线收发)、直流电机(速度控制)、舵机(方向控制)、电源(5 V/6 V/7 V/3.3V/9 V/12 V)、车模、驱动器MC33886、MOSFET管等组成。图1为其整体结构框图。
1.3 MC9S12XSl28单片机简介
本设计选用飞思卡尔MC9S12XSl28微控制器作为控制单元。该系统板具有MCU核心系统,支持串口调试下载,具有扩展接口,可进行2次开发,支持μCOSⅡ。此开发板兼容性较高,监控程序功能强大,可提供各种基本的开发和调试功能,如程序的下载和运行、断点设置、内存显示等。还可利用MC9S12XSl28的Flash在线编程技术实现在线写入用户程序和随时修改Flash存储内容。同时在线实时仿真和监测自编程序。根据实际设计需要分配控制器内部单元,如表l所示。
2 各功能模块的设计与实现
智能车硬件系统主要包括电源、电机驱动、测速、舵机、图像采集与处理等部分。
2.1 电源模块设计
根据智能车的设计需求,需提供5 V电源为单片机、SD卡、测速模块、PCB板上电路、无线通讯模块等供电:6 V电源供给舵机,CCD摄像头需12 V的工作电压。其中的难点是12 V DC-DC升压电路。这里使用MC34063A搭建由7.2 V升压到12 V的升压电路。MC34063A是单片双极型线性集成电路,专用于直流一直流变换器控制,内置占空比周期控制振荡器、驱动器和大电流输出开关,可输出1.5 A的开关电流。它能使用最少的外接元件构成开关式升压变换器,降压式变换器和电源反向器。图2为DC-DC升压电路原理图。
2.2 电机及舵机驱动模块设计
影响智能车速度的最关键因素是驱动力。“驱动力”不仅包括驱动电机,还包括电机驱动电路。电机驱动电路要能为赛车提供强大的动力,同时自身的功耗要小,能够保证在长时间大电流输出的情况下不升温且持续稳定工作。
根据PWM调速电机驱动电路的性能指标。在实际制作过程中,主要采用以下两种方案:1)采用MC33886级联组成驱动电路;2)采用MOSFET搭建H桥电路。
考虑到MC33886输出电流有限,不能提供较为强劲的驱动力,因此专门独立设计采用MOSFET搭建的H桥驱动电路。网3是直流电机PWM调速系统框图。TD340和MOSFET管组成H桥驱动电路。TD340是N沟道功率MOSFET管驱动器。适合于直流电机控制。
通过实验比较这两个方案设计的电路加速、制动、频繁启制动能力,发现两个电路各有其特点。MC33886级联组成驱动电路驱动电流上升快,适合起制动,但能耗大且稳定电流小;而MOSFET管启制动较慢,但驱动电流大,适合直道行驶,功耗小。考虑到能耗问题,实际小车设计中采用MOSFET管驱动方法。
舵机用来控制前轮的转向,配合后轮的驱动电机,使车体能够自由行驶。在智能车上,舵机的输出转角通过连杆传动控制前轮转向。舵机的输出转角介于-45°~+45°之间,在使用前需先测出各个角度所对应的PWM波的占空比。
2.3 测速模块设计
作为实现对智能车闭环控制的光电一个重要环节,测速功能不可缺少。常用的测速方法有光电管测速法和光电编码器测速法。
实践证明,光电管检测方法成本低廉,容易实现。但精度较低,可靠性较差,容易受环境光影响,当车速达到3 m/s时,检测会发生问题。采用光电编码器成本虽然较高,但精度高,稳定性好。因此综合考虑,采用光电编码器检测电机速度。
采用OMRON公司生产的E6A2-CSl00型光电编码器。它由5~12V的直流供电,速度传感器通过后轮轴上的齿轮与电机相连,车轮每转1圈,速度传感器转过2.75圈。
2.4 图像采集及处理模块设计
针对智能车比赛的实际环境状况,常用的图像数据采集方法有:A/D转换采集方法和比较器的硬件二值化方法。
MC9S12XSl28单片机的A/D转换时间在不超频的情况下最短为7μs,若选用分辨率为320线的摄像头,则单行视频信号持续的时间约20 ms/320=62.5μs,A/D转换器对单行视频信号采样的点数将不超过(62.5/7)+1=9个。若使用分辨率为640线的摄像头,则单行视频信号持续的时间约20 ms/640=31 μs,A/D转换器对单行视频信号采样的点数将不超过(3l/7)+l=5个。可见,分辨率越高,单行视频信号持续的时间就越短,A/D转换器对单行视频信号所能采样的点数就越少。如前所述,摄像头的分辨率越高,虽然可提高纵向分辨能力,但会减少单片机A/D采样单行信号的点数,削弱横向分辨率。
摄像头的分辨率通常在300线以上,所以单行视频信号的持续时间最多20 ms/300=66μs,则A/D采样每行视频信号的点数最多(66/7)+1=10个(不超频),这不满足赛车定位要求。所以采用A/D采集图像时,摄像头分辨率不应太高。为保证采集图像点的准确性同时为图像处理留出更多时间,这里采用比较器实现二值化来代替A/D采样方法实现数据采集。
3 结论
围绕MC9S12XSl28单片机完成全国智能车大赛小车的硬件电路设计。通过实验比较各个模块电路的特点,选择性能较好的方案。通过硬件二值化电路完成对CCD摄像头图像采集与二值化的处理,节约了微处理的时间。通过比较常用的两种驱动电路的性能,选择出适合智能车竞赛的电路。实验表明整个小车驱动性能良好,图像采集快速,行驶稳定。该智能车在智能车大赛中表现良好。