课程设计(论文)-车距自动测试系统设计.doc_第1页
课程设计(论文)-车距自动测试系统设计.doc_第2页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目录 摘要摘要 2 2 1.1.设计要求设计要求 3 3 2.2.设计思路设计思路 3 3 2.1 超声波传感器及其测距原理3 3 3.3.系统组成系统组成 5 5 3.1 硬件部分5 5 3.2 软件部分6 6 4.4.系统硬件电路设计系统硬件电路设计 6 6 4.1 超声波检测接受电路8 8 5.5.系统程序设计系统程序设计 9 9 5.1 超声波测距器的算法设计9 9 5.2 主程序.1111 5.3 超声波发生子程序和超声波接收中断程序.1212 6.6.软硬件调试及性能软硬件调试及性能 1111 设计总结设计总结 1212 参考文献参考文献 1313 附录附录 1414 2 车距自动测试系统设计 摘要 为减少汽车碰撞事故的发生,汽车碰撞技术在近年发展很快。汽车 避撞技术首先需要解决的问题是汽车之间的安全距离,当汽车与汽车之 间的距离小于安全距离时,就应该能够自动报警。本文给出了高速防撞 器的核心部分:车距报警器的设计方法。我设计了一款安装于车前车 尾的便携式系统,能在汽车停车、倒车以及行使过程中自动监控汽车与 其它汽车、人和障碍物之间的距离,如果距离小于规定的 1.5 米安全距 离则报警,防止恶性事故的发生。 3 1.设计要求 设计一个车距自动测距器,要求测量范围在 0.10-3.00m,测量精度 1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。 2.设计思路 2.1 超声波传感器及其测距原理 超声波是指频率高于 20khz 的机械波。为了以超声波作为检测手段, 必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器, 习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收 器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波 传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声 波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声 振动转换成电信号。 超声波测距的原理一般采用渡越时间法 tof(timeofflight) 。首 先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的 速度就得到二倍的声源与障碍物之间的距离 测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测 距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空 气中的传播速度为 331.45 米/秒,由单片机负责计时,单片机使用 12.0m 晶振,所以此系统的测量精度理论上可以达到毫米级。由于超声 波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用 4 于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简 单,并且在测量精度方面也能达到要求。 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类 是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压 电式超声波换能器来实现。 根据设计要求并综合各方面因素,可以采用 at89s51 单片机作为主 控制器,用动态扫描法实现 led 数字显示,超声波驱动信号用单片机的 定时器完成,超声波测距器的系统框图如下图所示: 1 1 2 2 3 3 4 4 dd cc bb aa title numberrevisionsize a4 date:2008-1-9sheet of file:e:屈0123qht.schdocdrawn by: q1q4q3q2 100pf c? cap semi 100pf c2 12 12kz p00 39 int2 12 int1 13 p01 38 p02 37 p05 34 p03 36 p06 33 p07 32 p04 35 p23 24 p21 22 p22 23 p24 25 p25 26 p26 27 p20 21 p27 28 rxd 10 txd 11 ale 30 psen 29 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 t1 15 t0 14 reset 9 ea/vp 31 x1 19 x2 18 rd 17 wr 16 89s51 r1r2r3r4 vcc 100pf c1 100pf c0 1k r0 vcc 图 2.1 超声波测距器系统设计框图 3.系统组成 3.1 硬件部分 5 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收 电路三部分组成。采用 at89s51 来实现对 cx20106a 红外接收芯片和 tct40-10 系列超声波转换模块的控制。单片机通过 p1.0 引脚经反相器 来控制超声波的发送,然后单片机不停的检测 int0 引脚,当 int0 引脚 的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数 据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间 的距离。 3.2 软件部分 主要由主程序、超声波发生子程序、超声波接收中断程序及显示子 程序等部分。 4.4.系统硬件电路设计系统硬件电路设计 单片机采用 89s51 或其兼容系列。采用 12mhz 高精度的晶振,以 获得较稳定的时钟频率,减小测量误差。单片机用 p1.0 端口输出超声 波转化器所需的 40khz 方波信号,利用外中断 0 口检测超声波接受电路 输出的返回信号。显示电路采用简单实用的 4 位共阳 led 数码管,段码 用 74ls244 驱动,位码用 pnp 三极管驱动。单片机系统及显示电路如下 图所示 6 1 1 2 2 3 3 4 4 dd cc bb aa title numberrevisionsize a4 date:2008-1-9sheet of file:e:屈0123qht.schdocdrawn by: q1q4q3q2 100pf c? cap semi 100pf c2 12 12kz p00 39 int2 12 int1 13 p01 38 p02 37 p05 34 p03 36 p06 33 p07 32 p04 35 p23 24 p21 22 p22 23 p24 25 p25 26 p26 27 p20 21 p27 28 rxd 10 txd 11 ale 30 psen 29 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 t1 15 t0 14 reset 9 ea/vp 31 x1 19 x2 18 rd 17 wr 16 89s51 r1r2r3r4 vcc 100pf c1 100pf c0 1k r0 vcc 图 4.1 单片机及显示电路原理图 超声波发射电路原理图如图所示: 1 1 2 2 3 3 4 4 dd cc bb aa title numberrevisionsize a4 date:2008-1-9sheet of file:e:屈0123qht2.schdocdrawn by: 100pf c2 330pf c1 1uf 1uf 1k r1 1k r2 1k r3 ls 6 2 3 4 5 71 8 cx20106a 1k r2 1k r1 ls vcc p1.0 74ls04 74ls04 74ls04 74ls04 74ls04 图 4.2 超声波发射电路原理图 压电超声波转换器的功能:利用压电晶体谐振工作。内部结构上图 所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其 7 频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动 共振板振动产生超声波,这时它就是一超声波发生器;如没加电压,当 共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电 信号,这时它就成为超声波接受转换器。超声波发射转换器与接受转换 器其结构稍有不同。 4.1 超声波检测接受电路 红外转化接收的电路采用集成电路 cx20106a,这是一款红外线检 波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常 用的载波频率 38khz 与测距超声波频率 40khz 较为接近,可以利用它作 为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。 适当改变 c4 的大小,可改变接受电路的灵敏度和抗干扰能力。 1 1 2 2 3 3 4 4 dd cc bb aa title numberrevisionsize a4 date:2008-1-9sheet of file:sheet1.schdocdrawn by: 100pf c2 330pf c1 1uf 1uf 1k r1 1k r2 1k r3 ls 6 2 3 4 5 71 8 cx20106a int0 图 4.3 超声波接收电路图 8 5.系统程序设计 超声波测距软件设计主要由主程序,超声波发射子程序,超声波 接受中断程序及显示子程序组成。下面对超声波测距器的算法,主程序, 超声波发射子程序和超声波接受中断程序逐一介绍。 5.1 超声波测距器的算法设计 超声波测距的原理,即超声波发生器 t 在某一时刻发出的一个超 声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器 r 所接受。这样只要计算出发生信号到接受返回信号所用的时间,就可 算出超声波发生器与反射物体的距离。 距离计算公式:d=s/2=(c*t)/2 *d 为被测物与测距器的距离,s 为声波的来回路程,c 为声速,t 为声波来回所用的时间 ,声速 c 与温度有关,如温度变化不大,则可 认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿 的方法加以校正。声速确定后,只要测得超声波往返时间,即可求得 距离。在系统加入温度传感器来监测环境温度,可进行温度被偿。这 里可以用 ds18b20 测量环境温度,根据不同的环境温度确定一声速提 高测距的稳定性。为了增强系统的可靠性,应在软硬件上采用抗干扰 措施。 不同温度下的超声波声速表 温度/ -30-20-100102030100 声速 c(m/s) 313319325323338344349386 9 5.2 主程序 主程序首先对系统环境初始化,设置定时器 t0 工作模式为 16 位的 定时计数器模式,置位总中断允许位 ea 并给显示端口 p0 和 p2 清 0。 然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射 器直接传送到接收器引起的直接波触发,需延迟 0.1ms(这也就是测距 器会有一个最小可测距离的原因)后,才打开外中断 0 接收返回的超声 波信号。由于采用 12mhz 的晶振,机器周期为 1us,当主程序检测到接 收成功的标志位后,将计数器 t0 中的数(即超声波来回所用的时间) 按下式计算即可测得被测物体与测距仪之间的距离,设计时取 20时的 声速为 344m/s 则有: d=(c*t0)/2=172t0/10000cm(其中 t0 为计数器 t0 的计数值) 测出距离后结果将以十进制 bcd 码方式 led,然后再发超声波脉冲 重复测量过程。主程序框图如下 系统初始化 发送超声波脉冲 等待发送超声波 计算距离 显示结果 0.5s 开始 图 5.1 主程序框图 10 5.3 超声波发生子程序和超声波接收中断程序 超声波发生子程序的作用是通过 p1.0 端口发送 2 个左右的超声波 信号频率约 40khz 的方波,脉冲宽度为 12us 左右,同时把计数器 t0 打 开进行计时。超声波测距器主程序利用外中断 0 检测返回超声波信号, 一旦接收到返回超声波信号(int0 引脚出现低电平),立即进入中断程 序。进入该中断后就立即关闭计时器 t0 停止计时,并将测距成功标志 字赋值 1。如果当计时器溢出时还未检测到超声波返回信号,则定时器 t0 溢出中断将外中断 0 关闭,并将测距成功标志字赋值 2 以表示此次 测距不成功。 开始 单片机初始化 定时中断子程序 有回波? 外部中断子程序 定时中断入口 发射超声波 定时器初始化 三方向发射完否? 停止发射 返回 图 1 主程序流程图 图 2 定时中断服务子程序 11 外部中断 入口 关外部中 断 读取时间 值 计算距离 结果输出 开外部中 断 返回 图 5.2 外部中断服务子程序 6.6.软硬件调试及性能软硬件调试及性能 超声波测距仪的制作和调试,其中超声波发射和接收采用 15 的 超声波换能器 tct40-10f1(t 发射)和 tct40-10s1(r 接收) ,中心频 率为 40khz,安装时应保持两换能器中心轴线平行并相距 48cm,其余 元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高 抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的 滤波电容 c4 的大小,以获得合适的接收灵敏度和抗干扰能力。 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试 运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和 两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路 参数和程序,测距仪能测的范围为 0.075.5m,测距仪最大误差不超 12 过 1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析, 不断优化系统使其达到实际使用的测量要求。 后续工作需实验后才能验证。 根据参考电路和集成的电路器件测距范围有限 10m 以内为好。 设计总结设计总结 本设计硬件简单,容易实现,测距范围适中。 测量误差可以控制在4cm 左右。超声测距系统显示单元和数据采 集相互独立,可以同时进行,保证了测距数据的实时性。 简洁的系统结构,良好的电磁抗干扰能力,特别是新颖的前方障碍 物自动检测功能。 上述类型的汽车车距检测系统设计方案是微控制器和超声波传感器 相结合的应用技术,是提高驾驶安全与体验的一个解决方案。由于系统 可以识别驾驶盲区内的障碍物,司机驾驶起来会更加得心应手。 通过方案比较,该基于微控制器技术倒车障碍物捡测系统比单纯用 硬件电路系统。方便灵活得多,因为可用充分发挥软件技术的优势,既可 根据运行与泊车环境需要增加功能又替代很多硬件电路。 13 参考文献 1张培仁,等. 基于 c 语言编程 mcs- 51 单片机原理与应用. 北京: 清华大学出版社,2002. 2. 康华光,等.电子技术基础. 北京: 高等教育出版社,1998. 3. 何希才传感器技术及其应用.北京航空航天大学出版社 2005 14 附录 以下是用汇编语言编写的超声波测距控制源程序: 采用 at89s51 12z 晶振 显示缓冲单元在,使用内存 44h、45h、46h 用于计算距 离 20h 用于标志 中断入口程序 vout equ p1.0 ;脉冲输出端口 org 0000h ljmp start org 0003h ljmp pint0 org 000bh ljmp intt0 org 0013h reti org 001bh ljmp intt1 org 0023h reti org 002bh reti 主程序 start: mov sp, #4fh mov r0, #40h ;4043h 为显示数据存放单元(40 为最高位) mov r7,#0bh cleardisp:mov r0, #00h inc r0 djnz r7, cleardisp mov 20h, #00h mov tmod, #21h ;t1 为 8 位自动重装模式,t0 为 16 15 位定时器 mov th0, #00h ;65ms 初值 mov tl0, #00h ;40khz 初值 mov th1, #0f2h mov tl1, #0f2h mov p0, #0ffh mov p1, #0ffh mov p2, #0ffh mov p3, #0ffh mov r4, #04h ;超声波脉冲个数控制(为赋值 的一半) setb px0 setb et0 steb ea clr 00h setb tr0 ;开启测距定时器 start1: lcall display jnb 00h, start1 ;收到反射信号时标志位为 1 clr ea lcall work ;计算距离子程序 setb ea clr 00h setb tr0 ;重新开启测距定时器 mov r2, #64h ; 测量间隔控制(约 4*100=400ms) loop: lcall display djnz r2, loop sjmp start 1 中断程序 ;t0 中断,65ms 中断一次 intt0: clr ea clr tr0 mov th0, #00h 16 mov tl0, #00h setb et1 setb ea setb tr0 ;启动计时器 t0,用以计算 超声波来回时间 setb tr1 ;开启发超声波用定时器 t1 out: reti ;t1 中断,发超声波用 intt1: cpl vout djnz r4,retiout clr tr1 ;超声波发送完毕,关 t1 clr et1 mov r4,#04h setb ex0 ;开启接收回波中断 retiout: reti ;外中断 0,收到回波时进入 pint0: clr tr0 ;关计数器 clr tr1 clr et1 clr ea clr ex0 mov 44h, tl0 ;将计数值移入处理单元 mov 45h, th0 setb 00h ;接收成功标志 reti *延时程序* dl1ms: mov r6, #14h dl1: mov r7, #19h dl2: djnz r6, dl2 djnz r6, dl1 ret 显示程序 ;40h 为最高位,43h 为最低位,先扫描高位 display:mov r1, #40h;g mov r5,#0f7h;g play:mov a, r5 mov p0, #0ffh 17 mov p2, a mov a, r1 mov dptr, #tab movca, a+dptr mov p0, a lcall dlims incr1 mov a, r5 jnb acc.0, endout;g rra mov r5, a ajmpplay endout;mov p2, #0ffh mov p0, #0ffh ret tab; db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0f fh,88h,0bfh ;共阳数码管 0 ,1, 2,3,4,5,6,7,8,9,不亮,a, *距离计算程序(=计算值17/1000cm) 近似 work:pushacc pushpsw pushb movpsw, #18h movr3, 45h movr2, 44h movr1, #00d movr0, #17d lcall mul2by2 movr3, #03h movr2, #0e8h lcalldiv4by2 lcalldiv4by2 mov40h, r4 mova, 40h 18 jnzjj0 mov40h, #0ah ;最高位为 0,不点亮 jj0:movar0 movr4, a movar1 movr5 a mov r3, #00d movr2, #100d lcalldiv4by2 mov41h, r4 mova, 41h jnzjj1 mova, 40h ;此高位为 0,先看最高位是否为不 亮 subba, #0ah jnzjj1 mov41h, #0ah ; 最高位不亮,次高位也不亮 jj1:mova, r0 movr4, a mova, r1 movr5, a movr3, #00d movr2, #10d lcall div4by2 mov42h, r4 mova42h jnzjj2 mova, 41h ;次高位为 0,先看次高位是否为不 亮 subba, #0ah jnzjj2 mov42h, #0ah ;次高位不亮,次高位也不亮 jj2:mov43h, r0 popb poppsw popacc ret 19 *两字节无符号数乘法程序 mul2by2:clra movr7, a movr6, a mov r5, a movr4, a mov46h, #10h mulloop1:clrc mova, r4 rlca movr4, a mova, r5 rlca movr5, a mova, r6 rlca movr6, a mova, r7 rlca mov r7, a mov a, r0 rlc a movr0, a mova, r1 rlca movr1, a jncmulloop2 mova, r4 adda, r2 movr4, a mova, r5 addca, r3 movr5, a mova, r6 addca, #00h movr6, a mova, r7 20 addca, #00h movr7, a mulloop2:djnz46h, mulloop1 ret 四字节/两字节无符号数除法程序 div4by2:mov46h, #20h movr0, #00h movr1, #00h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论