一种汽车安全预警装置的设计

2017-09-07 19:27楼泽宇
数字技术与应用 2017年5期
关键词:安全预警汽车

楼泽宇

摘要:目前的车辆安全防护系统尚未有针对车辆突然倾覆、突然调头、冲出路面坠落等状态的安全防护措施。汽车安全预警装置是安装在汽车上用于显示汽车运动姿态信息并在车辆发生左右侧倾角或前后俯仰角过大、转向太快、车体瞬间抛空时发出预警的装置。预警装置采用高速单片机及运动姿态传感器进行车辆行驶中的姿态数据采集与计算分析,可实时显示车辆的侧倾角、俯仰角、运动方位角、重力加速度等信息,当这些信息数据接近影响行车安全的状态时可发出预警提醒,达到严重程度时还输出机械安全保护装置的启动信号,最大限度地提高行车的安全性。

关键词:汽车;运动姿态;安全;预警

中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2017)05-0206-04

汽车行驶中的侧倾角、角速度、重力加速度等是反映车辆运动状态的重要安全信息数据。LEADIY-M3C型传感器可以测量并输出三维的角速度、三维的加速度、地球磁场数据以及气压、温度、海拨数据,经过高速单片机快速运算后可以得到反映行驶车辆运动姿态的信息数据,如车辆的左右侧倾角、前后俯仰角、转向速率、垂直方向的重力加速度等,利用这些数据可以为车辆是否处在安全行驶状态提供判断依据。当行驶中的车辆发生大角度的倾斜、急速转向、车体抛空时,汽车安全预警装置可发出预警信号,当有更严重的车辆倾覆、急刹甩头、冲出路面等危险状态时,可同时与车辆安全保护执行系统联动,为车辆上的乘客安全提供一种保护。

1 电路设计

图1为汽车安全预警装置的电路系统结构框图。预警装置主要由传感器模块、单片机处理模块、信息显示与报警输出模块、电源模块等组成。传感器模块与单片机处理器通过串口进行通信,传感器模块根据单片机指令可发送三维角速度、三维加速度、姿态角以及大气压、海拨高度、温度等数据。单片机处理器对接收到的数据进行运算处理并送液晶显示模块实时显示左右倾角、前后俯仰角、运动方向角、垂直加速度等信息。报警器具有声光提醒功能,联动输出信号为机械执行机构提供启动信号。电源模块将9-30V的直流电压变换成5V的稳定电源。通信接口用于系统升级或与汽车电脑通信。

1.1 單片机处理器

单片机处理器采用宏晶公司的STC12C5A60S2单片机,使用44脚的方形贴片封装(LQFP-44),主要参数为:

(1)电源电压:5.5-3.5V

(2)时钟频率:最大35MHZ

(3)数据存储器:1280字节

(4)程序存储器:60K字节

(5)EEPROM:1K 字节

(6)8通道10位ADC转换器。

图2为单片机处理器电路原理图。主要资源使用情况为:P3.4-P3.7用于中文液晶显示;P1.2-P1.3用于与姿态传感器通信;P3.0-P3.1用于程序下载及工作时的数据输出;P1.4-P1.7口用于功能按键开关,为了提高处理器的运算速度,晶振采用24MHz。

1.2 姿态传感器模块

姿态传感器采用软芯微科技有限公司的LEADIY-M3C模块,使用5V供电。其中重力加速度的测量范围最大为正负8g,角速度为2000度/秒,磁场强度测量范围为正负2.5 gauss,测量时量程可根据需要设定,姿态传感器与单片机处理器采用串行口通信,波特率有115200 Baud、9600 Baud、230400 Baud、460800 Baud四档可设定。

1.3 信息显示电路

中文显示屏使用中文液晶显示模块12864M-3,可显示4行×8个中文汉字,由于汽车安全预警装置显示刷新的速度要求不高,所以使用串行接口方式进行通信。显示屏接口电路如图3。串口使用时,液晶模块接口的15脚需接地,其中模块的20脚为背光灯负端,与单片机的P3.4口相连。模块的4脚为使能端口,与单片机的P3.7相连。模块的5脚为数据端口,与单片机的P3.6相连。模块的6脚为时钟端口,与单片机的P3.5相连。

1.4 通信接口电路

由于宏晶公司的STC系列单片机可从串口直接下载程序,因此通信接口电路采用USB转换芯片CH340G。CH340G是一款引脚最少的USB转串口芯片,图4为其典型的应用电路。设计中应注意在使用5V的USB电源时,其第4脚(为3.3V电源接口)应接一个4700PF或0.01μF的小电容,否则电路不能正常工作。另外为了芯片工作时不影响单片机电源复位,在串行口第2、 3脚分别串接一个二极管和电阻。

1.5 电源电路

电源电路采用DC-DC转换芯片LM2576S,它能将输入电压为9V-30V的直流电压转换为稳定的+5V直流电压,非常适合在汽车设备中应用。图5为应用电路。

2 程序设计

汽车安全预警装置的控制程序采用C语言编程,应用Keil_C51编译器平台,编程前先安装Keil μVision2以上版本软件及USB转串口(CH340G)驱动程序。在程序设计调试中用USB线连接电路板,可直接下载程序运行以测试功能是否正常,调试编程非常方便。单片机汽车安全预警装置主要的控制程序有初始化程序、主循环程序、串口中断接收数据程序、信息运算处理程序、显示程序等。

2.1 初始化程序

单片机处理器在上电后需要进行一系列的初始化工作。汽车安全预警装置控制程序的主要初始化内容步骤为:液晶屏初始化、显示开机信息、设置串口1及串口2的波特率、开串口接收中断等,最后进入主程序循环。

2.2 主循环程序

主循环程序是根据串行口接收到的传感器姿态数据不断运算并显示的过程,姿态传感器输出的数据类型是可以设定的,如选择接收姿态帧、温度气压帧、高度帧信息时,参考主循环程序代码可编写如下:endprint

//******以下汽车安全预警装置主循环程序******//

while(1)

{

keywork();//查按键信息

if (_Angle_Ok == 1) display_Angle();//姿态帧语句处理

if (_Temp_Pres_Ok == 1) display_T_P();//温度气压帧语句处理

if(_Altitude_Ok==1) display_Altitude();//高度帧语句处理

switch(STATE) //显示刷新控制

{

case 0:{Show_INFO1();break;}//显示屏1信息

case 1:{Show_INFO2();break;}//显示屏2信息

default:break;

}

}

//******汽車安全预警装置主循环程序结束******//

2.3 姿态数据接收程序

姿态数据接收程序使用串口2,主要是根据姿态数据传感器输出的帧格式进行帧识别与存储,如接收到一帧数据则给出接收成功标志,然后主程序根据标志处理姿态数据。以下为串口2中断接收姿态数据程序代码:

//***串口2中断接收姿态数据程序***//

// A7 7A 72 07 B0 DB 38 21 CB AC 15 姿态数据格式

// A7 7A 74 07 63 D9 00 35 8E 01 00 温度气压数据格式

// A7 7A 75 07 12 F9 EB FF FF 00 00 高度帧数据格式

//_Angle_Buff[11]; //姿态数据接收缓存

//_Temp_Pres_Buff[11]; //温度与气压接收缓存

//_Altitude_Buff[11]; //高度数据

void Lediym3c_rx(void) interrupt 8 using 2

{

static uint8 in1, cnt1, type1;

if (S2CON&0X01) //S2RI=1

{ S2CON &= 0XFE; //S2RI=0

IE2 &=0XFE; //ES2=0 关串口2中断

in1 = S2BUF;

if (in1 == 0xA7){cnt1 = 0;type1 = 0;}

_Hard[cnt1] = in1;

if (cnt1 == 2)

{

if (_Hard[0] == 0xA7 && _Hard[1] == 0x7A && _Hard[2] == 0x72){if(_Angle_Ok==0)type1 = 1;else type1=0;}//

else if (_Hard[cnt1 - 2] == 0xA7&& _Hard[cnt1 - 1] == 0x7A && _Hard[cnt1] == 0x74){if(_Temp_Pres_Ok==0)type1 = 2;else type1=0;}

else if (_Hard[cnt1 - 2] ==0xA7 && _Hard[cnt1 - 1] == 0x7A && _Hard[cnt1] == 0x75){if(_Altitude_Ok==0)type1 = 3;else type1=0;}

else type1 = 0;

}

switch (type1)

{

case 1:{ _Angle_Buff[cnt1] = in1;

if (cnt1==10) // 11个数据

{

_Angle_Buff[0] =0xA7;//

_Angle_Buff[1] =0x7A;//

_Angle_Buff[2] =0x72;//

_Angle_Ok = 1;

cnt1 = 0;type1 = 0;

}

break;}

//

case 2:{ _Temp_Pres_Buff[cnt1] = in1;

if (cnt1==10) // // 11个数据

{

_Temp_Pres_Buff[0] =0xA7;//

_Temp_Pres_Buff[1] =0x7A;//

_Temp_Pres_Buff[2] =0x74;//

_Temp_Pres_Ok = 1;

cnt1 = 0;type1 = 0;

}

break;}

case 3: {_Altitude_Buff[cnt1] = in1;

if (cnt1==10) // // 11个数据

{

_Altitude_Buff[0] =0xA7;//

_Altitude_Buff[1] =0x7A;//

_Altitude_Buff[2] =0x75;//

_Altitude_Ok = 1;

cnt1 = 0;type1 = 0;

}

break;}endprint

default: break;

}

cnt1 ++;

}

IE2 |=0X01; //ES2=1 允许串口2中断

}

//***串口2中断接收姿态数据程序结束***//

3 实验板制作与测试

实验板制作与调试过程包括:绘制主控板的电路原理圖和PCB图、PCB打样、元器件焊接、检查调试电路板、编程并将编译好的程序代码烧入单片机、根据实际运行情况调试硬件电路和修改控制程序、测试系统的功能等。图6为实验板的印制电路板图。将汽车安全预警装置实验电路板安装调试好后进行进行车载测试,行车中显示数据能真实反映车体的姿态及运动方向,用手翻动实验板达到倾斜45度以上时能发出预警声,90度时能输出保护联动装置控制信号。当急速转向、舜间自由掉落测试时同样具有预警和输出联动信号的功能。图7为汽车姿态信息的显示图。

4 结语

用LEADIY-M3C姿态传感器设计的单片机汽车安全预警装置具有电路简单、程序编程容易、测量姿态数据稳定可靠等特点,除了用于汽车等运动物预警控制外,也可以用于地面水平度、建筑物高度、温度、气压等静态数据的测量。

参考文献

[1]张国敬.一种基于GPS与姿态仪的航道测深技术[J].施工技术,2015,(S1):839-842.

[2]缪奕峰,徐宝纲,李永平.飞行姿态仪失效时的模拟飞行分析[J].科技信息,2010,(28):559.

[3]刘跃雷,吕俊军,吴云超.利用船载GPS姿态仪提高磁场的测量精度[J].舰船科学技术,2009,(10):69-72.

[4]赵鹏,沈庭芝,单宝堂.基于MEMS的微型无人机姿态仪的设计[J].火力与指挥控制,2009,(06):164-167.

[5]张晓静,战智涛.基于倾角传感器设计的帆船姿态仪[J].单片机与嵌入式系统应用,2008,(05):54-55.

[6]何松,陈兴武.基于MPU9250的无人机姿态信息采集及处理[J].福建工程学院学报,2016,(06):587-592.

[7]沈超,周翟和,胡佳佳.基于无线射频技术的移动机器人姿态解算调试系统设计[J].机械制造与自动化,2016,(06):156-158+175.endprint

猜你喜欢
安全预警汽车
法国发布高温预警 严阵以待备战“史上最热周”
园林有害生物预警与可持续控制
汽车们的喜怒哀乐
机载预警雷达对IFF 的干扰分析