基于MC9S12DP256B的客车ABS控制器设计
在低速时,这±1齿的误差很可能会造成ABS的误动作。如果增加测量时间间隔△t,ABS控制时效性变差。这里采用平均值法,即保持△t不变,每次计算轮速取最近四次的脉冲计数值的平均值,这样就减小了随机误差,既能反映出车轮减速度的变化趋势,又能防止±1齿的误差给计算带来大的干扰。
2.3 程序流程
程序流程图分别如图4、图5、图6所示。
3 仿真平台及结果
仿真方式采用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代码,构成闭环半实物仿真平台。经过模拟各种工况后,控制器均取得了很好的控制效果,可以实车测试进一步优化,以达到成品化的效果。