超声波测距电路课程设计报告设计者:汤政、陈鑫学号: 0919013540、0919013541班级:电子0935班指导教师:苏宏艮、马勇赞、张艳阳日期:2010年1月10日目录一、设计课题目的和要求 (3)二、计划与安排 (3)三、课程设计原理与思路 (3)四、PCB制版设计 (4)五、组装与调试 (4)六、单片机C51程序设计 (5)七、心得体会 (9)八、附录 (10)一、设计课题目的与要求目的:通过本设计了解和掌握超声波传感器测距的原理和方法,加深理解超声波传感器的处理电路设计,同时,掌握温度补偿的办法及提高测量精度的方法以及熟练使用DXP2004软件,了解PCB制板流程,并通过调试器件,烧写单片机C语言程序,能够独立且完整地完成超声波传感器测距实验。
要求:根据给出的方案设计电路图,独立完成绘图、PCB制版、器件装配及调试工作,以及采用单片机实现超声波测距的原理、方法及接口电路的设计。
二、计划与安排17周(周日之前):DXP2004绘制PCB图(方案三),依此制作PCB 板18周(周一之前):购置所需元器件并自行装配18周(周三、周四):参考指导老师意见,完成单片机汇编语言程序设计并调试好设计产品19周(周三之前):完成课程设计报告和设计产品的验收具体流程如下:PCB制版---元器件采购---装配与调试---单片机程序设计---烧写程序---完成设计报告---产品验收三、课程设计原理与思路超声波与一般声波比较,它的振动频率高,而且波长短,因而具有束射特性,方向性强,可以定向传播,其能量远远大于振幅相同的一般声波,并且具有很高的穿透能力。
当超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为v,则从传感器到目标物体的距离D可用下式求出:D = v t /2四、PCB制版设计实训内容及具体步骤1、使用DXP2004软件绘制PCB原理图文件(采用方案三),PCB制板图、GERBER文件图。
应注意绘制原理图时将没有的原件自行通过绘制新的元件及封装库完成2、将生成Gerber文件图和打孔文件图传送到CAM350,然后利用钻孔机并选取合适钻头进行钻孔3.制版详细流程:1.】将钻完孔的铜板依次进行抛光、烘干、刷线路油墨(切忌曝光)、烘干、曝光15S、显影20S、水洗并烘干、腐蚀、清洗并抛光、烘干2.】刷阻焊层油墨:将铜板置于暗箱中静置10分钟,取出烘干、曝光180S、显影20S、清洗并烘干3.】刷字符层油墨、烘干、曝光、显影(切忌用水冲洗)、热固化(将PCB板置于烘干机中直至温度升至150度)4.将PCB板按照实际所需自行切割,以便达到美观、实用的效果(图纸参见附录)五、组装与调试①组装:组装电路采用焊接和在面包板上插接两种方法,应注意以下几方面:a、组装前应尽可能全部测试元器件一遍,以保证所用元器件均合格,电路的组装方向要保持一致,以便于正确布线和查线组装分立元件时应使其标志朝上或朝向易于观察的方向,以便于查找和更换。
对于有极性的元件,例如电解电容器、晶体二极管等,组装时一定要特别注意,切匆搞错。
b、为使电路能够正常工作与调测,所有地线必须连接在一起,形成一个公共参考点。
正确的组装方法和合理的布局,不仅可使电路整齐美观、工作可靠,而且便于检查、调试和排除故障。
如果能在组装前先拟订出组装草图,则可获得事半功倍之效果,使组装既快又好。
②调试一、通电:给电路板提供+5V的单电源供电二、调40KHZ震荡波形1、振荡控制脚接+5V或悬空用示波器观察振荡输出波形;2、调节电位器或RC元件参数使振荡频率为39~40KHZ;3、用示波器观察发射探头引脚间40KHZ方波是否正常;三、观察超声波接收波形示波器垂直灵敏度置50mv/div档观察接收探头引脚间是否有接收到的40KHZ波形,且波形幅度可随测量距离改变。
四、测量RX-OUT引脚低电平1、当没有接收到超声波时,RX-OUT应为高电平;2、当接收到超声波时,RX-OUT应为低电平出现六、单片机C51程序设计#include <reg52.h>#define uchar unsigned char#define uint unsigned int//void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}//void delay_20us(){uchar a ;for(a=0;a<100;a++);}//*************************************************************** //显示数据转换程序void display(uint temp){uchar ge,shi,bai;bai=temp/100;shi=(temp%100)/10;ge=temp%10;wela=1;P0=0xf7;wela=0;dula=1;P0=table[bai];dula=0;delay(1);dula=1;P0=0x00; //关位码dula=0;wela=1;P0=0xef;wela=0;dula=1;P0=table[shi];dula=0;delay(1);dula=1;P0=0x00; //关位码dula=0;dula=1;P0=table[ge];dula=0;wela=1;P0=0xdf;wela=0;delay(1);dula=1;P0=0x00; //关位码dula=0;}//*************************************************************** void main(){uint distance;test =0;Trig=0; //首先拉低脉冲输入引脚EA=1; //打开总中断0TMOD=0x10; //定时器1,16位工作方式while(1){EA=0; //关总中断Trig=1; //超声波输入端delay_20us(); //延时20usTrig=0; //产生一个20us的脉冲while(Echo==0); //等待Echo回波引脚变高电平succeed_flag=0; //清测量成功标志EA=1;EX0=1; //打开外部中断0TH1=0; //定时器1清零TL1=0; //定时器1清零TF1=0; //计数溢出标志TR1=1; //启动定时器1delay(20); //等待测量的结果TR1=0; //关闭定时器1EX0=0; //关闭外部中断0if(succeed_flag==1){time=timeH*256+timeL;distance=time*0.172; //厘米display(distance);}if(succeed_flag==0){distance=0; //没有回波则清零test = !test; //测试灯变化}}}//*************************************************************** //外部中断0,用做判断回波电平void exter() interrupt 0 // 外部中断0是0号{timeH =TH1; //取出定时器的值timeL =TL1; //取出定时器的值succeed_flag=1;//至成功测量的标志EX0=0; //关闭外部中断}//****************************************************************//定时器1中断,用做超声波测距计时void timer1() interrupt 3 //{TH1=0;TL1=0;}单片机C语言源程序如下:七、心得体会在经过了三周的忙碌后,我们的课程设计终于接近了尾声。
回顾三周的时间,我们有几点感想。
首先我们画原理图和布线更加熟练了。
这是我第一次完整的画PCB原理图,包括画封装和元件。
知道了所有的元件都有一定的规格,必须按规格进行画图,特别是加封装的时候,经常加一次是不行的,需要多加几次才能加进,可能是软件原因。
在布线的时候,应该在保证布线完整的情况下使板尽量的小,元器件的摆放应该多调整几次。
第二点是在S12实训室制版的时候有一些值得注意的地方。
在打孔的时候,一定要先将板子固定住,以免出现偏差。
每次进行烘干的时候,一定要放在烘干炉足够长的时间,不然影响板子的质量。
在最后一次清洗的时候,一定要轻轻地擦洗,不然会使整块板的效果。
最后一次烘干的时候,一定要使它的温度达到150摄氏度。
在切割的时候,也要注意,要和板平行,让PCB板更加美观。
第三点是在装配的时候需要注意的。
因为PCB板没有助焊层,焊接元件比较困难,而且焊盘上的铜很容易掉,在焊接的时候一定要注意。
在调试过程中,一定要一步一步的来,才能有满意的效果。
最后一点感受是做事要细心,这主要是在实验室调试过程中的体会,我们在调试电路的时候,发现在连线中存在很低级的错误,譬如有两个引脚我们竟然连反了,虽然我们及时地发现了,但是这样的错误是值得我们反思的。
以上是我们这次课程设计的几点感想,回想整个设计过程,觉得还是蛮辛苦的,但是重要的是这样的经历提高了我们的实践能力,学了不少的东西,我想这便是课程设计的意义所在。
八、附录1.任务分配PCB制板:汤政、陈鑫装配与调试:陈鑫单片机程序设计:汤政、陈鑫课程报告:汤政2.元器件清单表3. PCB制版图纸(图一:PCB原理图)(图二:PCB制板图)(图三:光绘图)(图四:正位号图)(图五:反位号图)(图六:打孔图)(图七:焊盘图)4.实物图正面:反面:。