大型车辆内轮差危险区域双向示警系统设计

发布者:WhisperingWinds最新更新时间:2021-03-30 来源: 电子产品世界关键字:交通事故  STM32 手机看文章 扫描二维码
随时随地手机看文章

摘 要:大型车辆由于自身车长,轴距长等特点在转弯过程中前轮与后轮轨迹不重合,形成“内轮差”区域。大型车辆发生的恶性交通事故中,由于“内轮差”引发的事故占70%以上。针对大型车辆转弯视觉盲区“内轮差”问题,本设计提出一套大型车辆内轮差危险区域双向示警系统的设计方案。整个系统模拟真实车辆转向过程。主控模块采用STM32进行控制,通过连接电路、实验调试后,该系统可以模拟真实车辆转向过程,并计算“内轮差”危险区域,进行相关双向声光示警,能够达到预期目标,对有效减少大型车辆“内轮差”事故的发生提供解决方案。


*本项目获得“2020全国大学生集成电路创新创业大赛·创新实践项目组”辽宁省一等奖、东北赛区二等奖、国家级三等奖。


指导教师:汪语哲、谢春利。


作者简介:张皓天(1998— ),硕士生,主要研究方向:先进控制和人工智能。

image.png

图1 内轮差区域示意图


1   系统总体设计方案


1.1 内轮差区域计算方法


建立车辆内轮差模型首先需要明确内轮差定义,内轮差是车辆转向过程中,前内轮转弯半径减去后内轮转弯半径的差值[5],而内轮差区域则是两轮转向过程中前内轮与后内轮不重合所形成的区域。内轮差的大小主要与以下三个因素有关。


●   车长:即整车的轴距,前轴与后轴的距离。


●   车宽:即前轴或后轴的轴间距。


●   转弯半径:由车辆转弯时所形成的前轮后轮不同的转弯半径。


给出计算车辆内轮差系统简化模型,并标明所需参数。l 为车长、前轮与后轮的轴距, d 为车身宽度,前轴轴间距,OC、OE、OB、OF分别为四个轮的转弯半径。未说明参数后续计算中会另作说明。汽车转向模型图如图2 所示。

image.png

图2 汽车转向模型图


内轮差计算推导步骤如下:


1)根据内轮差的定义,内轮差m = OD −OC,所以需要OD 和OC 的数据。


2)△ OCD 是直角三角形, 根据勾股定理,OD2 = OC2+CD2,CD 就是汽车轴距l,所以需要OC的数据。


3) 从图中分析,OC = OB − BC,BC就是汽车后轮距d ,所以需要OB 的数据。


4) △ OAB 是直角三角形,根据勾股定理,OB2 = OA2 − AB2,所以需要OA和AB的数据。


5) OA就是汽车最小转弯半径r,而AB = CD,也就是汽车轴距l ,所以最大内轮差m可以计算得到。根据前面分析进行推导,过程如下:内轮差m 计算如式(1) 所示。

1617083682117313.png

前轮转弯半径OD 由勾股定理推导得出,如式(2)所示。

1617083712160911.png

同理,计算得到OC,则内轮差m 求解模型如式(3)所示。

1617083753920544.png

由公式可以看出,内轮差大小与车长(轴距)、车宽(同轴间距)、转弯半径(转向角)有关,三个因素均与内轮差的大小成正相关。


计算圆弧面积即可得出内轮差区域面积。


1.2 本系统设计方案


本设计包括STM32 单片机主控模块、角度信息反馈模块、超声波测距模块、声光报警模块以及辅助演示模块。声光报警模块又分为蜂鸣器模块和激光投射模块,辅助演示模块为红外循迹模块。整个系统模拟了真实车辆转向过程中内轮差区的检测与报警。在车辆转向过程中,角度信息反馈模块检测车辆转弯信息,主控模块经计算后控制舵机精确投射内轮差区域,距离信息测量模块提供内轮差区域内物体的距离信息,反馈给主控模块经判断后向声光报警模块发送执行信息,进行相关示警。总体的设计方案如图3 所示。

image.png

图3 系统方案图


2   系统硬件设计


硬件部分设计主要由STM32 主控模块、超声波测距模块、示警模块和辅助演示模块构成。


2.1 STM32主控模块


相对于大学阶段接触较多的51 系列芯片,STM32系列芯片引脚更多,功能更全面,也更便于开发,本次设计采用STM32F103RCT6 作为主控芯片,外部连接声光报警模块、超声波测控模块,并配置红外循迹模块。其引脚图如4 所示。

1617084038887895.png

图4 STM32F103RCT6引脚图


主控模块控制外部连接声光报警模块、超声波测控模块,并配置红外循迹模块。


2.2 超声波测距模块


超声波测距传感器采用HC-RS04[6]。内部电路图如图5所示。

1617084107982777.png

图5 超声波内部电路图图


超声波有四个引脚,分别为供电电压为5 V 的VCC电源引脚,GND 接地线,TR 触发控制信号输入,EC回响信号输出,其引脚电路图如图6 所示。

image.png

图6 超声波引脚电路图


超声波传感器能够实现测量距离作用的同时,也能够实现判断距离内是否有障碍物功能[7]。本设计中超声波测距传感器主要检测内轮差区域内是否有障碍物存在,若存在障碍物则将信息传递给主控模块,进行下一步声光报警系统。


2.3 示警模块


示警模块包括两部分:声音报警模块与激光投射模块,合称声光报警模块。


2.3.1 声音示警模块


声音示警模块采用简单蜂鸣器即可,此系统中其工作原理为主控芯片接收到超声波测距反馈信息,若判断有障碍物存在,则启动蜂鸣器驱动电路,进行声音示警功能。其电路图如图7 所示。

image.png

图7 蜂鸣器电路图


2.3.2 激光投射模块


经过选型比较,激光投射模块选择RUILIPU(瑞利普)激光雾灯,由主控模块进行控制,根据计算结果投射内轮差区域。激光投射模块实物效果图如图8 所示。

image.png

图8 激光投射模块实物效果图


2.4 辅助展示模块


辅助展示模块为红外循迹模块,作用为更好实现控制车辆转向角度。


为有效控制车辆转向角度,方便直观体现汽车转向过程中的内轮差区域,也为配合本系统设计要求,为模型小车设计了红外循迹模块功能。


红外传感器选择两个ST188,其采用高发射率红外光电二极管和高灵敏的光电晶体管组成。


其电路图如图9 所示。

image.png
图9 循迹模块电路图


3   系统软件主程序设计


主程序程序设计是系统的整体软件思路设计,上电系统初始化,小车正常循迹,检测车辆是否转弯,检测到转弯则开始计算内轮差区域,将计算结果反馈给主控模块,主控模块向超声波模块发送指令检测内轮差内是否有障碍物,有障碍物则进行声光示警。没有则小车正常循迹,直至有转弯出现。主程序软件设计流程图如图10 所示。

image.png

图10 主程序软件设计流程图


4   系统调试


4.1 硬件调试


本次硬件调试主要先对先各个部分分别进行功能调试,然后对整体进行调试。对内轮差区域有无物体分别进行调试、对循迹模块进行调试。循迹功能模块如图11所示。

内轮差有无物体调试图如图12 所示。

image.png

图11 循迹功能调试图

1617084640164155.png

1617084658266868.png

图12 内轮差区域有无物体调试图


4.2 软件调试


软件调试主要是对各个程序之间连接问题以及计算处理问题进行调试。将程序下载到微控制器里,配合硬件调试一同进行。结果显示软件程序部分没有问题。


5   结语


大型车辆交通事故频频发生,而由于内轮差造成的交通事故又占多数,针对大型车辆转弯视觉盲区“内轮差”问题,设计一套大型车辆内轮差危险区域双向示警系统。设计出能够模拟大型车辆转弯的模型实物,整个系统设计模拟真实车辆转向过程中内轮差区域的检测与示警。在车辆转向过程中,角度信息测量模块检测车辆转弯信息,主控模块采用STM32 进行控制,经计算后控制投射装置精确投射内轮差区域,距离信息测量模块提供内轮差区域内物体的距离信息,反馈给主控模块经判断后向声光报警模块发送执行信息,进行司机与行人双向示警。


通过方案设计、器件选型、硬件与软件的设计与调试,最终完成制作,实现了预期目标,能够针对车辆内轮差区域进行相关示警操作。检测到内轮差区域有障碍物时,声光同提示示司机与行人,为真实大型车辆减少内轮差事故提供解决方案。


参考文献:


[1] 周磊,胡沁如,龚书晨,等.基于汽车内轮差的警示装置设计研究


[J].浙江科技学院学报,2018,30(05):429-434.


[2] 杨晓寒,暴连胜,顾思思.高速公路车路协同自动驾驶条件及技术研究[J].公路交通科技(应用技术版),2019,15(02):262-266.


[3] 黄鑫.让自动驾驶汽车轻装“上路”[J].安全与健康,2018(06):41-43.


[4] 刘启明.基于车辆碰撞事故反求的脑损伤评价研究[D].长沙:湖南大学,2018.


[5] 刘树峰.多路况下汽车防碰撞预警系统设计与仿真[D].泰安:山东农业大学,2014.


[6] 章小兵,宋爱国,唐鸿儒.基于单接收头的超声波多目标测距[J].传感技术学报,2007(05):1167-1170.


[7] 奠石镁.超声波测距在汽车倒车防撞系统中的应用[J].电脑知识与技术(学术交流),2007(04):1083-1085.


[8] Steering Solutions Ip Holding Corporation; Patent Issued for Automotive Driver Health Monitoring And Response System(USPTO 10,561,357)[J]. Journal of Transportation,2020.


(注:本文来源于科技期刊《电子产品世界》2021年第2期,欢迎您写论文时引用,并注明出处。)


关键字:交通事故  STM32 引用地址:大型车辆内轮差危险区域双向示警系统设计

上一篇:特斯拉被指司机辅助驾驶系统突然加速导致撞车
下一篇:慕尼黑工业大学开发出全新车辆预警系统 可提前7秒发出警报

推荐阅读最新更新时间:2024-11-19 22:13

STM32模拟IIC驱动OLED屏 原理+源码
处理器和芯片间的通信可以形象的比喻成两个人讲话:1、你说的别人得能听懂:双方约定信号的协议。2、你的语速别人得能接受:双方满足时序要求。 一、IIC总线的信号类型 1、开始信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由高变低就表示一个开始信号。同时IIC总线上的设备检测到这个开始信号它就知道处理器要发送数据了。 2、停止信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由低变高就表示一个停止信号。同时IIC总线上的设备检测到这个停止信号它就知道处理器已经结束了数据传输,我们就可以各忙各个的了,如休眠等。 二、IIC数据传输过程 1、在数据传输时,SDA的数据在SCL为高电平时,必须保持稳定
[单片机]
<font color='red'>STM32</font>模拟IIC驱动OLED屏 原理+源码
stm32.cube(二)——HAL结构及初始化
一、HAL结构 HAL的作用是将基础的寄存器读写操作抽象掉,使程序员只需要关心对芯片模块的行为级操作。stm32的cube包以类似面向对象的思想来进行设计,每一个芯片模块都被抽象成一个类,它的私有成员用以辅助算法的实现,公有成员被用作一个方法供外部调用。 我开发板的芯片型号是stm32f10x系列,基础的芯片结构如下: 这时官网上下载的cube包里hal内容: 对比之后发现几乎所有的模块都已经被包含进HAL层。 二、HAL的初始化 HAL层被调用前要先运行初始化函数HAL_init(),它包含在针对HAL自身的全局操作操作的源文件hal.c里。 HAL全局结构 由于Hal_init函数不长,就直接上原型了: HAL_
[单片机]
stm32学习笔记——独立看门狗
独立看门狗知识点: 关键字寄存器IWDG_KR: a、写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号(IWDG_RESET); b、写入0xAAAA(无论何时), IWDG_RLR中的值就会被重新加载到计数器中从而避免产生看门狗复位; c、写入0x5555,取消寄存器IWDG_PR和IWDG_RLR的保护功能
[单片机]
<font color='red'>stm32</font>学习笔记——独立看门狗
STM32串口DMA容易忽视的问题
昨天晚上在STM32串口DMA的问题上纠结了好长时间,所以今天上午写篇博客来谈谈我对串口DMA发送的理解 讨论三个问题:1、什么叫串口DMA 请求;2、串口简要复习;3、串口DMA发送流程。 1、什么叫串口DMA 请求(战舰STM32开发板) 说这个问题之前先简单回顾DMA的基本特性。先导出原子哥的PPT内容: DMA 全称Direct Memory Access,即直接存储器访问。 DMA传输将数据从一个地址空间复制到另一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。 STM32有两个DMA控制器(DMA2只存在于大容量产品中),DMA1有7个通道,DMA2有5个
[单片机]
<font color='red'>STM32</font>串口DMA容易忽视的问题
STM32与SD卡通信问题详解
SD的驱动和应用困扰了我很久,寒假的时候看到SD简化版物理层协议的时候就傻掉了,看到SD的驱动快3000行的代码也动摇了。这几天几种地看了一下SD卡的相关内容,总结了一些体会,感觉也没有那么恐怖了。我决定从分层上来讨论SD的驱动和应用,因为这样可以构建一个清晰的逻辑,且不知哪位计算机大师曾说过:一切计算机问题都可以用分层的方法来解决。 我自己把SD卡从驱动到应用共分为4层,从下至上依次为:驱动层、物理层、文件系统层、应用层。下面一一来介绍各层的一些重要的操作。 1)驱动层 驱动层,对应到ST的库,就是stm32f10x_sdio.c/.h这个两文件。其实使用任何一个STM32的外设,只要用库函数都离不开这一对互相对应的
[单片机]
STM32外设有哪些
[单片机]
基于STM32单片机对HCSR04超声波的控制
注意:定义GPIOB2为超声输出;GPIOB10为输入,定时器用tim2 #include “HCSR04.h” #include “delay.h” #include “sys.h” int overcount; float length=0; void HCSR04_init() { GPIO_InitTypeDef GPIO_InitStructure; TIM_TImeBaseInitTypeDef TIM_TImeBaseInitStructer; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , EN
[单片机]
基于<font color='red'>STM32</font>单片机对HCSR04超声波的控制
关于STM32 DAC使用
关于DAC的使用相对很简单,这里只注意两点: 1.从了解寄存器原理来说知道DAC 输出是受 DORx 寄存器直接控制的,但是我们不能直接往 DORx 寄存器(可读)写入数据,而是通过 DHRx 间接的传给 DORx 寄存器,实现对 DAC 输出的控制 。 2.关于STM32的DAC通道输出缓存控制位: 手册并没有解释这个输出缓存实现原理,这里我们一般不需要缓存即可。32的这个输出缓存使能虽然使输出能力强,但却会导致输出实际电压无法到0V,这是一个严重的硬件bug
[单片机]
小广播
最新汽车电子文章
换一换 更多 相关热搜器件
更多每日新闻

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved