毕业 设 计
|
专 | 业:电气工程及其自动化 名: |
指导老师:
完成时间:
摘要
超声波是频率高于20KHZ声波,含有指向性强,能量消耗缓慢,在介质中传输距离较远特点,所以超声波常常见于距离测量,如测距仪和物位测量仪等全部能够经过超声波来实现。利用超声波检测往往比较快速、方便、计算简单、易于做到实时控制,而且在测量精度方面能达成工业实用要求,所以在液位、井深、管道长度测量、移动机器人定位和避障等领域得到了广泛应用。基于此,此次设计尝试使用ATS52和HY-SRF05模块来实现超声波测量,结合外围电路模块实现距离显示及语音播报组成超声波测距系统。
此次超声波测距系统由单片机计时及控制电路、超声波发射接收模块、测量距离显示电路、语音电路等部分组成。具体介绍了超声波测距模块及ATS52单
体电路结构简单,成本低廉,工作稳定,测量精度也达成实际应用要求。
片机测距原理。以HY-SRF05超声波测距模块为关键实现超声波发射和接收。整
Abstract
Ultrasoundis sound waves with frequency higher than 20KHz, it has strongdirectivity and consumes energy slowly, at the same time it spreadsfarther in the same medium. Therefore ultrasound is often used fordistance measurement, such as the range finder and level measurementand so on can be achieved by it. Use of ultrasonic detection tends tobe quickly, convenient and simple calculation, easy to do real-timecontrol. In the measurement precision it can reach industry practicalrequirement. So in liquid level, well depth, pipe length measurement,mobile robot localization and obstacle avoidance, etc a wide range ofapplications.
This ultrasonic distance measurement system by single-chip timingand display circuit of the control circuits, ultrasound modules,measuring distances, voice circuits and other components. Details theultrasonic range finder and ATS52 microcontroller
cost,stable, measurement precision to reach the actual applicationrequirements.
Keywords:ATS52;Ultrasonicwave;HY-SRF05;Measuredistance
目录
摘要................................................................................................................................I
Abstract.............................................................................................................................II
第1章绪论...................................................................................................................1
1.1 课题研究背景..................................................................................................1
1.2 中国外研究现实状况......................................................................................1
1.3 课题研究意义..................................................................................................2
第2章超声波测距原理...............................................................................................4
2.1 超声波介绍......................................................................................................4
2.2 超声波测距原理..............................................................................................4
第3章方案论证...........................................................................................................6 3.1 设计思绪..........................................................................................................6
4.1 单片机ATS52..............................................................................................8
4.2 超声波测距模块HY-SRF05.........................................................................10
4.2.1 基础工作原理.....................................................................................11
4.2.2 HY-SRF05电气参数..........................................................................11
4.2.3 超声波时序图.....................................................................................12
4.2.4 超声波应用电路图.............................................................................12
4.3 温度传感器DS18B20...................................................................................13
4.4 LCD1602液晶...............................................................................................14
4.4.1 LCD1602关键技术参数....................................................................14
4.4.2 LCD1602引脚功效............................................................................14
4.4.3 LCD1602应用电路图........................................................................15
4.5 ISD1420语音芯片.........................................................................................16
4.5.1 特点.....................................................................................................16
4.5.2 电特征.................................................................................................16
4.5.3 ISD1420引脚功效..............................................................................16
4.5.4 ISD1420语音电路..............................................................................17
第5章系统软件设计.................................................................................................19
5.1 主程序............................................................................................................19
5.2 超声波测距子程序........................................................................................20
5.3 测温子程序....................................................................................................21
第6章系统调试分析.................................................................................................23
6.1 硬件电路测试................................................................................................23
参考文件.........................................................................................................................27
致谢.................................................................................................................................28
附录.................................................................................................................................29
附录A:实物作品.............................................................................................29
附录B:原理图....................................................................................................30
附录C: PCB图....................................................................................................31
附录D:程序........................................................................................................32
第1章绪论
1.1课题研究背景
伴随中国经济飞速发展,交通运输车辆不停增多,由此产生交通问题越来越成为大家关注问题。其中倒车事故因为发生频率极高,已引发了社会和交通部门高度重视。倒车事故发生原因是多方面,倒车镜有死角,驾车者目测距离有误差,视线模糊等原因造成倒车时事故率远大于汽车前进时事故率,尤其是非职业驾驶员和女性更为突出。所以倒车事故给车主带来很多麻烦,有鉴于此,汽车高科技产品家族中,专为汽车倒车泊位设置“倒车雷达”应运而生,倒车雷达加装能够处理驾驶人员后顾之忧,大大降低倒车事故发生。
超声波倒车雷达全称叫“倒车防撞雷达”,也叫“泊车辅助装置”,是汽车泊
车安全辅助装置,能以声音或更为直观显示通知驾驶员周围障碍物情况,解除了驾驶员泊车和开启车辆时前后左右探视所引发困扰,并帮助驾驶员扫除视野死角
声波,然后经过反射回来超声波判定前方是否有障碍物,和障碍物距离、大小、
方向、形状等。只不过因为倒车雷达体积大小及实用性,现在其关键功效仅
为判定障碍物和车距离。
1.2 中国外研究现实状况
通常认为,相关超声波研究最初起始于1876年F.Galton气哨试验,这是人类首次有效产生高频声波。在以后三十年中,超声波仍然是一个鲜为人知东西,因为当初电子技术发展缓慢,对超声波研究造成了一定程度影响。在第一次世界大战中,对超声波研究逐步受到重视。法国人Langevin使用一个晶体传感器在水下发射和接收相对低频超声波。她提出这种方法能够用来检测水中是否存在潜艇并
进行水下通信。
1929年,Sokolov首先提出用超声波探查金属物内部缺点提议。相隔2年,1931年Mulhauser获准一项相关超声检测方法德国专利,不过她并未做更多工作。4年 她以后,1934年sokolov首次发表了相关在液体槽子里用穿透法作实物试验结果,用了多种方法做了试验,用来检测穿过试件超声能量,其中之一是用简单光学方法观察液体表面由超声波形成波纹。德国人Bergrnann在她论著《ULTRASONIC》中,具体叙述了相关超声波大量早期资料,该论著一直被认为是该领域经典之作。
美国Firestone首次介绍了脉冲回波探伤仪,使超声波检测技术发展到了更关键阶段。在多种系统中,这是最成功一个,因为它有最广泛通用性,其检测结果也最轻易解释。这种方法除可用于手工检测外,还可和采取优异技术自动系统联用,自第一个脉冲回波仪器问世以来,依据相同原理,有没有数种其它仪器得到了发展,并有很多改善和精化。现在,在超声无损检测中,脉冲回波系统仍是使
用最为广泛一个。
成为超声波检测发展方向。厦门大学某位学者研究了一个回波轮廓分析法。该方
法在测距中经过两次探测求取回波包络曲线来得到回波起点,经过这么处理后超
声波传输时间精度得到了很大提升。另外,也有大量文件研究采取数字信号处理
技术和小波变换理论来提升传输时间精度。这些处理方法全部取得了很好效果。
现在中国外在超声波检测领域全部向着数字化方向发展,数字式超声波测距系统发展速度很快。中国近几年也相继出现了很多数字式超声波仪器和分析系统。
伴随测距技术研究不停深入,对超声测距系统功效要求越来越高,单数码显示超声测距系统会带来较大测试误差。深入要求以后生产超声测距仪能够含有双显及内带有单板机微处理功效。随即含有检测,统计,存放,数据处理和分析等多项功效智能化检测分析仪相继研制成功。超声仪研制展现一派繁荣景象。其中,煤
炭科学研究院研制A型超声分析检测仪,是一个内带微处理器智能化测量仪器,全部操作全部处于微处理器控制管理之下,全部测量值,处理结果,状态信息全部在显像管上显示出来,并可接微型打印机打印。其数字和波形全部比较清楚稳定,操作简单,可靠性高,含有断电存放功效,其串口能够方便用户对仪器测试数据进行后处理及相关程序开发。和中国同类产品相比,设计新奇合理,功效齐全,在仪器设计上有重大突破和创新,达成了国际优异水平。
1.3 课题研究意义
在现实生活中,在一些特殊场所,传统测量距离方法往往会存在部分没措施
克服原因,像是在液面上做距离测量,用传统方法,电极法首先采取差位分布电
极,再经过给脉冲或电来进行检测液面,因为电极需要长久浸泡于水中或其它液
体中原因,所以极易轻易被腐蚀或是电解,从而造成降低灵敏性。不过假如使用超声波来测量距离话,刚好能够很有效地处理这一问题。现在市面上常见超声波
ATS51 单片机低成本、高精度、微型化超声波测距仪。
第2章超声波测距原理
2.1超声波介绍
我们知道,当物体振动时候便会产生声音。科学家们系统把每秒钟振动次数称之位声音频率,单位称为赫兹(HZ)。人类耳朵能够听到声波频率仅在20到0HZ之间。假如声波振动频率超出了0HZ或是低于20HZ时候,大家便没措施听见了。
所以,通常超出0HZ声波我们将之称作“超声波”。通常见于医学诊疗超声波关键频率为1~5兆赫。超声波优点是含有良好方向性,它穿透能力也很强,能够很轻易取得比较集中声能,水中传输距离也比较远等特点。用途比较广泛,关键用于测量距离、测量速度、医学方面,军事方面,工业方面,和农业方面。
理论研究表明,在振幅相同条件下,一个物体振动能量和振动频率成正比,
超声波在介质中传输时,因为在介质质点振动频率相对于高,所以能量也是相正确大。假如冬天在北方时候,假如往水罐中注入超声波话,罐中水会因为猛烈震
随血流抵达患病部位。使用加湿器原理,能够有效雾化药液,让病人吸入,能够
提升疗效。人体内结石能够使用超声波较大能量经过猛烈受迫振动而破碎。
2.2超声波测距原理
超声波是利用反射原理测量距离,被测距离一端为超声波传感器,另一端必需有能反射超声波物体。测量距离时,超声波传感器将对准反射物而且发射超声波,此时便立即计时,超声波因为在空气传输过程中碰到障碍物将会被反射回来,同时传感器接收端将收到反射回来脉冲后便会立即计时结束,便能够依据超声波
在传输中速度和时间计算出两端相距距离。测量中距离D 为 |
式中 c——超声波传输速度; | 1 | t | ——超声波从发射到接收所需时间二分之一,也 |
| 2 | | |
就是单程传输时间。
由上式可知,关键由计时精度和传输速度这两方面来决定距离测量精度。计
时精度关键是由单片机定时器起决定作用,定时时间是指机器周期和计数次数两
个乘积,能够选择12MHz晶振,这么能够使机器周期正确到1?s,便不会使累积误
差产生,使得定时间可达成1?s。对于超声波传输速度c来说是会改变,传输速度
受到空气密度、气体分子成份和温度影响,关系式为
?RTT
C? ?C0 1? (式2.2)
M 273K
式中 ?——气体定压热容和定容热容比值,空气为1.40
T——气体势力学温度,和摄氏温度关系是T=273K+tR——气体普适常数,为8.314kg/mol
由上式可见,温度是超声波在空气中传输时影响最大原因,由表示式可计算
出波速和温度之间关系,如表2.1所表示。假如温度值越高,传输速度将越快,而
且温度不一样话,传输速度差异也很大,像在0℃时传输速度为332m/s,不过30℃
时传输速度为350m/s,相差18m/s。所以,需要测量精度较高时候,进行温度赔偿
是最有效方法。对测量精度要求不高时,可认为超声波在空气中传输速度为340m/s。
表2.1超声波传输速度和温度关系表
项目 | 数值 | ||||||||||
温度 | -30 | -20 | -10 | 0 | 10 | 20 | 30 | 40 | 50 | 60 | 100 |
声速/(m s) | 313 | 319 | 325 | 332 | 338 | 344 | 350 | 356下 | 载361 | 高367 | 388 |
第3章方案论证
3.1设计思绪
有很多个测量距离方法,假如是短距离话能够用尺,远距离能够使用激光测距等,高精度中长距离测量则能够使用超声波测距。因为超声波在标准空气中传输时,速度是为331.45米/秒,由单片机负责计时,单片机是使用12MHz晶振,所以这个系统测量精度理论上即达成毫米级。
现在比较普遍测量距离原理:经过发射含有特征频率超声波对被摄目标进行探测,经过发射出特征频率超声波和接收到反射回特征频率超声波所用时间,换算出距离,如超声波液位物位传感器,超声波探头,适合需要非接触测量场所,有超声波测厚,超声波汽车测距报警装置等。
够用于距离测量。利用超声波检测距离,设计比较方便,计算处理也较简单,而 因为超声波指向性强,能量消耗缓慢,在介质中传输距离远,所以超声波能
段。在现在中国超声波测距专用集成电路中全部是只有抵达厘米等级测量精度,
不过在精密液体测量中往往全部需要毫米等级测量精度。经过进行检测超声波测
距误差产生原因,从而提升所测量时间差精度到微秒等级,同时用温度传感器处
理声波传输速度赔偿以后,我们设计出高精度超声波测距仪可达成毫米级测量精
度了。
现在超声波测距已得到广泛应用,中国通常使用专用集成电路依据超声波测距原理设计多种测距仪器,不过专用集成电路成本花费较高而且功效较为单一。
不过以单片机为关键关键测距仪器可完成预置、多个端口进行检测、显示和报警等多个功效,而且成本低、精度高、操作简单、工作稳定、可靠。以8051为内核单片机系列,其硬件结构含有功效部件齐全、功效强等特点。尤其值得一提是,
除8位CPU外,还含有一个很强大位处理器,它实际上是一个完整位微计算机,即包含完整位CPU,位RAM、ROM(EPROM),位寻址寄存器、I/O口和指令集。所以,8051是双CPU单片机。位处理在开关决议、逻辑电路仿真、过程测控等方面极为有效;而8位处理则在数据采集和处理等方面含有显著优点。
依据设计要求并综合各方面原因,能够采取ATS52单片机作为主控制器,它控制发射触发脉冲开始时间及脉宽,响应回波时刻并测量、计数发射至往返时
间差。利用软件产生超声波信号,经过输出引脚输入至驱动器,经驱动器驱动后推进探头产生超声波;超声波信号接收采取锁相环LM567对放大后信号进行频率监视和控制。一旦探头接到回波,若接收到信号频率等于振荡器固有频率(此频率关键由RC值决定),则其输出引脚电平将从“1”变为“0”(此时锁相环已进入
锁定状态),这种电平改变能够作为单片机对接收探头接收情况进行实时监控。可对测得数据优化处理,并采取温度赔偿,使测量误差降到更低程度;ATS52还
控制显示电路,用动态扫描法实现LCD-1602显示。
3.2 系统结构设计 超声波测距仪系统结构图3.1所表示。它关键由单片机、超声波传感器、温度
传感器、键盘、LCD显示电路及语音播报电路组成。系统关键功效包含:
超声波发射、接收,并依据计时时间计算测量距离;
检测空气温度用于距离计算赔偿;
LCD显示器显示距离、温度;
语音系统播报测量距离;
键盘接收用户命令并处理;
超声波HY-SRF05 | 单 | ISD1420 语音 |
系统
温度传感器 | 片 | LCD1602 显示 |
按键 | 机 | |
系统 |
图3.1 超声波测距仪系统结构框图
第4章硬件电路设计
4.1单片机ATS52
单片机是一个集成电路芯片,是采取超大规模集成电路技术把含有数据处理能力处理器CPU、随机存放器RAM、只读存放器ROM、多个I/O口和中止系统、定时器/计数器等功效(可能还包含显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上组成一个小而完善微型计算机系统,在工业控制领域广泛应用。相对于一般微机,单片机体积要小得多,通常
嵌入到其它仪器设备里,实现自动检测和控制,所以也称为嵌入式微控制器EMCU(EmbeddedMicrocontroller Unit)。
ATS52 是一个低功耗、高性能CMOS8位微控制器,含有8K在系统可编程
Flash存放器。使用Atmel企业高密度非易失性存放器技术制造,和工业80C51产品指令和引脚完全兼容。片上Flash许可程序存放器在系统可编程,亦适于常规编
ATS52 含有以下标准功效:8k字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中止结
构,全双工串行口,片内晶振立即钟电路。另外,ATS52可降至0Hz 静态逻辑
操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,许可RAM、定时器/计数器、串口、中止继续工作。掉电保护方法下,RAM内容被保留,振荡
器被冻结,单片机一切工作停止,直到下一个中止或硬件复位为止。ATS52即
能根据正常方法进行编程,也可在线进行编程。它是把通用Flash存放器和微处理
器结合在一起,尤其是可反复擦写Flash存放器可有效地降低开发成本。其引脚图
图4.1 所表示
(1)主电源引脚
GND——第20脚,电路接地电平。
VCC——第40脚,正常运行和编程校验+5V电源。
(2)时钟源
XTAL1——第19脚,通常外接晶振一个引脚,它是片内反相放大器输入端口。
当直接采取外部信号时,此引脚应接地。
XTAL2——第18脚,接外部晶振另一个引脚,它是片内反相放大器输出端口。
当采取外部振荡信号源时,此引脚为外部振荡信号输入端口,和信号源相连接。
图4.1 ATS52引脚图
(3)控制、选通或复用
RST/VPD——第9脚,RESET复位信号输入端口。当单片机正常工作时,由该引脚输入脉宽为2个以上机器周期高电平复位信号到单片机。在VCC掉电期间,此引脚(即VPD)可接通备用电源,以保持片内RAM信息不受破坏。
| | |
ALE / | PROG | ——第30 脚,输出许可地址锁存信号。当单片机进行访问其外 |
部存放器同时,则ALE 信号地负跳变会把P0 口上低8 位地址传送到锁存器。而 | ||
可对个输出或用于定时目标。需要注意问题是:每次访问外部存放器时候会跃过
| | |
一个ALE 脉冲。 | PROG | 为第二功效,当对片内程序存放器编程写入时,此引脚作 |
为编程脉冲输入端。
PSEN | ——第29 脚,外部程序存放器选通信号,低电平有效。当ATS52 由 | |||||||||
外部程序存放器取指令(或数据)时,每个机器周期两次 | PSEN | 有效,即输出两个 | ||||||||
脉冲。在此期间,当进行访问外部数据存放器时,这两次有效 | PSEN | 信号不出现。 | ||||||||
EA | /VPP:第31 脚,外部访问许可。假如使CPU 访问其外部程序存放器(地 | |||||||||
址0000H-FFFFH),则 | | 端将必需为低电平(接地)。需注意是:要是加密位LBI | ||||||||
EA | ||||||||||
被编程,进行复位时候内部将会锁存 | | 端状态。当Flash 存放器进行编程时,其 | ||||||||
EA | ||||||||||
引脚需加+12V 地编程许可电源VPP,当然这必需是该器件是使用12V 编程电压 | ||||||||||
高阻抗输入端用。在进行访问程序和数据两个存放器时,这组口线将分时转换地
址总线和数据总线复用,并在访问期间将激活内部上拉电阻。
P1口——第1~8脚,含有内部上拉电阻8位准双向I/O端口。在对片内程序存放器(EPROM型)进行程序编程和校验时,用做低8位地址总线。
P2口——第21~28脚,含有内部上拉电阻8位准双向I/O端口。当单片机访问存放器时,用做高8位地址总线;在对片内程序存放器(EPROM型)进行程序编程和校验时,亦用做高8位地址总线。
P3 口——第10~17 脚,含有内部上拉电阻8位准双向I/O 端口,P2输出缓冲
器能驱动4个TTL 逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时能够作为输入口使用。作为输入使用时,被外部拉低引脚因为内部电阻原因,
将输出电流。P3口亦作为ATS52特殊功效(第二功效)使用,以下表4.1所表示。在flash编程和校验时,P3口也接收部分控制信号。
表4.1 P3口第二变异功效
端口引脚 | 第二功效 | |||
P3.0 | RXD(串行输入口) | |||
P3.1 | TXD(串行输出口) | |||
P3.2 | | |||
| ||||
P3.3 | | |||
| ||||
P3.4 | T0(定时/计数器0) | |||
P3.5 | T1(定时/计数器1) | |||
P3.6 |
| |||
P3.7 |
|
4.2 超声波测距模块HY-SRF05 HY-SRF05 超声波测距模块可提供2cm-450cm 非接触式距离感测功效,测距 |
(1)采取I0口TRIG触发测距,给最少10us高电平信号;
(2)模块自动发送8个40KHZ方波,自动检测是否有信号返回;
(3)有信号返回,经过I0口ECHO输出一个高电平,高电平连续时间就是超声波发射返回时间。
引脚定义:图:4.2所表示接线
图4.2 HY-SRF05
VCC为电源端
TRIG触发控制,信号输入
ECHO回响信号输出
GND 为地线 OUT 开关量输出(当报警模块使用) |
4.2.3 超声波时序图
超声波时序图图4.3所表示
以上时序图表明只需要提供一个10us以上脉冲信号,该模块内部将发出8个
得到距离: 距离=高电平时间*声速(340m/s)/2
为预防发射信号对回响信号影响,测量周期通常要60ms以上。
4.2.4 超声波应用电路图
超声波应用电路图图4.4所表示
图4.4 超声波应用电路图
4.3 温度传感器DS18B20
温度传感器关键组成是热敏元件。热敏元件品种比较多,市场上可见有铜热电阻、铂热电阻、双金属片、半导体热敏电阻和热电偶等。其中以半导体热敏电阻作探测元件地温度传感器应用较为广泛,这关键是因在元件所许可工作条件范围之内,半导体热敏电阻器将拥有精度较高、体积小巧、敏度较高特点,而且制造工艺很简单、价格也比较廉价。半导体热敏电阻按温度特征可分为正温度系数热敏电阻(电阻随温度上升而增加)和负温度系数热敏电阻(电阻随温度上升而下降)
。 本设计采取是美国Dallas半导体企业不锈钢封装DS18B20数字温度传感器。DS18B20是采取专门设计不锈钢外壳,仅有0.2mm壁厚,含有很小蓄热量,采取导热性高密封胶,确保了温度传感器高灵敏性,含有极小温度延迟。DS18B20支持“一线总线”接口(1-Wire),测量温度范围为-55°C~+125°C,在-10~+85°
升了系统抗干扰性。
图4.5 DS18B20 引脚图
DS18B20数字化温度传感器关键性能以下:
(1)适用电压为3V~5V;
(2)9~12位分辨率可调,对应可编程温度分别为0.5℃、0.25℃、0.125℃、0.0625℃;
(3)TO-92、SOIC及CSP封装可选;
(4)测温范围:-55℃~125℃;
(5)精度:-10℃~85℃范围内±0.5℃;
(6)无需外部元件,独特一线接口,电源和信号复合在一起;(7)每个芯片唯一编码,支持联网寻址,零功耗等候。
温度传感器应用电路图图4.6所表示
点阵型液晶模块。它由若干个5?7或5?11等点阵字符位组成,每个点阵字符位全
部能够显示一个字符,每位之间有一个点距间隔,每行之间也有间隔,起到了字
符间距和行间距作用。
4.4.1 LCD1602关键技术参数
LCD1602关键技术参数如表4.3所表示
表4.3 LCD1602液晶关键参数
|
背光源颜色 | 黄绿 | 存放温度 | -27~+70 C |
背光源电流 | <150mA |
|
|
4.4.2 LCD1602引脚功效
LCD1602引脚图4.7所表示。
第1 脚:VSS为电源地
时对比度最高(对比度过高时会产生“鬼影”,使用时能够经过一个10K电位器调
整对比度)。
第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:RW为读写信号线,高电平(1)时进行读操作,电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时实施指令。
第7~14脚:D0~D7为8位双向数据端。
第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。
4.4.3 LCD1602应用电路图
LCD1602应用电路图图4.8所表示
图4.8 LCD1602 应用电路图
4.5 ISD1420 语音芯片
ISD1420为美国ISD企业出品优质单片语音录放电路,由振荡器、语音存放
借助于美国ISD企业专利--直接模拟存放技术(DASTTM)实现。利用它,语音
和音频信号被直接存放,以其原本模拟形式进入EEPROM存放器。直接模拟存放
许可使用一个单片固体电路方法完成其原本语音再现。不仅语音质量优胜,而且
断电语音保护。
4.5.1 特点
(1)使用方便单片录放系统,外部元件最少;(2)重现优质原声,没有常见背景噪音;
(3)放音可由边缘或电平触发
(4)无耗电信息存放,省掉备用电池(5)信息可保留1,可反复录放10 万次
(6)无需专用编程或开发系统
(7)较强分段选址能力可处理多达160段信息(8)含有自动节电模式
(9)录或放后立即进入维持状态,仅需0.5μA电流(10)单一5伏电源供电。
4.5.2 电特征
(1)工作电压:5V
(2)静态电流:经典值0.5μA,最大值2μA
(3)工作电流:经典值15mA,最大值30mA(16欧姆)4.5.3 ISD1420引脚功效
各管脚功效如表4.4所表示。ISD1420 管脚图图4.9所表示。
图4.9ISD1420引脚图
表4.4 ISD1420管脚功效
|
A6、A7 | 9、10 | 地址(MSB) | Ana In | 20 | 模拟输入 |
VCCD | 28 | 数字电路电源 | AGC | 19 | 自动增益控制 |
VCCA | 16 | 模拟电路电源 | Mic | 17 | 麦克风输入 |
VSSD | 12 | 数字地 | Mic Ref | 18 | 麦克风参考输入 |
VSSA | 13 | 模拟地 | PLAYE | 24 | 放音,边缘触发 |
SP+、- | 14、15 | 喇叭输出+、- | REC | 27 | 录音 |
XCLK | 26 | 外接定时器(可选) | RECLED | 25 | 发光二极管接口 |
NC | 11 | 空脚 | PLAYL | 23 | 放音,电平触发 |
ISD1420 系列内置了若干操作模式,可用最少外围器件实现最多功效。操作模 |
使用操作模式有两点注意:
(1)全部操作最初全部是从0地址,即存放空间起始端开始。后续操作依据所选择模式可从其它地址开始。另外,A4模式中,当电路由录转为放时地址计数器复位为0,而由放转为录则不复位。
(2)当控制信号(/PLAYL、/PLAYE或/REC)变低,同时A6和A7为高时,实施操作模式。这种操作模式一直有效,除非控制信号再次由高变低,芯片重新锁存目前地址/模式端电平,然后实施对应操作。
应用电路图4.9 所表示
图4.9 ISD1420应用电路
第5章系统软件设计
5.1主程序
主程序包含整个系统控制步骤,是系统软件中轴。当驾驶者倒车时,主程序开始初始化,调用各个子程序出来,而且显示和语音播报。主程序步骤图图5.1所表示。
开始
初始化
计算距离
LCD显示 语音播报
图5.1 主程序步骤图
函数开始运行后,首优异行初始化,其中初始化包含了中止,LCD液晶屏初
始化,然后经过测温子程序读取温度值,而且利用公式 | V | ? | 331 . 45 | ? | 0 . 61 t | (t 为测 |
得温度)转换为超声波传输速度,超声波测时模块测量出从发送超声波到接收回 波时间,计算出车尾和障碍物之间距离,经过LCD显示模块显示出测量温度和距
离,并由语音模块播报测得距离。
5.2 超声波测距子程序
在超声波测距过程中关键利用到了定时计数器0,采取工作方法1,当开启定时计数器后,低8位每个机器周期自加一。当停止定时计数器后,即可将高8位和低8位转换响应超声波传输时间。超声波测距步骤图图5.2所表示。
开始
触发高电平15us
否
回响端是否为
回响端是否 | 否 |
为0
是
关闭定时器
计算距离
结束
图5.2 超声波测距步骤图
超声波测距函数即是一个测量时间函数,当开启测量函数时,给P3.5一个15us高电平触发,循环判定P3.2口电平,直到为高电平为止,开启定时器,循环判定P3.2口电平,直到为低电平为止,关闭定时器,即是得到了超声波传输时间,依据超声波测距原理,将传输时间转换为距离,即完成了一次超声波测距。
5.3 测温子程序
温度程序就是利用温度传感器检测温度,该传感器将全部传感元件和转换电
路集成在一个形如三极管集成电路中,温度值在内部转换,输出结果以数字信号
直接输出,并经过单片机去读,然后软件对接收到数据信号处理,得到十进制温度值。温度程序步骤图图5.4所表示。
开始
温度初始化
开启温度转
换
延迟500us
温度初始化
写入读温度
返回温度
图5.3 测温步骤图
当开始读取温度时,首先对温度传感器进行初始化,写入跳过读序号列号操
作指令(0xCC),开启温度转换指令(0xCC),等候400us,传感器初始化,写入
跳过读序号列号操作指令(0xCC),读取温度寄存器指令(0xBE),分别读取温度
低八位和高八位,而且两字节合成一个整型变量得到真实十进制温度值,并返回
扩大后温度。
第6章系统调试分析
6.1 硬件电路测试
基础电路板检验:
依据前面研究完成各个电路模块原理设计并生成PCB图,制作电路板,进行试验调试。
(1)检验印制板印制线是否有断路,是否有毛刺,是否和其它线或是焊盘粘连,焊盘是否有脱落,过孔是否有未金属化现象等等。
(2)先用万用表复核目测中认为可疑连接或是接点,检验它们通短状态是否和设计要求相符。再检验多种电源线和地线之间是否有短路现象,如有再仔细检验出并排除。短路现象一定要在器件安装及加电前检验出。
稍后再进行再次检测 (3)电路接通电源后,用手摸一下芯片是否发烧,假如发烧,立即关掉电源, ;假如没有发烧,再测试芯片VCC端电压是否达成设计要求,
接地端是否全部接地。
6.2软件调试
当硬件制作完成后,软件制作也是不可轻视部分,是实现电路功效关键部分,经过此次毕业设计,总结经验以下:
(1)优异行人工检验。写好程序后,不要立即烧入单片机,先对纸面上程序进行人工检验。因为采取C语言编程,所以要尤其小心地检验语法错误,如括号不配对,漏写分号等,经过仔细检验,发觉并排除这些错误。
(2)人工检验无误后,上机调试。在编译时给出语法错误信息,依据提醒信息具体找出程序中错误之处并更正,从上至下逐一更正。应该注意是:有提醒犯错行并不是真正犯错行,假如在提醒犯错行上找不到错误话,则应该到上行再找。 (3)当确定程序无语法错误和逻辑错误时,经过直接下载到单片机来调试。
采取是自下到上调试方法,即单独调好每一个模块,然后再连接成一个完整系统调试。
(4)程序烧入单片机后,观察各个部件工作是否正常,功效是否实现。如不能正常工作,则继续检验程序中对应模块,必需时从上到下重新检验程序。
6.3 误差分析
超声波测距因为其在使用中不受光照度、电磁场、色彩等原因影响,加之其结构简单成本低,在机器人避障和定位、汽车倒车、水库液位测量等方面已经有了广泛应用。在原理上讲,超声波测距有脉冲回波法、共振法和频差法。其中脉冲回波法测距常见,其原理是超声传感器发射超声波,在空气中传输至被测物,经反射后由超声波传感器接收反射脉冲,测量出超声脉冲从发射到接收时间,在已知超声波声速前提下,可计算被测物距离H,即在空气中传输速度;超声波反射回波极难正确捕捉,致使超声波在空气中传输时H=vt/2。因为温度影响超声波
超声波传输速度受气体密度、温度及气体分子成份影响。其中温度对超声波
在空气中传输速度有显著影响,当需要正确确定超声波传输速度时,必需考虑温
度影响。
(2)超声波回波声强影响
超声波回波声强和被测物得距离有由直接关系,在进行实际测量时,第一个回波不一定是第一个过零点触发。这种误差不能从根本上消除,不过能够经过依据测量距离调整脉冲群脉冲个数和动态调整比较电压来减小这种误差。
(3)电路本身影响
电路硬件和软件本身存在一定缺点,所以会造成测量误差,关键表现为:①开启发射和开启计时之间偏差。这是源于单片机一次只能处理一件事,所
以开启发射和开启计时实际上不能同时完成,是前后完成,存在时差。但只要指令速度足够快,其偏差能够忽略。
②收到回波到被检测出滞后。这是源于检测电路灵敏度和判定偏差,从收到实际回波到电路确定并输出对应信号肯定存在滞后,这和回波信号强弱、检测电路原理和判定电路敏感性相关,也是超声波测距关键。
③收到中止到中止响应停止计时之间滞后。这是源于单片机中止机制。收到中止信号后,单片机不可能立即响应,最少要完成目前指令,有时还要等候其它中止服务结束,所以这个滞后时间也不确定,从而造成测量结果改变。但这个原因能够经过提升单片机速度,使用高优先级中止。
④计时器本身误差。这是源于计时器本身。因为现在大多数晶体振荡器,其正确度和稳定度为20-50PPM等级,对于音速而言,带来稳定误差在mm级。为减小这项误差,应该提升计时最小单位,即是选择频率高晶振,从而降低量化误差,
同时选择质量好晶振。
离,则被测物表面,超声波发射探头和接收探头三者之间存在一个几何角度,即
发射波入射到接收探头角度,假如这个角度不是0度,系统测量到距离是被测物
和接收探头之间距离而不是和测量参考面之间距离,这就会造成测量误差。
结论
根据任务书要求,在查阅了一定参考资料后,经过几番努力,本人完成了“基于51单片机超声波倒车雷达测距”设计,此小型模拟系统基础达成了预期目标,实现了既定功效。系统采取ATS52单片机,充足利用了其丰富片上资源使得系统功效丰富,使用外围芯片降低,提升了系统可靠性。
关键研究工作包含:
(1)依据文件资料了解中国超声波传感器研究现实状况,了解多种测距原理,了解超声波相关知识。
(2)完成了系统总体设计和硬件电路设计。
(3)完成了超声波测距雷达软件设计,而且调试经过,基础实现了系统设计
(4)对所做出产品进行性能测试,精度达成预定要求。目标,最终完成程序烧录。
(1)在远距离测量时,驱动功率相对不够。测量距离较近,测量距离较大时,显示数据就会有较大误差。
(2)本设计系统设计还不够优化,仍有待改善。
(3)对多种实用芯片性能了解不够,选择上仍有欠缺。这些全部是我以后要继续研究内容。
参考文件
[1]胡萍.超声波测距仪研制[J].计算机和现代化,
[2]路锦正,王建勤.超声波测距仪设计[J].传感器技术,
[3]胡汉才.单片机原理及其接口技术[M].清华大学出版社,
[4]张波,王朋亮.基于STCC51单片机超声波测距系统设计.机床和液压,[5]时德刚,刘哗.超声波测距研究[J].计算机测量和控制,
[6]赵广涛.基于超声波传感器测距系统设计[J].微计算机信息.
[7]李丽霞.单片机在超声波测距中应用[J].电子技术,
[8]朱爱红.基于ATC2052超声波测距系统[J].信息技术和信息化.
[9] 肖景和.数字集成电路应用精粹[M].北京:人民邮电出版社,
[10]康华光.电子技术基础[M].数字部分.高等教育出版社,1998[11] 刘凤然.基于单片机超声波测距系统,传感器世界,
[13] 8-bit Microcontroller With 8K Bytes Flash ATC52. ATMEL,1999.
[13]8-bit Microcontroller With 8K Bytes in-system programble FlashATS52. ATMEL,.
[13]8-bit Microcontroller With 4K Bytes in-system programble FlashATS51. ATMEL,.
致谢
历时快要两个月时间最终将这篇论文写完,在论文写作过程中碰到了无数困难和障碍,全部在同学和老师帮助下度过了。尤其要强烈感谢我论文指导老师—贺伟老师,她对我进行了无私指导和帮助,不厌其烦帮助进行论文修改和改善。另外,在校图书馆查找资料时候,图书馆老师也给我提供了很多方面支持和帮助。在此向帮助和指导过我各位老师表示最中心感谢!
感谢这篇论文所包含到各位学者。本文引用了数位学者研究文件,假如没有各位学者研究结果帮助和启发,我将极难完成本篇论文写作。
感谢我同学和好友,在我写论文过程中给我了很多你问素材,还在论文撰写和排版过程中提供热情帮助。
和指正!
因为我学术水平有限,所写论文难免有不足之处,恳请各位老师和同学批评
附录
附录A:实物作品
附录B: 原理图
附录C: PCB图
附录D: 程序
#include<reg52.h> //包含一个52标准内核头文件#include<intrins.h>
#defineuchar unsigned char //定义一下方便使用
#defineuint unsigned int
#defineulong unsigned long
#define SYS_TIME 10 | // 0 1 2 3 3 4 5 6 7 8 9 | 十百厘米距离 |
Ucharcode
Voice_table[]={0x04,0x08,0x0C,0x10,0x14,0x18,0x1C,0X20,0X24,0X28,0X2C,0X30,0x38,0x40,0x60};
#define Voice_dat P2
sbit PLAYEN=P3^7; sbit Play_Over=P3^6;
sbit Echo = P3^2; //回波引脚
sbitBEEP=P1^3;
sbitLED=P3^4;
sbitKEY_PLAY=P1^5;
sbitKEY_ADD=P1^6;
sbitKEY_MIN=P1^7;
ulong distance_dat=0; //测距接收
ulong C_distance=0;
ucharoutcomeH,outcomeL; //自定义寄存器
ucharsys_timer=0;
ulongcount_time=0;
floatcc;
uintC;
bitsucceed_flag; //测量成功标志
ucharbeep_dis=60;
/***************************************************函数名称:延时子函数
***************************************************/函数功效:按键消抖
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
#include"DS18B20.H"
#include"1602.C"
void keyscan()
{
if(!KEY_ADD) {
delayms(8);
if(!KEY_PLAY)
{
delayms(8);
if(!KEY_PLAY)
{
Voice_dat=Voice_table[13]; //距离
PLAYEN=0;
delayms(10);PLAYEN=1;
while(Play_Over);
while(!Play_Over);
if(C_distance>99)
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[11]; //百
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
if(C_distance%100/10>0
{
Voice_dat=Voice_table[C_distance%100/10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[10]; //十
PLAYEN=0;
delayms(10);
PLAYEN=1;
{
Voice_dat=Voice_table[C_distance%10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
}
}
Else
{
if(C_distance%10>0)
{
Voice_dat=Voice_table[0]; //零
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[C_distance%10]; //'几'
PLAYEN=0;
delayms(10);
}
}
}
else if(C_distance>9)
{
Voice_dat=Voice_table[C_distance%100/10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[10];//十
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
if(C_distance%10>0)
{
Voice_dat=Voice_table[C_distance%10]; //'几'
PLAYEN=0;
delayms(10);
}
}
else
{
Voice_dat=Voice_table[C_distance%10];//'几'
PLAYEN=0;
delayms(10);
PLAYEN=1; |
|
while(!Play_Over);
}
Voice_dat=Voice_table[12]; //厘米 PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
}
}
}
void play()
{
delayms(8);
if(!KEY_PLAY)
{
Voice_dat=Voice_table[13];
//距离 PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over); |
|
if(C_distance>99)
{
Voice_dat=Voice_table[C_distance%1000/100]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[11]; //百
PLAYEN=0;
delayms(10);
PLAYEN=1;
{
Voice_dat=Voice_table[C_distance%100/10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[10]; | //十 |
|
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
if(C_distance%10>0)
{
Voice_dat=Voice_table[C_distance%10];//'几'
PLAYEN=0;
delayms(10);
}
}
Else
{
if(C_distance%10>0)
{
Voice_dat=Voice_table[0]; //零
PLAYEN=0; delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[C_distance%10];//'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
}
{
Voice_dat=Voice_table[C_distance%100/10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[10];
//十
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
if(C_distance%10>0)
{
Voice_dat=Voice_table[C_distance%10];//'几'
PLAYEN=0;
delayms(10);
}
Else
{
Voice_dat=Voice_table[C_distance%10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
}
Voice_dat=Voice_table[12]; //厘米 PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
}
}
}
{ void play()
{ delayms(8);
if(!KEY_PLAY)
{
Voice_dat=Voice_table[13]; //距离
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
if(C_distance>99)
{
Voice_dat=Voice_table[C_distance%1000/100]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[11];
//百 PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
Voice_dat=Voice_table[C_distance%100/10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[10]; | //十 |
|
PLAYEN=0; | ||
delayms(10); |
|
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
if(C_distance%10>0)
{
Voice_dat=Voice_table[C_distance%10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
}
if(C_distance%10>0)
{
Voice_dat=Voice_table[0]; //零
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[C_distance%10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
}
}
}
elseif(C_distance>9)
{
Voice_dat=Voice_table[C_distance%100/10]; //'几'
while(Play_Over);
while(!Play_Over);
Voice_dat=Voice_table[10]; //十
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
if(C_distance%10>0) |
|
{
Voice_dat=Voice_table[C_distance%10]; //'几'
PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over);
}
}
else
{
Voice_dat=Voice_table[C_distance%10]; //'几'
while(Play_Over);
while(!Play_Over);
}
Voice_dat=Voice_table[12]; //厘米 PLAYEN=0;
delayms(10);
PLAYEN=1;
while(Play_Over);
while(!Play_Over); |
|
}
}
}
#defineuchar unsigned char
#defineuint unsigned int
sbitDS18B20_DQ=P1^4;
uchardispbuf[5]={0,0,0,0,0};
uchar data DS18B20_Temp_data[2]={0x00,0x00}; uchar code
//储存温度值得数组
DS18B20_TEM_Deccode[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, //温度小数位查表数组
换时间
bit DS18B20_Presence; =1 失败
void Delay_6us(uchar xus) {
while(xus--);
}
//18b20复位成功标示位 =0成功
//6*xus+11us延时时间(经仿真得到)
void DS18B20_RESET() | //复位 |
|
{ |
|
DS18B20_DQ=1;
Delay_6us(2);
DS18B20_DQ=0;
Delay_6us(80);
DS18B20_DQ=1;
Delay_6us(10);
//最少480us低电平信号
//拉高等候接收18b20存在脉冲信号
DS18B20_Presence=DS18B20_DQ;
Delay_6us(40);
态
DS18B20_DQ=1; //拉高使总线在空闲状
}
uchar a=0;
for(a=8;a>0;a--)
{
DS18B20_DQ=0;
DS18B20_DQ=dat&0x01;
Delay_6us(5);
DS18B20_DQ=1;
dat>>=1;
} | } |
|
|
uchar Read_DS18B20_OneChar() //读一个字节
{
uchar dat=0;
uchar a=0;
for(a=8;a>0;a--)
{
DS18B20_DQ=0;
dat>>=1;
DS18B20_DQ=1;
if(DS18B20_DQ)
{
dat|=0x80;
voidRead_18B20_Temperature()
{ DS18B20_RESET(); //复位18B20if(!DS18B20_Presence) //复位成功{
Write_DS18B20_OneChar(0XCC);//跳过读序列号 Write_DS18B20_OneChar(0X44); //开启温度转换
Delay_6us(82);
DS18B20_RESET();
Write_DS18B20_OneChar(0XCC);
//等候温度转换时间500us左右 //复位18B20 //跳过读序列号
Write_DS18B20_OneChar(0XBE);
DS18B20_Temp_data[0]=Read_DS18B20_OneChar();//Temperature LSB DS18B20_Temp_data[1]=Read_DS18B20_OneChar();//Temperature MSB
}
dispbuf[4]=((DS18B20_Temp_data[1]&0x0f)<<4)|((DS18B20_Temp_data[0]&0xf0)>>4); //取出温度值得整数位
dispbuf[3]=dispbuf[4]/100;
dispbuf[2]=dispbuf[4]%100/10;
dispbuf[1]=dispbuf[4]%10;
度。 cc=331.45+0.61*dispbuf[4]; //C = 331.45+0.61φ(米/秒)φ为测出温
Copyright © 2019- qianxingmanyou.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务