1车速的采集
车速传感器可以发出一定占空比的方波信号,设计采用单片机的脉冲模块来捕捉可以用来测量信号的周期。车速采集的程序流程如图2所示。步进电机的转动不但代表汽车的行驶速度,还代表节气门的开度,每转动一定角度就相当于节气门的开度。因此,当输入的实际车速A等于目标车速B时,步进电机将不转动;当输入的实际车速A大于目标车速B时,步进电机会反转,减小节气门开度,从而使实际车速降低至目标车速;当输入的实际车速A小于目标车速B时,步进电机会正转,加大节气门开度,使实际车速升高至目标车速,汽车进入定速巡航控制。
2软件可靠性措施
为了提高软件系统的稳定性和可靠性,采取以下措施:(1)封锁。实际系统中最强的干扰来自自身,如被控的负载电机的通断、状态的变化等,在设计软件时应适当采取措施避开这些干扰。如:当系统要断开或接通大功率负载时应暂停数据采集,等到干扰过去后再继续进行;在适当的地方封锁一些中断源;几个通道互相封锁。这些都是避免或减少干扰的有效方法。(2)程序的失控保护措施。在控制系统中,一般情况下干扰都不会造成计算机系统硬件损坏,但会对软件的运行环境造成不良影响。表现在:数据码和指令码的一些位受到干扰而出现跳变,使程序出现错误,最典型的是程序计数器发生跳变,可能把数据当作指令码。这种程序盲目执行的结果,一方面造成RAM存储器的数据破坏,另一方面可能会进入死循环,使整个系统失效。因此,应采取有效措施避免程序失控。
3Proteus仿真验证
3.1定速巡航控制系统总体仿真电路设计
设计中定速巡航控制系统的主要参数是车速值及节气门开度,因为进行实物测试有设备要求,外围设备比较复杂,而且测试结果不够直观,所以设计最终结果通过Proteus仿真来实现。仿真电路如图3所示。Proteus软件的元件库中拥有AT89C52单片机、ULN2003驱动芯片、步进电机等元件,可满足设计研究仿真需要。Proteus软件中的车速采集信号可通过改变脉冲而改变车速,电动机的转速可直观地显示出来,还可体现节气门开度的大小。
3.2试验结果与分析
在Proteus仿真平台上分别对4种情况进行仿真,即实际车速A等于目标车速B、实际车速A大于目标车速B、实际车速A小于目标车速B及实际车速大于120km/h、小于40km/h,仿真结果分别如图4~7所示。从图4~7可看出:当输入的实际车速A等于目标车速B时,步进电机不转动;当实际车速A大于目标车速B时,步进电动机反转,节气门开度减小;当实际车速A小于目标车速B时,步进电动机正转,节气门开度加大;当实际车速A超过120km/h、低于40km/h(即脉冲频率低于100Hz、高于999Hz)时,巡航控制系统会自动退出,步进电机不转动。表明所设计的软件能实现简单的巡航控制系统指令,满足预定要求。
4结语
该文使用AT89C52单片机作为微处理器,通过车速传感器采集实际车速信号,与预先设定的速度进行对比,运用PID控制方法,调节节气门的开度,从而达到设定的车速,使汽车可以恒速行驶;并对所设计的定速巡航控制系统的硬件电路及软件进行了仿真试验,以保证系统设计的可行性与稳定性。
作者:黄宝山 包凡彪 单位:北京理工大学