资源描述
本科学生毕业设计汽车防抱死制动系统试验仪的软件设计 系部名称: 汽车工程系 专业班级: 车辆工程 B05-18班 学生姓名: 杨 旭 指导教师: 付百学 职 称: 教 授 黑 龙 江 工 程 学 院二九年六月The Graduation Design for Bachelors DegreeDesign on the Tester Software of Antilock Braking System Candidate:Yang XuSpecialty:Vehicle EngineeringClass:B05-18Supervisor:Professor. Fu BaixueHeilongjiang Institute of Technology2009-06Harbin黑龙江工程学院本科生毕业设计摘 要 汽车防抱死制动系统是提高车辆制动性能和行车安全的重要装置,主要功能是在汽车制动时防止车轮因抱死而使车辆失去方向,从而提高车辆行驶的安全性。随着我国汽车保有量的不断增加,车辆行驶的安全性也越来越受人们的观注,加之科学技术的飞速发展,开发及合理使用高性能的汽车防抱死制动系统已经成为一项重要的课题。本文通过介绍与分析ABS的结构与工作原理、试验仪的功能要求,确定了试验仪的总体方案,为构建出试验仪进行了软件模块的设计,给出了系统的抗干扰措施,完成了软件系统的调试工作,并给与仿真。关键词:防抱死制动系统;软件;设计;调试;仿真ABSTRACTAutomobile anti-lock braking system is to improve braking performance and the importance of traffic safety devices, the main function is to brake the car when locked to prevent the wheels of the vehicle due to loss of direction, so as to enhance the safety of vehicles. With the cars in increasing the safety of vehicles has also increased peoples concept of equity, combined with the rapid development of science and technology, development and rational use of high-performance anti-lock braking system of vehicles has become a important topic. In this paper, through the presentation and analysis of the ABS structure and working principle, the functional requirements of the tester, the tester to determine the overall program, in order to build a tester for a software module design, given the anti-jamming measures of the system to complete the debug the software system and give simulation.Key words: anti-lock braking system; software; design; debug; simulationI目 录摘要IAbstractII第1章 绪论11.1 汽车防抱死制动系统试验仪的国内外研究现状11.2 研究的目的及意义21.3 本文研究的主要内容2第2章 总体方案设计42.1 设计思想42.1.1 设计步骤42.1.2 实现功能和创新点42.2 确定ABS类型42.2.1 ABS的分类42.2.2 选择ABS类型52.3 汽车防抱死制动系统的组成和工作原理62.3.1 汽车防抱死制动系统组成62.3.2 汽车防抱死系统工作原理72.4 总体方案确定92.4.1 ABS试验仪组成及工作原理92.4.2 仿真实验板总体布置92.5 本章小结10第3章 软件系统的设计113.1 软件设计的编程语言113.1.1 开发环境的选择113.1.2 编程语言的选择113.1.3 编程语言的介绍123.2 编程环境123.3 软件系统的主程序143.4 ABS控制系统软件模块设计173.4.1 系统初始化模块173.4.2 系统启动自检模块173.4.3 ABS主控制模块183.4.4 数据采集中断服务程序183.4.5 故障诊断模块183.4.6 参考车速计算模块183.5 软件系统抗干扰技术193.5.1 自检程序193.5.2 冗余技术193.5.3 软件陷阱技术193.5.4 软件“看门狗”技术203.6 本章小结21第4章 硬件选择与系统开发应用224.1 控制系统组成及原理224.2 ABS电路硬件设计234.2.1 单片机的选择234.2.2 二极管的功能原理及接口电路274.2.3 控制开关的设计及其接口电路284.2.4 电源的选择及其电路294.2.5 驱动芯片的选择314.3 软件程序运行和调试324.3.1 调试过程324.3.2 调试中出现的问题324.4 软件的仿真演示334.4.1 仿真面板334.4.2 降压演示344.4.3 升压演示344.4.4 保压演示354.4.5 电路演示354.4.6 油电联合演示364.5 本章小结38结论39参考文献40致谢41附录43加扣扣414951605 或 1304139763,购买发CAD图纸及相关文档。第1章 绪 论1.1 汽车防抱死制动系统试验仪的国内外研究现状从ABS系统从出现至今,其发展取得了很大的突破。目前国内、外使用的汽车制动防抱死仿真实验装置数量不多,而且功能并不全面。现今使用的汽车制动防抱死系统试验软件可以分为两类:一类是以国外进口设备为代表的汽车制动防抱死仿真实验装置。它主要是利用一个电子控制系统控制电动机的通断电来模拟汽车制动时ABS系统所控制的车轮速度的变化,其显示系统也仅仅是显示制动过程中轮速的变化,不能较真实的反映汽车的制动防抱死过程1。而且该装置无真实的制动防抱死系统,无法展示ABS系统的结构及工作原理,不具有真实感,更无故障仿真处理功能。第二类是我国部分院校自行研制的汽车制动防抱死仿真试验装置,其主要特点如下:1、以电机为动力源,靠皮带驱动车轮旋转该种结构在进行制动仿真实验时,皮带与车轮间存在强烈的打滑现象,皮带磨损较快,而且会产生噪声。同时,该结构不便于调速甚至不能调速,无法展现不同车速下ABS系统的工作情况,更无法反映汽车在不同附着系数路面上制动效果的差异。2、以转速表显示制动时车轮转动速度的变化其显示功能较差,效果不很明显。要真正反映ABS系统的工作情况,制动仿真实验装置还必须能够如实地展现ABS系统的工作过程,并以曲线的形式显示制动时滑移率等参数的变化。3、故障诊断的仿真功能尚不完善,不能便捷地进行故障的仿真设置与清除故障仿真设置与清除是该仿真系统的一个重要组成部分,不能进行故障仿真将严重影响该装置的实用性。4、ABS系统教学手段单一,主要采用口头教学方式如果利用二维或三维动画形象直观地展示ABS系统的结构及工作原理,将有助于我国广大汽车使用者及汽车维修人员对ABS知识的掌握,极大地提高教学效率,有助于汽车的合理使用与合理维修。由此可见,目前所使用的汽车制动防抱死仿真实验装置还相当不完善,对汽车制动防抱死装置进行仿真研究,研制适应我国国情的、功能更加完备的汽车制动防抱死仿真实验装置是非常必要的2。1.2 研究的目的及意义ABS(Anti-locked Braking System)防抱死制动系统,它是一种具有防滑、防锁死等优点的汽车安全控制系统,现代汽车上大量安装防抱死制动系统,ABS既有普通制动系统的制动功能,又能防止车轮锁死,使汽车在制动状态下仍能转向,保证汽车的制动方向稳定性,防止产生侧滑和跑偏,是目前汽车上最先进、制动效果最佳的制动装置3。随着汽车工业的飞速发展,我国汽车保有量不断增加(截止到2008年末我国民用汽车保有量约为6467万辆,比上年末增长13.5%,其中私人汽车保有量4173万辆,增长18.1%),汽车数量迅猛增加的同时,车速也变得越来越快,汽车工业的高速发展,给人们的工作和生活带来了极大的方便。ABS系统的作用是自动地控制作用于车轮上的制动力矩的大小,将制动时车轮的滑移率控制在15%20%的范围内,从而使车轮与地面之间始终保持在峰值附着系数附近进行制动,以缩短制动距离。与此同时,ABS系统可有效地避免车轮被制动抱死时出现的甩尾及横向侧滑现象,使汽车的方向稳定性及转向操纵性得到明显提高3。随着ABS系统的逐渐普及,合理地使用和维修汽车制动防抱死装置已成为广大汽车用户及汽车维修人员必须面对的问题。ABS系统的技术含量较高,结构较为复杂,学习难度较大。如果设计用单片机控制的汽车ABS试验仪装置,通过现在新型单片机的强大的数据处理与控制功能,实时显示制动时制动压力的变化及车轮转动减速度、滑移率和车速等参数的变化,同时进行ABS仿真装置故障的设置与排除,将极大地提高汽车ABS装置的学习效率。利用该试验仪可以形象直观地展现汽车ABS系统的结构及油电路的工作过程,将有助于我国广大汽车使用者及汽车维修人员对ABS知识的掌握,有助于汽车的合理使用与合理维修。用单片机控制的汽车防抱死试验仪是对现行车辆的防抱死制动系统的模拟系统。研究与开发ABS试验仪,能够显性地展现车载ABS的工作状况,将其工作原理与控制方法再现,对于准确了解和掌握ABS的工作原理、使人们正确使用ABS系统提高车辆安全性方面具有重要意义。1.3 本文研究的主要内容在对课题进行了认真全面地分析,对中等轿车ABS系统进行全面分析比较的基础上,根据我国汽车工业的发展现状,确定以应用较为普遍的四通道、四传感器ABS系统作为研究对象,根据四通道、四传感器ABS系统的结构及工作原理,在对国内、外现有汽车制动防抱死仿真实验装置进行充分分析论证的基础上,确定设计的具体研究内容如下:1、总体方案的确定介绍ABS系统的组成和基本原理,根据汽车防抱死制动系统的功能及ABS实验仪的组成,轮速传感器、主控单片机及通讯设备的硬件系统,确定出总体方案。2、软件模块的设计软件部分配合硬件电路,共同完成ABS试验仪的智能模拟,采用C语言模块化编程,实现单片机的控制,主要包括初始化模块、启动自检模块、主控制轮速可调模块、数据采集中断模块、故障诊断模块、参考车速计算模块。数据采用SCI串行通讯在上位机上进行数据和图像的显示。3、软件的抗干扰软件的抗干扰技术包括自检程序、冗余技术、陷阱技术、软件“看门狗”技术。文中采用了“看门狗4”技术对程序的可靠性加以完备,防止程序出现跑飞的现象。4、软件系统的测试与调试首先完成软件的模块化测试,而后通过与硬件系统的混合调试,完善软件系统对ABS试验仪系统的软件支持。5、软件的实物仿真软件的实物仿真采用单片机控制,由上位机以及发光二极管共同控制。第2章 总体方案设计2.1 设计思想2.1.1 设计步骤ABS试验仪设计涉及到电子、材料,而且涉及到单片机的编程。为了完成ABS试验仪的设计,实现更多的功能,将按照以下几步去做:(1)确定整体思想及要实现的功能;(2)确定软件的编写方法及模块的整合;(3)油路和电路的设计和布置要合理;(4)故障的设置及诊断要准确;(5)滑移率控制系统设计;(6)LED选择要准确,设计要合理。2.1.2 实现功能和创新点1、 实现功能(1)能进行ABS元件识别;(2)能进行ABS工作原理实验;(3)能进行故障设置;(4)能进行ABS故障诊断实验;(5)能同步显示滑移率和车轮转速。2、创新点(1)控制面板的合理布置,能反应油路、电路二者关联工作状态;(2)数字模块显示器适时显示工作状况及滑移率;(3)LED灯显示车轮转速的工作状态;(4)故障模拟与实时检测。2.2 确定ABS类型2.2.1 ABS的分类根据ABS制动管路布置方式的不同进行分类,可分成单通道、双通道、三通道或四通道的两轮系统和四轮系统5。1、两轮系统两轮系统仅对后轮提供防抱死制动性能,对前轮不提供防抱死制动性能。两轮系统常见于轻型货车。两轮ABS系统可以是单通道系统或双通道系统。在单通道系统中,同时调节左、右两侧后车轮的制动器,控制滑移。单通道系统依靠放在中央的ABS转速传感器的输入信号。该转速传感器通常位于差速器齿圈上、变速器上或分动箱上。双通道两轮ABS系统相互独立地调节每个后轮的液压力。在每个车轮上都装有轮速传感器,根据转速传感器传来的速度信号来控制压力调节。2、对角分路式系统这种系统用两个转速传感器的读数调整所有四个车轮的车轮转速。一个传感器输入控制右前轮,另一个传感器输入控制左前轮。对应后轮的制动压力同时由其位于对角线上的前轮控制着。例如,右后轮与左前轮接受同一传输指令,左后轮与右前轮接受同一指令。这种系统比两轮系统要好,因为它可提供制动时的转向控制。3、前/后轮分路式系统这种系统具有三通道回路。对每个前轮有单独的液压回路,对后轮有一条液压回路。4、全轮(四轮)系统全轮系统是最有效的ABS系统,它是四路系统,每个车轮都有转速传感器监控。ABS电子控制单元以连续的信息保证每个车轮接受正确的制动力来保持防抱死控制和转向控制。全轮系统是最有效的ABS系统,它是四路系统,每个车轮都有转速传感器监控。ABS电子控制单元以连续的信息保证每个车轮接受正确的制动力来保持防抱死控制和转向控制。2.2.2 选择ABS类型根据ABS类型和特点本设计选用MK20-I型ABS为研究对象。该系统采用3通道4传感器控制方式,即两前轮独立控制,两后轮按低选原则控制(在2个后轮中,以保证附着系数较小的车轮不发生抱死为原则来调节制动压力)。MK20-I型ABS具有以下优点6:(1)体积小、质量轻;(2)安全系数高;(3)对所有ABS零部件都能持续监测;(4)操作容易,具有自我诊断功能。2.3 汽车防抱死制动系统的组成和工作原理2.3.1 汽车防抱死制动系统组成一般来说,带有ABS的汽车防抱死制动系统由基本制动系统和制动力调节系统两部分组成,如图2.1所示。前者是制动主缸、制动轮缸和制动管路等构成的普通制动系统,用来实现汽车的常规制动,而后者是由传感器、ABS控制器、执行器等组成的压力调节控制系统,在制动过程中用来确保车轮始终不抱死,车轮滑动率处于合理范围内7。图2.1ABS系统组成图1、轮速传感器汽车的每一个车轮上都装有车轮速度传感器,它的作用是将转速变换为电信号送给电子控制单元ECU。轮速传感器的结构为极轴与永磁体相连,且安装于传感器转盘的上方,因此磁体的磁通延伸到传感器转盘上,并与它构成磁路。当传感器转子转动时,齿顶与齿隙轮流交替,此时磁通迅速变化,磁力线切割传感线圈,于是在线圈中产生了感应电压,该感应电压呈交流正弦波变化,其变化频率与传感器转盘的齿数和车轮的轮速成正比。若传感器转子齿数为一固定的值,则交流正弦波的变化频率只与车轮的转速成正比。因此可以通过交流正弦波的变化频率来确定车轮的转速,并由线圈末端通过电缆传输送至ABS电子控制单元ECU。轮速传感器是ABS系统的关键部分,从传感器传出信号的准确性直接影响ABS的性能8。2、ABS控制器ABS的电子控制单元ECU的主要任务是接收各车轮传感器送来的信号,进行比较、分析和判别,然后通过精确计算得出制动时车轮的转速和车速。在制动过程中,尽管车轮的转速下降,但其减速度的大小还随着汽车制动时的车速以及所行驶的路况(诸如干沥青路、湿滑或覆盖有冰的路面等等)的变化而变化。换句话说,电子控制单元ECU通过制动过程中车轮转速的变化来判断车轮与道路表面之间的滑移状况,然后控制ABS执行器使之产生最合适的制动液压,传递给各车轮制动分泵,以此来控制各车轮的转速。ABS电子控制单元ECU还包括初始检测功能、故障排除功能,速度传感器检测功能和失效保障功能9。3、执行器ABS执行器又称为制动压力调节器,由电磁阀、储液器和回液泵电动机组成,安装在制动总泵(主缸)与车轮制动分泵(轮缸)之间,主要功用是根据ECU的控制指令,自动调节制动分泵(轮缸)的制动压力10。电磁阀是制动压力调节器的主要部件,通过电磁阀动作便可控制制动压力“升高”、“保持”和“降低”。2.3.2 汽车防抱死系统工作原理防抱死制动系统的目的是防止汽车车轮在制动过程中抱死,避免失去可操纵性(前轮抱死)和失去稳定性(后轮抱死)的现象,并使制动力保持在最大值范围,达到最佳的制动效果。通常,人们会认为只有在车轮抱死情况下,制动距离才最短。实际上,刹车在车轮即将抱死而又未抱死的临界状态下刹车距离才最短。应用ABS技术,实质上就是把传统的制动过程转变成瞬态控制过程,其基本原理在于附着系数和滑移率的关系上。当制动摩擦力矩足够大时,制动将能使车轮速度减小,这时车轮与路面发生相对移动。路面作用于轮胎的制动力等于轮胎与路面间的附着力。附着力大小等于路面对轮胎垂直反作用力与路面附着系数的乘积。车轮纯滚动时s=0,车轮抱死时s=100%。从附着系数与滑移率关系曲线图2.2可知。制动开始时,附着系数随着滑移率急剧增大,直至滑移率为15%20%左右达峰值,随着滑移率继续增大,附着系数反而减小,直到车轮抱死。对于四轮可以进行独立调节的ABS系统,(图2.3所示为其单轮模型)一般紧急制动时滚动阻力只有紧急制动力的几十分之一,因此不计滚动阻力的影响,只考虑轮缸压力Pi(t)产生的制动力矩Mbi和地面制动力(附着力)Fbi对车轮系统的作用11。假设单车轮系统的转动惯量为Ji,其角速度为wi,车轮半径为R,整车质量为M,车速为v,则S0110.20.20.40.40.60.80.60.8图2.2附着系数与滑移率关系曲线 (2.1) (2.2)通常车轮制动力矩Mbi与轮缸压力Pi(t)成正比,假设制动力矩系数为Ki,则 (2.3) (2.4)可见车轮地面制动力Fbi由轮缸压力Pi(t)和车轮角减速度决定。调压模式有增压、保压和减压3种12。对于整个ABS系统,由于其调压开关特性、油管、轮缸和系统的结构性能确定,在只有数十毫秒的调压周期内,可利用二阶多项式的制动轮缸压力函数Pi(t),等效调压过程中压力产生的制动效果,则 (2.5)为综合制动压力调节过程各因素的影响,可以利用试验方法,得到每种调压方式的轮缸压力实际的时间历程统计数据,然后按能量法进行拟合,求出每阶系数,得到不同调压模式下的制动轮缸的等效压力函数Pi(t)。滑移率Si反映车轮与道路的接触状态,可以由滑移率的定义式求得。制动时车速为V,轮速为Vwi为车轮角速度wi和半径的乘积,则 (2.6)图2.3制动过程单轮受力模型从ABS系统装备的车轮转速传感器,可以获得各轮轮速Vwi,由公式(2.2)、(2.3)、(2.4)可求整车制动减速度,并由公式(2.7)计算出从制动初速V0开始的任何时刻车速,则 (2.7)由公式(2.6)就可以确定各车轮制动过程的滑移率Si。2.4 总体方案确定2.4.1 ABS试验仪组成及工作原理ABS试验仪主要由ECU、车轮轮速传感器、显示器、制动主缸、液压泵、LED、出油阀和进油阀等组成。当ABS电教板工作时,模拟控制面板上就同步显示其工作过程。其工作原理如下:当接通开关电路,ECU收到工况信息,LED将随机显示出此过程的轮速,并将信号传回ECU,经过ECU处理调出此工况二极管闪烁的程序,使二极管按此程序闪烁。与此同时,ECU将信号传到电动机,控制电动机的转速和正反转来调节,踏板、制动钳、出油阀、进油阀等机械部分的运动13。2.4.2 仿真实验板总体布置根据设计要求选择3通道4传感器布置方式,两前轮独立控制,两后轮一同控制。总体布置如图2.4所示。1-ABS ECU;2-储液泵;3-液压泵;4-制动主缸及踏板;5-指示灯;6-LED;7-车轮传感器; 8-显示器;9-进油阀;10-诊断开关;11-控制开关;12-出油阀图2.4总体布置图2.5 本章小结本章主要阐述了汽车防抱死制动系统试验仪设计思想和它实现的功能以及创新点,确定了ABS类型,介绍了ABS系统的组成和工作原理,试验仪系统的功能要求,确定了试验仪系统的总体方案,对轮速传感器信号采集电路、轮速可调节器电路、ABS电控系统电路的组成作了总体介绍,对系统所用传感器的结构、工作原理进行了说明介绍,同时设计出汽车防抱死制动系统电教板总体布置图。第3章 软件系统的设计3.1 软件设计的编程语言3.1.1 开发环境的选择根据ABS试验仪控制系统设计的基础不同,开发环境可分为以下两种:(1)裸机环境:在基于裸机的编程环境下,开发者面临的是一个完全空白的单片机芯片及其相关的周边硬件电路,系统运行的所有程序都必须由开发者来设计。(2)操作系统环境:在基于操作系统的编程环境下,开发者面临的是一个具有“实时多任务操作系统”内核的单片机。在操作系统基础上进行程序设计时,只须完成系统各项任务的程序设计,而任务的管理和调度等基本操作由操作系统内核来完成。从以上可以看出,基于操作系统的编程环境可以高效率的进行软件开发,但这需要付出一定的代价:操作系统内核一般要花钱购买,并占有用系统资源。采用操作系统内核的最佳场合是实时性要求高、任务比较多的系统14。在低、中档电子产品中,系统资源较为紧张,成本要求苛刻,通常不采用操作系统内核。很多采用廉价单片机开发的小型电子产品功能单纯,程序量不大,完全没有采用操作系统的必要。在一般的智能仪器中,系统任务数目不多,通常不采用操作系统也能很好地完成任务。结合本系统的设计要求,采用裸机环境来开发软件系统。3.1.2 编程语言的选择目前单片机软件的开发主要采用汇编语言和C语言,或者采用汇编语言与C语言混合编程。采用汇编语言编程必须对单片机的内部资源和外围电路非常熟悉,尤其是对指令系统的使用必须非常熟练,故对程序开发者的要求是比较高的。用汇编语言开发是较为辛苦,因为程序量大,各个方面均需要考虑,一切问题都需要由程序设计者安排,其实时性和可靠性完全取决于程序设计人员的水平。采用汇编语言程序主要适用于功能比较简单的中小型应用系统15。采用C语言编程时,只需对单片机的内部结构基本了解,对外围电路比较熟悉,而对指令系统则不必非常熟悉。用C语言开发软件相对比较轻松,很多细节问题无需考虑,编译软件会替设计者安排好。因此,C语言在单片机开发中的应用越来越广,使用者越来越多。当开发环境为基于操作系统编程时,编程语言通常采用C语言。所以,考虑到使用汇编语言和C语言的优缺点,本设计采用C语言编程16。3.1.3 编程语言的介绍单片机控制程序主要采用C语言进行编写。C语言高级语言,是一种通用的计算机程序设计语言,它既可以用来编写通用计算机的系统程序,也可以用来编写一般的应用程序,由于它具有直接操作计算机硬件的功能,所以非常适合用来编写单片机程序,与其他的计算机高级程序设计语言相比,它具有以下的特点:1、语言规模小,使用简单在现有的计算机设计程序中,C语言的规模是最小的,ANSIC标准的C语言一共只有32个关键字,9种控制语句,然而它的书写形式却比较灵活,表达方式简洁,使用简单的方法就可以构造出相当复杂的数据类型和程序结构。2、可以直接操作计算机硬件C语言能够直接访问单片机的物理空间地址,亦可直接访问片内或片外存储器,还可以进行各种位操作。3、表达能力强,表达方式灵活C语言有丰富的数据结构类型,可以采用整型、实型、字符型、数组类型、指针类型、结构类型、联合类型、枚举类型等多种数据类型来实现各种复杂数据结构的运算。利用C语言提供的多种运算符,我们可以组成各种表达式,还可以采用多种方法来获得表达式的值,从而使程序设计具有更大的灵活性。4、可移植性由于单片机的结构不同,所以不同类型的单片机就要用不同的汇编语言来编写程序,而C语言则不同,它是通过汇编来得到可执行代码的,所以不同的机器上有80%的代码是公用的,一般只要对程序稍加修改,甚至不加修改就可以方便地把代码移植到另一种单片机中17。3.2 编程环境Wave6000是一款功能强大的优秀的单片机程序编辑、调试、仿真中文Windows软件。该软件可以配合硬件进行单片机的硬件仿真,也可以单独进行单片机的软件仿真。利用该软件进行单片机软件的编辑调试和模拟仿真,结合一台写码器,就可进行低投入的单片机的开发工作。Wave6000可以作为AT89S52单片机的开发工具,安装好软件后,打开窗口,点击文件,选新建文件,如图3.1和图3.2所示。Wave6000带有集成的调试器,可以再程序主窗口中打开一个窗口来进行调试工作。使用调试器的方法是,从工程菜单中选择全速执行或者单步执行,来调试文件中是否有错误语句,如图3.3所示。图3.1选择-新建文件图3.2建立工程文件图3.3软件程序的调试3.3 软件系统的主程序当路面状态等的变化,使制动力的控制一旦进入不稳定区时,车轮就很容易进入锁死状态。所以需要迅速减压,以降低制动力防止车轮锁死;反之,当制动力不足时,此时需要迅速增加控制油压,以提高制动力,保证制动控制区始终落在最佳的控制区。图3.4表示ABS控制流程图。ECU通过车轮速度演算车轮的加速度,并设定模拟车体的运动速度演算车轮的加速度,并设定模拟车体的运动速度和滑依率的基准值。然后根据车轮的运动状况,判定是否制动状态,当车轮进入制动控制状态时,根据实际制动要求判定控制油压模型,进行制动油压的控制。如果不是制动状态时,检查系统机能是否正常,如果正常,就返回控制程序的初始状态,否则,当系统出现不正常现象时,点亮警告灯后关闭ECU电源,结束本控制程序。开始输入车轮速度演算车轮加速度设定模拟车体速度Vs滑移率基准值St的设定油压控制模型判定制动状态?液压控制单元指令检查机能警示灯点亮ECU电源OFF结束NYNY正常?图3.4ABS控制流程图本设计中控制流程在ABS控制流程的基础上加了故障诊断等。使试验仪功能更加强大。ABS试验仪控制流程如图3.5所示。主程序开始模拟单步/连续电动机工作INT0升 降 保正常行驶二极管闪烁LED工作滑移率演示跳出中断工作电路演示跳出中断是否有故障跳出中断单步/连续INT0是否100101连续单步禁止INT0开INT1INT1故障诊断图3.5ABS试验仪流程图3.4 ABS控制系统软件模块设计3.4.1 系统初始化模块系统初始化模块在系统上电复位时对系统进行初始化。初始化内容包括内部的时钟、各端口设置、串行通讯接口、模拟和数字通道、看门狗定时器、系统变量等,以保证单片机正常运行。main()InitFunctionsInit ( )Init CANEnable InterruptsFunctionsCan.hInitValTableInitPLLInitSCIInitPortAInitPortBInitPortKInitPortTInitPortJInit.hInitPortHInitADInitECTInitRTimerInitTimerTCNTInitEEPROMInitFlashInitValMotInitCOP图3.6ABS系统初始化3.4.2 系统启动自检模块为了使系统安全运行,系统在复位和初始化完毕后要进行自检,对系统的关键软、硬件部分进行静态检测,以判断系统的软、硬件工作是否正常18。在系统自检期间,故障警示灯将会自动点亮,如果电子控制装置发现系统中存在故障,电子控制装置将会以故障代码的形式存储故障情况,故障警示灯会持续点亮,执行机构复位至常规状态;如果未发现系统中存在故障,在自检过程结束后,故障警示灯在1.5s后会自动熄灭,表示系统处于正常运行状态。3.4.3 ABS主控制模块主控制模块为ABS系统的控制主程序,主控制模块自身做无限的循环,连续调用故障诊断模块、数据处理模块、参考车速计算模块、路面识别模块,实时进行车辆运动状态和外界环境的判断。3.4.4 数据采集中断服务程序数据采集模块由定时中断服务程序完成。系统采用数据采集和主控制程序分离的结构型式。由于ABS电磁阀动作响应时间通常不小于7ms,再加上制动系统的机械滞后,传统的数据采集和控制周期通常不能低于电磁阀动作响应时间。为了使数据处理更为方便和准确,提高数据采样频率是一种有效的手段之一,因此用了3ms周期的定时中断数据采集程序19。为了满足ABS控制系统的需要,采集的数据主要包括:四个车轮转速信号,蓄能器压力信号(预留)。考虑到数据采集模块属于实时模块,对实时性要求较高,所以在设计软件时,尽可能的利用硬件资源,减少占用时间。3.4.5 故障诊断模块故障诊断模块在系统运行的过程中实时检测执行机构各电磁阀和电机的故障反馈端,车轮、轮速信号。轮速的检测采用下式: (3.1)式中:lf左前轮转动角速度,rad/s;rf右前轮转动角速度,rad/s;lr左后轮转动角速度,rad/s;rr右后轮转动角速度,rad/s。1为设定好的阀值。式(3.1)满足时认为轮速传感器工作正常;式(3.1)不满足时,再通过对同轴车轮转速差和同侧前后轮转速差的分析比较,就可以识别出发生故障的车轮轮速传感器,电控单元以故障代码的形式存储故障情况20。3.4.6 参考车速计算模块参考车速计算模块用来计算车身速度。由于成本等方面的原因,一般车辆上是不安装车身速度传感器的,ABS系统控制的目标就是将车轮的纵向滑动率(滑移率或滑转率)控制在合理的范围内,见式(3.2)。 (3.2)式中:v 计算的参考车速,km/h;wI 各车轮转动角速度,rad/s;SAi 对应车轮的滑转率和滑移率;r 车轮半径,mm。3.5 软件系统抗干扰技术软件系统抗干扰技术包括自检程序、冗余技术、陷阱技术、软件“看门狗”技术。3.5.1 自检程序对微控制器内的特定部位或某些内存单元状态标志,在开机后,运行中断循环测试,以保证系统中存储,传输以及运算的可靠性。3.5.2 冗余技术微控制器是最容易受干扰的是内部程序计数器PC的值。当受强电干扰时PC的状态被破坏,使CPU误将一些操作数当成操作码来执行,导致程序从一个区域跳转到另一个区域,程序在地址空间“乱飞”或陷入“死循环”,引起程序混乱。为使“乱飞”的程序在程序区迅速纳入正轨,在关键地方插入些个字节指令NOP,或将有效指令重写,称为指令冗余。当微控制器断电,会造成RAM数据丢失。当CPU受到干扰而造成程序跑飞时,可能会破坏RAM中的数据。所以,将系统中重要参数进行备份保留,当系统复位后,立即利用备份RAM对重要参数区进行自检和恢复,这就是数据冗余21。1、指令冗余 NOP的使用在双字节指令和三字节指令之后插入两条NOP指令,可保证其后的指令不被拆散。为了不降低程序的运行效率,不能加入太多的NOP指令,加入NOP指令是有一定原则的:在跳转指令或多字节指令之前插入:在比较重要的指令前插入,保证“乱飞”程序迅速纳入轨道,使程序正确执行。2、数据冗余在数据冗余中,可把RAM分为两部分:运行存储器和备分存储器。当需读取数据时,采用三中取二的表决原则,保证数据的正确性。对备份数据的建立应注意以下原则:各备份数据间应相互远离出分散设置,减小备份数据同时被破坏的概率;各备份数据应远离堆栈区,避免由堆栈操作错误造成数据被冲毁的可能:备份少于两份。3.5.3 软件陷阱技术采用指令冗余使跑飞的程序恢复正常是有条件的,如果“乱飞”的程序落到非程序区,这时指令冗余便无能为力。我们可在非程序区里设置拦截措施,当程序进入陷阱,强迫程序进入一个指定的地址,执行一段专门对出错进行处理的程序,若出错程序的口地址为ERR,软件陷阱由下面三条指令组成:(NOP、NOP、LJMP ERR)。3.5.4 软件“看门狗”技术当程序弹飞到一个临时构成的“死循环”时,指令冗余和软件陷阱技术都无能为力,这时可以采用人工复位的方法使系统恢复正常。实际上,可以设计一种模仿人工监测的“程序运行监视器”,俗称“看门狗”。它不断监视程序循环运行时间,若发现时间超过己知的循环设定时间,则认为系统陷入“死循环”。然后强迫程序返回0000H入口,在入口处安排段出错处理程序,使系统纳入正轨。#include #include static int waittime = 0;static long absoluteTime = 0;#pragma CODE_SEG _NEAR_SEG NON_BANKEDinterrupt void COP_ISR(void) /DisableInterrupts; waittime+; if(waittime=200) waittime=0; PORTB = waittime; #pragma CODE_SEG DEFAULTstatic void COPInit(void) COPCTL = 0X07;void main(void) DDRB = 0xFF; PORTB =0X0F; COPInit(); /EnableInterrupts; while(1) ARMCOP = 0X55; ARMCOP = 0XAA; /在程序中,如果没有上边这2行,看门狗会自动使系统复位 /如果添加了这2行,看门狗不能使系统复位 PORTB = 0x00; for(absoluteTime=0;absoluteTime10000;absoluteTime+); PORTB = 0xFF; for(absoluteTime=0;absoluteTime10000;absoluteTime+); 3.6 本章小结本章主要进行了ABS试验仪系统软件设计,使用C语言在CodeWarrior环境下进行编写软件及控制模块,选择了以单片机为系统的控制核心,借助微机对数据进行显示。PC机部分采用VB语言编程,选择MSCOMM控件接收单片机发送过来的数据,该控件采用事件驱动方式工作,当有数据进入PC的数据缓冲区后,即触发Oncomm事件进行相关的数据处理。最后给出了软件的抗干拢设计,采用了COP“看门狗”程序可以有效地防止程序进行死循环和出现程序跑飞现象。第4章 硬件选择与系统开发应用4.1 控制系统组成及原理本试验仪控制系统组成图如图4.1所示。汽车防抱死制动电子控制示教系统实时监控与检测模拟仿真硬件与教学系统ABS系统运行监控、检测轮速传感器运行监控、检测警告灯运行监控、检测ABS执行器运行监控、检测ABS系统运行实时仿真ABS执行器运行实时仿真ABS系统实时仿真ABS硬件系统示教板ABS故障诊断系统图4.1ABS电教板控制系统组成图控制系统原理如图4.2所示。开关量微处理器电动机LED二极管显示器图4.2ABS电教板控制系统原理图通过开关量输入信号,把相应开关量输入到微处理器内部,经过微处理器内部运算调用相关的子程序来实现各开关量的控制。从而实现控制电动机的正反转、LED动态显示轮速和二极管点亮顺序以及滑移率在显示器上的显示。4.2 ABS电路硬件设计ABS电路硬件包括单片机、发光二极管、控制开关、电源。4.2.1 单片机的选择当今单片机品种繁多,产品性能各异。首先要理解两个概念:集中指令集(CISC)和精简指令集(RISC)。采用CISC结构的单片机数据线和指令线分时复用,它的指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格也高。采用RISC结构的单片机数据线和指令线分离,这种结构的单片机取指令包含更多的处理信息,执行效率更高,速度也更快。同时,这种单片机指令多为单字节,程序存储器的空间利用率大大提高,有利于实现超小型化设计。一般来说,对于控制方式较简单的家电,可以采用RISC型单片机;对于控制关系较复杂的场合,如通信产品,工业控制系统,应采用CISC单片机。所以,根据功能需要和性价比以及匹配关系,在这里选择CISC型的单片机,它主要包括Intel系列、Motorola系列、Atmel系列的AT89系列等。除此之外,在实际应用中还可根据如下原则来选择单片机:(1)了解单片机对应用系统的适用性。所谓对应用系统的适用性,就是能否用一个单片机对系统的控制,或需要增加几个附加的集成电路才能实现对系统的控制。从这一方面应主要考虑以下问题:单片机是否含有所需的I/O端口数目;单片机是否含有所需的外围端口部件;单片机的CPU是否有合适的吞吐量;单片机的极限性能是否满足要求。(2)了解单片机的可购买性。从这一方面应主要考虑以下问题:单片机是否可直接购买到;单片机是否有足够的供应量;单片机是否仍在生产之中;单片机是否在改进之中。(3)了解单片机的可开发性。从这一方面应主要考虑以下问题:编译软件;程序写入工具;调试工具;技术支持;语言体系与熟悉程度。根据上面的要求对单片机进行选择,就可选择出最适用于应用系统的单片机,从而保证应用系统最高的可靠性、最优的价格性能比、最长的使用寿命和最好的升级换代性。所以这里初选89C52单片机作为系统的控制芯片。1、 89S52单片机的基本组成 外部事件记数输入图4.3所示为89S52带闪存(Flash ROM)单片机的基本结构框图。P0 P1 P2 P3 控制串行通信振荡器和时序OSC程序存储器8KB FlashROM 89S52CPU数 据 存 储 器256字节RAM/SFR216位定时器/计数器可编程全双工串行口可编程I/O64KB总线扩展控制器内中断外中断 地址数据 图4.389S52单片机结构框图在一小块芯片上,集成了一个微型计算机的各个组成部分,即89C52单片机芯片内包括:(1)一个8位的89S52微处理器(CPU);(2)片内256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等;(3)片内8KB程序存储器Flash ROM,用以存放程序、一些原始数据和表格;(4)4个8位并行I/O端口P0-P3,每个端口既可以用作输入,也可以用作输出;(5)两个16位的定时器/记数器,每个定时器/记数器都可以设置成记数或定时的结果实现计算机控制;(6)具有5个中断源、3个中断优先级的中断控制系统;(7)一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通信;(8)片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHZ;(9)89S52单片机与8051相比,具有节电工作方式,即休闲方式及掉电方式。以上各个部分通过片内8位数据总线(DBUS)相连接。另外89S52是用静态逻辑来设计的,其工作频率可下降到0HZ,并提供两种可用软件来选择的省电方式空闲方式和掉电方式。在空闲方式中,CPU停止工作,而RAM、定时器/记数器、并行口和中断系统都继续工作。此时的电流可降到大约为正常工作方式的15%。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一次硬件复位为止。这种方式下的电流可降到15以下,最小可降到0.6以下。89S52是一种低功耗/低电压、高性能的8位单片机。它采用了CMOS工艺和高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性存储器编程器来编程。因此89S52是一种功能强、灵活性高,且价格合理的单片机,可方便地应用在各种控制领域。单片机是典型的嵌入式系统,从体系结构到指令系统都是按照嵌入式应用特点专门设计的,能最好地满足面对控制对象、应用系统的嵌入、现场的可靠运行以及非凡的控制品质要求。因此,单片机是发展最快、品种最多、数量最大的嵌入式系统。89S52的单片机具有兼容的低功耗、高性能8位的特点,特别是其内部增加的闪速可电改写的存储器Flash ROM给单片机的开发及应用带来了很大的方便,且芯片的价格非常便宜,因此,近年来得到了极其广泛的应用。根据以上原因本文采用了89S52单片机19。2、 外围电路的设计(1)时钟电路的设计。计算机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是单片机控制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作,单片机内部电路应在唯一的时钟信号控制下严格地按时序进行工作。要给CPU提供时序需要相关的硬件电路,即振荡器和时钟电路。89S52单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟,外部还需要附加电路。89S52的时钟产生方式有两种:内部时钟方式和外部时钟方式。在该控制系统中,采用了内部时钟方式。内部时钟方式,是利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路。外接晶振时,C1和C2值通常选择为30pF左右:外接陶瓷谐振器时C1和C2约为47pF。C1和C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在0MHZ24MHZ/33HZ之间选择。为了减少寄生电容,更好地保证晶振器稳定可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。内部时钟设计电路如图4.4所示。图4.4时钟电路(2)复位电路的设计。复位是单片机的初始化操作,单片机在启动运行时,都需要先复位,它的作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。例如复位后,PC初始化为0,于是单片机自动从0单元开始执行程序。因而复位是一个很重要的操作方式。单片机本身一般是不能自动进行复位的(在热启动时本身带有看门狗复位电路的单片机除外),必须配合相应的外部电路才能实现。单片机的整个复位电路包括芯片内、外两部分,外部电路产生的复位信号通过复位引脚RET进入片内一个斯密特触发器(抑制噪声作用)再与片内复位电路连接。复位电路每个机器周期对斯密特触发器的输出采样一次。当RST引脚端保持两个机器周期(24个时钟周期)以上的高电平时,89S52进入复位状态。单片机的外部复位电路有上电自动复位和按健手动复位两种。上电复位利用电容器充电来实现,上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST引脚端保持10ms以上高电平,就能使单片机有效地复位。按键手动复位又分为:按键电平复位和按键脉冲复位。按键电平复位,相当于恢复键后复位端通过电阻与VCC电源接通;按键脉冲复位,利用RC微分电路产生正脉冲。在实际的应用系统中,有些外围芯片也需要复位,如果这些复位端的复位电平要求与单片机的复位要求一致,则可以与之连接。复位电路关系到一个系统能否可靠地工作。对要求不是很高的场合,由阻、容元件和门电路组成的复位电路是一种廉价而简单的选择,一般均能良好的工作。而对于应用现场干扰大、电压波动大的工作环境,常常要求系统在任何异常情况下都能自动复位回复工作,这样的系统选用专用复位监控芯片作为系统的复位产生器是比较理想的。考虑到教学的环境现场干扰比较小,最终确定的外部复位电路如图4.5所示。图4.5复位电路在不复位状态下,1是高电平,2
展开阅读全文