用MC68HC705J1A实现超声波汽车倒泊防撞报警器的设计

发布者:江上HZ最新更新时间:2012-04-16 来源: eefocus关键字:报警器  超声波  单片机 手机看文章 扫描二维码
随时随地手机看文章

超声波汽车倒泊防撞报警器是超声波测距的一个重要应用。在汽车倒泊时,利用超声波的反射可以探测汽车尾部与障碍物之间的距离,提供多级声光报警。本文介绍一种以MC68HC705J1A单片机为核心的低成本超声波汽车倒泊防撞报警器的设计方法,该报警器的感应时间小于0.5s,测距精度可达0.1m。

1 超声波测距原理

超声波测距原理是根据超声波遇到障碍物后可反射回来的特性,记录发射信号到收到第一个反射信号的时间t,利用公式s=c·t/2,计算出距离s。其中c是声速,标准状态下声速c=331.4m/s。超声波测距原理如图1所示。

 

2 超声波汽车倒泊防撞报警器的组成

超声波汽车倒泊防撞报警器的组成如图2所示。

 

报警器只在汽车倒泊时才使用,采用倒车灯的电源+12V供电。倒车时障碍物可能在车的后面,也可能在车的侧面。为了保证各种情况下探测障碍物的准确性,采用双路探测结构,取两路中距离较短的一路作为有效探测距离。超声波探测头具有电声转换和声电转换两种功能,分时用于发送信号和接收信号。声光报警电路由单片机直接控制,利用不同的蜂鸣器鸣叫声音和不同颜色的LED闪动实现多段报警。

3 超声波汽车倒泊防撞报警器的硬件电路设计

超声波汽车倒泊防撞报警器的硬件电路原理如图3所示(图中只给出了一路检测电路,另一路与此相同)。

[page]

MC68HC705J1A单片机是Motorola公司J系列单片机中性能价格比最高的单片机之一,广泛应用于各种中小型检测控制系统中。MC68HC705J1A是一个具有1240字节EPROM/OTPROM的8位微控制器,主要硬件资源有:1240字节EPROM、64字节RAM、14个双向输入/输出端口、多功能计数器、外部中断等,同时具有看门狗和非法地址检测、无最小时钟频率选择等特点。在超声波汽车倒泊防撞报警器中,充分利用其双向并行口的输入和输出功能,进行信号的发送、接收及声光报警等控制。

超声波探测头选频频率为40kHz方波,由软件在单片机的发送管脚PA6和PA7上直接产生20个方波脉冲,再通过变压器升压变换,经超声波探测头发射出去。由于传感器本身的恢复过程,发射结束后仍有不大于500μs的阻尼震荡。发射信号同时回送到接收电路。

发射信号遇到障碍物后反射回来,由同一超声波探测头接收并送到接收电路。接收电路对反射信号进行多级放大和检波,最后通过开关电路到达单片机的接收管脚PA0或PA1。当接收电路有信号时,开关三极管Q1导通,PA0或PA1为低电平;否则,三极管截止,PA0或PA1为高电平。检测PA0或PA1的管脚状态,就可以得到超声波探测头接收到第一个反射信号的时刻,从而计算出从发送信号到接收到第一个反射信号的时间,再进一步计算出障碍物与汽车的距离。发射信号波形、接收电路信号波形和单片机接收管脚信号波形如图4所示。

4 超声波汽车倒泊防撞报警器的软件设计

超声波汽车倒泊防撞报警器的软件采用汇编语言。程序流程如图5所示。

 

系统联调时发现,当检测环境比较复杂时,检测值会出现常数0或随机数的现象,因此,实际检测并不是以一次检测值进行计算的,而是将本次检测值与之前连续9次的检测值(共10次)进行比较(取平均值),从而得出一个最终检测结果,再计算出距离,根据距离所属的范围报警。检测一次所需时间为50ms。[page]

一般报警程序中所需的时间参数都是由定时器通过硬件计数进行中断控制,但是超声波检测中,在发射信号期间不允许中断,否则导致发射信号频率不精确;同时在检测过程中如果产生定时器中断,也会给计数带来误差。因此,报警程序不采用中断方式,而是将检测报警所需的时间参数与单次检测时间(50ms)结合起来,将蜂鸣器的鸣响频率和LED的闪动频率规定为500ms,即检测10次的时间。报警时间参数与检测次数之间的关系如表1所示。

 

检测主程序如下:

org 0300h

lda #00

sta counta ;报警计数器清0

lda #$fd

sta portad ;设置A口输入/输出方向

lda #$ff

sta portbd ;设置B口输入/输出方向

ldx buffer ;缓冲区首地址 → x

transmit: jsr transp ;调用发射20个脉宽为250μs方波子程序

jsr del450μs ;延时450μs

lda #00

sta ,x ;用于计时的缓冲单元清0

next: lda porta ;检测处理器接收管脚是否为低电平

and #$03

cmp #$02

bne check ;检测到低电平,退出计时

cmp #$01

bne check ;检测到低电平,退出计时

cmp #$03

bne check ;检测到低电平,退出计时

jsr del20μs

inc ,x ;计时缓冲单元内容加1

lda #$max

cmp ,x ;判断计时值是否超过限定最大值max

beq check ;若超过,退出计时

jmp next ;否则,继续检测计时

check: incx ;缓冲区地址加1

jsr distance ;调用计算距离子程序

jsr aver ;调用求平均值子程序,同时设置距离标志flag和报警参数

jsr alarm ;调用报警子程序,根据报警参数报警

jsr del30ms ;延时30ms

jmp transmit ;继续下一次检测

end

实际使用证明,该报警器性能比较稳定,已达到实用要求。硬件设计中充分考虑了反射信号的复杂性和不稳定性,对反射信号进行了一系列的滤波、放大与检波处理。软件设计采用结构化程序设计思想,结构简洁,尤其是独特的报警算法,避免了定时器中断对检测精度的影响。

分析可知,该报警器在性能上还可以做如下改进:

(1)采集数据的处理算法问题。该报警器采用的是连续10次采集数据求平均值的处理算法。当环境比较复杂时,采集数据会出现0或随机数情况,对平均值算法的结果有很大影响,不利于测距精度的提高,所以选择优化算法是软件设计仍需改进的难点之一。

(2)改进采样方式。该报警器采用查询方式采样数据,查询一次的步长是50ms,因此每次采样的最大误差是50ms。如果采用其它方式检测,例如中断方式,还可以将采样误差控制到最小。

(3)温度对声速的影响。如果考虑环境温度变化对声速的影响,硬件设计中必须进行温度检测,在软件中进行温度补偿计算,进一步减小测距误差,使性能更加稳定。

关键字:报警器  超声波  单片机 引用地址:用MC68HC705J1A实现超声波汽车倒泊防撞报警器的设计

上一篇:四种电动汽车路线分析
下一篇:高性能车载电脑设计指南

推荐阅读最新更新时间:2024-05-02 22:00

一种基于C51单片机的非抢占式的操作系统架构
摘 要:从Keil C51的内存空间管理方式入手,着重讨论实时操作系统在任务调度时的重入问题,分析一些解决重入的基本方式与方法:分析实时操作系统任务调度的占先性,提出非占先的任务调度是能更适合于Keil C51的一种调度方式。为此,构造这一实时操作系统,并有针对性地介绍此系统的堆管理方法、任务的建立以厦任务的切换等。 关键词:51单片机 实时操作系统 任务重八调度 目前,大多数的产品开发是在基于一些小容量的单片机上进行的。51系列单片机,是我国目前使用最多的单片机系列之一,有非常广大的应用环境与前景,多年来的资源积累,使51系列单片机仍是许多开发者的首选。针对这种情况,近几年涌现出许多基于51内核的扩展芯片,功能越来越齐全,速
[单片机]
一种基于C51<font color='red'>单片机</font>的非抢占式的操作系统架构
关于单片机应用系统架构的几点见解
可能大部分单片机工程师对于开发都没有架构的概念,认为架构只存在于处理器设计,软件工程等听起来很高大上的领域,这种想法是不对的!在嵌入式领域,无论电路板设计还是程序设计,都需要一个优质的架构,它是做出高质量产品的一个重要保证!本文从以下几个方面讲述单片机应用系统架构: 作者并非从事硬件或者电路板设计工作,因此对此稍作讲解。在电路板设计初期,首先考虑电路板功能、功耗、体积、稳定性、抗干扰性等要求,然后据此设计原理图和PCB,它决定了单片机应用系统的硬件结构,是产品设计的重要阶段,最后SMT将电子部件装在电路板上,进行电气测试。良好的电路板设计需要一位经验丰富的电子工程师,当然了电路板设计需要长期的优化,升级过程。 关于软件架构
[单片机]
基于状态机的51单片机独立按键检测与消抖思路
状态机的按键检测思路2 先回顾一下定义: 状态机有如下性质 按键状态机发生状态迁移的条件 如何准确检测条件是否发生并进行状态迁移 确保状态机能稳定地进行迁移 按键消抖的原理:状态切换 按键操作触发的时机 先回顾一下定义: 按键从未按下到按下,再到弹起,可以视为一个有4个状态的有限状态机。 分别是未按下、前沿抖动、按下、后沿抖动。 即按键只在这4个状态间进行迁移,而且是当条件满足时按一定的顺序进行迁移: 未按下­­(条件1)­ 前沿抖动­­(条件2)­ 按下­­(条件3)­ 后沿抖动­­(条件4)­ 未按下 当且仅当条件成立时,才进行状态的迁移,当条件不成立时,状态机会保持当前状态不变。 状态机有如下性质 1.状态机会在条件满足时
[单片机]
基于状态机的51<font color='red'>单片机</font>独立按键检测与消抖思路
面向超低功耗设计的微控制器功效优化方案
不论是消费、工业还是医疗应用,功耗优化一般都是通过缩短有效处理时间以及延长处理器睡眠模式时间来实现的。不过,随着超低功率应用的出现,这种方法已然无法满足要求。单 电池 工作、接近电池阈值的充放电,电机和/或高亮 LED 的控制需求,以及减小器件外形尺寸并降低成本,种种趋势已经改变了开发人员的功耗优化方式。   对于电动牙刷、PMP、遥控器、无线 传感器 以及其它便携和手持式设备来说,必须将功率管理贯穿于系统的各个层面。通过高效单电池电压转换优化功耗、利用多种电流模式、引入智能电池管理、在应用级采用节能技术,便可以在整个系统范围实现功耗调节。    高效的电压转换   许多超低功率应用都在向单电池架构方向发展,以降低器件成本,减小
[嵌入式]
面向超低功耗设计的<font color='red'>微控制器</font>功效优化方案
基于GPRS的ARM7嵌入式单片机视频报警系统
  利用以单片机应用系统为中心的小型嵌入式设备进行数据采集,并通过网络有效传输数据,已成为数据采集领域的研究焦点。由于嵌入式单片机系统集单片机和嵌入式系统为一体,因此嵌入式单片机系统广泛应用于那些对实时性、高速性和智能性要求很高的应用领域。目前计算机图像处理系统多为CCD摄像头+视频卡+计算机的工作模式,且结构复杂、成本高、体积庞大,受计算机操作系统的限制,图像处理实时性差。针对传统的图像采集系统的缺陷,本文讨论了基于ARM7S3C44BOX系列32位单片机的嵌入式系统在图像采集中的应用。    1 嵌入式影像系统对图像的处理   1.1 ARM7体系结构   ARM处理器是高性能、低功耗嵌入式微处理器,是目前32位、
[嵌入式]
Silicon Labs推针对电机控制而优化的8位MCU
Silicon Labs(芯科实验室有限公司)宣布推出针对低成本电机控制应用而设计的高集成度、功能丰富的8位微控制器(MCU)。新型的C8051F85x/6x MCU具有高级模拟和通信外设、2kB-8kB Flash存储器、高性能、小封装和低价格,使得它们非常适合无刷直流电机控制等应用,例如遥控直升机和汽车、个人电脑和电风扇、电动工具和小家电。F85/6x MCU也非常适合其它消费和工业类应用,例如电源、电池充电器、机顶盒、投影机、照明设备和光收发模块。此外,这些经过AEC-Q100认证的MCU也能用于汽车车身电子应用中,例如电动车窗升降器和电动座椅等。 当今的嵌入式开发人员正在寻求低成本的混合信号MCU解决方案,这些方案需
[单片机]
选择微控制器十个步骤
选择适合某个产品使用的微处理器是一项艰巨的任务。不仅要考虑许多技术因素,而且要考虑可能影响到项目成败的成本和交货时间等商业问题。 在项目刚启动时,人们经常压抑不住马上动手的欲望,在系统细节出台之前就准备微控制器选型了。这当然不是个好主意。 在微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的决策。此时遵循以下10个简单步骤可确保做出正确的选择。 步骤1:制作一份要求的硬件接口清单 利用大致的硬件框图制作出一份微控制器需要支持的所有外部接口清单。有两种常见的接口类型需要列出来。第一种是通信接口。 系统中一般会使用到USB、I2C、SPI、
[单片机]
选择<font color='red'>微控制器</font>十个步骤
【51单片机】DAC0832制作信号发生器(方波,三角波,锯齿波)
1 A/D与D/A 将模拟量转换为数字量称为模数转换(A/D转换),模拟量是连续的,比如电压、电流等,可以连续变化的量;数字量是离散的,对应于计算机中的位,每一个位只能是0或1,是不存在中间状态的。通过模数转换原件将模拟量转化为数字量输入计算机,以便计算机进行计算、存储等(这里说的计算机指具有cpu芯片的计算系统)。 模数转换中运用到了微分思想。如下图所示: 将连续的信号转换成一系列接近的离散的值,分割的越窄,就能表现得越精确。 数模转换(D/A转换)与模数转换的效果相反,是输入控制的数字量,经过D/A转换器输出模拟量。 2 电路与元器件 80C51芯片是intel公司开发的MCS-51系列单片机中的经典的一种。 DAC0
[单片机]
【51<font color='red'>单片机</font>】DAC0832制作信号发生器(方波,三角波,锯齿波)
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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