基于CAN总线重型汽车内轮差预警系统的设计
扫描二维码
随时随地手机看文章
1 内轮差原理
内轮差是车辆转弯时的前内轮的转弯半径与后内轮的转弯半径之差。由于内轮差的存在,车辆转弯时,前、后车轮的运动轨迹不重合。内轮差的大小与转动方向盘的幅度和车辆轴距的长短有关,方向盘转动幅度越大即转向角度越大,内轮差越大,反之越小;车辆的轴距越长,内轮差越大,反之则越小。重型汽车车身都比较长,尤其是车头转过去后,还有很长的车身没有转过来,极易形成大型车辆司机的“视觉盲区”,路人步入内轮范围后,容易造成生命危险。如图1中的阴影部分为内轮差的形成区域。
图1 内轮差示意图
2 超声波预警原理
2.1超声波测距原理
谐振频率高于20KHZ的声波被称为超声波。超声波为直线传播,频率越高,则绕射能力越弱,反射能力越强。超声波测距的方法多种多样,如相位检测法、声波幅值检测法和往返时间检测法等。相位检测法虽然精度高,但检测范围有限;声波幅值检测法易受反射波的影响。本文采用往返时间检测法,其工作原理是:使超声波发射探头向介质发射超声脉冲,声波遇到被测物体后必有反射波作用于接收探头。若已知介质中的声速为V,发射脉冲时刻与第一个反射波到达时刻的时间差为T,则探头与被测物体距离S=VT/2,对距离值改变的测算可以实现所需的控制目的。超声波的速度V与温度相关,空气中的声速与温度的关系可表示为:
(1)
2.2 轮差检测中超声波传感器的布置
汽车在行驶中即会向左侧转弯也会向右侧转弯,因此超声波传感器应该在车身的两边对称安装。本系统中一共需要安装三对传感器,一对安装在前轮附近,为了提醒司机转弯时车身后面是否会撞到转弯内侧的物体;第二对安装在轴距中间附近,为了防止有物体在汽车转弯时突然出现在转弯内侧;第三对安装在后轮附件,为了及时提醒司机危险状况。
3 系统硬件设计
本系统将单片机技术、超声波测距技术与CAN总线通信技术等相结合,可检测汽车在转弯过程中汽车内侧状况。预警系统的三对测距传感器独立工作,通过CAN总线经接口芯片PCA82C250驱动将数据传输到主控制器。测距采用SensComp 600传感器和SensComp 6500超声波距离模块;单片机采用低成本的AT89C51主要功能为:1、用于控制测距传感器并把测量数据实时通过CAN控制器SJA1000发送到CAN总线上;2、通过温度传感器DS18B20传送过来的温度参数,修正超声波在空气中的传播速度;在PCA82C250与SJA1000之间还增加了高速线性光耦6N137进行隔离,有效地防止汽车在恶劣工作环境下的瞬态干扰,确保数据传输的准确性。因为三对测距传感器硬件系统完全相同,此次只用一个进行说明,系统硬件结构如图2所示。
图2 轮差预警系统硬件结构图
3.1 CAN总线通信模块
CAN总线协议遵循ISO的标准模型,分为数据链路层和物理层。这两层通常由CAN控制器和收发器了实现的。CAN总线器件可大体分为两种类型,其一种是带片上CAN控制器,如87C196CA/CB、MC6837等;另一种的CAN控制器独立需要和微处理器一起使用,如Philips SJA1000、Intel公司82526及MCP251。前者多用在许多特定情况下,使用集成器件方便用户制作印制板,使得电路设计简化、紧凑,效率提高;后者使用上比较灵活,它可以与多种类型的单片机、微型计算机的各类总线进行接口组合。在本系统中,结合前面选择的微控制器综合考虑,选Philips半导体公司的SJAl000作为独立CAN控制器。SJA1000的主要特性:扩展接收缓冲器(128字节FIFO);支持CAN 2.0B协议;同时支持11位和29位标识符;位通讯速率为1Mbits/s;增强CAN模式(PeliCAN);采用24MHz时钟频率;支持多种微处理器接口;可编程CAN输出驱动配置;工作温度范围为-40℃~+125℃,足以适应各种恶劣环境。CAN总线驱动器选用Philips公司的PCA820250,它具有高速性(最高速度可达1Mbps),能满足自制动等实时性要求较高的控制需要;具有抗瞬间干扰保护总线的能力,具有降低射频干扰的斜率控制。此外,它可以与110个节点相连,能够防止电源与地之间发生短路,并且当某个节点掉电时不影响总线。
CAN总线通信模块主要有AT89C5l微控制器、独立CAN通信控制器SJAlO00和CAN总线驱动器PCA82C250组成。为了提高系统的抗干扰能力,设计在SJAl000和CAN总线驱动器PCA82C250之间增加了光电隔离器6N137。当微处理器AT89C51将测距结果数据通过P0口发送到CAN总线控制器SJAl000,由SJAl000将并行数据转换为串行数据从端口TX0发出,经过光电隔离器6N137后到达CAN总线驱动器PCA82C250,最后将数据发送到CAN总线上。相反,来自CAN总线的数据也可以经过相应电路到达微处理器。这样就可以实现超声波测距传感器与上位机的通信功能。
3.2 超声波传感器介绍
本系统采用单片机AT89C51来实现对SensComp 600系列超声波传感器和SensComp 6500超声波测距模块的控制。SensComp 600系列静电换能器的频率为50kHz;测量范围为6英寸到35英尺(0.15米~10.7米)。配合SensComp的6500驱动电路时传感器测量范围能从2.5厘米到15.2米。AT89C51通过P1.0引脚控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由低电平变为高电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离,如图3所示为超声波测距的硬件示意图。
图3 超声波测距电路的硬件示意图
3.3 温度补偿设计
由于温度每改变10℃,声速改变量为0.6m/s,因此温度对测距的影响是相当大的。为了更精确的实现检测功能,本设计使用了美国DALLAS半导体公司的单线温度传感器DS18B20。该传感器能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,测温范围-55℃~+125℃,精度达±0.5℃,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,整个产品体积小、价格低、使用灵活,在测温精度、转换时间、传输距离、分辨率等方面都能够满足系统的要求。如图4为温度传感器与单片机的连接原理图。
图4 温度校正部分原理图
4 系统软件设计
软件采用模块化设计,程序由主程序、测距子程序、CAN总线通信子程序等模块组成。调试过程中对其中每个功能模块和子程序逐一调试,在每个子程序都完成其指定的功能后,再进行整合完成最后的综合调试。轮差预警系统的主程序流程图、测距子程序流程图分别如图5、6所示。汽车转弯时启动预警系统,AT89C51先把P1.0置0,启动超声波传感器发射超声波,同时启动内部定时器T0开始计时。我们采用的超声波传感器是收发一体的,在发送完16个脉冲后超声波传感器还有余震,为了从返回信号识别消除超声波传感器的发送信号,要检测返回信号必须在启动发射信号后2.38ms才可以检测。当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描INT0引脚,如果INT0接收的信号由低电平变为高电平,此时表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据结合温度传感器送来的现场温度经过校正换算,可以得出超声波传感器与障碍物之间的真实距离;然后显示测距结果,若测距结果低于设定阀值则产生报警信号;最后把得到的距离数据实时的通过CAN总线网络向汽车主控制器发送,这样就可以实现预警系统与CAN网络其他节点和上位机的通信和网络控制功能。
5 结论
本文提出了一种应用于重型汽车的轮差预警系统,基于超声脉冲测距原理进行测距,根据现场温度对数据进行校正,并通过CAN总线将轮差预警系统与汽车的数字化平台接轨,降低了环境因素的影响,提高了系统的检测精度。根据障碍物到车体的距离远近进行实时显示,当该计算距离小于安全距离时,可以进行预警,提醒司机采取必要措施以避免发生碰撞事故。本系统结构简单、可靠性高,可以经济、有效地降低大型汽车轮差事故发生率,具有很好的应用前景。