




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自动化专业课程设计便携式测距仪系统设计学生学号:2009041227学生姓名:李玉成班 级:09412指导教师:王辉起止日期:哈尔滨工程大学自动化学院一、设计要求用单片机设计一套超声波测距检测系统,实现对测距的显示和提示以及临界报敝二、设计方案设计思路由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波 经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单, 并且在测量精度方面也能达到工业生产等自动化的使用要求。超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械 方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和 气流旋
2、笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途 也各不相同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求 并综合各方面因素,本文采用STC89C5隼片机作为控制器,用1602液晶进行温度 及距离的显示,超声波驱动信号用单片机的定时器。在北方季节温差较大,对声速的影响也就比较大,如果对测量精度要求较高时,传 统的那种将声速固定用340m/s来计算距离的方式就无法满足需求。所以为了提高 测量队精确性,在本设计中加入了以DS18B2M核心的温度补偿装置。测量时先通 过温度传感器DS18B2喇出当前环境温度,然后用STC89S5单片机计算出此时的声 速,再测量超声波
3、发射和返回的时间差,以此算出最终距离。本系统的超声波测距 可测出回波和发射脉冲之间的时间问隔,再利用公式S=Ct/2就可以算出距离,通过 温度传感器测出当前温度6,以此计算出当前声速,测出更加准确的距离值,最终 在1602液晶上显示出来。当测量距离过近货过远时,系统会发出警告。正常距离予 以显示。为了实现以上功能,系统大致设计了如下几个模块:(1)单片机最小系统(2)液晶显示模块(3)超声波接收、发射模块(4)报警模块(5)温度补偿模块(6)电源模块设计方案的论证超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算 出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端
4、发射,另一 端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射 波方式,适用于测距仪。此次设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电 效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰 减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选 择频率高的传感器,而长距离的测量时应用低频率的传感器。三、设计内容超声波测距的原理超声波的产生与接受通常由两只结构完全相同的超声压电换能器分别完成。超 声波的产生是利用压电陶瓷的逆压电效应7,在交变电压作用下,压电陶瓷纵向长 度周期性地伸缩,产生机械
5、振动而在空气中激发出超声波;超声波的接受则是利用 压电陶瓷的正压电效应是声压变化为电压的变化。超声测距的原理大多采用渡越时间法,本设计采用的是超声波测距最常用的方法渡 越时间探测法。即在声速已知的情况下,通过测量超声波回声所经历的时间来获得 距离。其原理图如图2.1所示。word教育资料(2.(1)(2.(2)即:D =c t/2式中:D为换能器与障碍物之间的距离;c为声波传播速度,c , RT / m为气体定压比热与定容比热之比R=8.314Jmol-1K -1 , R为普实气体常数;T为 绝对温度;m为气体的分子量;t为超声波发射到返回的时间问隔。在本设计中,超声波传播的介质默认为是空气,
6、因为北方温差较大,为了提高精确 度加入了温度补偿装置,但为了使设计简便,忽略了湿度对声速的影响。随意声速 c的最终计算公式为(2.3)c =331.4 ,1 T/273超声波测距仪的工作原理通常为:在单片机的控制下,超声波发射电路产生40 kHz 脉冲,经过放大后驱动发射端发射。同时单片机内部计数器开始计数,超声波被反 射后再接收端转换为电信号,经过滤波放大后送给检波器,一旦检波器收到了回波, 计数器就停止工作,得到计数值。然后单片机根据计数频率和温度补偿电路测得声 速,计算并得到待测距离。超声波测距仪的模块电路本设计的超声波测距仪分为7个模块网。超声波发射模块、超声波接收模块, 温度测量模块
7、,单片机控制模块,显示模块,报警模块,电源模块组成。7个模块 协同工作共同完成检测任务。图2.2系统硬件结构图超声波测距系统的硬件设计本文设计的硬件电路主要包括单片机系统、超声波发射电路、超声波接收电路、 液晶显示电路部分、温度补偿部分、报警电路和电源电路。电源部分可以通过电池 或是电源来为整个系统供电;单片机系统用来产生控制脉冲,控制超声波的发射, 并且对接收回来的信号进行处理计算;超声波发射电路部分主要用来产生40KHz勺 超声波,并且有驱动电路发射换能器发射出去;超声波接收电路部分用来检测超声 波回波信号,超声波回波经超声接收换能器,放大滤波,检波电路后进入比较器, 比较器输出端的信号进
8、入单片机产生中断,用于计时;温度补偿部分将测得的温度 输入单片机中,方便单片机计算出当前温度下的声速;最终单片机将计算的距离值 在液晶1602上面显示出来。(1) STC89C52RC片机最小系统STC89C5是一种低功耗、高性能CMOS8微控制器,具有8K在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash, 512字节RAM 32位I/O 口线,看门狗定时器,内置4KBEEPRQ M MAX810r位电路,2个16位 定时器/计数器,一个6向
9、量2级中断结构,全双工 用行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。 空闲模式下,CPU亭止工作,允许RAM定时器/计数器、串口、中断继续工作。掉 电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一 个中断或硬件复位为止。最高运作频率35MHz6T/12T可选。复位电路GND时钟电路单片机最小系统电路T4 5 6 7 8 9口口 口口D-P1VI2EX234567 tut ppppppraiVRJo paurxD P12/1N7D Pa3/1NT1 Pivro P3lST1_P177RD XIAL2 XJAL1 TOSucc Pil
10、WADO PO VAD1 HLKADZ P0-3TAD3 PD_4AD4 P0.9AD5 POGFADfi PQ,77AD7 电 A1HPROGPSQ4 PZ7/A15 P26FA14 PZSA13 PZVA12 PZ3FA12 PZ2IA11 PZ1/A9 P2.WA8单片机与pcm接口部分近1514131Z11SC 口JJNJTZNJT :黑意 u cv G c c V . & - 二- 1 二-一 91U12 3 4567B cdr-L工o-d ( 一 & 31 4 1 51 COLco.co(2)超声波发射电路1、发射电路主要由六反向器芯片74HC04和超声波换能器构成,P3.7端口输
11、出的 40khz方波信号一路经反向器送到超声波换能器的一个电极,另一路经两级反向器 后送到超声波换能器的另一个电极,用这种方式可以提高超声波的发射强度。电路 图如图2.7所示。每次启动超声发射换能器所使用的脉冲数目不宜过多也不宜过少,过少则容易衰减, 过多则发射波与反射波会产生叠加干扰,一般以816个脉冲为宜。系统通过单片 机输出相应的有效电平与40KHzTj波逻辑与实现激励脉冲数目的控制。测量盲区:超声波在发射的时候,是一个高压脉冲,并且脉冲结束后,换能器会有一个 比较长时间的余震,会有一部分声波未经反射直接到达接收换能器,产生虚假反射 波,然后接受换能器才能收到真正的反射波,这段时间从几百
12、个us到几个ms都有可 能,因此在这个时间段内,声波的回波信号是没有办法跟发射信号区分的。因此,被 测物体在这个范围内,回波和发射波区分不开,也就没有办法测距,也就形成了测量 的盲区。发射部分图2.7超声波发射电路2、74HC04既述74HC0隹一款高速CMOS件15, 74HC0羽脚兼容低功耗肖特基TTL(LSTTL系歹174HC04S循 JEDECS准 NO.7A(1) 74HC04I供了 6路反相缓冲器。其逻辑图如图2.8所示。其中Y代表数据输出,A代表数据输入。实际就是6个反相器集成在一个芯片中, 在电路中可以单独使用一个或同时使用几个反相器。(2) 74HC041性兼容 JEDE%准
13、 NO.8-1AESD呆护HBM EIA/JESD22-A114-超过 2000VMM EIA/JESD22-A115-超过 200V温度范围-40 +85C-40+125C(3) 74HC04基本参数电压:2.06.0V驱动电流:+/-5.2mA传输延迟:7ns5V(4) 74HC0祺他特性逻辑电平CMOS功耗考量:低功耗或电池供电应用1234676A5A5Y4A图2.8 74HC04逻辑图(3)超声波接收电路集成电路CX20106A一款红外线检波接受的专用芯片,常用于电视机红外遥 控接收器。考虑到红外遥控常用的载波频率38kHz与测距的超声波40kHz较为接近, 可以利用它制作超声波检测接
14、收电路,适当更改电容C4的大小可以改变接收电路的 灵敏度和抗干扰能力。CX20106A的内部结才图如图2.9所示。前置电路将接收到的信号,转换成CX20106A可以接收的标准数字信号,送到CX20106A勺1脚,CX20106A勺总放大增益约为80dB,其7脚输出的控制脉冲序列信 号幅度在3.55V范围内。总增益大小由2脚外接的R2 C2决定,R2越小或C2越 大,增益越高。但取值过大时将造成频率响应变差,C2为3.3uF。采用峰值检波方 式检波电容C3为3.3uF。R3为带通滤波器中心频率f0的外部电阻。积分电容C4 取 330pE通过CX20106a片的信号,在输出端会产生一个下降沿,并将
15、止匕接至I AT89S52I片 机的外部中断上。在本电路的调试过程中,如果一直发射超声波,在7脚将会有周 期的低电平产生。因此在此基础上只要通过AT89S5印片机来计算发射信号到接收 到信号时产生下降沿这段时间的长度,再通过数学计算,转化为距离,然后在 LCD 上面显示出来。CX20106M部结构图超声波接收芯片的外围电路LSIIXvccjGXDClTI卜:473C2Tlk3.3U3 SOPR522kJ1R2C3HE3.3UCX2DLD6接收部分(4)显示部分显示部分采用字符型LCD1602夜晶显示所测距离值,将P0与LCD的数据线相连,P1 口与LCD勺控制线相连,3脚电位器控制液晶背光亮度
16、。电路如图3.3 所示:ijcoieo?1 AV 3VA (=cvv (一S UVN3S S S5 2 9a3 vcm w】s二二三3 - roe显示电路(5)电源电路为了实现超声波测距仪的便携性,本设计中加入了由电池供电的电源电路。电源电 路采用两节3V锂电池供电,回路中加入了一个自锁开关以便于控制电路的通断。因 为电池随着使用电压会发生变化,所以还加入了一个1K的滑动变阻器和一个稳压二 极管,随时可以调节电压的大小,使电路供电稳定。最后为了便于观察电路的通断, 回路中加入了一个绿色LED电源部分电路如图2.14所示。除了电池供电外,本设 计预留了电源接头,也可以通过稳压电源直接进行5V供电
17、。此外,还可以通过USBASP 下载器直接用电脑通过US嵌口供电。GND5V供电电源电路(6)报警电路报警电路作为超声波测距仪的一个拓展功能也被加入了设计中,具由一个有源蜂鸣 器,一个S8050的NPNE极管,一个1K电阻和一个红色LED组成,在这种设计中, 三极管起到开关的作用。当测距失败或者距离过近时,蜂鸣器会发出短暂的警告音, 同时红灯闪烁,引起使用者的注意。报警部分报警电路(7)温度补偿电路本系统温度传感器 DS18B2QR其周边工作电路设计如图 2.18所示。因为 AT89S52I片机的P1 口的驱动能力较强,所以在设计时直接将18B20M度传感器的 接在了单片机的P10 口。然后将
18、其余两脚分别接地和电源。DS18B2俎度传感器外形类似一个三极管,是美国Dallas半导体公司继DS182必 后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读 出被测温度并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。可 以分别在93.75ms和750ms内完成9位和12位的数字量。它具有独特的单总线接口 方式,即允许在一条信号线上挂接数十甚至上百个数字式传感器,从而使测温装置 与各传感器的接口变得十分简单,克服了模拟式传感器与微机接口时需要的 A/D转 换器及其它复杂外围电路的缺点,而且,可以通过总线供电,温度变换功率来源于 数据总线,总线本身也可以向
19、所挂接的DS18B2联电,而无需额外电源,由它组成 的温度测控系统非常方便,而且成本低、体积小、可靠性高。DS18B20勺测温范围 -55+125C,最高分辨率可达0.0625 C,由于每一个DS18B20B厂时都刻有唯一 的一个序列号并存入其ROW,因此CPIM用简单的通信协议就可以识别,从而节 省了大量的引线和逻辑电路。Dallas公司的单总线技术具有较高的性能价格比,有以下特点: 适用于低速测控场合,测控对象越多越显出其优越性; 性价比高,硬件施工、维修方便,抗干扰性能好; 具有CRCJ验功能,可靠性高;软件设计规范,系统简明直观,易于掌握。18B2OBQ1GNDVCC18B20温度传感
20、器电路超声波测距系统的软件设计及流程图1、软件流程图(a)为主程序流程图,(b)本设计软件主程序流程图如图10所示, 为外部中断子程序流程图。主程序流程图(a)(b)外部中断流程图2.主程序#include#include#include typedef unsigned char U8; /* defined for unsigned 8-bits integer variable无符号8位整型*/typedef signed char S8; /* defined for signed 8-bits integer variable有符号8位整型*/typedef unsigned int
21、 U16; /* defined for unsigned 16-bits integer variable无符号16位整型*/typedef signed int S16; /* defined for signed 16-bits integer variable有符号16位整型*/typedef unsigned long U32; /* defined for unsigned 32-bits integer variable无符号32位整型*/typedef signed long S32; /* defined for signed 32-bits integer variable
22、有符号32位整型*/typedef float F32; /* single precision floating point variable (32bits)单精度浮点数32位长度*/typedef double F64; /* double precision floating point variable (64bits)双精度浮点数64位*/#define SYSTEMCLK 921600/11059200/12#define T0CLK921600/11059200/12#define T1CLK921600/11059200/12#define T1PERIOD 1000000/
23、921600 /T1 周期时间,以微秒为单位,约为1.085uS#define TIMER0H0xFC /64614/256=252#define TIMER0L0x66 /54447%256=102/管脚定义sbit fs=P3A7;sbit js=P3A2;sbit alarm=P2A0;sbit BUSY=P1A7 ;sbit RS = P2A5 ;sbit RW = P2A6 ;sbit EN = P3A5 ;sbit DQ=P2A7;测量成功标志 显小标志/定义标志volatile bit FlagSucceed = 0;/volatile bit FlagDisplay = 0;/
24、定义全局变量U16 DisplayCount=0;U16 time=0;U32 distance=0;uchar fushu;uchar T;uchar data display_T=0,0,0,0,0,0;/函数声明void delay_20us();void Start_Module();void INT0_Init(void);void Data_Init();void Timer0_Init();void Timer1_Init();void wait(void)P1 = 0xFF;doRS = 0;RW = 1;EN = 0;EN = 1;while (BUSY = 1);EN =
25、0;void delay(uchar i)while(i)i-;void init_DS18B20()while(reset();delay(100);DQ=1;bit write_bit(uchar temp)DQ=0;if(temp) DQ=1;delay(5);DQ=1;void write_byte(uchar word)uchar temp,i;for(i=0;ii;write_bit(temp&0x01);bit read_bit()DQ=0;_nop_();_nop_();DQ=1;delay(2);return DQ; uchar read_byte() uchar b;uch
26、ar i,temp=0;for(i=0;i8;i+)b=0;if(read_bit()b=1;temp|=(b127)/温度为负值temp_data_l=(temp_data_l)+1; /取反加一,将补码变成原码if(temp_data_l)=0xff)temp_data_h=(temp_data_h)+1;else temp_data_h=temp_data_h;fushu=1;display_T4=(temp_data_l&0x0f)*10/16+0x30; /10/16T=(temp_data_l&0xf0)4)|(temp_data_h&0x0f)4);/zheng shudispl
27、ay_T0=(T/100+48);display_T1=(T%100)/10+48);display_T2=(T%10+48);display_T3=.;display_T5=0;/kai zhong duan/20us延时程序,不一定很准void delay_20us()U16 bt ;for(bt=0;bt= 1000)/1 秒钟显示一次FlagDisplay = 1;DisplayCount = 0;定时器1初始化,16位计数模式,时钟为11059200/12=921600Hz /60ms 计数为 55296,即 0xD800void Timer1_Init()TMOD = 0x11;
28、/ 定时器0和1工作在16位方式TH1 =0;TL1= 0;ET1 = 1;/启动模块,Trig管脚20us正脉冲void Start_Module()/启动模块fs=1;/启动一次模块delay_20us();fs=0;void delay()S16 i,j;for(i=0; i=10; i+)for(j=0; j= 0)sign = 0;elsesign = 1;temp = abs(num);baiwei = temp / 100;temp = temp - baiwei*100;shiwei = temp / 10;gewei = temp - shiwei*10;num = abs(
29、num);if (num=100)if (sign = 1) / 负数L1602_char(hang, lie, -);L1602_char(hang, lie+1, baiwei+48);L1602_char(hang, lie+2, shiwei+48);L1602_char(hang, lie+3, gewei+48);else if (num=10)if (sign = 1)L1602_char(hang, lie+1, -);L1602_char(hang, lie+2, shiwei+48);L1602_char(hang, lie+3, gewei+48);elseif (sig
30、n = 1)L1602_char(hang, lie+2, -);L1602_char(hang, lie+3, gewei+48);* 名称:Main()*功能:主函数*void main()U16 i, j;EA = 0;/计时器停止工作INT0_Init();Timer0_Init(); 定时器0初始化Timer1_Init(); /定时器1初始化Data_Init();EA = 1; 计时器开始工作alarm=0;L1602_init();read_T();L1602_string(1,1,TEM:);if(fushu)write(-);display(display_T);for (
31、i=0;i1000;i+)for (j=0;j1000;j+);while(1)EA= 0;/以下为一次检测过程:先发出fs电平,打开外部中断,清零T1,最后在外部中断下降沿触发时取出T1当前值,计算出Trig脉冲宽度Start_Module();while(js=0); / 等待Echo回波引脚变高电平FlagSucceed = 0;EX0=1;TH1= 0;TL1= 0;TF1= 0;TR1=1;/ 启动定时器1开始计数EA = 1;while (TH180) ; / 盲区TR1 = 0;/ 关闭定时器1EX0 = 0;/ 关闭外部中断if(FlagSucceed=1) /一次测试成功,则
32、计算距离,单位为厘米distance = time * 1.085 ;distance /=58;if (FlagSucceed = 1) & (distance 20)alarm = 0;elsealarm = 1;秒显示时间到if (FlagDisplay = 1) /1 if(FlagSucceed=0)/LCD提示无回波L1602_string(1,1,OutOfRange(0-4m);L1602_string(2,1, ); else/LCD显示数据L1602_string(1,1,Distance Result:);L1602_string(2,1, cm );L1602_int(
33、2, 5, distance );FlagDisplay = 0;四、调试结果分析及结论测距系统的最终效果该电路板可以显示温度和距离,当距离小于20cm时蜂鸣器会发出警告,当距离大于 4m时将显示“out of 04m ,可以用电源供电,也可以用电池供电。非常便携。 测距系统的调试及出现的问题调试时的注意事项测距系统在硬件调试过程中需要注意以下几点(1)将所有地线和电源线接好,注意不要短路。因为测距仪的电路分块较多,每一 部分都有自己的电源线和地线,多且杂,一不小心就会漏焊,所以将所有的电源线 和地线都分别连接在一起,方便供电和检查。(2)超声波接收和发射传感器要平行放置21,并且焊接在与电路板水平的边缘,方 便测距。因为声波是传送特点,所以将两个传感器平行放置才能获得更准确的数值。 若将两个端子像普通直插元器件一样垂直焊在电路板
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司文化交流会议服务协议
- 跨界合作推广协议
- 房屋使用规范防范协议
- 土木工程中的安全技术措施研究
- 创新医学技术教育在实践中的应用
- AI技术在健康管理中的伦理规范
- 儿童健康管理与疾病预防的实践探索
- 区块链在政府采购透明度中的应用研究
- 2025年安置房买卖合同2
- 《研究课心血管疾病》课件
- 中国移动自智网络白皮书(2024) 强化自智网络价值引领加速迈进L4级新阶段
- 基于51单片机数字温度计设计论文
- 铁路内燃机车司机(高级工)理论考试题库(浓缩600题)
- 小儿肺炎中医护理
- 2024年广东省中考数学试卷(原卷版)
- DL∕T 5028.1-2015 电力工程制图标准 第1部分:一般规则部分
- QC-T 1175-2022 电动汽车用高压接触器
- 辛弃疾词《青玉案·元夕》
- 公路桥梁塔柱施工平台及通道安全技术要求
- 糖尿病临床诊疗指南:基层实践
- 如果历史是一群喵
评论
0/150
提交评论