摘 要: 为解决一些住宅小区停车位或私家车库距离住宅楼较远、自驾车停车不方便问题,提出了利用单片机MC9S12XS128使小车从给定的起始位置自动循迹到达预期车库或停车位的系统设计方案。单片机MC9S12XS128利用PID算法对电机和舵机进行控制,摄像头传感器进行道路信息采集。该系统经测试达到了预定目标,实现了自动循迹停车功能。
关键词: MC9S12XS128;自动寻迹;PID算法
当前的信息技术革命正在推动汽车设计翻开新的一页,多功能、智能化、自动化将成为21世纪汽车发展的新趋势。目前,汽车的使用量越来越多,人们对汽车的智能化要求也越来越高,因此为满足不同人的市场需求,设计了一种沿着指定标记自动识别路径[1-2]和障碍物的小车自动循迹停车控制系统。此系统包括3个子系统:环境感知系统、自主决策系统和操作执行系统。环境感知系统主要包括感知路面信息和感知车体状态的传感器。自主决策系统主要通过单片机的软件来实现决策控制。操作执行系统就是从单片机发出控制指令到车体响应这一部分的系统,主要就是相应的驱动电路。3个系统相互联系、相互制约,有共同的目标和核心的控制策略,共同完成控制任务。这样的自动循迹停车系统解决了由停车带来的不便,实现了停车智能化,同时还可以为深入研究汽车自动驾驶提供信息。
1 系统总体设计方案
小车自动循迹停车控制系统主要包括控制处理芯片MC9S12XS128模块、图像采集模块、转向舵机模块、驱动电机模块和速度检测模块。其中S12单片机是系统的核心部分。它负责接收道路图像信息和车体速度反馈等信息,并对这些信息进行恰当的处理,形成合适的控制量来对舵机和电机进行控制。图像采样模块由外围芯片TLC5510、LM1881和摄像头组成。其功能是获取道路信息,以供S12作进一步处理。速度检测模块由编码器和外围电路组成,通过检测实时车速提供反馈量对电机进行控制。系统的总体结构如图1所示。
2 系统的硬件设计
2.1 核心控制器介绍
MC9S12XS128单片机是以CPU12X的V2内核为核心的16位单片机系列,是在带协处理器的MC9S12XE系列双核单片机的基础上,去掉XGate协处理器得到的。MC9S12XS128单片机内部总线频率最高为40 MHz,片内集成128 KB Flash存储器和8 KB的RAM存储器及8 KB的数据闪存,增加了8 KB D-flash,同时它的内部资源也非常丰富,拥有I/O输入输出端口、SPI、SCI、ECT、A/D、CAN和PWM等常见的接口模块,在汽车电子领域具有广泛的用途[3]。
2.2 图像采集模块
2.2.1 摄像头的选择
CCD摄像头具有对比度高、动态特性好的优点,经过实验论证之后决定采用。
摄像头有两个重要指标:有效像素和分辨率。分辨率实际上就是每场行同步脉冲数,而有效像素=行分辨能力×分辨率。通常产品说明上标注的分辨率略大于实际分辨率,所以要知道实际分辨率就得实际测量一下。
通过S12单片机的定时器模块对单个脉冲的下降沿和上升沿间隔、两相邻脉冲上升沿间隔进行计时,可得每行信号和每个脉冲持续的时间[4]。实际测得所用摄像头的时序参数见表1。
从测试结果可知,该摄像头扫描的每场中有320行信号,其中第23行到310行是视频信号,第311行到下一场的第22行是场消隐信号。在视频信号区,每行信号持续的时间相同,约为62 μs,每行的行同步脉冲持续时间也相同,约为4.7 μs。而在场消隐区,每行持续的时间会有所变化,每行对应的消隐脉冲持续的时间,尽管其中大多数为3.5 μs,但也有变化。在场消隐区中,第320行的消隐脉冲持续的时间远长于其他消隐脉冲的时间,此脉冲即为场同步脉冲。
2.2.2 视频同步分离电路
CCD摄像头视频信号中除了包含图像信号之外,还包括了行同步信号、行消隐信号、场同步信号、场消隐信号以及槽脉冲信号、前均衡脉冲、后均衡脉冲等。因此,若要对视频信号进行采集,就必须通过视频同步分离电路准确地把握各种信号间的逻辑关系。本系统使用了LM1881芯片对视频信号进行同步分离,得到行同步信号、场同步信号。视频分离电路原理图见图2。
2.3 速度检测模块
对舵机1、舵机2和电机的控制分别通过两路PWM通道。电机的驱动电路[5]采用两片33886并联电路,经测试电机的加减速效果满足要求。
要使车能够快速稳定的运行,并且控制容易,就需要精确地测得车的速度,所以要选择较好的速度传感器。因此采用了欧姆龙的100线光电编码器。
本系统通过脉冲计数的方法来实现对小车的速度检测:在小车的车轴上安装光电编码器,当车轴转动时,编码器跟随车轮同步转动,编码器输出正弦波。经比较器转化为方波后,就变为对应的高低电平,产生脉冲,送给计数器模块。计数器捕捉脉冲信号并对其进行计数,在特定时间内读出脉冲总数,将计数值送给单片机,便可以得到小车的实时速度,用以对小车进行实时控制。
Speed_pd=Kp*err1+Kd*(err1-err2)
其中,err1=Setted_speed-car_speed,err2=Setted_ speed_last-car_speed_last。Setted_speed是给定车速,car_speed是测速传感器测量到的当前车速。两者的先后偏差作为被控量带入计算公式,通过比例系数 和微分系数的计算修正,可得到调整后的车速。
日新月异的科学技术给智能汽车带来了更加光明的发展前景,使得车辆利用传感器结合环境信息做出最优控制策略,实现车辆自动行驶。本文介绍了基于单片机的自动循迹停车控制技术,硬件电路的设计及软件的控制方案。经过实际测试,可实现自动循迹停车功能。解决了由停车给人们带来的烦恼,并且具有一定实用价值。
参考文献
[1] 刘建刚,程磊,黄剑.基于CCD图像识别的HCS12单片机智能车控制系统[J].光电技术应用,2007,22(6):53-55.
[2] 狄可可,万灿,贞辉.第二届全国大学生智能车大赛浙江大学“飞鹰队”技术报告[R].2007.
[3] 于庆广,刘葵,王冲,等.光电编码器选型及同步电机转速和转子位置测量[J].电气传动,2006,36(4):17-20.
[4] 孙闯,闫涛,王珊珊.第六届全国大学生智能车大赛曲阜师范大学“炫风队”技术报告[R].2011.
[5] 黄智伟.全国大学生电子设计竞赛训练教程(修订版)[M].北京:电子工业出版社,2010.