超声波测距仪设计实验报告.docx
- 文档编号:8779211
- 上传时间:2023-05-14
- 格式:DOCX
- 页数:19
- 大小:456.10KB
超声波测距仪设计实验报告.docx
《超声波测距仪设计实验报告.docx》由会员分享,可在线阅读,更多相关《超声波测距仪设计实验报告.docx(19页珍藏版)》请在冰点文库上搜索。
超声波测距仪设计实验报告
课题设计目的及意义
随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。
但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距仪作为种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:
研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。
无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。
随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。
在新的世纪里,面貌一新的测距仪将发挥更大的作用。
随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统
也有较大发展,其状况不断改善。
但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。
因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。
城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。
而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。
控制系统核心部分就是超声波测距仪的研制。
因此,设计好的超声波测距仪就显得非常重要了。
这就是我设计超声波测距仪的意义。
实验原理
超声波在液体、固体中衰减小、穿透力强、对某些固体、穿透深度能达到几十米的范围;另外,超声波方向性好,能够定向传播。
因此,可以作为物体探查和进行测量的可靠手段。
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
s=340t/2。
整体电路设计
整体电路的控制核心为单片机STC89C52。
超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。
超声波探头接OUT口实现超声波的发射和接收。
整体结构图包括超声波发射电路,超声波接收电路,单片机电路,显示电路和语音提示电路等几部分模块组成。
而超声波发射与接收电路还要加入放大电路。
在发射后把信号放大,接收前也要把还再次放大。
整体电路结构图如图4-1。
图4-1超声波测距原理图
单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送液晶显示。
系统的硬件电路设计
硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。
单片机采用STC89C52或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P3.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。
显示电路采用简单实用的12864液晶屏。
一、单片机的功能特点及应用
5l系列单片机中典型芯片(STC89C52)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256B的RAM,2个16b的定时/计数器TO和T1,4个8b的工/O端I:
IP0,P1,P2,P3,一个全双功串行通信口等组成。
特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。
该系列单片机引脚与封装如图2-1所示。
5l系列单片机提供以下功能:
4kB存储器;256BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。
空闲方式:
CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。
掉电方式:
保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。
5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。
充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。
二、单片机在本实验中的应用
本实验中AT89C51单片机及P3.0用于超声波发射电路,P3.2用于接收电路,18和19脚照例接晶振。
P1系列与语音芯片部分相接,P0和P2系列主要用于液晶屏的显示。
剩余管脚依照设计接开关、按键等器材用于控制。
三、超声波发射电路
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
总体上讲,超声波发生器可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
压电式超声波发生器实际上是利用压电晶体的谐振来工作的.它有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。
超声波发射电路原理图如下图所示,发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P3.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。
输出端采用两个反向器并联,用以提高驱动能力。
上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可增加超声波换能器的阻尼效果,缩短其自由振荡时间。
四、超声波接收电路
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近且当CX20106A接收到40KHz的信号时,会在第7脚产生一个低电平下降脉冲,这个信号可以接到单片机的外部中断引脚作为中断信号输入,因此可以利用它制作超声波检测接收电路。
实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
其原理图如下:
五、12864液晶显示电路
液晶显示器(LCD/LiquidCrystalDisplay)的显像原理,是将液晶置于两片导电玻璃之间,靠两个电极间电场的驱动,引起液晶分子扭曲,以控制光源透射或遮蔽功能,在电源关开之间产生明暗而将影像显示出来,若加上彩色滤光片,则可显示彩色影像。
常见的液晶显示器分为TN-LCD(扭曲向列LCD)、STN-LCD(超扭曲向列LCD)、DSTN-LCD(双层超扭曲向列LCD)和TFT-LCD(薄膜晶体管LCD)四种。
它们的显示原理主要是利用液晶的扭曲向列型(TN)效应配合偏光板来实现对光线通过路径的"开"和"关"的。
12864液晶显示电路如下所示,EDM12864是内置了HD61202控制器的128×64点阵式液晶显示器,EDM12864与单片机接口简单,这一特点使其广泛的应用于各种工业控制当中。
计算机89C52通过高位地址A11控制CSB;A10控制CSA选通液晶显示屏上各区的控制器HD61202;89C52用地址A9作为R/W信号控制数据总线的数据流向;用地址A8作为D/I信号控制寄存器的选择;E信号由89C52的读信号RD和写信号WR合成产生,实现计算机对内置HD61202图形液晶显示模块的电路连接。
电位器用于显示对比度的调节。
液晶显示器与传统的显像管显示器相比,其优点如下:
一、显示质量高
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不象阴极射线管显示器(CRT)那样需要不断刷新亮点。
因此,液晶显示器画质高而且绝对不会闪烁,把眼睛疲劳降到最低。
二、没有电磁辐射
传统显示器的显示材料是荧光粉,通过电子束撞击荧光粉发光显示,电子束在打到荧光粉上的一刹那间会产生强大的电磁辐射,尽管目前有许多显示器产品在处理辐射问题上进行了比较有效的处理,尽可能地把辐射量降到最低,但要彻底消除是困难的。
相对来说,液晶显示器在防止辐射方面具有先天的优势,因为它根本就不存在辐射。
三、可视面积大
对于相同尺寸的显示器来说,液晶显示器的可视面积要更大一些。
液晶显示器的可视面积跟它的对角线尺寸相同。
阴极射线管显示器显像管前面板四周有一英寸左右的边框不能用于显示。
五、数字式接口
液晶显示器都是数字式的,不像阴极射线管显示器采用模拟接口。
也就是说,使用液晶显示器再也不需要像往常那样把数字信号转化成模拟信号再行输出了。
理论上,这会使色彩和定位都更加准确完美。
七、“身材”匀称小巧
传统的阴极射线管显示器,后面总是拖着一个笨重的射线管。
液晶显示器突破了这一限制,给人一种全新的感觉。
传统显示器是通过电子枪发射电子束到屏幕,因而显像管的管颈不能做得很短,当屏幕增加时也必然增大整个显示器的体积。
而液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示目的,即使屏幕加大,它的体积也不会成正比的增加,而且在重量上比相同显示面积的传统显示器要轻得多。
八、功率消耗小
传统的显示器内部由许多电路组成,这些电路驱动着阴极射线显像管工作时,需要消耗很大的功率,而且随着体积的不断增大,其内部电路消耗的功率肯定也会随之增大。
相比而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比传统显示器也要小得多。
六、语音提示电路
语音提示电路有芯片isd1420和各种电容电阻、极性电容以及录音器,扬声器,发光二级管等构成。
芯片特点:
ISD1420芯片采用直接模拟存储技术,且录放音质极好,并有一定的混响效果;它的外围元件简单,仅需简单的阻、容元件即可组成简单的录、放电路;单电源供电,典型电压+SV。
待机时低功耗(0.5林A),放音电流巧mA;放音时间205,可扩充级联;可持续放音,也可分段录放,最小分段:
205/160段=0.1255/段,可分段160段;录、放次数达10万次;断电信息存储,无需后备电池,信息可存储100年;不需要专用的编程器及语音开发器;高优先级录音,低电平或负边沿放音。
引脚介绍:
ISD142O芯片封装为DIP硬封装28引脚。
其中,AO一A7为地址或操作模式控制端;Vssd为数字地;Vssa为模拟地;SP十、SP-为音频信号输出端,可以驱动8一16Ω扬声器;Vcca为模拟电源;Vccd为数字电源;MIC为话筒输人端,可用驻极体话筒,通过电容祸合;MICREF为话筒输人参考端,若不用应悬空;AGC为自动增益控制端,调整芯片内部前置放大器增益,使录人信号不失真;ANAIN、ANAOUT为两端间接电容,该端用于模拟信号的直接输人、输出;XCLK为外部时钟或接地(一般用户接地即可);REC为录、放音控制,低电平为录音。
系统的软件设计
程序框图
主程序段:
#include
#include
#define uchar unsigned char
#define uint unsigned int
数据定义
uchar code tab[]={"本次测量结果为:
"
"测试状态:
发"
"m"
"未锁定"};
uchar code tab1[]={"单连未"};
uchar code tab2[]={"0123456789.-"};
uchar code warning[]={"锁定中....未收到回波"};
uchar code warn1[]={"连发中"};
ucharcodeDIS1[]={"欢迎使用"};
ucharcodeDIS2[]={"超声波测距仪"};
ucharcodeDIS3[]={"生医01班超声小组"};
ucharcodeDIS4[]={"设计制作"};
bit back,next0;
uchar sa,ge=11,p1=11,p=11,mo,nosign,outge,outp1,outp2; //sa:
统计发送40KHZ信号的个数=0.5sa;ge:
个位;p1小数点第一位;p小数点第二位
long scount,stime_us,distance,disge,dispo; //scount:
计数个数,stime_us:
时间为多少微秒;distance:
最终结果,但还要被分解成ge,p1,p;disge:
最后结果的整数;dispo:
最后结果的小数;
sbit RS=P2^7;//寄存器选择输入
sbit RW=P2^6;//液晶读/写控制
sbit EN=P2^5;//液晶使能控制
sbit PSB=P2^3;//串/并方式控制
sbit RST=P2^4;//液晶复位端口
extern void DELAY();
void init(); //初始化
void displaylock();
void test(); //第一次检测各种状态
void test0(); //连发状态下检测是否应该停止测量
void m_single();
void m_countinous();
void Calculation();
void lcd12864(uchar,uchar,uchar);
void delay_ms(uintz);
void delay_mus(uint z);
void warning1(bit);
void open();
bit lcdbusy();
void init1();
void state();
void sendcd(bit com,uchar dat);
/****************************************
小延时
*//***************************************/
void disnop()
{_nop_();_nop_();_nop_();_nop_();}
/****************************************
中断初始化
*//***************************************/
void init() //初始化总中断和INT0中断
{ EA=1;
EX0=1;}
/****************************************
检验
*//***************************************/
void test()
{ while
(1)
{ back=0;
AGN:
state();
if(P3_1) //是否按下发射键 if(P3_1)
goto AGN;
else
{if(!
P3_4)
{lcd12864(ge,p1,p);
displaylock();
goto AGN;}}
if(P3_3) //检查是单发还是连发状态 当开关为断开时为单发,闭合为连发 m_single();
else
m_countinous();}
}
/****************************************
复验
*//***************************************/
void test0()
{ uchar n;
if(!
P3_4) //是否锁定;若在连发状态下锁定(拨到on,为低电平)则停止测量 {back=1;
return;}
if(P3_3) //是否更改为单发,若改了则停止测试
{back=1;
sendcd(0,0x8f);
sendcd(1,warn1[5]);
sendcd(1,warn1[6]);
}
else
{ sendcd(0,0x8d);
delay_ms
(1);
for(n=0;n<6;n++)
{
sendcd(1,warn1[n]);
delay_ms
(1);
}
}
return; //用return防止重入test()
}
/****************************************
单发
*//***************************************/
void m_single()
{ next0=0;
nosign=1;
TMOD=0X10;
DELAY();
P3_0=0;
delay_ms
(2);
while(nosign==1) //如果nosign=1即没收到超声波则等待
{if(next0)
return;}
Calculation();
TH1=0;
TL1=0;
if(P3_3) //if(P3_3) 若是单发则返回第一次检测,为连发则返回连发程序
test();
}
/****************************************
连发
*//***************************************/
void m_countinous()
{ uint m;
while
(1)
{m_single();
for(m=0;m<2000;m++)
{ delay_ms
(1);
test0();
if(back) return;
}
}
}
/****************************************
1MS的延时
*//***************************************/
void delay_ms(uint z)
{
uint x;
uchar y;
for(x=z;x>0;x--)
for(y=120;y>0;y--);
}
/****************************************
十微秒左右的延时
*//***************************************/
void delay_mus(uint z)
{
uint x;
uchar y;
for(x=z;x>0;x--)
for(y=5;y>0;y--);
}
/****************************************
计算结果
*//***************************************/
void Calculation() //计算结果
{
scount=TH1*0x0100+TL1;
stime_us=scount/2; //上限32768,下限约为75
distance=340*stime_us; // 上限11141120,下限约为25500,未超出界限,数量级为10的-6次方,换算成米为0.026到11.14米之间。
disge=distance/1000000; //上限11 ,下限0
dispo=distance%1000000; //小数位,共6位 上限999999下限000000
ge=disge;
p1=dispo/100000;
p=(dispo%100000)/10000;
mo=(((dispo%100000)/10000)%1000);
if(mo>=5)
{p++;
if(p==10)
{p=0;
p1++;
if(p1==10)
{p1=0;
ge++;}
}
if(ge>=10)
{if(!
P3_3)
ge=11,p1=11,p=11;
else
{warning1
(1);
delay_ms(3000);
ge=11,p1=11,p=11;}
}}
lcd12864(ge,p1,p);}
/****************************************
锁定
*//***************************************/
void displaylock()
{ uint k;
warning1(0);
for(k=0;k<8000;k++)
{ delay_ms
(1);
if(P3_4)
{ lcd12864(ge,p1,p); //若解除锁定,则显示刚才的数据并返回
return;
} }
lcd12864(ge,p1,p);
}
/****************************************
开机画面
*//***************************************/
void open()
{ char i;
delay_ms(200);
init1();
sendcd(0,0x80);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 测距仪 设计 实验 报告