ub8优游

基于MC9S12DP256B的客车ABS控制器设计

发布时间:2022-05-25 12:20:28 来源:ub8 作者:ub8优游官网

  (Anti-Lock Brake System),是在汽车制动过程中,防止车轮完全抱死,提高汽车在制动过程中的方向稳定性和转向操纵能力,缩短制动距离。针对汽车防抱死制动系统(), 国际上流行的控制方法有逻辑门限值控制、PID控制、滑模变结构控制、最优控制、模糊控制和神经网络控制等控制方法。国内开发采用的控制方法主要是最基本的逻辑门限值控制方法。目前,国内研究ABS理论的科研单位有很多,比较有代表性的有:以郭孔辉院士为代表的吉林大学汽车动态模拟国家重点实验室、清华大学汽车安全与节能国家重点实验室、华南理工交通学院汽车系、济南程军电子科技公司等。国内生产ABS的公司不少, 但大多数公司是和国外著名ABS公司合作生产, 其产品并非自主研制开发出来的。完全自主开发ABS的国内比较有代表性的公司有重庆聚能汽车技术有限责任公司和西安博华机电股份有限公司等[1]。

  汽车在制动过程中,车轮可能相对于路面发生滑移,滑移成分在车轮纵向运动中所占的比例可由滑移率来表征。定义滑移率为s:

  式中: v为车身速度,为车轮角速度,r为车轮半径。在不同的滑移率时,附着力系数也不同。试验表明,纵向和侧向附着力系数与滑移率关系如图1所示。

  防抱死制动系统的工作原理就是将车轮的滑移率控制在最佳滑移率sc附近,以获得较高的纵向和侧向附着系数从而减小制动距离以及保证汽车制动时的方向稳定性。

  MC9S12DPB是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位的脉冲累加器(PAI)通道。当该模块运行时,16位的自由定时器按照设定的时钟频率在$0000~$FFFF之间循环计数。若某个通道设置为I/O功能,当被测信号的设定边沿到来时,输入捕捉逻辑立即将自由定时器的内容捕捉到16位的IC/OC寄存器中,其分辨能力高达1s甚至更高,并设置中断请求标志,随后程序进行中断处理。若某个通道设置为OC功能,输出比较逻辑自动将IC/OC寄存器的内容与自由定时器的内容进行比较,一旦相符立即操作对应的引脚,同时设置相应的中断标志,随后程序进行中断处理,引脚输出波形的时间分辨能力也可以达到1s甚至更高。脉冲计数器则只对输入脉冲的个数或者边沿进行计数,不产生中断。在轮速采集算法中使用了该功能。

  IC/OC与通用I/O口PORTT共享八个引脚。四个8位的PAI通道0~3与前四个IC通道IC0~3共享引脚PORTT0~3。本控制器中,PORTT0~3使用脉冲累加器功能,注录四个轮速传感器的脉冲个数。当产生实时中断(RTI)后,中断程序读取脉冲累加器的值,计算车轮的速度,同时脉冲累加器清零,重新开始计数。PORTT4~7使用输出比较功能,当IC/OC寄存器的值与自由计数器的值相等之后,产生中断,四个中断程序分别处理各自轮子的ABS控制策略。

  ABS的核心部件是电子控制单元ECU(Electronic Control Unit)。ECU电路主要包括四个模块:电源模块、轮速信号处理模块、运算模块、电磁阀驱动电路,其基本功能是要实现轮速的采集、ABS的故障检测、按照控制规律对电磁阀发控制信号。其结构框图如图2所示。

  ABS控制算法采用逻辑门限值控制。它的基本原理是以车轮的加减速度作为主要控制门限,以车轮的滑移率作为辅助控制门限,在减速度达到下门限值时发出减压控制信号,在加速度达到第一上门限值时发出增压控制信号。如此反复循环,直到轮速降至一个较低的数值,退出ABS控制。

  不同的路面附着系数使用不同的控制策略,所以算法的第一步就是识别路面。路面识别的方法是:首先给车轮发出保压信号,保压一段时间后,根据此时的轮减速度来识别路面。如果此时的轮减速度超过了第二上门限值,则说明是高附着路面;如果轮减速度在第一上门限值和第二上门限值之间,说明是一般附着路面;如果轮减速度小于第一上门限值,则说明是低附着路面。这样做的结果是每个轮子的保压等待时间占据一个循环周期的大部分时间,如果采用四个轮子的循环顺序来执行则需要很长时间,不能满足时效性要求。但如果引入多任务实时操作系统势必使得算法过于复杂。因此,提出了引入四个中断处理的方法,即每个轮子都有独立的计时时钟,ABS控制完全按照各自设定的中断时间执行,实现了四个轮子的并行控制。中断时间的设定是保证一秒钟ABS控制循环执行十几到几十次。

  Step 1:轮减速度刚达到下门限值时,系统开始保压,同时计算滑移率,直到判断出车轮进入不稳定区域,置阶段标志位Flag=2,减压。

  Step 2:判断减速度,直到减速度小于下门限值,置Flag=3,保压。

  Step 3:保压一定时间,判断此时加速度的大小:(1)如果加速度小于第一上门限值,判断为低附着路面,置Flag=41,减压。(2)如果加速度在第一上门限值和第二上门限值之间,判断为一般路面,置Flag=42,保压。(3)如果加速度大于第二上门限值,判断为高附着路面,置Flag=43,增压。

  这样程序每次进入中断后都将根据阶段标志位的值执行不同的控制阶段,直到完成整个ABS控制。

  轮速是ABS 程序中计算车轮加减速度的基础。对轮速的处理必须满足:(1)实时性好。ABS 的防抱死控制一秒钟要进行多次循环,因此对轮速处理的及时性要求很高,要求轮速处理程序不能过于复杂。(2)精度高。ABS 轮速的精度对其以后的轮加减速度和参考车速的计算精度影响很大。

  轮速采集的方法通常有周期法和脉冲计数法,这里采用脉冲计数法。脉冲计数法是利用一定时间内轮速传感器采集进来的齿圈个数即脉冲数来计算轮速。其计算公式为:

  式中,为车轮角速度;r为车轮半径;N为齿圈齿数;n为记录的脉冲个数;△t为测量时间间隔。由式(2)可以看出,计算误差主要由后半部分引起。单片机的计时很精确,因此△t的误差可以忽略不计,但脉冲个数n易造成1齿的测量误差。误差产生示意图如图3所示。

  在低速时,这1齿的误差很可能会造成ABS的误动作。如果增加测量时间间隔△t,ABS控制时效性变差。这里采用平均值法,即保持△t不变,每次计算轮速取最近四次的脉冲计数值的平均值,这样就减小了随机误差,既能反映出车轮减速度的变化趋势,又能防止1齿的误差给计算带来大的干扰。

  仿真方式采用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模式下调试程序。半实物仿线所示。

  其中一个轮子的仿线mps、路面附着系数为0.6工况下的单轮结果图。图中四条曲线分别代表车身速度、车轮速度、电磁阀信号和制动踏板信号。电磁阀高状态表示增压,0状态表示保压,低状态表示减压。1秒钟之后给制动信号, ABS开始起作用。由图中可以看出,在轮速骤减的地方毛刺大,而电磁阀都是处于减压或者减保脉冲阶段;在轮速变化比较平缓的地方都是处于增压或者增保脉冲阶段。9秒钟以后,车身速度降到3mps以下,自动退出ABS控制,恢复到常规制动。在整个制动阶段中都没有出现过车轮抱死的情况,结果比较理想。

  进行客车ABS控制器的设计,提出了采用四级中断的方式实现并行任务的处理。仿真平台使用快速原型开发技术,利用Matlab自带的xPC Target工具,将Simulink模型直接生成可执行的C代码,构成闭环半实物仿真平台。经过模拟各种工况后,控制器均取得了很好的控制效果,可以实车测试进一步优化,以达到成品化的效果。