AT89S52单片机的超声波倒车雷达系统的设计

控制/MCU

1878人已加入

描述

AT89S52单片机的超声波倒车雷达系统的设计

0 引言

    超声波是一种在弹性介质中的机械震荡,由于其指向性强、能量消耗缓慢、传播距离较远等到优点,经常用于测量距离。本文设计的倒车雷达系统就是利用超声波的上述特性做到对倒车距离实时和高精度的检测,同时,此系统成本低、设计简单、精度和稳定性好,有望得到广泛的应用,从而减少交通事故的发生。

1 超声波测距原理

    超声波测距原理是利用超声波从发射到接收过程中传播的时间来计算出传播距离。本文的倒车雷达系统采用反射接收回波方式。设l为测量距离,t为往返时间差,超声波的传播速度为c,则有t=2l/c,而声波在空气中传输速率为AT89S52。式中T为环境温度;cO为绝对温度时的速度,是常数。从上述两式可以推出AT89S52,故利用超声波测量的距离与时间和环境温度有关,在本系统中利用AT89S52中的定时器测量超声波传播时间,利用DSl8820测量环境温度,从而提高测距精度。

2 硬件设计

2.1 系统硬件总体设计

    如图1所示,本系统硬件部分由AT89S52控制器、超声波发射电路、接收电路、温度测量电路,声音报警电路和LCD显示电路组成。汽车行进时LCD显示环境温度,当倒车时,发射和接收电路工作,经过AT89S52数据处理将距离也显示到LCD上,如果距离小于设定时,报警电路会鸣叫,提醒司机注意车距。AT89S52是主控芯片,支持在线下载程序,方便调试,有8kB的Flash、32个I/O口、三个16位定时/计数器、八个中断源、全双工UART串行口和看门狗定时器等,资源丰富,既满足了本系统的设计要求,也满足了日后扩展的需求。

AT89S52


2.2 超声波发射电路

    超声波发射器包括超声波产生电路和超声波发射控制电路两部分,超声波探头选用CSB40T。可采用软件发生法和硬件方法产生超声波。本系统利用软件产生40kHz的超声波信号,经过74HC04两次和一次反向放大驱动后输出到CSB40T,如图2所示。

AT89S52


    74HC04是一个高速CMOS六反相器,具有对称的传输延迟和转换时间,而相对于LSTTL逻辑IC,它的功耗减少很多。对于HC类型,其工作电压为2~6V,它具有高抗扰度,可以兼容直接输入LSTTL逻辑信号和CMOS逻辑输入。

2.3 超声波接收电路

    由于超声波在空气中传播,其能量会随传输距离的增大而减小,从远距离障碍物反射的回波信号一般比较弱,所以在设计超声波接收电路时,要有较大的放大倍数;为减小环境噪声对回波信号的影响,也要考虑选用滤波特性较好的电路,使回波易于检测。超声波接收电路使用集成电路CX20106A,可用来完成信号的放大、限幅、带通滤波、峰值检波和波形整形等功能,如图3所示。


AT89S52


    其中的前置放大器具有自动增益控制功能,可以保证在超声传感器接收较远反射信号输出微弱电压时,放大器有较高的增益,在近距离输入信号强时放大器不会过载;其带通滤波器中心频率可由芯片5脚的外接电阻调节,不需要外接电感,可避免外磁场对电路的干扰,可靠性较高。CX20106A接收超声波有很高的灵敏度和抗干扰能力,可以满足接收电路的要求。同时,使用集成电路也可以减少电路之间的相互干扰,减小电噪声。当接收到40kHz信号后,芯片7脚会出现较短的低电平,接入单片机便可以使单片机产生中断。

2.4 温度测量电路

    由于超声波的传播速度v会受温度、湿度、压强等的影响,其中温度的影响尤为严重。因此在测量精度要求高的场合,应通过温度补偿对超声波的传播速度进行校正,以减小误差。

    本系统采用DALLAS公司的DSl8820数字式温度传感器进行温度测量,它所测量的温度值用9位二进制数直接表示,这些值通过DSl8820的数据总线直接输入CPU,无需A/D转换,而且读写指令、温度转换指令都是通过数据总线传入DSl8820,无需外部电源。DSl8820数字温度传感器与AD590、LM35等温度传感器相比,具有相当的测温范围和精度,温度测量精确、不受外界干扰等优点。硬件结构如图4所示。

AT89S52


2.5 显示电路

    本系统中的显示部分采用1602LCD液晶显示。具体接口如图5所示。

AT89S52

    如上图,有两组电源,一组是模块的电源 一组是背光板的电源 均为5V供电。R3是调节对比度的引脚,调节此脚上的电压可以改变黑白对比度。RS是很多液晶上都有的引脚,是命令/数据选择引脚,该脚电平为高时表示将进行数据操作;为低时表示进行命令操作。RW也是很多液晶上都有的引脚,是读写选择端,该脚电平为高时表示要对液晶进行读操作;为低时表示要进行写操作。同样,很多液晶模块有E引脚,通常在总线上信号稳定后给一正脉冲通知把数据读走,在此脚为高电平的时候总线不允许变化。DO~D7 8位双向并行总线,用来传送命令和数据。BLA是背光源正极,BLK是背光源负极。

3 软件设计

    本系统的软件设计采用模块化设计,由主程序、超声波发射子程序、超声波接收子程序、温度补偿子程序、报警子程序以及显示子程序组成。主程序流程图如图6所示。

AT89S52


    超声波倒车雷达系统,最重要的就是对发射信号的控制及接收测量的时机控制。在设计中,AT89S52对发射的控制就是对40kHz方波产生电路的控制。由AT89S52的Pl.0口控制超声波发射电路以6个脉冲的序列发射出去,在程序中用延时实现。脉冲发射同时打开定时器T0开始计时,发射后等待1ms打开外部中断INT0,等待回波反射到接收探头。等待1ms的原因是,超声波发射探头发射的超声波一般都会存在余波干扰,有部分声波会直接传到接收探头,经接收电路放大后,系统就会把它误认为是检测的回波信号,发射后等待1ms可以避免检测到余波信号,当然这也会导致测量盲区的存在。

4 结论

    为了证明本文设计的倒车雷达系统的可靠性,在内部进行了实地测量。本系统测距范围为0.2~5m。最大误差小于3cm。因此,本系统具有工作稳定、抗干扰能力强、灵敏度高的特点。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分