课程设计(基于单片机的汽车倒车雷达设计)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书
汽车倒车雷达设计
学生姓名XXX
班级机制1001班
学号******xxxx16
日期2013.07.01—2013.07.12
随着社会经济的发展交通运输业日益兴旺,汽车的数量大幅增长,随着汽车的增多和停车位日趋紧张,泊车成为很多车主头痛的问题,这时倒车雷达就成了汽车的好助手。
倒车雷达是汽车泊车安全辅助装置,能以比较直观的显示告知驾驶员后方障碍物的情况,解除了驾驶员泊车时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高了倒车的安全性。
超声波测距法是常见的一种距离测距方法,本文介绍的就是利用超声波测距法设计的一种倒车防撞报警系统。
控制系统核心部分就是超声波测距仪的研制。
设计通过多种发射接收电路设计方案比较,得出了最佳设计方案,并对系统各个单元的原理进行了介绍,对组成系统电路的芯片进行了介绍,并阐述了它们的工作原理,对超声波传感器的选用经过了仔细的思考,并详细的说明其功能和作用原理。
文章介绍了系统系统的软件结构,通过编程来实现系统功能。
关键词:单片机;超声波;测距;传感器
1引言 (2)
1.1背景 (2)
1.2设计的要求和难点 (2)
2总体方案设计 (3)
2.1 系统构成图 (3)
2.2 工作原理 (3)
3硬件设计 (5)
3.1 超声波发射与接收电路 (5)
3.1.1 发射电路 (5)
3.1.2 接收电路 (7)
3.2 ADC0832转换器特点与接线图 (9)
3.3 传感器型号及说明 (12)
4软件设计 (13)
4.1 系统流程图 (13)
4.2 编程程序 (15)
5设计小结 (17)
参考文献 (18)
1 引言
1.1设计的背景
随着社会经济的发展交通运输业日益兴旺,汽车的数量大幅增长,而随着汽车的增多和停车位日趋紧张,泊车成为很多车主头痛的问题。
在泊车的过程中,由于驾驶员视觉的模糊以及盲区的影响,使得在倒车过程中稍不注意就会造成车子的损伤。
我们的超声波传感器测距系统正是为解决此问题而设计的。
本系统能够在倒车的过程中扫除视野死角和视线模糊的缺陷,提高倒车的安全性。
1.2设计的重点与难点
1.2.1 设计的要求
本任务是设计一个超声波测距仪,可以应用于汽车倒车监控。
要求测量范围在0.10—3.00m,测量精度10cm,能够明显的达到报警效果。
1.2.2设计的难点
○1、超声波信号的发射、接收设计
○2、报警显示灯电路的设计
○3、流程图及程序的设计
2 总体方案设计
2.1 系统构成图
汽车倒车雷达设计系统单片机为核心外围电路由超声波发射电路、超声波接收电路、温度补偿电路、A/D转换模块、LED显示模块等部分组成。
其系统框图如图2-1所示。
图2-1系统构成图
2.2 工作原理
本系统安装在汽车背后,一般是四个并排,当汽车倒车且接近危险距离(设定
值)时,系统能自动提示驾驶员,防止碰撞事件发生。
主要是以AT89S51为核心,来设计一种低成本、高精度、微型化超声波测距仪。
本测距仪实质上就是感应出超声波的发射脉冲与接受脉冲的时间间隔△t,利用S=C*△t/2可以算出距离,由于系统已经预设了一个安全距离,当S低于此安全距离时,可以看到LED显示器的红色灯闪烁,绿色灯熄灭;当S高于此安全距离时,LED显示器的绿色灯亮,红色灯熄灭。
根据要求,由于程序较为简单,不需要空间很大的芯片来完成,于是选用AT89S51单片机作为主控制器,而超声波传感器精度要求也不高(0.1m),于是选用比较经济的HC-SR04超声波传感器,运算放大电路用来将超声波信号放大并传给A/D 转换模块,A/D转换模块也从测量精度出发选用八位256步的A/D转换器,同时为了方便接线与模拟仿真,选用的是ADC0832,显示模块用的是LED显示灯,已足够满足设计要求。
3 硬件设计
根据2-1 系统构成图,我们设计了总接线图,详见附录1,下面对各部分电路进行说明。
其中,我们是从A/D转换模块与AT89C51开始接线,逐步扩展到输出
模块。
A/D转换模块主要是参考了网上ADC0832的知识[2]。
输出模块的LED显示
模块及时钟信号主要是参考了文献[3]。
3.1 超声波发射与接收电路
3.1.1 发射电路
超声波发射电路如图所示,主要由脉冲调制,信号产生电路,隔离电路以及驱
动电路组成,用来为超声波传感器提供发送信号,使其发出超声波信号[1]。
图3-1超声波传感器的发射电路
3.1.2 接收电路
接收部分的电路由放大电路,带通滤波电路以及信号变换电路组成。
信号变换电路如图3-2所示,放大电路和带通滤波电路如图3-3所示。
由于超声波信号在空气中传播时受到很大程度的衰减,所以反射回的超声波信号非常的微弱,不能直接送到后级电路进行处理,必须将信号放大到足够的幅度,才能使后级电路对它进行正确的处理
[1]。
图3-2信号变换电路
图3-3接收与放大电路与带通滤波电路
3.2 ADC0832转换器特点与接线图
①、其主要特点如下:
1、8位分辨率,逐次逼近型,基准电压为5V;
2、5V单电源供电;
3、输入模拟信号电压范围为0~5V;
4、输入和输出电平与TTL和CMOS兼容;
5、在250KHZ时钟频率时,转换时间为32us;
6、具有两个可供选择的模拟输入通道;
7、功耗低,15mW。
②、各引脚说明如下:
1、CS——片选端,低电平有效。
2、CH0,CH1——两路模拟信号输入端。
3、DI——两路模拟输入选择输入端。
图3-5 ADC0832引脚图
4、DO——模数转换结果串行输出端。
5、CLK——串行时钟输入端。
5、Vcc/REF——正电源端和基准电压输入端。
6、GND——电源地。
、单片机对ADC0832 的控制原理
一般情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。
但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。
当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。
当要进行A/D转换时,须先将CS端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK提供时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1个时钟脉冲到来之前DI端必须是高电平,表示启动位。
在第2、3个时钟脉冲到来之前DI端应输入2位数据用于选择通道功能,其功能项见表。
如表所示,当配置位2位数据为1、0时,只对CH0 进行单通道转换。
当配置2位数据为1、1时,只对CH1进行单通道转换。
当配置2位数据为0、0时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。
当配置2位数据为0、1时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。
到第3个时钟脉冲到来之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。
从第4个时钟脉冲开始由DO端输出转换数据最高位D7,随后每一个脉冲DO端输出下一位数据。
直到第11个脉冲时发出最低位数据D0,一个字节的数据输出完成。
也正是从此位开始输出下一个相反字节的数据,即从第11个时钟脉冲输出D0。
随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。
最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。
3.3 传感器型号及说明
HC-SR04
1、使用电压:DC5V
2、静态电流:小于2mA
3、电平输出:高5V
4、电平输出:低0V
5、感应角度:不大于15度
6、探测距离:2cm-450cm
7、高精度:可达3mm
接线方式,VCC 、trig (控制端)、 echo (接收端)、 GND 地线
本产品使用方法:一个控制口发一个10US 以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到移动测量的值了[1]
.
4 软件设计
4.1 系统流程图
我们设计的系统流程图如图4-1,系统的软件设计采取模块化设计,单片器编程,这样便于阅读与功能扩展。
程序主要由主程序、A/D转换子程序、延时子程序、液晶显示子程序等几个部分构成。
雷达测距开始由汽车倒车控制,一旦倒车开始,即启动AT89C51片内的T1连续发射40 kHz的PWM,计数器开始计数。
考虑到实际倒车环境有远有近,为防止其他干扰可能引起的误测,以最长距离3m计算,超声波发送到返回的时间△t至少为3/340≈15ms。
这样持续发送PWM直至接收到超声波时停止发送,这个过程大约需要15 ms以上,所以不管所测距离远近,一律每25 ms 发送一次超声波。
图4-1系统流程图
4.2 编程程序
我们通过keil软件运用单片机语言编程,选用AT89S51的芯片编译过后,生成.hex文件后的程序。
仿真时,在proteus软件中找到AT89S51芯片,双击添加所生成的.hex文件,进行仿真,以下是仿真结果,编程程序见附录2.
仿真结果:
当电平小于设定值(2.5v)时红灯闪烁,绿灯熄灭当电平大于设定值(2.5v)时,绿灯亮,红灯熄灭
5 设计小结
6月28日,我们的课程设计任务下来了,前面刚刚搞完两周的机电传动控制实习,虽然还在那高强度、高难度的实习中没有解脱出来,但一想到这是本学期最后的一个任务,也是我们离开云塘前的最后一个任务,我们也就释然了,准备认真完成,算是给自己的大三生活一个最后的交代。
我们的课题是“基于单片机的汽车倒车雷达超声波测距系统的设计”,为了更好地完成这个任务,首先,我们组在网上查阅了大量的相关方面的资料,下载了一些对我们有用的文件,然后在图书馆借阅了许多关于单片机、传感器的书籍,为我们的课程设计做好准备。
由于我们单片机的基础打得不是很好,所以在设计的过程中遇到了很多的难题,比如编程,比如数模转换器的选择、接线...但是我们没有被这些难题所阻住,而是仔细分析了这些难题,然后查找相关资料,最后一一解决。
在这个过程中,勾起了对单片机知识的回忆并使之得到强化,同时,对于我们机械专业的同学,强化对电方面的知识在当今社会也显得尤为重要。
同时,通过这次课程设计,让我们对自己有了进一步的认识,看到了自己在一些方面还存在许多缺陷,同时,在这次课程设计中,李亚非老师给了我们许多指点,让我们获益匪浅。
参考文献
[1]、陈书旺,张秀清,董健彬.传感器应用及电路设计[M].北京:化学工业出版社,2008
[2]、纪宗南.集成A/D转换器应用技术与实用线路[M].北京:中国电力出版社,2009
[3]、赖麒文.8051单片机嵌入式系统应用[M].北京:科学出版社,2002
[4]、胡汉才.单片机原理及接口技术[M].北京:清华大学出版社,2004
[5]、Myke Predko.精通8051程序设计[M].北京:人民邮电出版社,2006
[6]、/view/dcfd127e5acfa1c7aa00ccb0.html (百度文库)
[7]、/view/545294c758f5f61fb73666bd.html (ADC0832)
附录1总接线图
附录2
A_0832_CS EQU P3.5 ; CS A/D模块总开关
A_0832_CLK EQU P3.4 ; CLK 时钟信号
A_0832_DI EQU P3.3 ; DI数据信号输入,选择通道控制
A_0832_D EQU P3.3 ; DO数据信号输出,转换数据输出A_0832_T EQU 40H ; 读取时的脉冲计数
A_0832_DA EQU 41H ; 数据所存位置
ORG 0
LJMP AD
ORG 30H
AJMP MAIN
ORG 60H
MAIN:MOV B,80H
DJNZ A_0832_DA,MAIN2
AJMP RED
RED:SETB P1.1
LJMP DELAY
CPL P1.1
AJMP RED
MAIN2:DJNZ B,MAIN
SETB P1.0
AD: LCALL ADC_RD
MOV A,A_0832_DA
AJMP $
ADC_RD:
MOV A_0832_T,#8
CLR A_0832_CLK
CLR A_0832_CS
SETB A_0832_DI ;START
SETB A_0832_CLK ; 第一个上升沿
NOP
NOP
NOP
CLR A_0832_CLK
NOP
NOP
SETB A_0832_DI ; 选择CH1,通过组合选取通道(SGL/DIF) NOP
SETB A_0832_CLK ; 第二个上升沿
NOP
NOP
NOP
CLR A_0832_CLK
NOP
NOP
SETB A_0832_DI ; 选择CH1,通过组合选取通道(ODD/SIGN) NOP
SETB A_0832_CLK ; 第三个上升沿
NOP
NOP
NOP
CLR A_0832_CLK ; 首个下降沿
NOP
NOP
NOP
SETB A_0832_CLK
NOP
NOP
A_0832_RD: ; 读取前,8位
CLR A_0832_CLK
NOP
NOP
NOP
SETB A_0832_CLK
MOV C,A_0832_D
RLC A
DJNZ A_0832_T,A_0832_RD
MOV A_0832_DA,A
RR A
MOV A_0832_T,#7
A_0832_RD1: ; 读后7位,+前1位
CLR A_0832_CLK
NOP
NOP
NOP
SETB A_0832_CLK
MOV C,A_0832_D
RRC A
DJNZ A_0832_T,A_0832_RD1
CJNE A,A_0832_DA,ADC_RD
SETB A_0832_CS
RET
DELAY:MOV 81H,#03H
DL0:MOV 82H,#03H
DL1:DJNZ 82H,DL1
DJNZ 81H,DL0
END。