(完整word版)超声波测距仪硬件电路研发设计_第1页
(完整word版)超声波测距仪硬件电路研发设计_第2页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1超声波测距仪电路轮机系楼宇 071周钰泉2007212117实验目的:了解超声波测距仪的原理,掌握焊接方法,掌握电路串接方法,熟悉电路元件。实验设备及器材:电烙铁,锡线,电路元件以下为元件清单:参数名称代号数量参数名称代号数470UC111KR1, R2, R3,1 量100uC214.7R4RR16,1104C3, C42220KR141224C5, C10222KR151223C614.7KR181330PC71按键RST, S1,53.3UFC81蜂鸣器S2, S31S411UFC91超声波接收管R147UFC111超声波发射管T110uFC121LM7805U1130pCY1, CY

2、2274HC245U214007D1, D2, D3, D4489S52U310.36 数码管DS11CD4069/74LS04U41360 QR5, R6, R7, R8, R9, R10,R11, R12,8CX20106AU5110K 排阻PR1111.0592MY118550Q1, Q2, Q3, Q4, Q55DC 电源插座1P11下载头JTAG1PCB 电路板1实验步骤:1,1,学习 keilkeil 软件编写程序2 2、焊接电路板 3 3、运行调试超声波测距程序:#i nclude un sig ned char codedispbitcode=0 x31,0 x32,0 x34

3、,0 x38,0 x30,0 x30,0 x30,0 x30;矚慫润厲钐瘗睞枥庑赖。un sig nedcharcodedispcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00,0 x77,0 x7c,0 x39;聞創沟燴鐺險爱氇谴净。un sig neddispbuf8=10,10,10,10,10,10,0,0;un sig ned char dispco unt;un sig ned char getdata;un sig ned int temp;un sig ned int temp1;cha

4、r23ST=0;while(1)if(K1=0)delay10ms();if(K1=0)yw=1;wd=0;else if(K2=0)delay10ms();if(K2=0)wd=1;yw=0;else if(LC=1)delay10ms(); if(LC=1)M1=0;M2=1;temp1=13; shuid=0;shuig=1;LB=0;else if(LC=0) & (LB=1)delay10ms();if(LC=0) & (LB=1)M1=0;M2=0;temp1=12;shuig=0;shuid=0;LB=0;unsigned char i;sbit ST=P3A0;

5、sbit 0E=P3A1;sbit EOC=P3A4;sbit CLK=P3A5;sbit M1=P3A6;sbit M2=P3A7;sbit SPK=P2A6;sbit LA=P3A3;sbit LB=P3A2;sbit LC=P2A7;sbit K1=P2A4;sbit K2=P2A5;bit wd;bit yw;bit shuid;bit shuig;unsigned int cnta;unsigned int cntb;bit alarmflag;void delay10ms(void)unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);

6、void main(void)M1=0;M2=0;yw=1;wd=0;SPK=0;ST=0;0E=0;TM0D=0 x12;TH0=0 x216;TL0=0 x216;TH1=(65536-500)/256;TL1=(65536-500)%256;TR1=1;TR0=1;ET0=1;ET1=1;EA=1;ST=1;4else if (LB=0) & (LA=1)delay10ms();if(LB=0) & (LA=1)M1=1; M2=0;temp1=11;shuig=0;shuid=0;LB=0; else if (LA=0)delay10ms();if(LA=0)M1=1;

7、M2=0; temp1=0;shuid=1;shuig=0;LB=0;void t0(void) interrupt 1 using 0CLK=CLK;void t1(void) interrupt 3 using 0TH1=(65536-500)/256;TL1=(65536-500)%256;if(EOC=1)OE=1; getdata=P1;OE=0; temp=getdata*25;temp=temp/64; i=2;dispbuf0=10;dispbuf1=10;dispbuf2=0;dispbuf3=0;if(yw=1)&(wd=0)dispbuf+i=temp1;else

8、 if(yw=0)&(wd=1)while(temp/10)dispbufi=temp/10;temp=temp%10;dispbuf+i=temp;ST=1;ST=0;P0=dispcodedispbufdispcount;P2=dispbitcodedispcount;dispcount+;if(dispcount=8)dispcount=0;if(shuig=1) & (shuid=0)cnta+;if(cnta=800)cnta=0;alarmflag=alarmflag;if(alarmflag=1)SPK=SPK;else if(shuig=0) & (sh

9、uid=1)cntb+;if(cntb=400)cntb=0;alarmflag=alarmflag;5if(alarmflag=1)SPK=SPK;elseT!实验内容:1.1 超声波测距仪硬件电路硬件电路可分为单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部 分。1.2 单片机系统及显示电路本系统采用 AT89S52AT89S52 来实现对超声波传感器的控制。单片机通过P1.0P1.0 引脚经反相器来控制超声波的发送,然后单片机不停的检测 INT0INT0 引脚,当 INT0INT0 引脚 的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,

10、通过换算就可以得到传感器与障碍物之间的距离。超声波测距的硬件示意图如图 3 3 所示:残骛楼諍锩瀨濟溆塹籟。单片机采用 89S52 或其兼容系列。采用 12MHz 高精度的晶振,已获得较稳定的时钟频电路原理图:ialarmflag=0;cn ta=0;cntb=O;/完整6率,减少测量误差。单片机用P1.0 端口输出超声波换能器所需的40KHZ 的方波信号,利用外中断 0 口检测超声波接收电路输出的返回信号。酽锕极額閉镇桧猪訣锥。1.3 显示的输出显示的种类很多,从液晶显示、发光二极管显示到 CRTCRT 显示器等,都可以与 微机连接。其中单片机应用系统最常用的显示是发光二极管数码显示器(简称

11、 LEDLED 显示器)。液晶显示器简 LCDLCD LEDLED 显示器价廉,配置灵活,与单片接口方便, LCDLCD 可显示图形,但接口较复杂成本也较高。彈贸摄尔霁毙攬砖卤庑。该电路使用 7 7 段 LEDLED 构成字型“8 8”,另外还有一个发光二极管显示符号及小 数点。这种显示器分共阳极和共阴极两种。这里采用共阳极 LEDLED 显示块的发光二 极管阳极共接,如下图 1 1 所示,当某个发光二极管的阴极为低电平时, 该发光二 极管亮。它的管脚配置如下图2 2 所示。謀养抟箧飆鐸怼类蒋薔。实际上要显示各种数字和字符,只需在各段二极管的阴极上加不同的电平, 就可以得到不同的代码。这些用来

12、控制 LEDLED 显示的不同电平代码称为字段码 (也 称段选码)。如下表为七段 LEDLED 的段选码。厦礴恳蹒骈時盡继價骚。表 3-13-1 七段 LEDLED 的段选码显示字符共阳极段选码dpdp gfedcbagfedcba显示字符共阳极段选码dpdp gfedcbagfedcba0 0C0H HA A88H88H1 1F9H HB B83H83H2 2A4H HC CC6HC6H3 3B0H HD DA1HA1H4 499H HE E86H86H5 592H HF F8EH8EH6 682H HP P8CH8CH7 7F8H Hy y91H91H8 880H H8.8.00H00H9

13、 990H H火FFHFFH本系统显示电路采用简单实用的 4 4 位共阳 LEDLED 数码管,位码用 PNPPNP 三极管 85508550 驱动。单片机 系 统 显 示 电 路 如 图3 3所 示 。茕桢广鳓鯡选块网羈泪。e d c dp亡0曲com7图 3 单片机系统及显示电路1.4 超声波发射电路超声波发射电路原理图如图 4 4 所示。发射电路主要有反向器 CD4069CD4069 和超声 波发生换能器 T T 构成,单片机 P1.0P1.0 的端口输出 40KHZ40KHZ 方波信号一路经一级反向 器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的 另一个电极。用

14、这种推挽形式将方波信号加到超声波换能器两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻 R10,R10, R11R11 一方面可以提高反向器 741S04741S04 输出高电平的驱动能力,另一方面可以增加 超声波换能器的阻尼效果,缩短其自由震荡的时间。鹅娅尽損鹤惨歷茏鴛賴。图 4 4 超声波发射电路原理图1 5 超声波检测接收电路集成电路 CX20106ACX20106A 是一款红外线检波接收的专用芯片,常用于电视机红外 遥控接收器。考虑到红外遥控常用的载波频率 38KHZ38KHZ 与测距的超声波频率 40KHZ40KHZ 较为接近,可以利用它制作超声波

15、检测接收电路 (如图 5 5)。实验证明用 CX20106ACX20106A 接受超声波(无信号时输出高电8平),具有很高的灵敏度和较强的抗干扰能力。适当更改电容 C4C4 的大小,可以改变接收电路的灵敏度和抗干扰能力。籟丛妈羥为贍债蛏练淨。图 5 5 超声波检测接收电路原理图2.超声波测距仪系统程序的设计2.1超声波测距仪的程序设计超声波测距器的软件设计主要由主程序, 超声波发生子程序,超声波接受中 断程序及显示子程序组成。我们知道 C C 语言程序有利于实现较复杂的算法,汇编 语言程序则具有较高的效率并且容易精确计算程序运行的时间,而超声波测距器的程序既有较复杂的计算(计算距离时),有要求

16、精确计算程序运行时间(超声 波测距时),所以控制程序可采用 C C 语言和汇编语言混合编程。下面对超声波测 距器的算法、主程序、超声波发生子程序和超声波接收断程序逐一介绍。預頌圣鉉儐歲龈讶骅籴。2.1.1 超声波测距器的算法设计图 6 6 示意了超声波测距的原理,即超声波发生器 T T 在某一时刻发出一个超声 波信号,当这个超声波信号遇到被测物体后反射回来,就被超声波接收器 R R 所接 收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可以计算出超声波发生器与反射物体的距离。渗釤呛俨匀谔鱉调硯錦。9图 6 6 超声波测距的示意图距离的计算公式:d=s/2=d=s/2=(c*t

17、c*t)/2/2其中 d d 为被测物与测距器的距离,s s 为声波的来回路程,c c 为声波,t t 为声 波来回所用的时间。由于超声波也是一种声波,其声速 c c 与温度有关,表 4-14-1 列出了几种不同温 度下的超声波声速,在使用时,如果温度变化不大,则可认为声速是基本不变的, 如果测距精度要求很高,则应通过温度补偿的方法加以校正。 声速校正后,只要 测得超声波往返的时间,即可求得距离。铙誅卧泻噦圣骋贶頂廡。表 4-14-1 不同温度下超声波声速表温度/C-30-30-20-20-10-100 0101020203030100100声速 c/m/sc/m/s:313313319319

18、3253253233233383383443443493493863862.1.2 主程序主程序首先是对系统环境初始化,设定定时器TOTO 工作模式为 6 6 位定时计数器模式,置位总中断允许位 EAEA 并给显示端口 P0P0 和 P2P2 清 0 0。然后调用超声波发 生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起 的直射波触发,需要延时约 0.1ms0.1ms (这也就是超声波测距器会有一个最小测距离 的原因)后,才打开外中断 0 0 接收返回的超声波信号。由于采用的是 12MHZ12MHZ 勺晶 振,计算器每计一个数就是 1us,1us,,当主程序检测到接收成功

19、的标志位后, 将计 数器 T0T0 中的数 (即超声波来回所用的时间) 按式 (1-21-2 )计算,即可得被测物体 与测距器之间的距离,设计时取 2020T时的声速为 344m/s344m/s 则有擁締凤袜备訊顎轮烂蔷。D=D=(c*tc*t)/2=172T0/10000cm/2=172T0/10000cm1-21-2其中 T0T0 为计数器 T0T0 的计数值。测出距离后结果将以十进制 BCDBCD 码方式送往 LEDLED 显示约 0.5s0.5s,然后再发超 声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离,主程序采用 C C 语言编写。图 7 7 为主程序流程图。贓熱俣阃歲

20、匱阊邺镓騷。10系统程序流程图如图 8 8 所示:图 8 8 超声波测距程序流程图工作时,微处理器 AT89S52AT89S52 先把 P1.0P1.0 置 0 0,启动超声波传感器发射超声波, 同时启动内部定时器 T0T0 开始计时。由于我们采用的超声波传感器是收发一体的, 所以在发送完 1 16 6个脉冲后超声波传感器还有余震,为了从返回信号识别消除超 声波传感器的发送信号,要检测返回信号必须在启动发射信号后2.38ms2.38ms 才可以检测,这样就可以抑制输出得干扰。当超声波信号碰到障碍物时信号立刻返回, 微处理器不停的扫描 INTOINTO 引脚,如果 INTOINTO 接收的信号由

21、高电平变为低电平,此天冈宦时器谨取所计教値图 7 7 主程序流程图11时表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据经过 换算就可以得出超声波传感器与障碍物之间的距离。坛搏乡囂忏蒌鍥铃氈淚。2.2 超声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过 P1.0P1.0 端口发送 2 2 个左右超声波脉冲信号(频 率约为40kHz40kHz 的方波),脉冲宽度为 12us12us 左右,同时把计数器 T0T0 打开进行计时。 超声波发生子程序较简单,但要求程序运行时间准确,所以采用汇编语言编程。蜡變黲癟報伥铉锚鈰赘。超声波测距器主程序利用外中断 0 0 检测返回超

22、声波信号,一旦接收到返回超 声波信号(即 INT0INT0 引脚出现低电平)立即进入中断程序。进入该中断程序后立 即关闭计时器 T T0 0停止计时,并将测距成功标志字赋值 1 1。買鯛鴯譖昙膚遙闫撷凄。如果当计时器溢出是还未检测到超声波返回信号,则定时器 T0T0 溢出中断将 外中断 0 0关闭,并将测距成功标志字赋值 2 2 以表示本次测距不成功。綾镝鯛駕櫬鹕踪 韦辚糴。3.超声波测距仪误差分析与调试3.1 误差来源分析由超声波测距原理可知,它是基于声波速度不随频率变化为基础的, 利用声 波行进于待测距离的时间为测量参量确定待测间距。主要误差来源有:驅踬髏彦浃 绥譎饴憂锦。(1 1)声波速

23、度变化引起的误差,这与空气的元素含量以及空气温度有关。”尸7由声波传播速度1 1 M M可知,声速是与空气的分子量与 M M 以及空气温度T T 有关。猫虿驢绘燈鮒诛髅貺庑。(2 2)脉冲计数频率的稳定性是直接导致“等效标准尺”长度变化的因素如果测量距离 L L 是w100100 米的话,mL=0.001=0.001 米,此误差远小于超生测长误差。锹籁饗迳琐筆襖鸥娅薔。(3 3)开关门的可靠性是标志超声波测距可靠性的关键,即同步门控制。也 就是说,超声波发射与脉冲计数必须同步开门。 所以,非同步性带来的随机误差 会影响结果。構氽頑黉碩饨荠龈话骛。miLN Cmif由测长误差关系式=L mf/ f可得,当脉冲频率准确

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论