基于MC9S12DP256B的客车ABS控制器设计
2008-04-14
作者:邹素瑞, 岳继光, 苏永清
摘 要: 介绍了ABS控制器的硬件电路部分,给出了ABS控制算法" title="控制算法">控制算法。控制器算法采用逻辑门限值控制算法,轮速信号的处理采用修正的脉冲计数法,提高了计算精度。算法中引入五个中断,第一个中断用来采集轮速信号,后四个中断用来自实现四个轮子的ABS控制。以半实物仿真的形式对设计的控制器进行了验证,并给出了仿真结果,取得了较好的控制效果。
关键词: ABS 逻辑门限值控制 半实物仿真
汽车防抱死制动系统" title="防抱死制动系统">防抱死制动系统简称ABS(Anti-Lock Brake System),是在汽车制动过程中,防止车轮完全抱死,提高汽车在制动过程中的方向稳定性和转向操纵能力,缩短制动距离。针对汽车防抱死制动系统(ABS), 国际上流行的控制方法" title="控制方法">控制方法有逻辑门限值控制、PID控制、滑模变结构控制、最优控制、模糊控制和神经网络控制等控制方法。国内开发ABS采用的控制方法主要是最基本的逻辑门限值控制方法。目前,国内研究ABS理论的科研单位有很多,比较有代表性的有:以郭孔辉院士为代表的吉林大学汽车动态模拟国家重点实验室、清华大学汽车安全与节能国家重点实验室、华南理工交通学院汽车系、济南程军电子科技公司等。国内生产ABS的公司不少, 但大多数公司是和国外著名ABS公司合作生产, 其产品并非自主研制开发出来的。完全自主开发ABS的国内比较有代表性的公司有重庆聚能汽车技术有限责任公司和西安博华机电股份有限公司等[1]。
汽车在制动过程中,车轮可能相对于路面发生滑移,滑移成分在车轮纵向运动中所占的比例可由滑移率来表征。定义滑移率为s:
式中: v为车身速度,ω为车轮角速度,r为车轮半径。在不同的滑移率时,附着力系数也不同。试验表明,纵向和侧向附着力系数与滑移率关系如图1所示。
防抱死制动系统的工作原理就是将车轮的滑移率控制在最佳滑移率sc附近,以获得较高的纵向和侧向附着系数从而减小制动距离以及保证汽车制动时的方向稳定性。
1 ABS硬件设计
1.1 MC9S12DP256B单片机[2]
MC9S12DP256B是Motorola 16位单片机HCS12家族中的一员,其处理单元采用16位的STAR12CPU。片内资源包括256KB的Flash ROM、12KB的RAM、4KB的EEPROM、一个8通道的脉冲宽度调制模块(PWM)、一个8通道的增强型捕捉定时器模块(ECT)、两个8通道的A/D转换模块(ATD)、两个串行通讯接口(SCI)、三个串行设备接口(SPI)等。在Codewarrior集成开发环境中,可以对单片机进行程序编辑、编译、下载和在线调试,使其开发十分便利。
ECT模块具有八个输入捕捉/输出比较(IC/OC)通道,四个8位或两个16位的脉冲累加器" title="累加器">累加器(PAI)通道。当该模块运行时,16位的自由定时器按照设定的时钟频率在$0000~$FFFF之间循环计数。若某个通道设置为I/O功能,当被测信号的设定边沿到来时,输入捕捉逻辑立即将自由定时器的内容捕捉到16位的IC/OC寄存器中,其分辨能力高达1μs甚至更高,并设置中断请求标志,随后程序进行中断处理。若某个通道设置为OC功能,输出比较逻辑自动将IC/OC寄存器的内容与自由定时器的内容进行比较,一旦相符立即操作对应的引脚,同时设置相应的中断标志,随后程序进行中断处理,引脚输出波形的时间分辨能力也可以达到1μs甚至更高。脉冲计数器则只对输入脉冲的个数或者边沿进行计数,不产生中断。在轮速采集算法中使用了该功能。
IC/OC与通用I/O口PORTT共享八个引脚。四个8位的PAI通道0~3与前四个IC通道IC0~3共享引脚PORTT0~3。本控制器中,PORTT0~3使用脉冲累加器功能,注录四个轮速传感器的脉冲个数。当产生实时中断(RTI)后,中断程序读取脉冲累加器的值,计算车轮的速度,同时脉冲累加器清零,重新开始计数。PORTT4~7使用输出比较功能,当IC/OC寄存器的值与自由计数器的值相等之后,产生中断,四个中断程序分别处理各自轮子的ABS控制策略。
1.2 电子控制单元ECU硬件结构
ABS的核心部件是电子控制单元ECU(Electronic Control Unit)。ECU电路主要包括四个模块:电源模块、轮速信号处理模块、运算模块、电磁阀驱动电路,其基本功能是要实现轮速的采集、ABS的故障检测、按照控制规律对电磁阀发控制信号。其结构框图如图2所示。
2 ABS控制算法
ABS控制算法采用逻辑门限值控制。它的基本原理是以车轮的加减速度作为主要控制门限,以车轮的滑移率作为辅助控制门限,在减速度达到下门限值时发出减压控制信号,在加速度达到第一上门限值时发出增压控制信号。如此反复循环,直到轮速降至一个较低的数值,退出ABS控制。
不同的路面附着系数使用不同的控制策略,所以算法的第一步就是识别路面。路面识别的方法是:首先给车轮发出保压信号,保压一段时间后,根据此时的轮减速度来识别路面。如果此时的轮减速度超过了第二上门限值,则说明是高附着路面;如果轮减速度在第一上门限值和第二上门限值之间,说明是一般附着路面;如果轮减速度小于第一上门限值,则说明是低附着路面。这样做的结果是每个轮子的保压等待时间占据一个循环周期的大部分时间,如果采用四个轮子的循环顺序来执行则需要很长时间,不能满足时效性要求。但如果引入多任务实时操作系统势必使得算法过于复杂。因此,提出了引入四个中断处理的方法,即每个轮子都有独立的计时时钟,ABS控制完全按照各自设定的中断时间执行,实现了四个轮子的并行控制。中断时间的设定是保证一秒钟ABS控制循环执行十几到几十次。
2.1 ABS详细控制策略
Step 1:轮减速度刚达到下门限值时,系统开始保压,同时计算滑移率,直到判断出车轮进入不稳定区域,置阶段标志位Flag=2,减压。
Step 2:判断减速度,直到减速度小于下门限值,置Flag=3,保压。
Step 3:保压一定时间,判断此时加速度的大小:(1)如果加速度小于第一上门限值,判断为低附着路面,置Flag=41,减压。(2)如果加速度在第一上门限值和第二上门限值之间,判断为一般路面,置Flag=42,保压。(3)如果加速度大于第二上门限值,判断为高附着路面,置Flag=43,增压。
Step 4:根据Step3得出的Flag值执行不同的控制方案。
Step 5:一个阶段完毕,置Flag=1,准备进入下一个循环。
这样程序每次进入中断后都将根据阶段标志位的值执行不同的控制阶段,直到完成整个ABS控制。
2.2 轮速处理算法[4]
轮速是ABS 程序中计算车轮加减速度的基础。对轮速的处理必须满足:(1)实时性好。ABS 的防抱死控制一秒钟要进行多次循环,因此对轮速处理的及时性要求很高,要求轮速处理程序不能过于复杂。(2)精度高。ABS 轮速的精度对其以后的轮加减速度和参考车速的计算精度影响很大。
轮速采集的方法通常有周期法和脉冲计数法,这里采用脉冲计数法。脉冲计数法是利用一定时间内轮速传感器采集进来的齿圈个数即脉冲数来计算轮速。其计算公式为:
ω=2(πr/N)×(n/△t) (2)
式中,ω为车轮角速度;r为车轮半径;N为齿圈齿数;n为记录的脉冲个数;△t为测量时间间隔。由式(2)可以看出,计算误差主要由后半部分引起。单片机的计时很精确,因此△t的误差可以忽略不计,但脉冲个数n易造成±1齿的测量误差。误差产生示意图如图3所示。
在低速时,这±1齿的误差很可能会造成ABS的误动作。如果增加测量时间间隔△t,ABS控制时效性变差。这里采用平均值法,即保持△t不变,每次计算轮速取最近四次的脉冲计数值的平均值,这样就减小了随机误差,既能反映出车轮减速度的变化趋势,又能防止±1齿的误差给计算带来大的干扰。
2.3 程序流程
程序流程图分别如图4、图5、图6所示。
3 仿真平台" title="仿真平台">仿真平台及结果
仿真方式采用xPC Target结构。xPC Target是MathWorks公司发行的一个基于RTW(Real-Time Workshop)体系框架的补充产品,它可将Intel 80x86/Pentium计算机或PC兼容机转变为一个实时系统,而且支持许多类型的I/O接口板,采用宿主机和目标机的“双机型”解决途径,使用两台PC机,其中宿主机用于运行Simulink,而目标机则用于执行实时代码。目标机运行了一个高度紧缩的实时操作内核,通过以太网络连接来实现宿主机和目标机之间的通信。仿真结束后可将结果数据上传至宿主机,进行分析处理。
客车整车模型在宿主机Matlab/Simulink环境中搭建,然后采用xPC工具将模型自动转换成C代码,通过以太网下载到工控机中作为被控对象,实现实时仿真。硬件部分的信号接收及转换使用Advantech公司的数据采集卡PCL-726完成。控制器的开发平台使用Metrowerks公司的Codewarrior3.1,程序编译之后下载至控制器(ECU)中,并在BDM模式下调试程序。半实物仿真平台如图7所示。
其中一个轮子的仿真结果如图8所示。
图8为车辆初速度为25mps、路面附着系数为0.6工况下的单轮结果图。图中四条曲线分别代表车身速度、车轮速度、电磁阀信号和制动踏板信号。电磁阀高状态表示增压,0状态表示保压,低状态表示减压。1秒钟之后给制动信号, ABS开始起作用。由图中可以看出,在轮速骤减的地方毛刺大,而电磁阀都是处于减压或者减保脉冲阶段;在轮速变化比较平缓的地方都是处于增压或者增保脉冲阶段。9秒钟以后,车身速度降到3mps以下,自动退出ABS控制,恢复到常规制动。在整个制动阶段中都没有出现过车轮抱死的情况,结果比较理想。
本文介绍了利用Motorola单片机MC9S12DP256B进行客车ABS控制器的设计,提出了采用四级中断的方式实现并行任务的处理。仿真平台使用快速原型开发技术,利用Matlab自带的xPC Target工具,将Simulink模型直接生成可执行的C代码,构成闭环半实物仿真平台。经过模拟各种工况后,控制器均取得了很好的控制效果,可以实车测试进一步优化,以达到成品化的效果。
参考文献
1 郑伟风,刘国福.国内ABS发展现状[J].汽车电器,2005;(11)
2 MC9S12DP256 advance information revision 1.1[Z]. Motorola,2000
3 王遂双.汽车电子控制系统的原理与检修[M]. 北京:机械工业出版社,2004
4刘训忠.汽车防抱死制动系统轮速算法研究[J].汽车电器,2000;(1)