APP下载

基于MC9S12XS128单片机的智能车控制系统的设计

2013-08-28严大考张纯梁

关键词:黑线小车赛道

严大考,李 猛,邹 栋,张纯梁

(华北水利水电学院,河南郑州450045)

进入21世纪以来,随着自动控制技术、单片机技术、汽车电子技术、通信技术[1]等的飞速发展,可实现将各种高新技术以及实际驾驶操作经验融入汽车设计中,以提高汽车驾驶的安全性能和能源利用率,所以,涵盖多种前沿科学技术的智能车辆[2]成为研究热点.

笔者以电动小车为研究对象,以具有良好分辨率和前瞻性的CMOS摄像头作为循迹传感器,提取赛道黑色带状引导线的中心,由核心控制器做出决策,输出一定的占空比控制电机和舵机,从而实现对小车转向和速度的自动控制.最后运用CodeWarrior和MATLAB软件对程序和参数进行调试,使小车达到最佳行驶状态.

1 系统硬件总体构架

良好的硬件电路是智能车平稳快速前行的保障,因此设计过程中要充分考虑其可靠性、简洁性和兼容性.其硬件系统框架如图1所示.

1.1 电源模块

电源模块能够给整个系统提供稳定的电源,从而使系统稳定运行.在电路中,除了要考虑电压、电容和电流等参数之间的相互影响外,还要在电源电能利用效率和抗干扰方面做出优化.硬件电路的电源由寿命长、污染小的7.2 V镍镉充电电池提供,由于各模块所需电压不一样,采用稳压芯片对其进行分压,同时采用多路供电,以减少各模块间的相互干扰,电源管理模块如图2所示.

1.2 电机驱动模块

采用的电机是RS380-ST,其转速是由单片机的PWM模块输出的占空比控制,由BTS7960半H桥[3]驱动芯片来控制电机的正反转,从而实现对小车加减速和制动的控制,驱动芯片与单片机接口电路如图3所示.该芯片是完全针对驱动电机设计的集成大电流半桥芯片,其在一个封装中集成了一个P通道场效应管上桥臂和N通道场效应管下桥臂以及一个控制电路,有过压、过流、过温、短路保护以及输入信号隔离保护等作用.将2个BTS7960组成一个全H桥电路,有助于小车在过弯道前提前减速,以顺利通过.

图3 驱动芯片接口电路

1.3 图像采集模块

图像采集模块是整个智能车设计过程中的核心部分,是智能小车能否精确循迹的重要环节.由此选择体积小、耗电量小、图像稳定性高的CMOS摄像头来采集图像,其工作方式是按一定的分辨率对外界环境扫描,同时通过芯片将采集到的灰度值转换为与之对应的电信号.扫描信号由图像信号,行场消隐信号和行场同步信号组成,因此为了提取有效的视频信号,通过LM1881视频分离芯片分离出行场同步信号、奇偶场信号,然后将分离出的这些信号分别接入单片机的外部中断口PT0和PT1,如图4所示.在采集的过程中,一定要保证中断的优先级,若把握不好时序,图像就会丢失.

图4 图像采集原理图

增强型捕捉计时器(ECT)模块的核心就是一个16位的可编程计数器,主要功能为输入捕捉和输出波形,是实现摄像头采集图像时行场中断的重要模块.利用其特有的脉冲捕捉工作方式,通过程序判定中断标志寄存器(TFLG1)中的相应标志位是否获得相应的行、场中断信号,从而确定每场视频信号是否到来,最后完成视频信号的采集.

1.4 车速检测模块

车速检测模块是对当前小车的速度进行实时检测,结合PID控制算法对速度进行校正,使小车能够以最快的速度跑完全程,其主要目的就是实现对小车的闭环反馈控制.将100线光电编码器通过齿轮连接到差速器上,与单片机的ECT脉冲累加器相连,然后由单片机依据光电编码器输出的脉冲频率计算小车的行驶速度.

2 图像处理

由于赛道中一些不确定因素的存在,如反光、干扰点、十字交叉、赛道背景,这些因素会给小车的循迹带来严重干扰,致使小车跑偏,冲出赛道.因此必须通过程序算法排除这些干扰因素,提取清晰有效的黑线,使小车沿黑线平稳快速地前行.

2.1 二值化处理

二值化处理就是通过设定一个阈值把图像中的像素点分为只有2种灰度等级的像素点,也就是把图像中的每个像素值与设定的阈值相比较,如果阈值小于等于该像素值,则该点为白色,反之为黑色.经过处理的图像黑白界限分明,有利于循迹.因此阈值的确定是至关重要的,其分为动态阈值和固定阈值.经验证,固定阈值不能较好地适应外界环境的变化,易失效,不利于提取有效的黑线.由此选用动态阈值,其能较好地适应外界环境的变化,能够有效排除噪声和脉冲的干扰,保护图像的边缘,其设定办法如下:

1)找出图像中每一行最黑点的像素值dp和最白点的像素值wp;

2)动态阈值设定为0.5(dp+wp),经验证其能有效地平滑噪声,排除干扰.

经二值化处理后的图像可以用0,1表示黑白像素点,如图5所示.

2.2 中值滤波

在提取黑线时,由于某些因素的影响,如系统噪声、曝光不足、外界杂点等,会造成图像质量下降以及失真.中值滤波是一种经典的非线性除噪办法,其不仅可以除噪且可以有效保护图像的边缘,复原效果良好.其基本原理是,将数组中某一点的像素值用该点的一个邻域中各点像素值的中值代替,使其接近真实值.如图6和图7所示,加入噪点后的图像经过处理后,满足系统的要求.

2.3 黑线提取

为使小车能够沿着黑线中心[4]平稳快速前行,采用边缘检测法提取黑线,由于经过处理的图像只有2种像素值且黑白跳变明显,故能快速寻找边缘.由于赛道上的黑色带状引导线是连续的,相邻两行的跳变点也是相邻的,利用这一特性,可根据上一行查找到的边缘,在其附近对下一行的边缘进行搜索.这种算法可有效减少单片机的运算量,高效寻找边缘,同时也提高了程序的抗干扰能力.黑线的提取思想如下.

1)求黑线中心时,由于近处黑线清晰且稳定,远处黑线模糊不稳定,故由近到远地提取黑线中心.考虑远处黑线分辨率低且存在失真,因此要动态地确定查找黑线边缘的阈值和相邻行黑线中心的位置差别.

2)对图像逐行扫描,判定扫描行的第一个点是否为白点,如果是就开始计数直至遇到黑点,记下此时白点的个数a.而后开始对黑点计数直至遇到白点,记下黑点数为b,由此得到的黑线中心为(a+b)/2.

3)黑线的宽度是固定的,通过设定阈值的办法判定提取的黑线是否有效,可以滤除“过宽”、“过细”黑线的干扰.

4)由于黑色引导线是连续的,因此可根据上一行求出的黑线中心的位置来判定本行求出的黑线中心是否有效,从而避免影响单片机的处理速度,满足实时性的要求.

3 PID控制算法

PID控制器是由比例、积分和微分三部分组成的控制调节器,其应用广泛,易于控制,精度高.采用PID[5]控制算法,能够有效提升小车控制系统的整体性能,预期效果良好.

3.1 电机速度控制

对电机的控制就是为了提高其动态响应速度和加减速性能:若为直道,通过单片机控制PWM输出占空比,一般为90%以上,使电机两端的平均电压值达到最大,使电机迅速加速,如果超过预设的最大速度,PWM输出占空比为0,此时为自由减速,一旦其小于预设的最小速度,则将其调至最大;判断进入弯道时,则输出较小的占空比,使电机反转,迅速减速,且要依据不同的弯道设定合适的占空比,以使小车顺利快速通过弯道.

该小车采用的是直流驱动电机,其型号为RS380,主要参数是:转速为255 r/s,额定电压为7.2 V,电磁时间常数为 0.019 s,电动势常数为0.016 V/(r/min),电机时间常数为 0.13 s.由于电机的控制系统是二阶系统,故其传递函数模型为[6]

由于小车在行驶过程中,会受许多因素的干扰,因此对电机的控制是闭环反馈控制,以减小行驶过程中的偏差,提升行驶速度,其在MATLAB中建立的控制模型如图8所示.

图8 电机闭环控制结构

选择合适的PID控制参数是提升电机的加减速性能和舵机的转弯能力的重要过程,因此借助MATLAB对PID参数进行整定.

1)只有比例环节参与系统控制时,KP值的选取对控制系统的影响有很大作用,如图9所示.

图9 不同KP值时的阶跃响应曲线

由图9可知:比例系数能够快速反映误差的大小,能够抑制稳态误差;KP的大小决定控制作用的强弱,KP越大,其控制偏差产生的作用就愈强,同时也会提升系统的响应速度,但是如果过大,系统会产生震荡,从而影响系统的控制精度.

2)当控制系统为PI控制时(KP=10),输入不同的KI,得到系统的阶跃响应曲线如图10所示.

由图9和图10可知:KI的作用主要是消除系统的稳态误差,提高系统的无差度;但随着KI的增大,超调量减小,系统的响应速度会变慢,甚至会产生积分饱和的现象.

图10 不同KI时的阶跃响应曲线

3)当控制系统为 PID控制时(KP=10,KI=0.1),输入不同的KD,得到系统的阶跃响应曲线如图11所示.

图11 不同KI时的阶跃响应曲线

由图11可知:微分系数反映偏差的变化率,起预见的作用,可改善系统的动态性能;如果KD过大,系统就会提前制动,使调节时间延长,同时也会使系统的抗干扰能力下降.

通过对以上仿真结果的分析,并结合试验,最终选取 KP=9,KI=0.1,KD=0.01,其能够满足系统的各项性能指标,如图12所示.

图12 最终PID阶跃仿真曲线

3.2 舵机转向控制

舵机控制是影响整个控制系统性能的主要因素,通过连杆机构将传动变为位移,从而改变受控物体的位置,结合单片机输出的PWM波形控制舵机的转角,使其能够又快又准地通过弯道.

舵机系统是一个随动系统,对实时性要求很高,为控制其在转弯过程中产生偏差导致小车冲出赛道,选用增量式PID控制算法对转向舵机进行控制,结合实际情况不断调整PID参数,以使小车平稳快速转弯.P系数是由路况和车速决定的:若是直道,可以适当减小P系数,以使小车在直道上减小转弯分量,充分发挥小车加速性能;如果是大弯道或者直角弯道,P系数要加大,使小车提前减速做好转弯准备;如果是大 S或者小 S弯道,P系数介于两者之间.

由于I系数会影响系统的随动性,会使系统延迟,直接令KI=0.微分项D系数主要起迅速校正的作用,车速慢时,D系数起的效果不明显.但是当小车在直道上高速行驶过程时,若没有D系数,小车将左右晃动.D系数的校正程度也是和赛道状况相关的:若为直道,选择较小的D系数,因为过度的修复势必让小车丧失稳定性;如果是大弯道或者直角弯道;D系数要加大,使其能顺利地沿着黑线中心通过;小S弯道,选择适中的 D系数值,使其直冲过去.

4 结语

用模块化思想设计了以MC9S12XS128为核心的硬件控制电路,各个模块间的协调很好地满足了小车的控制要求.以PID算法为主要控制策略并结合其他各种算法,有效地提升了单片机的处理速度和系统控制的响应速度和精度.经试验验证,该小车能够精确循迹,快速转弯,且系统具有良好的鲁棒性和抗干扰能力,满足设计要求.

[1]梁玉红.智能汽车研究与发展策略[J].汽车电子技术,2010(6):66-69.

[2]胡海峰,史忠科,徐德文.智能汽车发展研究[J].计算机应用研究,2004,21(6):20 -23.

[3] Baeuvais M,Kreucher C,Lakshmanan S.Building word models for mobile platforms using heterogeneous sensors fusion and temporal analysis[J].Intelligent Transportation System,1997(9):230-235.

[4]许寰,鲁五一,赵治平.摄像头路径识别和小车控制策略[J].计算机工程与科学,2009(5):110-115.

[5]杜云超.PID过程控制及其参数整定策略浅析[J].化学工程与装备,2010(9):142-144.

[6]梁亦铂,王正茂,何涛.全数字直流电机调速系统的原理及数学模型[J].中小型电机,2001,28(6):17 -20.

猜你喜欢

黑线小车赛道
自制冰墩墩不能滑出“法律赛道”
科创引领,抢跑新赛道
大车拉小车
黑线
自制小车来比赛
征服蒙特卡洛赛道
刘老师想开小车
两轮自平衡小车的设计与实现
虾背黑线真的特别“脏”吗
无人驾驶,先上赛道如何?