系统的工作原理:当汽车准备倒车作业时,系统启动运行。三个测距节点开始工作,以车尾节点为主,节点检测距目标障碍物的距离,若检测到有障碍物,则将距目标障碍物的距离于显示单元中显示出来,若距离障碍物过近已进入危险区域,语音播报单元将发出语音警示信息。
设计任务:
(1)设计以51单片机为主控制器的汽车倒车防撞系统,结合软件设计及硬件设计,现实汽车倒车防撞预警的功能。
(2)以仿真电路图或硬件原理图阐述硬件设计的思想,以keil for 51为开发环境编写软件程序。以仿真图配合软件程序实现系统的仿真实验,在仿真实验成功的基础下,搭建硬件电路实物,实现汽车倒车防撞的功能。
本系统的设计主要使用了STC89C52,HC-SR04超声波测距模块,12864显示模块、SY6288语音模块等,详细清单如表 3-3所示。
表3-3元器件清单
器件 |
规格 |
数量 |
STC89C52RC |
401-PDIP40 |
1 |
HC-SR04 |
|
3 |
12864-15C |
RoHS V1.2 |
1 |
YS-SYN6288 |
V2.0 |
1 |
瓷片电容 |
30P |
2 |
电解电容 |
10uF |
1 |
石英晶振 |
11.0592MHz |
1 |
开关 |
|
1 |
程序(hex文件)
本汽车智能倒库防撞系统,基于单片机控制原理,主要采用51单片机STC89C52,超声波传感器HC-SR04。可实现超声波测距功能。依据障碍物距离的不同,主控单元选择对应的状态来控制显示单元以及语音报警单元,来满足防撞报警的需要,从而实现汽车倒车防撞的功能。
创新性:
设计紧凑;
安全可靠;
语音提示;
数据误差分析
由于测距信号是由超声波发射以及接收所使用的时间,在结合单片机内部定时器模块量化时间信息,配合算法获得。所以其误差主要来自以下方面:
超声波发射模块启动需要10uS以上的高电平信号,所以启动信号与计时开始无法做到真正的同步,同样,接收模块也是。
内部定时器模块收到系统时钟的影响,晶振的振荡周期无法做到真正的11.0592M,使得最终定时器模块无法真正的与标准时间吻合。
数据处理及模块控制需要占用一定的时序,当前显示的数据与当前真实的数据存在一定的时间差。
语音模块测试(通过串口调试助手完成)
系统采用的语音播放模块为YS-SYN6288显示模块,通过异步串行通信与系统通信。
语音串口测试2
语音串口测试1
超声波测距测试
本系统中因为采用了相对良好的测试条件和正确的自校方法,取得了较理想的效果。我们叫接收到的距离障碍物数据随机抽取了五组结果进行误差分析如表5-1所示。
表5-1 超声波测距结果误差比较
实际距离
系统检测距离
误差
(m)
0.19
0.18
0.01
0.56
0.56
0
2.14
2.16
-0.02
3.50
3.52
-0.02
4.00
4.03
-0.03
由表可知超声波测距的精度比较高,基本将误差控制在±0.03m以内。已经满足汽车倒车防撞系统对于测距能力的要求。
主程序流程图
软件设计总框图
系统主要分为测距发射模块、测距接收模块、信息处理运算模块、语音播报模块、信息显示模块,其中信息处理运算模块是最核心的模块。各个模块都有各自的通信方式,当信息处理模块接收到数据时通过模块内部处理运算系统获得不同的处理方式。
图4-1 软件设计总框图