基于CAN总线的半挂车安全预警系统设计
4.2设置TPMS的胎压与温度报警门限
汽车轮胎的压力与温度是密切相关的,当轮胎气压低于标准值时,变形增大,受力发生变化,若胎压长期低于正常气压的80%,在高速行驶时,轮胎会因急剧升温而脱层,甚至导致爆胎[4]。当轮胎气压高于标准值时,因轮胎与地面接触的面积减少,单位压力增高,使轮胎胎面的中部磨损增加。通过室内试验证明:气压提高25%,轮胎寿命将会降低15~20%;气压降低25%,寿命大约降低30%。此外,汽车轮胎温度越高,轮胎的强度越低,变形越大(一般不能超过80℃,当温度达到95℃时,轮胎的情况非常危险),每升高1℃,轮胎磨损就增加2%,行驶速度每增加一倍,轮胎行驶里程将降低50%[5]。因此,最好不要超温、超速行使。由于不同载重、不同型号的半挂车轮胎标准胎压、温度不同,系统设置为可由触摸屏面板自行输入参考标准胎压和温度值。实际胎压值在标准胎压值的-10到+10%之间波动认为正常;在-25%到-10%之间或+25%到+10%之间波动视为一般性异常,发出二级预警信号,提示司机做出相应处理;低于25%或高于25%视为严重异常,发出一级预警信息。在不考虑外部温度、路面等因素影响,默认轮胎最大温度值为80 oC,超过80 oC视为一般异常,发出二级预警,超过100oC视为严重异常,发出一级预警信号。系统中通过触摸屏参数选取任务TouchOption_Task()可获得用户指定轮胎标准压力和最大温度,存放于变量Press和Temp中。
4.3 胎压显示、声音预警
为保证系统的实时性,采取中断方式接收CAN 总线数据,由Main_Task()任务完成。对于接收到的压力、温度采样数据,首先调用CANData_deal()函数根据ID 码区分各个轮胎的数据,由Display_Task()任务执行在LCD 上以直方图的形式显示轮胎压力信息;其次切换到任务Sound_Task()将数据与用户设置的压力(温度)标准值进行比较,若上下偏离标准值在25%(20%温度标准值)范围内,采取一级报警策略,连续播放急促的警报声,提请司
机立即停车;再次将数据与标准压力(温度)值进行比较,若偏离标准值10%,发出二级报警信息,断断续续的滴答声,提请司机注意轮胎压力不够或过大,影响轮胎使用寿命和经济运行,需要对轮胎进行检修。各任务间的信息传递和任务唤醒采用邮箱机制。
void Mian_Task(Void *id) //接收处理CAN 总线数据任务
{……// MCP2510 初始化,准备以中断方式接收数据
for(;;)
{rxmsg=(char)*=OSMboxPend(ISRTaskMbox,0,&err);//接收邮箱消息
if(*rxmsg=’0’
{rINTMSK&-(~BIT_TIME0);禁止外部中断,但不禁止节拍中断
rINTMSK|=BIT_EINT4567;
canRead(n, &id, data, &length, &rxRTR, &isExt);
CANData_deal(id,data);
rINTMSK&=~(BIT_EINT4567);//开启中断
······}}}
void CANData_deal(id,data) //CANData_deal()对数据进行处理
{······//定义相关信息
if ydata[1]> Pressure*110%* || data[1]< Pressure*90% ||data[2]> Temperature
{ isrtxmsg=‘2’;//向邮箱发送二级声音预警信息
OSMboxPost(soundMbox,(void*)&isrtxmsg)
}else
{if ydata[1]>ya*125* || data[1]<ya*75% ||data[2]> Temperature*120%
{ isrtxmsg=‘1’;// 向邮箱发送一级声音预警信息
OSMboxPost(soundMbox,(void*)&isrtxmsg)}}
canid=id&0x700//对id 第8-10 位进行判断
switch(canid)
{ case 0: //结点1 数据处理和显示
ya1=data[1]
······
case 0x100: //结点2 数据处理和显示
ya2=data[1];
······}}
void Display_Task(Void *id) //预警信息显示任务
{······
TextOut(pdc,20,20,ch1,true,2)//输出提示文字:"轮胎压力信息显示"
LineTo(pdc, 0, ya*110%/2+200);//压力最高预警线
LineTo(pdc, 0, ya*90%/2+200);// 压力最低预警线
DrawRectfram(pdc,40,200+ya1/2,90,200);//轮胎1 对应的直方图
······
DrawRectfram(pdc,235,200+ya4/2,285,200);//轮胎n 对应的直方图
······}
参考文献:
[1] 饶运涛等.现场总线 CAN 原理与应用技术[M]. 北京:北京航空航天大学出版社,2003 5
[2] 姚明.轮胎使用注意事项[J].汽车应用.2006,No.2:41-42.
[3] 黄元峰,李育清,姜生元.基于μC/OS 的嵌入式系统应用开发研究[J].微计算机信息.2006.5-1:100-102
[3] 韩建保,陈厉兵.汽车轮胎气压电子实时监测系统[J].汽车系统.2002,7:40-41.
[4] http://www.tirechina.net/news/2006/8-12/15342244644.html [2007-4-6],中国轮胎商务网.
本文作者创新点:创造性地提出利用CAN 总线进行半挂车各汽车电子单元连接,实现轮胎温度、压力、载重监测,解决在半挂车应用存在的传输距离远、干扰大、能量消耗大及通信不可靠等问题。
- CAN在汽车电子中的应用(11-18)
- CANopen验证—如何让你的设备按照既定设计运行(11-26)
- LIN和SAE J2602驱动更为有效的汽车网络连接(上)(11-26)
- 汽车总线协议的形势判断(11-26)
- 基于ADG663的CAN总线网络扩展方案设计(11-27)
- 基于CAN总线的电动汽车实验平台 (11-27)
