版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . 南华大学电气工程学院2010年十二月“超声波测距电路”作品简介(论文)作品名称:基于单片机的超声波测距电路姓名:某 某班级:自动化?班学号:?联系:?摘 要距离,又可称为位移量,是工业五大量度之一。测距广泛用于诸如汽车倒车、物位检测、智能避障等方面。距离的测量对于生产工作是至关重要的。现行的测距方法有很多种,本电路采取了超声波测距方案。由于超声波指向性强、传输距离远,采用超声波测距是一种既方便又快捷的方法。本方案使用了MCS-51单片机作为主控芯片,且采用了集成芯片CX20106A作为超声波接收电路的主要芯片,如此大大简化了外围电路的复杂程度,提高了电路的稳定性。通过测试,本电
2、路基本上可以测得探头到障碍物之间的距离,达到了目的。关键词:超声波测距,MCS-51单片机,CX20106A目 录1、 作品名称······························(4)2、 方案的比较与选择·······
3、···············(4)3、 电路设计思路与总体结构················(5)4、 电路的设计与成型··············
4、;········(5)4.1供电部分·····························(5)4.2微控制器部分·········&
5、#183;···············(6)4.3超声波发射部分·······················(6)4.4超声波接收部分·······
6、;················(7)4.5温度补偿部分·························(8)4.6显示部分·····&
7、#183;·······················(9)4.7整体电路与其PCB图··················(9)5、电路软件的设计···
8、83;······················(10)5.1初始化部分·························
9、83;··(11)5.2超声波发射部分························(12)5.3温度检测部分···················
10、·······(12)5.4定时与中断部分························(13)5.5液晶显示部分··············
11、83;···········(13)5.6主程序································(14)6、总结···
12、83;································(14)7、参考文献················
13、;················(15)1、作品名称:基于单片机的超声波测距电路。2、 方案的比较与选择:目前基于电子技术测量距离的常用方法主要有雷达测距、激光测距、光电测距和超声测距等。其中由于雷达测距和激光测距的条件较为苛刻且成本高,故不在方案选择的考虑围之。下面着重比较光电测距和超声测距两种方案。方案1:采用光电测距。一般来说,光电测距使用红外光电管作为发射接收传感器,如图2.1为红外发光二极管和接收管。图2.1 红外发射/接收
14、管红外发射/接收信号滤波、放大信号处理、计算距离显示 图2.2 系统流程图红外测距反应灵敏,且安全可靠,但测量围很窄,并且如果要求提高精度的话,需要提高成本。方案2:采用超声波测距。图2.3 超声波发射/接收头超声波发射/接收信号滤波、放大信号处理、计算距离显示 图2.4 系统流程图 采用超声波测距的优缺点如下:优点:超声波对色彩和光照度不敏感,可在黑暗、有粉尘和测量透明物体的环境下使用;超声波对电磁干扰不敏感,可在有电磁干扰等恶劣环境下工作;超声波易于集成化、小型化。缺点:超声波会受温度、气流、材质等影响;超声波测距如欲达到一定精度,需要复杂的外围电路支持。方案的确定:经比较方案1与方案2,
15、可知选用超声波测距不失为一种可行的办法。超声波测距的方法主要有相位检测法、声波幅值检测法、渡越时间检测法三种。相位检测法的测量精度高,但检测围有限;声波幅值检测法易受环境反射波的影响;渡越时间检测法工作原理简单、直观,在硬件控制和软件设计方面容易实现。本电路采用渡越时间检测法,其原理为通过检测超声波的发射和接收之间的渡越时间t,通过公式s=vt计算出障碍距离,其中v为超声波在空气中的传播速度。3、 电路设计思路与总体结构:MCU显示部分温度补偿部分分析本电路的方案,总体为下面几个部分:供电部分超声波发射部分超声波接收部分图3.1 结构框图根据总体结构可知,本电路的工作流程为:超声波发射>
16、超声波接收>检测时差>计算出距离>显示如此就能细分每个环节的工作了。下面将就每个部分进行详细解析。4、 电路的设计与成型:根据总体结构,电路可分解为以下部分,在此进行详细分析。4.1供电部分:供电部分为整个电路提供可靠的电源。图4.1.1为电源电路部分。 图4.1.1 电源电路电源电路部分依旧使用78系列稳压芯片作为稳压芯片。由于本电路只需要使用到5V电压,故此方案简单方便且合用。4.2微控制器部分:本电路采用了STC89C52作为主控电路,图4.2.1为微控制器电路。图4.2.1 微控制器电路STC89C52为STC公司的一款通用单片机,其操作简便,功能强大,适用于简单的控
17、制系统的数据处理和动作控制方面。4.3超声波发射部分:超声波发射部分需要用单片机产生一个频率为40kHz左右的方波来带动发射头的压电晶片来起振,从而发射出超声波。图4.3.1 超声波换能器 图4.3.2 压电式超声波传感器结构如图4.3.3为超声波发射部分的电路:图4.3.3 超声波发射电路由于单片机端口输出功率不够,所以经单片机产生的40 kHz方波脉冲信号T分成两路,一路经一级反相器后送到超声波换能器的一个电极;另一路经两级反相器后送到超声波换能器的另一个电极。再加上两个上拉电阻TR1和TR2,可有效提高74LS04的带负载能力。4.4超声波接收部分:超声波接收部分的任务是接收到返回的超声
18、波信号并对其进行滤波、放大、整形。由于用分立元件搭建超声波接收电路的效果很差,而且电路元件的参数不容易用常用元件达到,故超声波接收电路采用了索尼公司生产的集成芯片CX20106,得到一个负脉冲送给单片机的P3.2(INT0)引脚,以产生一个中断。CX20106的部结构如图4.4.1所示:图4.4.1CX20106部结构CX20l06A是日本索尼公司生产的红外接收芯片,也适用于超声波接收。其采用单列8脚直插式,小型封装,+5V供电,使用方便,功能强大。超声波接收电路如图4.4.2所示。图4.4.2 超声波接收电路超声波接收电路工作过程如下:接收的回波信号先经过前置放大器和限幅放大器,将信号调整到
19、合适幅值的矩形脉冲,由滤波器进行频率选择,滤除干扰信号,再经整形,送给输出端7脚。当接收到与CX20106滤波器中心频率38kHz相符的回波信号时,其输出端7脚就输出低电平。将此低电平信号输出给单片机的外部中断0,即可产生一个中断信号。4.5温度补偿部分:由常识可知,声波在空气中的传播速度首温度的影响。如果在计算距离时忽略这个影响,会造成不小的误差,尤其在对距离测量有精度要求时,温度因素更加不可忽略了。所以本电路特地加上了温度补偿环节。如图4.5.1为温度测量电路。图4.5.1 温度测量电路本电路采用了DALLAS公司生产的集成温度传感器DS18B20作为测温电路芯片,它具有结构小巧、操作简便
20、且功耗小的优点,被广泛用在各种温度测量的场合。4.6显示部分: 本电路采用12864液晶显示器作为显示部分,其突出优点就是可以显示汉字等字符,且与单片机的借口简单,操作方便。如图4.6.1为显示部分的电路图。图4.6.1 显示部分电路图4.7整体电路与其PCB图:整体电路(不包含单片机部分)的电路图如图4.7.1所示。图4.7.1 整体电路如图,接口P1用来与单片机交流。PCB图如图4.7.2所示。图4.7.2 PCB印制板图5、电路软件的设计: 图5.1 软件流程图由图可知,软件部分包括初始化部分、超声波发射部分、定时与中断部分、温度检测部分和液晶显示部分。下面分别对这几部分进行列举:5.1
21、初始化部分:初始化部分完成对温度检测部分、液晶显示部分和定时中断部分的初始化,其函数分别如下:温度检测初始化函数:void init_18B20(void) reset_18B20();/总线复位 wbyte_18B20(0xcc);/忽略检查ROM匹配操作 wbyte_18B20(0x4e);/设置写模式(写暂存器) wbyte_18B20(0x1f);/写温度计配置寄存器12864液晶初始化函数:void init_12864() delay_ms_12864(40); /大于40MS的延时程序 psb=1; /设置为8BIT并口工作模式 delay_12864(1); /延时 res=0
22、; /复位 delay_12864(1); /延时 res=1; /复位置高 delay_12864(10); worder_12864(0x30); /功能设定 delay_12864(37); /大于37uS的延时程序 worder_12864(0x08); /显示状态开/关 delay_12864(100); /大于100uS的延时程序 worder_12864(0x10); /游标或显示移位控制 delay_12864(100); /大于100uS的延时程序 worder_12864(0x0c); /显示状态,D=1,显示开 delay_12864(100); /大于100uS的延时程
23、序 worder_12864(0x01); /清除显示 delay_12864(10); /大于10mS的延时程序 worder_12864(0x06); /Enry Mode Set,光标从右向左加1位移动 delay_12864(100); /大于100uS的延时程序定时中断初始化程序:void int_init()TMOD=0x02;/设置定时器为8位自动重装模式TH0=206;/定时器0,计时中断一次为50us,用于记INT0时间TL0=206;EA=1;/开总中断ET0=1;/开定时器0中断EX0=1; IT0=1;TR0=0;5.2超声波发射部分:超声波发射部分由空函数“_nop_
24、()”进行延时并把端口反相,如此在延时适当的时候就能从端口得到40kHz的方波脉冲了。超声波发射部分的函数如下:void waveo()_nop_();_nop_();_nop_();_nop_();_nop_();wave=wave;5.3温度检测部分:由于DS18B20为单总线结构,所有数据都是串行输入输出的,所以需要单片机对其进行控制。这里需要注意,单总线协议的时序要求非常严格,所以编写程序时需要多加小心。以下为温度检测部分的程序。uint getdat_18B20()float c;uint temp;uchar h,l;conv_18B20();reset_18B20();delay
25、_18B20(1);/稍作延时wbyte_18B20(0xcc);wbyte_18B20(0xbe);/发送读取温度数据的命令l=rbyte_18B20();/读取低8位h=rbyte_18B20();/读取高8位flag_18B20=h&0x80;if(flag_18B20) /最高位为1,温度为负temp=h;temp=temp<<8;/读取的高8位数据装在temp高8位temp=temp|l;temp=temp+1;c=temp*0.0625;temp=c*100+0.5;elsetemp=h;temp=temp<<8;temp=temp|l;c=temp
26、*0.0625;temp=c*100+0.5;return(temp); /温度整数部分2位,小数部分2位5.4定时与中断部分:定时部分用来量度超声波发射与接收之间的时差,中断部分用来确定接收到回波的具体时间。以下为定时与中断的程序:定时器0:void timer0() interrupt 1tim+;外部中断0:void EX0_int()interrupt 0TR0=0;cal();display();其中,定时器0中的tim用来计数,代表tim个定时时间,超声波跑了一个来回;外部中断中,先把定时器给关掉,然后调用cal()子函数对渡越时间进行处理,接着把距离计算出来。最后调用displa
27、y()函数,把结果显示在液晶屏上。5.5液晶显示部分:液晶显示部分用来把数据显示出来,以下为其函数。void worder_12864(uchar dat)/给12864写指令rs=0;/rs为0表示指令,为1表示数据rw=0;/rw为0表示写,为1表示读delay_12864(10);en=1;delay_12864(10);P0=convert(dat);/convert()只用在开发板上,若是自己做的正常的12864则去掉之delay_12864(10);en=0;void wdata_12864(uchar dat)rs=1;rw=0;delay_12864(10);en=1;dela
28、y_12864(10);P0=convert(dat);delay_12864(10);en=0;5.6主函数:为了节省空间,本程序的测温部分和显示部分都被封装在了头文件里,主函数中只需要负责初始化部分和发出脉冲部分,以下为其函数体:void main()uchar q=10;init_12864();init_18B20();int_init();while(1)TR0=1;while(q-)waveo();q=10;delay();在主函数的循环体while(1)中,先发出五个40kHz脉冲,然后延时20ms。延时过后再检测回波信号,这样可以避免接收头直接接收到从发射头发射来的信号,避免了误差。6、总结:以前看到学长们跑的小车上有俩大眼珠似的东西,能自动壁障,羡慕的不得了。后来知道那是超声波探头,就决
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论