超声波测距-毕业论文设计

更新时间:2024-06-06 01:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

设计总说明:. ............................................................................................................................................ 3 ABSTRACT:. .............................................................................................................................................. 5 第一章:超声波测距原理论述 ............................................................................................................. 7

1.1 超声波介绍 .................................................................................................................. 7 1.2 超声波测距系统概述 .................................................................................................. 9 1.3 超声波测距的基本原理 ........................................................................................... 11 1.4 本课题的内容和任务 ............................................................................................... 12 第二章 AVR单片机介绍 ........................................................................................................................ 13

2.1 ATmega16结构框图 ................................................................................................ 16 2.2 AVR CPU 内核 ........................................................................................................... 19 2.3 AVR ATmega16存储器。 .......................................................................................... 19 2.4 AVR ATmega16系统时钟 .......................................................................................... 19 2.5 系统控制和复位 ....................................................................................................... 20 2.6 看门狗定时器 ........................................................................................................... 20 2.7 ATmega16 的中断向量(外部中断) ..................................................................... 20 2.8 具有PWM功能的8位定时器/ 计时器 ................................................................... 21 2.9 比较输出模式和波形产生 ....................................................................................... 22 2.10 T/C0 与T/C1 的预分频器 .................................................................................... 24 2.11 串行外设接口- SPI ............................................................................................. 24 2.12 串行外设接口-USART ........................................................................................... 25 2.13 模数转换器 ............................................................................................................. 25 2.14 JTAG 接口和片上调试系统 ................................................................................... 26 第三章 硬件电路的设计 ....................................................................................................................... 26

3.1 电源电路设计 ........................................................................................................... 26 3.2 复位电路设计 ............................................................................................................ 27 3.3 时钟电路设计 ........................................................................................................... 27 3.4 数码管显示电路 ........................................................................................................ 28 3.5 报警电路设计 ............................................................................................................ 30

第 1页 共 64页

3.6 温度补偿电路 ............................................................................................................ 31

3.6.1 温度计算 .......................................................................................................... 33 3.6.2 DSl820工作过程命令 ...................................................................................... 33 3.6.3时 序 ................................................................................................................. 33 3.6.4写时间隙 ........................................................................................................... 34 3.6.5读时间隙 ........................................................................................................... 34 3.6.6多路测量 ........................................................................................................... 34 3.7在线通信电路设计 ..................................................................................................... 35 第四章,超声波发射电路及接收电路的设计 ................................................................................. 36 4.1 超声波发射电路 .............................................................................................................................. 36

4.1.1压电陶瓷超声波传感器介绍 ........................................................................... 36 4.1.2发射电路原理图分析 ....................................................................................... 38 4.2 超声波接收电路 ....................................................................................................... 39

4.2.1 LC震荡选频电路设计: .................................................................................. 39 4.2.2比较电路的设计 ............................................................................................... 40 4.2.3 接收电路原理图分析 ...................................................................................... 41

第五章软件设计 ....................................................................................................................................... 43

5.1主程序流程图 ............................................................................................................. 44 5.2发射子程序设计 ......................................................................................................... 44 5.3温度测量子程序 ......................................................................................................... 44 5.4测量子程序 ................................................................................................................. 46 5.5计算子程序 ................................................................................................................. 46 5.6显示驱动子程序 ......................................................................................................... 47 5.7报警子程序 ................................................................................................................. 47 第六章 设计心得 ..................................................................................................................................... 49 致 谢 ............................................................................................................................................................ 50 参考文献 ..................................................................................................................................................... 51 附录 .............................................................................................................................................................. 52

第 2 页 共 64 页

基于单片机的超声波测距电路的研究

设计总说明:超声波因其指向性强,能量消耗缓慢,在介质中传播距离远等特点,而经常用于进行各种测量. 如利用超声波在水中的发射,利用超声波在固体中的传播,可以用作金属探伤、医用A 超、B 超等. 利用超声波测距,使用单片机系统,设计合理,计算处理也较方便,测量精度能达到各种场合使用的要求.

这篇应用性设计报告描述了一种基于AVR ATMEGA16低功耗单片机的超声波测距系统,本系统发射器对着一个物体发射一定频率的超声波同时接收同频率的超声波,单片机通过计算从超声波发射时刻到接收返回的超声波时刻从而确定超声波通过的时间,根据房间的温度来确定超声波在空气中的速度大概是340m/s , AVR单片机计算二者的距离同时用3个LED驱动电路驱动的LED来显示,显示距离误差大概是±1cm,最小能测量时1cm同时局限于发射器的传感器的设定时间,最大能测量4m,超声波测距发射距离决定与发射物的材质和形状,例如超声波可能被地毯吸收,这样测量的距离就大大的降低,假如反射波接收的频率太低就可能不被系统处理,这样显示就会出现错误。

1设计理论:

本设计应用基于声波的反射。声波在其传播的介质中被定义为纵波。当声波受到尺寸大于其波长的目标物阻挡时就会发生反射;反射波称为回声。如果声波在介质中传播的速度是已知的,而且测量到声波从声源到达目标然后返回声源的时间,从声源到目标的距离就可以精确地计算出来。这就是本应用的测量原理。这里声波传播的介质就是空气,采用不可见的超声波。 假设室内超声波的速度是340m/s则可以通过计算超声波通过时间来计算距离,但是实际温度对超声波影响很大,通过可以研究,速度和温度(T为绝对温度)存在一下关系 :

v?v01?Tm/s 273vo?340m/s

由于超声波通过的距离是2倍的实际距离,则实际距离是d/2,所以d?v?t/2 2 电路描述:

第 3页 共 64页

本设计用来发射和接收超声波的设备是40hz压电陶瓷超声波传感器,AVR ATMEGA16单片机驱动超声波发射器40hz的方波来源于晶振,波接收器接收回波 由于AVR ATMEGA16单片机的计时器计算40khz的分辨率是25us 是完全胜任我们的设计,我们系统的稳定性来源于晶振的工作。被超声波接收器超声波通过一个运算放大器放大对输入a放大,相对输入a输出超声波的同时触发单片机计时器timer1 ,捕获的回波被精确计算时间来计算距离。计数器从超声波发射开始计时到收到回波停止,时间被精确记录,我们可以通过DS18B20 芯片来确定室温,精确的确定超声波的速度,二者的距离通过 AVR ATMEGA16精确的计算同时在3个数码管上显示出来,一旦显示出来,单片机就进入休眠状态来节省电力能源。这篇设计的主要电路分析。

传感器的输出驱动电路直接由9V 电池供电并提供驱动超声波发射器由一个二进制非门CD4049电路实现的。其中一个非门用来为驱动器的一侧提供180 度的相移信号。另一侧由相内信号驱动。这种结构使输出端的电压提高了一倍,为发射传感器提供了足够的电压。两个门并联连接以便每一侧能够为传感器提供足够的驱动电流。电容耦合阻断了到传感器的直流通路。因为CD4049 工作于9V 而AVR ATMEGA16工作于Vcc=5V。 AVR ATMEGA16和输出驱动器之间的逻辑电平是不匹配的,可以双极性晶体管就作为这两种逻辑电平之间的转换器。

由LC选频放大器对超声波接收器接收的回波在40KHz 时提供充分的高增益。选择并丢弃除了40KHz 之外的频率。运算放大器的输出端连接到比较器LM393的输入端。 比较器LM393 的参考电平内部选择为0V。当接收到回声时电压高于参考电平从而触发比较器的输出。然后触发单片机的INT0.

本文在了解超声波测距原理的基础上,完成了基于时差测距原理的一种超声波测距系统的硬件设计,其中为了进一步提高系统测量精度和系统稳定性,在硬件上增加了温度传感器测温电路,采取声速预置和媒质温度测量相结合的办法对声速进行修正,降低了温度变化对测距精度的影响。针对噪声环境中超声波测距的情况,本文讨论了一种基于时延的估计方法,可有效地降低噪声对测距的干扰,有利于提高超声波测距系统的测量精度。

关键词:超声波测距 AVR atmega16 DS18B20

第 4 页 共 64 页

ABSTRACT: In different occasions , the demands of the precision on ultrasonic distance measuring system are different .Usually , the error of the ultrasonic distance measuring system is large , so they cannot be satisfied with the demands in some occasions. This article takes temper A Ture account into the ult rasonic distance measuring system and makes it have higher precision han before and increases the function of broadcasting the result . It can apply in more occasions and be felt more convenient .

This design application report describes a distance-measuring system based on ultrasonic sound utilizing the AVR atmega16 ultralow-power microcontroller. The system transmits a burst of ultrasonic sound waves towards the subject and then receives the corresponding echo. The time taken for the ultrasonic burst to travel the distance from the system to the subject and back to the system is accurately measured by the AVR atmega16. Assuming the speed of sound in air at room temperature to be 340m/s, the AVR atmega16 computes the distance between the system and the subject and displays it using a three-digit static LED driven by its integrated LED driver. The distance is displayed in inches with an accuracy of ±1 cm. The minimum distance that this system can measure is 1cm and is limited by the transmitter’s transducer settling-time. The maximum distance that can be measured is 4m. The amplitude of the echo depends on the reflecting material, shape, and size. Sound-absorbing targets such as carpets the maximum measurable range is lower for such subjects. If the amplitude of the echo received by the system is so low that it is not detectable by the Comparator the system goes out of range. This is indicated by displaying the error message 1 Theory of Operation

This application is based on the reflection of sound waves. Subjects whose Dimensions are larger than the wavelength of the impinging sound waves reflect them; the reflected waves are called the echo. If the speed of sound in the medium is known and the time taken for the sound waves to travel the distance from the source to the subject and back to the source is measured, the distance from the source to the subject can be computed accurately. This is the measurement principle of this application. Since it is inaudible to humans. Assuming that the speed of sound in air is v=340m/s at room temperature and that the measured time taken for the sound waves to travel the distance from the source to the subject and back to the source is seconds,as we know:

第 5页 共 64页

v?v01?Tm/s 273vo?340m/s

The distance d is computed by the formula d?v?t/2 Since the sound waves travel twice the distance between the source and the subject, the actual distance between the source and the subject will be d/2.

2 Circuit Description

The devices used to transmit and receive the ultrasonic sound waves in this application are 40-kHz ceramic ultrasonic transducers. AVR ATMEGA16 drives the transmitter transducer with 40-kHz square-wave signal derived from the crystal oscillator, and the receiver transducer receives the echo. The Timer1in the AVR is configured to count the 40-kHz crystal frequency such that the time measurement resolution is 25 μs, which is more than adequate for this application. The measurement time base is very stable as it is derived from a quartz-crystal oscillator. The echo received by the receiver transducer is amplified by an operational amplifier and the amplified output is fed to the Comparator_A input. The Comparator_A senses the presence of the echo signal at its input and triggers a capture of Timer_A count value to capture compare register timer1. The capture is done exactly at the instant the echo arrives at the system. The captured count is the measure of the time taken for the ultrasonic burst to travel the distance from the system to the subject and back to the system. The distance in inches from the system to the subject is computed by the AVR ATMEGA16 using this measured time and displayed on a two-digit static LED. Immediately after updating the display, the AVR goes to sleep mode to save power. The circuit schematic diagram of this application.

The output drive circuit for the transducer is powered directly from the 9-V battery and provides drive to the ultrasonic transmitter. The is achieved by a bridge configuration with hex inverter gates CD4049. One inverter gate is used to provide a 180-degrees phase-shifted signal to one arm of the driver. The other arm is driven by the in-phase signal. This configuration doubles the voltage swing at the output and provides the required to the transmitter transducer. Two gates are connected in parallel so that each arm can provide adequate current drive to the transducer. Capacitors block the dc to the transducer. Since the CD4049 operates on 9-V and the AVR ATMEGA16 operates on a VCC of 5 V, there is a logic

第 6 页 共 64 页

level mismatch between the AVR ATMEGA16 and the output driver circuit. Bipolar transistor acts as a logic-level shifter between these two logic levels.

Operational amplifier NPN is made of by Circuit ,This amplifier has a high-gain bandwidth and provides sufficiently high gain at 40 kHz. The amplified ultrasonic signal swings above and below this virtual midrail. provides selectivity and rejection of unwanted frequencies other than 40kHz. The output of the operational amplifier is connected to the ComparatorLM393 input of the ATMEGA16 via port pin INT0. The Comparator LM393 reference is internally selected to be 0.5VCC. When no ultrasonic echo is received, the voltage level at CA0 is slightly lower than the reference at LM393. When an echo is received, the voltage level increases above the reference and toggles the Comparator LM393 can be fine-tuned for the required sensitivity and the measurable range can be optimized and give the single to the ATMEGA16.

Based on the comprehension of measuring distance principle by ultrasonic, the paper completes an hardware design which based on time difference measuring distance theory , In order to improve the measurement accuracy and system stability further, we add a temperature sensor in the hardware design and adopt the improved method which combines sound velocity presetting with medium temperature measurement to mend the sound velocity. By this means, the influence of temperature variation on distance measurement is decreased.

Keywords: distance-measuring system based on ultrasonic AVR atmega16 DS18B20

第一章:超声波测距原理论述

1.1 超声波介绍

超声波是指振动频率大于20KHz以上的,人在自然环境下无法听到和感受到的声波。超声波因其可在气体、液体、固体、固熔体等介质中有效传播,可传递很强的能量,产生反射、干涉、叠加和共振现象。在液体介质中传播时,可在界面上产生强烈的冲击和空化现象。由于超声波与介质的相互作用,使介质发生物理的和化学的变化,从而产生一系列力学的、热学的、电磁学的和化学的超声效应,包括以下4种效应:

第 7页 共 64页

①机械效应。超声波的机械作用可促成液体的乳化、凝胶的液化和固体的分散。当超声波流体介质中形成驻波时 ,悬浮在流体中的微小颗粒因受机械力的作用而凝聚在波节处,在空间形成周期性的堆积。超声波在压电材料和磁致伸缩材料中传播时,由于超声波的机械作用而引起的感生电极化和感生磁化(见电介质物理学和磁致伸缩)。

②空化作用。超声波作用于液体时可产生大量小气泡 。一个原因是液体内局部出现拉应力而形成负压,压强的降低使原来溶于液体的气体过饱和,而从液体逸出,成为小气泡。另一原因是强大的拉应力把液体“撕开”成一空洞,称为空化。空洞内为液体蒸气或溶于液体的另一种气体,甚至可能是真空。因空化作用形成的小气泡会随周围介质的振动而不断运动、长大或突然破灭。破灭时周围液体突然冲入气泡而产生高温、高压,同时产生激波。与空化作用相伴随的内摩擦可形成电荷,并在气泡内因放电而产生发光现象。在液体中进行超声处理的技术大多与空化作用有关。

③热效应。由于超声波频率高,能量大,被介质吸收时能产生显著的热效应。

④化学效应。超声波的作用可促使发生或加速某些化学反应。例如纯的蒸馏水经超声处理后产生过氧化氢;溶有氮气的水经超声处理后产生亚硝酸;染料的水溶液经超声处理后会变色或退色。这些现象的发生总与空化作用相伴随。超声波还可加速许多化学物质的水解、分解和聚合过程。超声波对光化学和电化学过程也有明显影响。各种氨基酸和其他有机物质的水溶液经超声处理后,特征吸收光谱带消失而呈均匀的一般吸收,这表明空化作用使分子结构发生了改变 。

超声应用 超声效应已广泛用于实际,主要有如下几方面:

①超声检验。超声波的波长比一般声波要短,具有较好的方向性,而且能透过不透明物质,这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像技术。超声成像是利用超声波呈现不透明物内部形象的技术 。把从换能器发出的超声波经声透镜聚焦在不透明试样上,从试样透出的超声波携带了被照部位的信息(如对声波的反射、吸收和散射的能力),经声透镜汇聚在压电接收器上,所得电信号输入放大器,利用扫描系统可把不透明试样的形象显示在荧光屏上。上述装置称为超声显微镜。超声成像技术已在医疗检查方面获得普遍应用,在微电子器件制造业中用来对大规模集成电路进行检查,在材料科学中用来显示合金中不同组分的区域和晶粒间界等。声全息术是利用超

第 8 页 共 64 页

声波的干涉原理记录和重现不透明物的立体图像的声成像技术,其原理与光波的全息术基本相同,只是记录手段不同而已(见全息术)。用同一超声信号源激励两个放置在液体中的换能器,它们分别发射两束相干的超声波:一束透过被研究的物体后成为物波,另一束作为参考波。物波和参考波在液面上相干叠加形成声全息图,用激光束照射声全息图,利用激光在声全息图上反射时产生的衍射效应而获得物的重显像,通常用摄像机和电视机作实时观察。

②超声处理。利用超声的机械作用、空化作用、热效应和化学效应,可进行超声焊接、钻孔、固体的粉碎、乳化 、脱气、除尘、去锅垢、清洗、灭菌、促进化学反应和进行生物学研究等,在工矿业、农业、医疗等各个部门获得了广泛应用。

③基础研究。超声波作用于介质后,在介质中产生声弛豫过程,声弛豫过程伴随着能量在分子各自电度间的输运过程,并在宏观上表现出对声波的吸收(见声波)。通过物质对超声的吸收规律可探索物质的特性和结构,这方面的研究构成了分子声学这一声学分支。普通声波的波长远大于固体中的原子间距,在此条件下固体可当作连续介质 。但对频率在1012赫兹以上的特超声波 ,波长可与固体中的原子间距相比拟,此时必须把固体当作是具有空间周期性的点阵结构。点阵振动的能量是量子化的 ,称为声子(见固体物理学)。特超声对固体的作用可归结为特超声与热声子、电子、光子和各种准粒子的相互作用。对固体中特超声的产生、检测和传播规律的研究,以及量子液体——液态氦中声现象的研究构成了近代声学的新领域。

人类直到第一次世界大战才学会利用超声波,这就是利用“声呐”的原理来探测水中目标及其状态,如潜艇的位置等。此时人们向水中发出一系列不同频率的超声波,然后记录与处理反射回声,从回声的特征我们便可以估计出探测物的距离、形态及其动态改变。医学上最早利用超声波是在1942年,奥地利医生杜西克首次用超声技术扫描脑部结构;以后到了60年代医生们开始将超声波应用于腹部器官的探测。如今超声波扫描技术已成为现代医学诊断不可缺少的工具。作为一种成熟的技术,超声波的应用已经走进人类息息相关的生活中,是为不可或缺的工具。 1.2 超声波测距系统概述

第 9页 共 64页

当今社会科技日益发展,自动化控制在很多很多产业得到了全面的应用,自动化的测量方法也成了一个重要的方面,测量方法有很多种,例如红外测距,超声波测距等都得到了很好的应用,在科学研究工程实践中,经常会遇到非接触测量距离的问题。利用超声波作为定位技术是蝙蝠等一些没有目视能力的生物作为防御及捕捉猎物生存的手段,也就是由生物体发射不被人们听到的超声波(20KHZ以上的机械波),借助空气媒介传波,由障碍物反射回来的时间间隔长短与被发射的超声波的强弱判断障碍物性质或障碍位置的方法。由于超声波的速度相对于光速来说要小的多,其传波时间就比较容易检测,并且易于定向发射,方向性好,强度好控制,因而人类利用仿真技能进行超声波测距。超声波测距是一种利用声波特性、电子计数、光电开关相结合来实现非接触式距离测量的方法,在日常生活中具有广泛的用途。例如:用人造超声源在海水里发射,由回射超声波进行探测海洋潜艇位置、 鱼群以及确定海底的暗礁等障碍物形状及远近。利用人造超声波在固体里传播的时间确定物体的长度以及超声波在固体里遇到障碍物界面上的反射波来确定物体内部损伤(如裂缝、气孔及杂质等)位置,即无损探伤。在现代社会中,超声波已经融入我们的生活,例如超声波洗衣机,超声波趣闻器,超声波探测器等,超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差,然后计算出相应的距离。超声波测距系统由于不受光线、电磁波、粉尘等的影响,其精度能达到厘米数量级甚至毫米级的工程测距精度等的优点,在桥梁、隧道、涵洞等的距离检测中占有一定的优势。

在日常车道保障与维护过程中,工程车、充气车、电源车、加油车等诸多车辆常常需要在停车坪附近穿行、掉头或倒车。由于这些低速行驶的车辆之间非常接近,驾驶员的视野颇受限制,碰撞事故时有发生,在夜晚时则更显突出。利用超声波测距系统,可以有效地提高车辆在保障和维护过程中的安全性和可靠性。随着生活水平的不断提高,汽车进入家庭的消费意识的不断增强。中国城市汽车的保有量迅速增加。随之而来的是交通事故与日俱增,城市里尤其突出。发展智能交通系统是二十一世纪交通运输的重要发展方向。智能交通系统在充分发挥现有基础设施的潜力,提高运输效率。保障交通安全,缓解交通堵塞,改善城市环境等方面的卓越效能,已得到各级政府的广泛关注。我国政府也开始高度重视智能交通系统的研究开发与推广应用。因此智能型的测距系统的开发应用与汽车领域将起到非常大的作用,将有效地缓解交通压力,减少交通事故的发生率。 超声波测距系统的应用不仅仅大大减轻了测距人员的工作强度,对许多常规测

第 10 页 共 64 页

量所无法实现的检测进行因能进行有效地测量,进一步扩大了测量的广度,而且超声波测量本身具有很高的测量精度,因此对精度的提高也起到了一定的作用。 智能型超声波测距系统是进行交通管理的有效手段和工具,它可提高车辆距离检测的准确性,有利于交通运输的科学管理,降低对驾驶人员本身的素质要求。除了能大大减少工作量,更重要的是它能准确、定时、定量、高效地对距离进行测量。 现代超声波测距仪的研究使用在我国汽车行业还为数不多,与发达国家相比,有较大的差距,还基本停留在初级阶段,即使有些高档车配置有测距系统,也仅仅是少部分的进口车。 随着计算机技术和传感器技术的迅猛发展,计算机和传感器的价格日益降低,可靠性日益提高,用信息技术改造农业不仅是可能的而且是必要的。将高新技术应用与汽车产业,实施实时监测已成为我国汽车工业以及交通部门的一项重要任务,是减少我国交通事故发生的重要措施之一。

本文旨在设计一种能对中近距离障碍物进行实时测量的测距装置,它能对障碍物进行适时、适量的测量,实时监控的作用。 目前对于超声波精确测距的需求也越来越大,如油库和水箱液面的精确测量和控制,物体内气孔大小的检测和机械内部损伤的检测等。在机械制造,电子冶金,航海,宇航,石油化工,交通等工业领域也有广泛地应用。此外,在材料科学,医学,生物科学等领域中也占据重要地位。 1.3 超声波测距的基本原理

超声波是指频率高于20KHz的机械波,具有波长指向性好,反射强,传播性极佳,强度随距离衰减等诸多优点,为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,超声波发生器;如没加电压,当共振板接收到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接收转换器,但一个超声波传感器也可具有发送和接收声波的双重作用。利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。频率为40kHz左右的超声波在空气中传播的效率最佳;同时为了方便处理,单片机发射的超声波滤被调制成40kHz左右,具有一定间隔的调制脉

第 11页 共 64页

冲波信号。 超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。超声波传播速度对测距的影响很大,稳定准确的超声波传播速度是保证测量精度的必要条件,波的传播速度取决于传播媒质的特性。传播媒质的温度、压力、密度对声速 都将产生直接的影响。因此需对声速加以修正。对于测距而言,引起声速变化的主要原因是媒质温度的变化。本设计采用声速预置和媒质温度测量结合的方法对声速进行补偿,可有效地消除温度变化对精度的影响,可通过温度传感器DS18B20自动探测环境温度,确定计算距离时的波速

v?v01?Tm/s vo?340m/s 273同时利用单片机较精确地得出该环境下超声波经过的时间,提高了测量精确度。本设计的超声波测距系统主要由声波发射电路,回波接收电路以及温度检测电路,灵活性强,可靠性高,计算简单,成本低,易于做到实时控制等优点。得超声波往返的时间t,即可求得距离d?v?t/2,原理图如1所示:

DS18B20温测系统40khz方波AVR单片机控制系统比较电路功率放大单极性变双极性T40发射障碍物报警电路LC选频放大R40接收LED显示电路 图1单片机测距系统原理图

1.4 本课题的内容和任务

本论文主要研究基于单片机的超声波测距系统,分别对超声波发生电路、回波接收电路、数据采集电路、数码显示电路、报警电路及系统设备的软、硬件各个部分功能

第 12 页 共 64 页

模块进行了研究。设计一种能够在精确度在0.01m,测距在4m左右的模型,其主要内容如下:

1、系统硬件电路的设计

1) 根据测距技术的特点,进行超声波测距系统的整体研究与设计。 2) 针对温度对超声波传播速度影响,测量环境温度,确定超声波传播速度。 3) 对超声波发生电路进行论证和设计,用于产生用于测量的超声波。 4) 对超声波接收电路进行论证和设计,用于接收反射回来的超声波。 5) 单片机对对发送和接收波的时间进行测量,用于计算有效距离。 6) LED数码显示测量的距离值,以数字显示的方式显示测量的距离。 7) 当测量之间的距离低于设定的最低值时,系统将进行自动报警。 2、系统软件的设计 1)系统主程序的设计。 2)温度测量程序设计。 3)发送、接收子程序的设计。 4)LED显示程序的设计。 5)报警程序的设计。

第 13页 共 64页

第二章 AVR单片机介绍

AVR单片机是 Atmel 公司 1997 年推出的 RISC 单片机。RISC(精简指令系统计算机)是相对于CISC(复杂指令系统计算机)而言的。RISC 并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。RISC 优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。由于 AVR 采用了 RESC 的这种结构,使AVR系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。

AVR单片机吸收了 DSP 双总线的特点,采用 Harvard 总线结构,因此单片机的程序存储器和数据存储器是分离的,并且可对具有相同地址的程序存储器和数据存储器进行独立的寻址。

在 AVR单片机中,CPU 执行当前指令时取出将要执行的下一条指令放入寄存器中,从而可以避免传统 MCS51 系列单片机中多指令周期的出现。

传统的 MCS51 系列单片机所有的数据处理都是基于一个累加器的,因此累加器与程序存储器、数据存储器之间的数据转换就成了单片机的瓶颈;在 AVR 单片机中,寄存器由32个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。

AVR单片机具有良好的集成性能。AVR 系列的单片机都具备在线编程接口,其中的 Mega 系列还具备JTAG仿真和下载功能;都含有片内看门狗电路、片内程序 Flash、同步串行接口 SPI;多数 AVR 单片机还内嵌了 AD 转换器、EEPROM、摸拟比较器、PWM 定时计数器等多种功能;AVR 片机的 I/O 接口具有很强的驱动能力,灌电流可直接驱动继电器、LED等器件,从而省去驱动电路,节约系统成本。AVR单片机采用低功率、非挥发的 CMOS 工艺制造,除具有低功耗、高密度的特点外,还支持低电压的联机 Flash,EEPROM 写入功能。

AVR单片机还支持 Basic、C 等高级语言编程。采用高级语言对单片机系统进行开发是单片机应用的发展趋势。对单片机用高级语言编程可很容易地实现系统移植,并加快软件的开发过程。

AVR 单片机具有多个系列,包括 ATtiny、AT90、ATmega。每个系列又包括多个产品,它们在功能和存储器容量等方面有很大的不同,但基本结构和原理都类似,而且编程方也相同。

第 14 页 共 64 页

产品特性

—低功耗的 8 位AVR 微处理器 —先进的RISC结构

—131 条指令 ,大多数指令执行时间为单个时钟周期 —32个8 位通用工作寄存器 —全静态工作

—工作于16 MHz 时性能高达16 MIPS —只需两个时钟周期的硬件乘法器 —16K 字节的系统内可编程Flash —擦写寿命: 100,000 次

—可以对锁定位进行编程以实现用户程序的加密 —JTAG 接口( 与IEEE 1149.1 标准兼容) – 支持扩展的片内调试功能

– 通过JTAG 接口实现对Flash、EEPROM编程 ? 外设特点

– 两个具有独立预分频器和比较器功能的8 位定时器/ 计数器 – 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器 – 具有独立振荡器的实时计数器RTC – 四通道PWM – 8路10 位ADC – 面向字节的两线接口 – 两个可编程的串行USART

– 可工作于主机/ 从机模式的SPI 串行接口 – 具有独立片内振荡器的可编程看门狗定时器 – 片内模拟比较器 ? 特殊的处理器特点

– 上电复位以及可编程的掉电检测 – 片内经过标定的RC 振荡器 – 片内/ 片外中断源

– 6种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式

第 15页 共 64页

– 32个可编程的I/O 口 – 40引脚PDIP 封装 ? 工作电压:

– ATmega16:4.5 - 5.5V ? 速度等级

– 0 - 16 MHz ATmega16

? ATmega16L 在1 MHz, 3V, 25°C 时的功耗 – 正常模式: 1.1 mA – 空闲模式: 0.35 mA –

2.1 ATmega16结构框图

AVR 内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算数逻辑单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10倍的数据吞吐率。ATmega16 有如下特点:16K字节的系统内可编Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力。

本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(Application Flash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内。

第 16 页 共 64 页

图2.1 ATmega16结构框图

第 17页 共 64页

12345678141516171819202191310PB0 (T0)PB1 (T1)PB2 (AIN0)PB3 (AIN1)PB4 (SS)PB5 (MOSI)PB6 (MISO)PB7 (SCK)PD0 (RXD)PD1 (TXD)PD2 (INT0)PD3 (INT1)PD4 (OC1B)PD5 (OC1A)PD6 (ICP)PD7 (TOSC2)RESETX1(ADC0) PA0(ADC1) PA1(ADC2) PA2(ADC3) PA3(ADC4) PA4(ADC5) PA5(ADC6) PA6(ADC7) PA7PC0PC1PC2PC3PC4PC5(TOSC1) PC6(TOSC2) PC7AREFAGNDAVCC4039383736353433222324252627282932313012X2GNDVCC图2.2 Atmega 16封装形式

引脚说明:

VCC 数字电路的电源 GND 地

端口A(PA7..PA0) 端口A 做为A/D 转换器的模拟输入端,端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。

端口B(PB7..PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B 也可以用做其他不同的特殊功能。 端口C(PC7..PC0) 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口C 也可以用做其他不同的特殊功能。端口D(PD7..PD0)

端口D为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动

第 18 页 共 64 页

11ATMEGA16特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能。RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。 XTAL1 反向振荡放大器与片内时钟操作电路的输入端。 XTAL2 反向振荡放大器的输出端。

AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。AREF A/D 的模拟基准输入引脚。 2.2 AVR CPU 内核

CPU 的主要任务是保证程序的正确执行。因此它必须能够访问存储器、执行运算、控制外设以及处理中断。为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条指令。实现了指令的单时钟周期运行。程序存储器是可以在线编程的FLASH。快速访问寄存器文件包括32个8 位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周期的ALU 操作。 2.3 AVR ATmega16存储器。

AVR 结构具有两个主要的存储器空间数据存储器空间和程序存储器空间。此外ATmega16 还有EEPROM 存储器以保存数据。系统内可编程的Flash 程序存储器ATmega16具有16K字节的在线编程Flash,用于存放程序指令代码。因为所有的AVR指令为16 位或32 位,故而Flash 组织成8K x 16 位的形式。用户程序的安全性要根据Flash程序存储器的两个区:引导(Boot) 程序区和应用程序区,分开来考虑。Flash存储器至少可以擦写10,000次

2.4 AVR ATmega16系统时钟

CPU时钟与操作AVR内核的子系统相连,如通用寄存器文件、状态寄存器及保存堆栈指针的数据存储器。终止CPU 时钟将使内核停止工作和计算。I/O 时钟- CLKI/O I/O时钟用于主要的I/O 模块,如定时器/ 计数器、SPI 和USART。I/O 时钟还用于外部中断模块。要注意的是有些外部中断由异步逻辑检测,因此即使I/O 时钟停止了这些中断仍然可以得到监控。此外 USI 模块的起始条件检测在没有CLKI/O 的情况下也是异步实现的,使得这个功能在任何睡眠模式下都可以正常工作。Flash 时钟- CLKFLASH Flash 时钟控制Flash 接口的操作。此时钟通常与CPU 时钟同时挂起或激活。异步定时器时钟

第 19页 共 64页

- CLKASY 异步定时器时钟允许异步定时器/ 计数器与D 控制器直接由外部32 kHz 时钟晶体驱动。使得此定时器/ 计数器即使在睡眠模式下仍然可以为系统提供一个实时时钟。ADC 时钟-CLKADC ADC具有专门的时钟。这样可以在ADC工作的时候停止CPU和I/O时钟以降低数字电路产生的噪声,从而提高ADC 转换精度。在本设计中我们还要在下面电路设计中介绍。 2.5 系统控制和复位

复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转JMP 指令,以使程序跳转到复位处理例程。如果程序永远不利用中断功能,中断向量可以由一般的程序代码所覆盖。所有的复位信号消失之后,芯片内部的一个延迟计数器被激活,将内部复位的时间延长。这种处理方式使得在MCU 正常工作之前有一定的时间让电源达到稳定的电平。所有的复位信号消失之后,芯片内部的一个延迟计数器被激活,将内部复位的时间延长。这种处理方式使得在MCU 正常工作之前有一定的时间让电源达到稳定的电平,复位源ATmega16 有5个复位源: ? 上电复位。电源电压低于上电复位门限时, MCU 复位。

? 外部复位。引脚 RESET 上的低电平持续时间大于最小脉冲宽度时MCU 复位。 ? 看门狗复位。看门狗使能并且看门狗定时器溢出时复位发生。

? 掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限 VBOT 时MCU 即复位。

? JTAG AVR复位。复位寄存器为1时MCU复位 2.6 看门狗定时器

为了防止软件程序跑飞了,我们在一些重要的场合都要加看门狗定时器使得单片机能稳定工作,看门狗定时器由独立的1 Mhz 片内振荡器驱动。这是VCC = 5V 时的典型值。通过设置看门狗定时器的预分频器可以调节看门狗复位的时间间隔,看门狗复位指令WDR 用来复位看门狗定时器。如果没有及时复位定时器,一旦时间超过复位周期, ATmega16 就复位,并执行复位向量指向的程序。为了防止无意之间禁止看门狗定时器,在看门狗禁用后必须跟一个特定的修改,由于本设计程序简单,没有大量运算或浮点运算,所以可以不采用看门狗程序。 2.7 ATmega16 的中断向量(外部中断)

外部中断通过引脚INT0、INT1 与INT2 触发。只要使能了中断,即使引脚INT0-2 配置为输出,只要电平发生了合适的变化,中断也会触发。这个特点可以用来产生软件中

第 20 页 共 64 页

断。通过设置MCU 控制寄存器MCUCR 与MCU 控制与状态寄存器MCUCSR,中断可以由下降沿、上升沿,或者是低电平触发(INT2 为边沿触发中断)。当外部中断使能并且配置为电平触发( INT0/INT1),只要引脚电平为低,中断就会产生。若要求INT0 与INT1 在信号下降沿或上升沿触发, I/O 时钟必须工作。INT0/INT1的中断条件检测INT2 则是异步的。I/O 端口 作为通用数字I/O 使用时,所有AVR I/O 端口都具有真正的读- 修改- 写功能。输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。所有的端口引脚都具有与电压无关的上拉电阻。并有保护二极管与VCC 和地相连。 2.8 具有PWM功能的8位定时器/ 计时器

T/C 是一个通用的单通道8 位定时器/ 计数器模块。其主要特点如下: ? 单通道计数器

? 比较匹配发生时清除定时器( 自动加载) ? 无干扰脉冲,相位正确的PWM ? 频率发生器 ? 外部事件计数器 ? 10 位的时钟预分频器

? 溢出和比较匹配中断源 (TOV0 和 OCF0)

T/C 可以由内部同步时钟或外部异步时钟驱动。时钟源是由时钟选择逻辑决定的,而时钟选择逻辑是由位于T/C 控制寄存器TCCR0 的时钟选择位CS02:0 控制的根据不同的工作模式,计数器针对每一个CLKT0 实现清零、加一或减一操作。CLKT0 可以由内部时钟源或外部时钟源产生,具体由时钟选择位CS02:0 确定。没有选择时钟源时(CS02:0 = 0) 定时器即停止。但是不管有没有CLKT0,CPU 都可以访问TCNT0。CPU 写操作比计数器其他操作( 如清零、加减操作) 的优先级高。计数序列由T/C 控制寄存器 (TCCR0) 的WGM01 和WGM00 决定。计数器计数行为与输出比较OC0 的波形有紧密的关系。T/C溢出中断标志TOV0根据WGM01:0 设定的工作模式来设置。TOV0可以用于产生CPU中断。输出比较单元8位比较器持续对TCNT0和输出比较寄存器OCR0进行比较。一旦TCNT0等于OCR0,比较器就给出匹配信号。在匹配发生的下一个定时器时钟周期输出比较标志OCF0 置位。若此时OCIE0 = 1 且SREG 的全局中断标志I 置位,CPU 将产生输出比较中断。执行中断服务程序时OCF0 自动清零,或者通过软件写“1” 的方式来清零。根据由WGM21:0 和COM01:0 设定的不同的工作模式,波形发生器利用匹配信号产生不同的波形。同时,波形发生器还利用max 和bottom 信号来处理极值条件下的特殊情况

第 21页 共 64页

2.9 比较输出模式和波形产生

波形发生器利用COM01:0 的方法在普通模式、CTC 模式和PWM 模式下有所区别。对

于所有的模式,设置COM01:0 = 0 表明比较匹配发生时波形发生器不会操作OC0 寄存器。非PWM模式的比较输出,快速PWM的比较输出和相位修正PWM 的比较输出是不同的我们需要特别注意。改变COM01:0 将影响写入数据后的第一次比较匹配。对于非PWM 模式,可以通过使用FOC0 来立即产生效果。

在普通模式下,TOV0 标志的置位发生在计数器从MAX 变为0x00 的定时器时钟周期。快速PWM 模式(WGM01:0 = 3) 可用来产生高频的PWM波形。快速PWM模式与其他PWM模式的不同之处是其单斜坡工作方式。计数器从BOTTOM计到MAX,然后立即回到BOTTOM重新开始。对于普通的比较输出模式,输出比较引脚OC0在TCNT0与OCR0匹配时清零,在BOTTOM 时置位;对于反向比较输出模式, OC0 的动作正好相反。由于使用了单斜坡模式,快速PWM 模式的工作频率比使用双斜坡的相位修正PWM 模式高一倍。此高频操作特性使得快速PWM 模式十分适合于功率调节,整流和DAC 应用。高频可以减小外部元器件( 电感,电容) 的物理尺寸,从而降低系统成本。工作于快速PWM 模式时,计数器的数值一直增加到MAX,然后在后面的一个时钟周期清零。在本设计中为了产生40khz的超声波,我们可以通过设置单片机波形发生器产生40khz占空比时 50% 的方波。为此我们须对产生波形进行对比,更好产生标准的波形。程序如下:

图2.3 T/C0的CTC 模式的时序图

为了在CTC 模式下得到波形输出,可以设置OC0 在每次比较匹配发生时改变逻辑电平。这可以通过设置COM01:0 = 1 来完成。在期望获得OC0 输出之前,首先要将其端口设置为输出。波形发生器能够产生的最大频率为fOC0 = fclk_I/O/2 (OCR0 = 0x00)。频率由如下公式确定:

第 22 页 共 64 页

focn?fclk?IO

2?N?(1?OCRn)变量N 代表预分频因子(1、8、64、或1024)。

图2.4 T/C0的快速PWM 模式时序图

工作于快速PWM 模式时,比较单元可以在OC0 引脚上输出PWM 波形。设置COM01:0为2 可以产生普通的PWM 信号;为3 则可以产生反向PWM 波形,要想在引脚上得到输出信号还必须将OC0 的数据方向设置为输出。产生PWM 波形的机理是OC0 寄存器在OCR0 与TCNT0 匹配时置位( 或清零),以及在计数器清零( 从MAX变为BOTTOM) 的那一个定时器时钟周期清零( 或置位)。输出的PWM 频率可以通过如下公式计算得到

focnPWM?fclk?IO256?N

变量N 代表分频因子(1、 8、 64、 256 或1024)

工作于相位修正PWM 模式时,比较单元可以在OC0 引脚产生PWM 波形:将COM01:0设置为2 产生普通相位的PWM,设置COM01:0 为3 产生反向PWM信号。要想在引脚上得到输出信号还必须将OC0 的数据方向设置为输出。OCR0和 TCNT0比较匹配发生时OC0 寄存器将产生相应的清零或置位操作,从而产生PWM 波形。工作于相位修正模式时PWM 频率可由下式公式获得:

focnPCPWMfclk?IO?510?N

变量N 表示预分频因子 (1、 8、 64、256 或1024)。

第 23页 共 64页

图2.5 T/C0的相位修正PWM 模式的时序

2.10 T/C0 与T/C1 的预分频器

T/C1 与T/C0 共用一个预分频模块,但它们可以有不同的分频设置。下述内容适用于T/C1与T/C0。内部时钟源当CSn2:0 = 1 时,系统内部时钟直接作为T/C 的时钟源,这也是T/C 最高频率的时钟源F-CLK_I/O,与系统时钟频率相同。预分频器可以输出4个不同的时钟信号fCLK_I/O/8、fCLK_I/O/64、 fCLK_I/O/256 或 fCLK_I/O/1024。分频器复位预分频器是独立运行的。也就是说,其操作独立于T/C 的时钟选择逻辑,且它由T/C1 与T/C0 共享。由于预分频器不受T/C 时钟选择的影响,预分频器的状态需要包含预分频时钟被用到何处这样的信息。一个典型的例子发生在定时器使能并由预分频器驱动(6 >CSn2:0 > 1)的时候:从计时器使能到第一次开始计数可能花费 1 到N+1个系统时钟周期,其中N 等于预分频因子(8、64、256 或1024)。 2.11 串行外设接口- SPI

串行外设接口SPI 允许ATmega16 和外设或其他AVR 器件进行高速的同步数据传输。由于在本设计中应用不到,所以只是简单介绍。 ATmega16 SPI 的特点如下: ? 全双工,3 线同步数据传输 ? 主机或从机操作 ? 7 种可编程的比特率

第 24 页 共 64 页

2.12 串行外设接口-USART

通用同步和异步串行接收器和转发器(USART) 是一个高度灵活的串行通讯设备。主要特点为:

? 全双工操作( 独立的串行接收和发送寄存器) ? 异步或同步操作

? 主机或从机提供时钟的同步操作 ? 高精度的波特率发生器

? 支持5, 6, 7, 8, 或9个数据位和1个或2个停止位 ? 硬件支持的奇偶校验操作 ? 数据过速检测 ? 帧错误检测

? 噪声滤波,包括错误的起始位检测,以及数字低通滤波器

? 三个独立的中断:发送结束中断, 发送数据寄存器空中断,以及接收结束中断 ? 多处理器通讯模式 ? 倍速异步通讯模式

USART 分为了三个主要部分: 时钟发生器,发送器和接收器。控制寄存器由三个单元共享。时钟发生器包含同步逻辑,通过它将波特率发生器及为从机同步操作所使用的外部输入时钟同步起来。XCK ( 发送器时钟) 引脚只用于同步传输模式。发送器包括一个写缓冲器,串行移位寄存器,奇偶发生器以及处理不同的帧格式所需的控制逻辑。写缓冲器可以保持连续发送数据而不会在数据帧之间引入延迟。由于接收器具有时钟和数据恢复单元,它是USART 模块中最复杂的。恢复单元用于异步数据的接收。除了恢复单元,接收器还包括奇偶校验,控制逻辑,移位寄存器和一个两级接收缓冲器UDR。接收器支持与发送器相同的帧格式,而且可以检测帧错误,数据过速和奇偶校验错误。时钟产生逻辑为发送器和接收器产生基础时钟。USART支持4种模式的时钟: 正常的异步模式,倍速的异步模式,主机同步模式,以及从机同步模式。在本设计中我们要用到串口和PC机进行数据交换。 2.13 模数转换器 ? 10 位 精度

? 0.5 LSB 的非线性度 ? ± 2 LSB 的绝对精度

第 25页 共 64页

? 65 - 260 μs 的转换时间 ? 最高分辨率时采样率高达15 kSPS ? 8 路复用的单端输入通道 ? 7 路差分输入通道

? 2 路可选增益为10x 与200x 的差分输入通道 ? 可选的左对齐ADC 读数 ? 0 - VCC 的 ADC 输入电压范围 ? 可选的2.56V ADC 参考电压 ? 连续转换或单次转换模式 ? 通过自动触发中断源启动ADC 转换 ? ADC 转换结束中断

? 基于睡眠模式的噪声抑制器

由于本设计没有用到模数转换,所以只是简单介绍。

2.14 JTAG 接口和片上调试系统

? 与IEEE 1149.1 标准兼容的JTAG 接口 ? 遵从IEEE 1149.1 (JTAG) 标准的边界扫描功能 – 所有的片内外设 – 内部和外部SRAM – 寄存器文件 – 程序计数器

– EEPROM 和Flash 存储器

第三章 硬件电路的设计

3.1 电源电路设计

电源电路时供给电路中各个芯片正常工作的核心,现在的电路中应用的芯片都是低功耗,直流电源,本次设计中应用的芯片的工作电源是+5V的直流电源。+5V 电源直接给单片机供电,在连接中并联一个电容,这样更好的稳定的提供电源。防止电源不稳定给单片机造成的破坏。

第 26 页 共 64 页

VCCVCC10uF 图3.1 电源电路

3.2 复位电路设计

复位时单片机的初始化操作,功能是单片机初始化,使单片机从0000h单元开始操作。单片机主要的复位方式是外部电路实现的,在时钟电路工作后,只要单片机的Reset引脚出现24个时钟震荡脉冲(2个机器周期)以上的高电平,单片机就能复位,为了单片机可靠的复位,在设计复位电路时一般要Reset脚保持10ms以上的高电平,单片机就能稳定的复位,复位电路一般采用上电复位和按键复位二种,而本设计采用时按键式上电复位电路。这种复位电路利用电容器的充电来实现的,当加电时电路中有电流通过,构成回路电阻上产生压降,Reset引脚是高电平,当电容充满电时,电路相当于开路。Reset的电位和地相同,复位结束后。充电时间越长,复位时间越长,增大电阻和增大电容都可以增加复位时间。在本设计中电阻是10k,电容式10uf。可以满足电路要求。

VCC10ufReset10k 图3.2 复位电路图

3.3 时钟电路设计

XTAL1 与XTAL2 分别为用作片内振荡器的反向放大器的输入和输出,振荡器可以使用石英晶体,也可以使用陶瓷谐振器。一般来说我们常采用石英晶体和2个电容组成的谐振电路,晶体可以是0-16Mhz之间选择,电容值一般时20-30uF,C1和C2 的数值要一样,不管使用的是晶体还是谐振器。最佳的数值与使用的晶体或谐振器有关,还与杂

第 27页 共 64页

散电容和环境的电磁噪声有关,由于本设计要求比较准确,所以我们选用了标准的晶振频率7.3728Mhz ,这也是便于时间的计数和时间精确控制。同时也为了串口传输时的波特率的选择。如下图所示:

22uFX122uF 7.3728MHZX2时钟电路图3.3 时钟电路

单片机本身有高增益反相放大器,外接晶振电路构成稳定自激振荡器,电容对频率有微调作用,在本次设计中要选用22pf的电容组成时钟频率。 3.4 数码管显示电路 LED显示结构

测控系统中常用的测量数据的显示器有发光二极管显示器(简称LED或数码管)和液晶显示器(简称D)。这两种显示器都具有线路简单、耗电少、成本低、寿命长等优点,本系统输出结果选用3个LED显示。数码管有共阴和共阳之分,本系统采用8段共阴型LED,每位数码管内部有8个发光二极管,公共端由8个发光二极管的阴极并接而成,正常显示时公共端接低电平(GND),各发光二极管是否点亮取决于a-dp各引脚上是否是高电平。 LED数码管的外形结构外部有10个引脚,其中3, 8脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字((0-9中的一个)必须在这个数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。 由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。LED有共阴极和共阳极两种。 二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。

第 28 页 共 64 页

图3.4 数码管的结构图

字型码

给LED的驱动脚a~h不同的高电平组合,会显示不同的形状,对应的字型码是不同的,我们采用的是共阴极的接法,则常用的字型码如下: 字形 段码 字形 段码 0 3f 0 6f 1 06 A 77 2 5b B 7c 3 4f C 39 4 66 D 5e 5 6d E 79 6 7d F 71 7 07 P 73 8 7f = C8 显示方式

数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。为节省端口及降低功耗,静态显示就是不要求显示电路具有数据锁存功能,单片机发送出去数据后就不在管。直到下一次数据更新,数据显示稳定,占用很少的资源,但是静态需要的硬件开销很大,单片机也不知道什么时候更新要显示的字码。

动态显示就是指LED轮流显示各个字码,可以用软件法实现,本系统采用动态扫描显示方式。动态扫描显示方式需要解决多位LED数码管的“段控”和“位控”问题,本电路的通过PA口实现:而每一位的公共端,即LED数码管的“位控”,则由PC口控制。这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位则暗。为了保证数码管的显示效果不产生闪烁,我们首先保证1s内循环扫描3个数码管大于25ms,这是利用人眼的影像滞留效应,我们本次设计

第 29页 共 64页

要扫描40次,即每次要25ms,通常每次数码管要持续1-2ms,如果将每次持续的时间定为2ms,则扫描一次时间为6ms,因此,单片机还有17ms时间去处理其他时间。

一般来说由于数码管需要一定的电流去驱动,而单片机输出端口的驱动能力一般,所以来说需要驱动芯片来驱动或者是用三极管来提高负载能力, 但是本设计应用的AVR单片机驱动能力大,而且本身有上拉电阻,所以可以直接和数码管相连。能够提供数码管需要的电流,减少了其他电子器件的应用,但是为了系统的稳定运行。动态显示虽然更新快,硬件少,节省线路空间,耗电量小,但是占用单片机CPU时间多。我们在此设计中选用了动态显示,在本设计中采用了3个LED数码管,有PA控制数据输出,由PC控制位选,在设计电路时,要在数码管的各个引脚串接一个限流电阻,阻值一般时300-1KΩ 调节阻值可以控制数码管的显示亮度,我们今天选用的时300Ω

330Ω×812345678abacfbdgeecfdgdpdpGND912345678abacfbdgeecfdgdpdpGND912345678abacfbdgeecfdgdpdpGND数码显示电路

3.5 数码显示电路

3.5 报警电路设计

为了在某些紧急状态或反常状态下,能使操作人员不致忽视,以便及时处理,往往需要有某种更能引起人们注意提起警觉的报警信号产生,这种报警信号通常有三种类型:闪光报警、鸣音报警、语音报警,本系统采用简单易行的声音报警电路。 报警设备选用压电式蜂鸣器,它约需要10mA的驱动电流,只需在其两条引线上加3-15V的直流电压,即可产生3KHz左右的蜂鸣声音,电路图如下:

第 30 页 共 64 页

9

VCCPC34kNPNSPEAKER报警电路

图3.6 报警电路

当PC3电平为高电平时,NPN三极管导通,蜂鸣器获得电压,发出警报声音,当电平为低电平时,三极管关断,蜂鸣器不发出声音。

3.6 温度补偿电路

由于受环境温度、湿度的影响,超声波的传播速度是不同的,所以我们必须加温度补偿电路,精确的确定超声波的传播速度,在本设计应用了美国达拉斯半导体公司生产的新型温度检测器件-DS1820。它是单片结构,无需外加A/D即可输出数字量,通讯采用单线制,同时该通讯线还可兼作电源线,即具有寄生电源模式。它具有体积小、精度易保证、无需标定等特点,特别适合与单片机合用构成智能温度检测及控制系统,测温范围-55℃~+125℃,分辨率

0.5℃;2转换一次的典型时间200ms;3输出为带符号的9bit数字量,无需A/D4单线通讯接口,片内固化着不同的地址序列号,可多片共用一条通讯线5有超温搜寻功能;62字节EEPROM设定上下限或作它用;7 +5V电源,具有寄生电源功能。它主要由三大部分组成—64位ROM地址、温度传感器和非挥发性高,低限超温触发单元TH/TL。电源可由当数据线为高电平时充电的内部寄生电容供给,当然也可直接由外接电源供给。温度值的产生是通过对温敏振荡器的计数产生的,存储控制器负责对命令的解释和执行,产生的温度值存储在寄存器中

DS18B20的测温原理是这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置

第 31页 共 64页

在-55℃所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致等于测温度值。

DSl820数字温度计提供9位(二进制)温度读数指示器件的温度信息经过单线接口送入DSl820或从DSl820送出因此从主机CPU到DSl820仅需一条线(和地线)DSl820的电源可以由数据线本身提供而不需要外部电源因为每一个DSl820在出厂时已经给定了唯一的序号因此任意多个DSl820可以存放在同一条单线总线上这允许在许多不同的地方放置温度敏感器

每一个DSl820包括一个唯一的64位长的序号该序号值存放在DSl820内部的ROM(只读存贮器)中开始8位是产品类型编码(DSl820编码均为10H)接着的48位是每个器件唯一的序号最后8位是前面56位的CRC(循环冗余校验)码。DSl820中还有用于贮存测得的温度值的两个8位存贮器RAM编号为0号和1号存贮器存放温度值的符号如果温度为负则1号存贮器8位全为1否则全为00号存贮器用于存放温度值的补码LSB(最低位)的1表示0.5将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-550125)每只D51820都可以设置成两种供电方式即数据总线供电方式和外部供电方式采取数据总线供电方式可以节省一根导线但完成温度测量的时间较长采取外部供电方式则多用一根导线但测量速度较快

温度 LSB 温度 MSB TH用户字节1 TL用户字节2 配置寄存器 保留 保留 保留 CRC 第 32 页 共 64 页

图3.7 DS18B20字节定义

3.6.1温度计算

温度 ℃ 125 25 0.5 0 -0.5 -25 -55 数值输出 00000000 11111010 00000000 00110010 00000000 00000001 00000000 00000000 11111111 11111111 11111111 11001110 11111111 10010010 图3.8 温度对应值表

数值输出 00FAH 0032H 0001H 0000H FFFFH FFCEH FF92H 3.6.2 DSl820工作过程命令

DSl820工作过程中的协议如下,初始化ROM操作命令存储器操作命令处理数据 1初始化,单总线上的所有处理均从初始化开始 2ROM操作品令 总线主机检测到DSl820的存在便可以发出ROM操作命令,这些命令如指令代码 Read ROM(读ROM) [33H] Match ROM(匹配ROM) [55H] Skip ROM(跳过ROM] [CCH] Search ROM(搜索ROM) [F0H] Alarm search(告警搜索) [ECH] Write Scratchpad(写暂存存储器) [4EH] Read Scratchpad(读暂存存储器) [BEH] Copy Scratchpad(复制暂存存储器) [48H] Convert Temperature(温度变换) [44H] Recall EPROM(重新调出) [B8H] Read Power supply(读电源) [B4H] 3.6.3 时 序

主机使用时间隙(time slots)来读写DSl820的数据位和写命令字初始化如下图,主机总线to时刻发送复位脉冲(最短为480us的低电平信号)接着在t1时刻释放总线并进入接收状态DSl820在检测到总线的上升沿之后等待15-60us接着DS1820在t2时刻发出存在脉冲(低电平持续60-240 us)

第 33页 共 64页

图3.9 初始化时序图

3.6.4 写时间隙

当主机总线to时刻从高拉至低电平时就产生写时间隙,见 图3.10.1图3.10.2,从to时刻开始15us之内应将所需写的位送到总线上DSl820,在t后15-60us间对总线采样若低电平写入的位是0,见图3.10.1若高电平写入的位是1见 图3.10.2连续写2位间的间隙应大于1us

图3.10.1 写时间隙1 图3.10.2写时间隙2

3.6.5 读时间隙

主机总线to时刻从高拉至低电平时总线只须保持低电平l 7ts之后在t1时刻将总线拉高产生读时间隙读时间隙在t1时刻后t2时刻前有效距to为15us也就是说t z时刻前主机必须完成读位并在to后的60us一120us内释放总线 读位子程序(读得的位到C中)

图3.11读时间隙

3.6.6 多路测量

每一片DSl820在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中,主机在进入操作程序前必须逐一接入1820用读ROM(33H)命令将该l 820的序列号读出并登录。当主机需要对众多在线1820的某一个进行操作时,首先要发出匹配ROM命令(55H),紧接着主机提供64位序列(包括该1820的48位序列号),之后的操作就是针对该1820的,而所谓跳过ROM命令即为之后的操作,是对所有1820的框图中先有跳过ROM,即是启动所有1820进行温度变换之后通过匹配ROM再逐一地读回每个1820的温度数据。

DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于

第 34 页 共 64 页

写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的

DS18B20VCC测温电路PB0123GNDI/OVCC 图3.12温度测量

3.7在线通信电路设计

为了方便电路设计的通信和程序的下载,在本设计中我们同过利用MAX232芯片使得单片机和电脑连接,MAX232一侧连接单片机的串口。另一侧连接电脑的串口,实现同步通信。MAX232是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。由于电脑串口RS232电平是-10v +10v,而一般的单片机应用系统的信号电压是TTL电平0 +5v,max232就是用来进行电平转换的,该器件包2驱动器2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。其使用方法如下图所示:

电脑串口594837261VCC0.01uF15GNDVCC16640.1uF5147138CAP-CAP 2+CAP +CAP 1+210.1uF31110129PD0CAP 2-RT-OUT1RT-OUT2RR-IN1RR-IN2CAP 1-T-IN1T-IN2R-OUT1R-OUT2MAX232PD1在线通信电路图3.13 在线通信电路图

第 35页 共 64页

第四章 超声波发射电路及接收电路的设计

4.1 超声波发射电路

为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。 4.1.1 压电陶瓷超声波传感器介绍

压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部主要由两个压电晶片和一个共振板组成。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。

超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。TR40 系列超声波传感器是利用压电效应工作的传感器,通常我们称之为换能器。TR40 系列超声波传感器的工作过程是:从两个引脚输入40kHz 的脉冲信号,通过其内部的陶瓷片激励器和谐振片转化为机械振动能量,经锥型辐射口将振动信号向外发射。接收端接收的40kHz 的反射信号,使谐振片产生谐振,通过内部转换输出一组信号。超声波发射器T40-16 的电路工作电压为9V,工作电流为40~50mA,发射超声波信号大于8m。超声传感器的工作原理如下:当40KH的脉冲电信号由两引线输入后,由压电陶瓷激励器和谐振片转换成机械振动,经锥形辐射器将超声振动信号向外发射出去。发射出的超声波向空中四面八方直线传播,遇有障碍物后它可以发生反射。接收器在收到由发射器传来的超声波后,使内部的谐振片谐振,通过声电转换作用将声能转换为电脉冲信号,然后输入信号放大器,最后驱动执行器使电路动作。经R40-16 选频后,将40kHz以外的干扰信号衰减只有谐振于40kHz 的有用信号被接收。通过设计放大电路将超声波接收器R40-16 端信号放大并进行距离测量。T/R40-XX系列超声传感器的外形及尺寸,一个复合式振动器被灵活地固定在底座上。该复合式振动器是谐振器以及,由一个金属片和一个压电陶瓷片组成的双压电晶片元件振动器的一个结合体。谐振器呈喇叭形,目的是能

第 36 页 共 64 页

有效地辐射由于振动而产生的超声波,并且可以有效地使超声波聚集在振动器的中央部位。如下图所示:

图4.1 压电陶瓷超声波传感器结构图

产品特点

1、高灵敏度、高可靠性、高稳定性

2、耐高、低温度、耐湿度、耐冲击、振动等严酷环境条件 CD4049介绍

CD4049是CMOS集成电路,供电电压范围较广,可以在3~12V工作,工作电流较小,但是性能优越。能够进行六相反向缓存器,是非门一个很好选择。

图4.2 CD4049 结构图和封装形式

本设计采用六相反向缓存器CD4049组成的驱动电路在发射电路中输出40khz的方波,将单极性波变化成双极性的波形,这样可以更好的观察波形并将振荡信号的幅度增大一倍,能够有效地增加超声波地传播距离,达到扩大测距范围的作用. 为防止绝缘电阻下

第 37页 共 64页

降导致超声波传感器转换性能变坏,不能长时间地对传感器施加直流电压,使得波形更加准确。我们加了一个耦合电容,使得波形极性更加准确。 4.1.2 发射电路原理图分析

VCCPC610k10kD9404910CD404910kNPN11E0.2uF40491240khz78Cvcc1635AB40494404920.2uF超声波发射器F404915超声波发射电路14

图4.3 超声波发射电路原理图

在单片机的控制下,在pc6口发出40khz的方波,经过NPN三极管的放大功率,然后经过CD4049与非门提供输出功率,由于CD4049是六相反向缓存器。即是6个与非门,这样则可以改变波的形状。图中标注了CD4049各个引脚的连接方式,1脚要接+5V,而8脚要接地。为防止绝缘电阻下降导致超声波传感器转换性能变坏,不能长时间地对传感器施加直流电压。因此在电路中串入一个耦合电容器, 通过它就可以将直流电压转换为等幅的交变电压,从两个引脚输入40kHz 的脉冲信号,通过其内部的陶瓷片激励器和谐振片转化为机械振动能量,经锥型辐射口将振动信号向外发射40khz的超声波,下面就是发生波形变化,有单极性方波变化成双极性的方波,如下图所示(为细想条件)下:

25us50us75us100ust单极性40khz方波

第 38 页 共 64 页

25us50us75us100ust双极性40khz方波

图4.4反射电路中方波的变化形式

4.2 超声波接收电路

由于超声波在空气中传播时, 其能量的衰减程度与传播距离成正比, 所以超声波传感器的接收信号一般在1 mV ~ 1 V 之间,因此超声波测距只用于近距离,当距离较远时,衰减较为严重,反射回来的信号相对也比较微弱,因此接收端应先设置一个放大电路,接收电路要提供很高的放大增益, 由于接收传感器的输出是正弦波信号,这就需要设计成交流放大电路,然后通过检波电路对其输出信号进行解调,最后对检波输出信号进行比较整形。超声波接收电路的需要考虑以下几个方面:环境噪声、干扰、温度等影响,

4.2.1震荡选频电路设计:

在本设计中要对40khz的波形进行选频,所以要加一个带通滤波电路,在常见的滤波电路中我们常用并联震荡电路进行选频。如图4.5:理想的电路,无损耗,谐振频率是: f?1/T?1/2?LC 在信号频率较低时,电容的容抗很大,网络呈感性;在信号频率较高时,电感的感抗很大,网络呈容性;只有f=f0时,网络才呈现阻性,而且阻抗很大,这是电路产生电路谐振,电容的电场能转化成磁场能,而电感有能将磁场能转化成电场能,二种能量实现转化。我们要产生40khz的方波,所以选用2uF电容和8mH电感。 第 39页 共 64页

VCC2uF8mH 图4.5 震荡选频电路

根据并联网络的频率特性当f=f0时,电压的放大倍数最大,而且无附加相移,对于其他频率的信号,电压放大倍数不但倍数减小。而且存在相移,电路具有选频特性,所以说叫选频放大电路。这样我们就能把其他频率的波过滤掉。 4.2.2 比较电路的设计 LM393介绍

LM393 为双电压比较器,LM393 系列由两个偏移电压指标低达 2.0 的独立精密电压比较器构成。该产品采用单电源操作设计,且适用电压范围广。该产品也可采用分离式电源,低电耗不受电源电压值影响。本品还有一个特点是,即使是在单电源操作时,其输入共模电压范围也包括接地。LM393 系列可直接与 TTL 及 CMOS 逻辑电路接口。无论时正电源还是负电源操作,低电耗,比标准比较器的优势明显时,LM393 系列便与 MOS 逻辑电路直接接口。

图4.6 LM393结构图

第 40 页 共 64 页

本文来源:https://www.bwwdw.com/article/zuh6.html

Top