基于ATmega16单片机的超声测距系统研究
王晋
【摘 要】摘要:随着超声技术的不断发展,超声测距技术不断成熟。本文针对目前超声测距的应用情况,采用ATmega16单片机作为主控芯片,设计了一种的超声测距系统。该系统以空气中超声波的传播速度为确定条件,利用发出超声波和返回波之间的时间差来测量待测距离。系统的硬件电路主要由发射电路、接收电路、检测电路、显示电路、温度电路等组成,最后对超声测距软件的实现进行了编程。该系统采用非接触式测量方法,具有很好的抗干扰能力,并且具有使用方便、价格便宜等优点。 【期刊名称】电子设计工程 【年(卷),期】2016(024)016 【总页数】4
【关键词】ATmega16;超声测距;超声波;非接触式测量
随着计算机技术、自动化技术、工业控制技术以及工业机器人技术的发展,如何进行测距和识别成为人们越来越关心的问题。传统的接触式测量仪器是利用卷尺等进行测量,这种测量方法在复杂的结构中具有测量不准确以及测量困难等缺点。在非接触测距仪器中,现在常用的有超声波、激光和雷达测距[1]。但由于激光和雷达的造价高,并不利于普及。相比之下,超声波测距具有测量准确、指向性强、信息处理可靠等优点,已经越来越引起人们的重视。目前,超声测距在机器人避障、自动测距、无损检测、超声定位以及汽车倒车等方面已经有了广泛的应用[2]。
文中介绍了一种以ATmega16单片机为核心,具有液晶显示和温度补偿的低成
本、高精度、微型化的超声测距系统。
1 超声测距系统的设计原理
1.1 超声测距系统的硬件组成
系统的主控芯片为AVR单片机中的ATmega16,ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾[3]。
本设计主要由ATmega16单片机、温度电路、液晶显示电路、超声波发射电路、超声波接收电路、检测电路、电源电路等部分,系统总体设计如图1所示。 超声波发射电路采用ATmega16中PD6口通过编程的方式输出40 kHz的脉冲信号。由于单片机管脚的输出功率较低,难以驱动超声传感器发射足够远的超声波,故在超声波发射电路中加上功率放大电路。
从接收探头接收回来的回波也很微弱,并且回波里还存在较多的干扰信号,所以在接收电路中采用一个放大电路和一个带通滤波电路。
接收电路输出的信号是一个正弦波信号,但单片机所接受的中断信号为下降沿触发信号,所以通过一个比较器,将正弦信号转变为方波信号,用方波信号的负跳变作为单片机的中断输入。
显示电路采用中文液晶显示器,通过单片机编程将内部计数得到的时间数据转换为距离数据,并显示出来。 1.2 超声测距传感器的选择
超声测距传感器具有多种结构,具体可分为直探头、斜探头、表面波探头、收发一体式探头和收发分体式双探头等。在超声测距系统中,工作频率越高,声
波在空气中传播的损失就越大,就会降低测量的距离。但是工作频率越低,传感器的尺寸就越大,会造成制造和安装的困难。故本设计选取的探头是40 kHz的收发分体式超声传感器TCRT16-40。 1.3 超声测距传感器的基本原理
超声测距的方法有脉冲回波法、共振法和频差法。在所有的超声测距方法中,脉冲回波法最为常用,它主要是利用超声测距传感器发出的声波信号,遇到障碍物体时发生反射,反射的回波被超声接收器接收并转化为电信号,只要测出发出信号和接收信号之间的时间差t,就可以测得超声测距传感器和障碍物之间的距离d:
式中v是超声波在气体中的传播速度,它与气体的温度有关: 式中T为空气温度k(绝对温度)。
在常温20摄氏度下,声音在空气中的传播速度为344m/s。当需要精确的进行超声测距时,需要进行温度补偿[4]。
2 系统的硬件设计
2.1 超声波发射电路
超声波发射电路是用ATmega16的PD6口发射一组方波脉冲信号,但是其发出的信号电流和输出功率很低,不足以驱动超声波传感器发出足够强度的超声波信号,所以在此处加入一个功率放大电路,如图2所示。
本系统设计采用的是双电源乙类互补推挽功率放大电路,Q1和Q2分别为NPN和PNP型三极管,两个三极管的基极和发射极相互连接,信号从两管的基极输入,从发射极输出,RL为负载电阻。当没有信号输入时,两管的基极电位为零,所以Q1和Q2处于截止状态;当输入信号处于负半周时,Q1截止,