吴川隆,王 忠,罗 雪,康 凯
(四川大学 电气信息学院,四川 成都 610065)
面对酒后驾车这一当今世界重大问题,研究和开发新的防酒驾技术变得迫在眉睫。汽车酒驾报警减速器是一款基于MSP40和FPGA、能够检测汽车室内空气中乙醇分子浓度,并根据乙醇分子浓度和汽车运动状态控制汽车运动状态的系统。其构成模块的关系如图1所示,该系统以MSP430为核心控制芯片,并考虑到运算负担和节能问题,利用FPGA构成一个基于模糊控制的PID算法的报警减速器,当检测到司机酒后驾车,并发出声光报警之后,若汽车并未停驶,则触发减速器工作。
空气酒精浓度传感器主要有半导体型、燃料电池型、红外线型、色谱分析型及比色型等五大类,由于价格和使用便利性等因素,普遍应用的只有半导体型和燃料电池型两种。其中,常温型半导体型HS-3A酒精浓度传感器[1]因灵敏度高、恢复速度快、寿命长,可以抵抗汽油、水蒸气和烟雾的干扰。等特点而受到广泛应用。
为使检测方便可行性高,系统不采用嘴吹气的方式。而从司机的开车姿势分析,呼出的气流方向总是正对着方向盘,方向盘处的乙醇分子浓度在车室内总是最先达到最高浓度,故将酒精浓度传感器安放于方向盘,且进气口朝上。
系统环境模块采用槽式光电对管的方法实现,图2所示为测速码盘,码盘的边缘是离码盘中心距离相等、排列间隔一致的过孔。将码盘安装在汽车的变速齿轮箱或者轮胎转轴上,用槽式光电对管的U形槽直接将测速码盘夹在凹槽中央(测速码盘能自由转动),当测速码盘转动时便能测出汽车的速度。
设R为汽车轮胎半径,N为码盘上过孔的数量,以n为每次计算的过孔数量,t为MSP430F149捕获到n个脉冲的时间,v为车辆速度,则在时间t内汽车的平均速度为:
根据式(1)即可实现对汽车行驶速度的测量。
为避免车辆在行驶过程中突然刹车,采用步进电机控制汽车盘式液压减速器实现平稳减速,其驱动芯片采用步进电机专用控制芯片L297和L298N。其中L298N工作电压最高达46 V,瞬间峰值电流可高达3 A,一般维持在2 A左右。
酒精传感器采集到乙醇分子浓度信息后,采用MSP430自带ADC12模块,实现模拟/数字信号的转换,其转换公式为:
式中,VR+和 VR-分别表示通过MSP430寄存器 ADC12CTL0和ADC12MCTLx设定最大转换电压与最小转换电压,Vin表示通过A/D通道采集到的电压信息,NADC表示转换成数字信号后的电压值。
酒精浓度传感器采集的数据中通常含有干扰信号,因此在数据有效使用之前,必须将采集到的信息进行必要的滤波处理,滤除干扰信号。而采用软件滤波与硬件滤波相结合的方法能达到很好的效果。
在软件滤波法中,中位值平均滤波法融合了中位值滤波法和算术平均滤波法的优点,对偶然出现的脉冲干扰,可消除由脉冲干扰引起的信号偏差,使信号更加平滑。设连续采样N个数据,考虑到微处理器的负担,N值不宜取过大,此处取18。使用冒泡法排序后去掉一个最大值和最小值,然后右移4位计算16个数据的算术平均值:
整个减速器基于FPGA响应并实现,采用PID改进算法。由于PID控制原理简单、使用方便、参数KP、KI和KD能根据动态过程适时调整,鲁棒性强,其控制品质对被控对象特性的变化不太敏感。但它对非线性和复杂过程的控制效果不佳,因此在实际工业控制中均使用PID改进的算法。而模糊控制对于非线性、复杂的控制对象显示出了控制性能高、鲁棒性强等优点。因此,基于模糊控制自适应的PID控制算法[2],即将PID控制算法与模糊控制算法相结合实现复杂的控制过程,其减速器控制结构如图3所示。
式中,KP为比例系数;Ti为积分时间常数;TD为微分时间常数。其传递函数为:
对于PID控制而言,有:
实际控制系统中采用离散控制,将根据某一时刻的值来计算偏差值。对式(4)进行离散化处理,设采样周期为 T,采样时刻为 kT(k=0,1,2,3…)则:
式中,KP表示比例系数;KI表示积分系表示微分系
PID控制器第k次的输出量为:
模糊控制器以误差e和误差变化率ec作为输入,以PID参数KP、KI和 KD作为输出。利用PID参数与e和 ec之间的关系,在运行中不断检测规则库,经过模糊推理,输出参数 KP、KI和 KD。
为进一步提高系统的响应速率,采用增量式控制方法对 KP、KI和 KD进行控制,保存上一次 PID 参数 KP′、KI′和然后把模糊控制器输出变量值 △KP、△KI和 △KD与保存值相加作为实际PID参数值。
将系统误差 e、误差变化率 ec、△KP、△KI和 △KD变化范围定义为模糊集的论域,即 e,ec, △KP、△KI、△KD={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6} 其模糊子集为 e,ec={NB,NM,NS,ZO,PS,PM,PB},子集元素依次表示负大、负中、负小、零、正小、正中、正大。选取三角形隶属函数,如图4所示。
根据控制系统设计经验以及PID参数对系统输出的影响, 可得知 e、ec,△KP、△KI和 △KD自适应调整规则[2-3]如下:
(1)当e较小时,汽车运动速度与期望值接近,为使系统具有良好的稳态性能,应增加 KP和KI,同时,为了避免系统在设定值附近振荡,应适当选取KD值,选取原则如下:若 ec较大,则 KD取较小值;若 ec较小,则 KD取较大值。
(2)当 e和ec为中等大小时,为使系统响应的起调较小,KP应取较小值。在这种情况下,KD的取值对系统影响较大,KI和KD应取值适当,以保证系统响应速度。
(3)当减速控制系统响应酒后驾车信号时,e较大。为加快响应速度,取较大的KP和较小的KD,同时为避免速度超调,产生积分饱和,应对积分作用加以限制,一般取KI=0。
根据以上分析,制定出如表1所示的控制规则。
糊控制器根据规则中的输入、输出模糊关系和实际输入的模糊值得到输出的模糊状态。假设实际检测的系统误差和误差变化率分别为e*和ec*,误差连续取值范围为e=[eL,eH],eL表示低限值,eH表示高限值,则量化为模糊控制器的精确输入为E*和EC*,分别表示如下:
将模糊控制器精确输入E*和EC*,通过模糊化借口转化为模糊输入A*和AC*。利用Mamdani方法计算模糊输出U*的求解,对于模糊规则:IF x isTHEN z isand IF x isTHEN z is可得:
最后利用式(12)即可实现对 KP、KI和 KD的控制,减速器仿真图[4]如图5所示。从图中可知,输入端信号与输出端信号基本重合,可见基于模糊控制自适应的PID控制器能够很好地满足控制要求。
基于MSP430的汽车酒驾报警减速器工作稳定,性能可靠。经实际检测,当车室内空气中乙醇分子的浓度达到声光报警(酒后驾驶)点时,能够很好地作出响应。如果在汽车静止时检测到属于酒后驾车,则控制减速器工作的步进电机将停止工作;如果在汽车运动的过程中,检测到属于酒后驾车,则MSP430将会触发FPGA减速器,使步进电机工作,迫使汽车平稳地停驶,从而真正实现酒后驾驶报警减速的作用,有效控制酒后驾车和预防交通事故的发生。
表1 控制规则
[1]潘祖军,朱文胜,岳睿.汽车用酒精传感器的分析[J].北京汽车,2007(1):39-41.
[2]王述彦,师宁,冯忠绪.基于模糊 PID控制器的控制方法研究[J].机械科学与技术,2011,30(1):166-167.
[3]王吉龙.基于模糊PID的温度控制系统[J].电子工程师,2008,34(5):77-80.
[4]李国勇.智能控制及其MATLAB实现[M].北京:电子工业出版社,2005.