超声波测距电路中的自动增益控制图
几种常见的超声波测距原理图

几种常见的超声波测距原理图
超声波测距原理
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。
这就是所谓的时间差测距法。
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。
由此可见,超声波测距原理与雷达原理是一样的。
测距的公式表示为:L=C&TImes;T
式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。
自动增益控制电路

自动增益控制电路前言在通信、导航、遥测遥控系统中,由于受发射功率大小、收发距离远近、电波传播衰落等各种因素的影响,接收机所接收的信号变化范围很大,信号最强时与最弱时可相差几十分贝。
如果接收机增益不变,则信号太强时会造成接收机饱和或阻塞,而信号太弱时又可能被丢失。
因此,必须采用自动增益控制电路,使接收机的增益随输入信号的强弱而变化。
这是接收机中几乎不可缺少的辅助电路。
在发射机中或其他电子设备中,自动增益控制电路也有广泛的应用。
一、工作原理1.电路组成与框图自动增益控制电路是一种在输入信号变化很大的情况下,通过调节可控增益放大器的增益,使输入信号幅值基本恒定或仅在小范围内变化的一种电路,其组成方框图如下: 输入信号振幅为,输出信号振幅为,可控放大器增益为,即其是控制信号的函数,则有:= ()2.比较过程在AGC电路里,比较参量是信号电平,所以采用电压比较器。
网络由电平检测器、低通滤波器和直流放大器组成。
反馈网络检测出信号振幅电平(平均电平或峰值电平),滤去不需要的较高频率分量,然后进行适当放大后与恒定的参考电平比较,产生一个误差信号。
控制信号发生器在这里可看作是一个比例环节,增益为k 。
若减小而使减小时,环路产生的控制信号将使增益1增大,从而使趋于增大。
若增大而使增大时,环路产生的控制信号将使减小,从而使趋于减小。
无论何种情况,通过环路反馈不断地循环反馈,都应该使输出信号振幅保持基本不变或仅在较小范围内变化。
,.滤波器的作用环路中的低通滤波器是非常重要的。
由于发射机功率变化,距离远近变化,电波传播衰落等引起信号强度的变化是比较缓慢的,所以整个环路应具有低通传输特性,这样才能保证仅对信号电平的缓慢变化有控制作用。
尤其当输入为调幅信号时,为了使调幅波的有用幅值变化不会被自动增益控制电路的控制作用所抵消(此现象称为反调制),必须恰当的选择环路的频率响应特性,使对高于某一频率的调制信号的变化无响应,而仅对低于这一频率的缓慢变化才有控制作用。
AT89C51超声波测距控制系统

基于AT89C51的超声波测距系统解剖姓名:0七夜听雪0学号:20101281XX班级:10电工基于AT89C51超声波测距系统解剖一.基于AT89C51超声波测距系统原理分析1.简介基于AT89C51单片机的超声波测距系统。
该系统采用脉冲回波方式充分利用单片机的硬件和软件资源,自动实现超声波的发射与接收控制。
系统充分考虑了环境温度对超声波传播速度的影响,通过单片机中计数器所计超声波往返所经历的时间,通过公式换算就可以计算出超声波发射器与被测物之间的距离。
超声波作为一种新型的、非常有用的工具在各方面都有很大的发展空间,其原理是发射器发出的超声波在空气中以速度传播,在接触到被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2 即可算出被测物体的距离。
二.基于AT89C51超声波测距系统框图如图 1 所示。
单片机发出40kHz 的信号经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED 显示。
三.基于AT89C51超声波测距系统原理图图2基于AT89C51超声波测距系统原理图四.基于AT89C51超声波测距系统硬件模块分析硬件电路主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。
采用AT89C51 来实现对CX20106A 红外接收芯片和TCT40-10 系列超声波转换模块的控制。
单片机通过P1.0 引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0 引脚,当INT0 引脚的电平由高电平变为低电平时就认为超声波已经返回。
计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。
4.1 单片机系统及显示电路4.1.1 51系列单片机功能特点图3 51系列单片机封装图51系列单片机引脚及封装如图3所示。
超声波测距电路图

超声波测距电路图超声波测距电路原理和制作由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。
为了使移动机器人能自动避障行走,就必须装备测距系统,以使其及时获取距障碍物的距离信息(距离和方向)。
本文所介绍的三方向(前、左、右)超声波测距系统,就是为机器人了解其前方、左侧和右侧的环境而提供一个运动距离信息。
二、超声波测距原理1、超声波发生器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
2、压电式超声波发生器原理压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部结构如图1所示,它有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
3、超声波测距原理超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2图1 超声波传感器结构这就是所谓的时间差测距法。
超声波测距专用集成电路LM1812

超声波测距专用集成电路LM1812LM1812超声波遥控专用集成电路LM1812是一种性能优良,且即能发送又能接收超声波的通用型超声波集成器件。
芯片内部包括:脉冲调制C类振荡器、高增益接收器、脉冲调制检测器及噪音抑制器。
它除了可用于遥控器、报警器、自动门控制及通信方面外,还可用于工业上的料位或液位的测量与控制、测距及测厚等方面,应用十分广泛。
(1)外形及引脚功能LM1812超声波专用器件外形为18脚双列直插塑料土封装形式,其外形及引脚排列见图1-1,相应引脚功能为;1脚第二增益级输出/振荡器端,6脚发射器输出端,7脚发射驱动器13脚外接电源退耦电容端,14脚检出器输出端,16脚输出驱动器端,17脚噪声控制端,18脚积分器复位时间常数控制端。
图1 -2为其内部原理框图。
(2)持点及电气参数1、特点LM1812具有如下特点:a、可以使用一个发送/接收换能器工作,也可使用两个换能器分别发送和接收超声波b、器件具有互换性。
c、在电路中使用时不用外接晶体管驱动。
d、使用时不用外接散热器。
e、器件内部具有保护电路。
检测器输出可驱动1A的峰值电流。
f、在水中测距超过30m,在空气中测距超过6m。
g、发送功率可达12W(峰值)。
2、电气参数表1-1和表1-2分别给出了LM1812超声波专用电路的极限工件参数和典型电气参数值表1-1 极限工作参数(3)工作原理LM1812第1脚外接L1、C1决定了电路发送或接收的工作频率,其工作频率fo=1/(2π ),最高可达325kHz。
当8脚为高电平时,L1、C1振荡槽路被切换为振荡模式,振荡信号经驱动放大后,由13脚及6脚输出(一般6、13脚之间接变压器,以便与超声波发送器阻抗匹配)。
为保证输出级不过载,使用时应在6脚测试一下电流,一般此脚峰值电流不能超过1A。
若需更大的功率,可采用外加脉冲放大器的方法来实现,输出电流可达5A;当8脚为高电平时、LM1812处于发送模式;8脚为低电平时,LM1812处于接收模式(8脚输入电流设计在1~10mA范围内)。
四声道超声波气体流量计自动增益控制电路设计

2009.04中国计量计60技术篇┃科研与实践随着国民经济的迅速发展,冶金、化工等各部门对气体大流量的准确测量要求日益迫切,为了满足气体流量测量准确度不断提高的要求,超声波气体流量计被广泛应用于气体流量的检测与标定中。
在超声波气体流量计的测量方法中应用最广泛的是时差法。
时差法超声波气体流量计是通过测量超声波信号在流体中顺流和逆流传播时间之差来计算气体流速的,它具有准确度高、非接触测量、宽量程、无压力损失、安装使用简单等特点,具有很好的前景。
本文主要介绍四声道超声波气体流量计中的自动增益控制电路的设计。
一、超声波流量计测量原理时差法在超声波气体流量计的测量中应用最为广泛。
图1为超声波传感器安装的简化结构,A 与B 两个传感器相对于管道轴线的安装角为θ,管径为D ,两个传感器之间的距离为L ,超声波在静止流体中的传播速度为C 0。
超声波实际的传播速度C 为C 0与流体在声道方向四声道超声波气体流量计自动增益控制电路设计□徐南赵辉蔡忠兴图11MN %FC 示值误差与力值扩展不确定度图1时差法流速测量原理图对扩展不确定度的评估结果。
由图2可见,在(600~5000)kN 范围内,力值示值误差绝对值≤0.01%,力值相对扩展不确定度≤0.03%(k =2)。
δ=(X B N -X D W M )/X B M (k =2)δ=(X B M -X HM )/X B M (已考虑叠加效应)(k =2)三、结论1MN 力比较机和6.7MN 叠加式力标准机在其检定范围内的力值示值误差绝对值≤0.03%,力值相对扩展不确定度≤0.03%(k =2),其技术指标已达到国际先进水平。
文中使用“间接法”对叠加式力标准机的合成不确定度进行评估,结果表明“间接法”评估可靠、计算合理、应用范围广。
由于作为参考标准的力传感器的长期稳定度、重复性、寄生效应及温度影响等性能的显著改善,叠加机的计量学指标已可以和杠杆机、液压机的相当。
同时,叠加机又具有造价低、加工时间短、体积小、重量轻、耗电低、占地面积小、操作简便、易于维护等优点,叠加机已成为国内外建立中、大量程力标准的首选。
使用TA8141S做超声测距的应用电路

还没执行完之前,又会有下一个中断产生。所以,单片将会产生一个错误频率
的信号。往往这个错误的频率会比预期的值偏低。比如程序原本要产生一个
40KHz 的信号。实际单片机只能产生一个 20KHz 左右的信号。(金聚宝电子提供
的程序仅供参考)
40KHz 的信号可以用一个汇编语言子程序来产生。程序如下:
NAME CS_T ? PR? CS_T? CS_T SEGMENT CODE
PUBLIC CS_T
RSEG ?PR?CS_T?CS_T
CS_T:
PUSH ACC
MOV TH0, #00H MOV TL0, #00H
MOV A, #4D
SETB TR0
CST_1:
CPL P1.0
郑州火车站中州商场 3 楼北厅 3438 号 电话:0371--66987238 13733178417 QQ:308894904 电子信箱: saxmcu@
郑州金聚宝电子科技有限公司
发射电路 下图是使用 TA8141S 作为超声波接收处理的典型电路,供参考。(当 TA8141S 接收到 40KHz 的信号时,会在第 8 脚产生一个低电平下降脉冲,这个信 号可以接到单片机的外部中断引脚作为中断信号输入)
大量提供 TA8141S 芯片:3 元/只
郑州金聚宝电子科技有限公司
郑州火车站中州商场 3 楼北厅 3438 号 电话:0371--66987238 13733178417 QQ:308894904 电子信箱: saxmcu@126.com
郑州火车站中州商场 3 楼北厅 3438 号 电话:0371--66987238 13733178417 QQ:308894904 电子信箱: saxmcu@
超声波测距电路图及程序

//#include <AT892051.H>#include <AT89X51.H>#define k1 P2_0#define csbout P2_7 //超声波发送#define csbint P3_2 //超声波接收#define csbc 0.034#define DQ P3_0unsigned char opto,digit;unsigned xm1,xm2,xm0,xm3,xm4,key,jpjs;unsigned sx1,mqs,buffer[5];unsigned convert[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//0~9bit cl; //段码unsigned int s,t,i, xx,j,sj1,sj2,sj3,sx1;typedef unsigned char byte;typedef unsigned int word;void js();void delay(int i); //延时函数void scanLED(); //显示函数void allToBuffer(); //显示转换函数void keyscan();void offmsd();void delay1(word useconds);byte ow_reset(void);byte read_byte(void);void write_byte(char val);char Read_Temperature(void);void main() //主函数{EA=1; //中断允许TMOD=0x11; //设定时器0为计数,设定时器1定时ET0=1; //定时器0中断允许ET1=1; //定时器1中断允许TH0=0x00;TL0=0x00;TH1=0x9E; ///定时器T1置为25msTL1=0x57;csbint=1; //p3.2置位csbout=1; //p2.7置位cl=0;opto=0xff;jpjs=0;sj1=20;sj3=600;TR1=1;while(1){keyscan();if(jpjs<1){js();if(s>sj3){buffer[2]=0x00;buffer[1]=0x00;buffer[0]=0x00;}else if(s<sj1){buffer[2]=0x00;buffer[1]=0x00;buffer[0]=0x00;}else allToBuffer();}else allToBuffer(); //将值转换成LED段码offmsd();scanLED(); //显示函数}}void scanLED() //显示功能模块{digit=0x01;for( i=0; i<5; i++) //5位数显示{P0=~digit&opto; //依次显示各位数P1=buffer[i]; //显示数据送P1口delay(20); //延时处理if(!(P0&0xEF)) //判断5位是否显示完key=0;digit<<1; //循环左移1位}}void allToBuffer() //转换距离数码管功能模块{int temperature;xm0=s/100;xm1=(s-100*xm0)/10;xm2=s-100*xm0-10*xm1;buffer[2]=convert[xm2];buffer[1]=convert[xm1];buffer[0]=convert[xm0];temperature=Read_Temperature();xm3=temperature/10;xm4=temperature-10*xm3;buffer[4]=convert[xm4];buffer[3]=convert[xm3];}void delay(int i){while(--i);}void js(){int temprature;temprature=Read_Temperature();if(cl==1){TR1=0; //定时器1关闭TH0=0x00;TL0=0x00;//定时器0清零i=10;while(i--){csbout=!csbout;} //连续取反10次发射5个周期超声波TR0=1; //开启计数器t0i=mqs; //盲区while(i--){}i=0;while(csbint){i++;if(i>=2450) //上限值{csbint=0;}}TR0=0;TH1=0x9E;TL1=0x57;t=TH0;t=t*256+TL0;s=t*(csbc+0.61*temprature)/2;TR1=1;cl=0;}}void keyscan() //健盘处理函数{xx=0;if(k1!=1) // 判断开关是否按下{delay(400); //延时去抖动延时3.6msif(k1!=1) // 判断开关是否按下{while(!k1){delay(30);xx++;}if(xx>2000){jpjs++;if(jpjs>4)jpjs=0;}xx=0;mqs=65; //while循环一周期9us ,20cm需要等待65*9us }}}void offmsd(){if (buffer[0] == 0x3f)buffer[0] = 0x00;}//ds18b20的完整程序(c51)(sparkstar)//DS1820 C51 子程序//这里以11.0592M晶体为例,不同的晶体速度可能需要调整延时的时间//sbit DQ =P2^1;//根据实际情况定义端口//延时void delay1(word useconds){for(;useconds>0;useconds--);}//复位byte ow_reset(void){byte presence;DQ = 0; //pull DQ line lowdelay1(29); // leave it low for 480usDQ = 1; // allow line to return highdelay1(3); // wait for presencepresence = DQ; // get presence signaldelay1(25); // wait for end of timeslotreturn(presence); // presence signal returned} // 0=presence, 1 = no part//从1-wire 总线上读取一个字节byte read_byte(void){byte i;byte value = 0;for (i=8;i>0;i--){value>>=1;DQ = 0; // pull DQ low to start timeslotDQ = 1; // then return highdelay1(1); //for (i=0; i<3; i++);if(DQ)value|=0x80;delay1(6); // wait for rest of timeslot}return(value);}//向1-WIRE 总线上写一个字节void write_byte(char val){byte i;for (i=8; i>0; i--) // writes byte, one bit at a time {DQ = 0; // pull DQ low to start timeslotDQ = val&0x01;delay1(5); // hold value for remainder of timeslot DQ = 1;val=val/2;}delay1(5);}//读取温度char Read_Temperature(void){union{byte c[2];int x;}temp;ow_reset();write_byte(0xCC); // Skip ROMwrite_byte(0xBE); // Read Scratch Padtemp.c[1]=read_byte();temp.c[0]=read_byte();ow_reset();write_byte(0xCC); //Skip ROMwrite_byte(0x44); // Start Conversionreturn temp.x/2;}。