温度补偿论文.docx

上传人:b****4 文档编号:4365768 上传时间:2023-05-07 格式:DOCX 页数:51 大小:358.89KB
下载 相关 举报
温度补偿论文.docx_第1页
第1页 / 共51页
温度补偿论文.docx_第2页
第2页 / 共51页
温度补偿论文.docx_第3页
第3页 / 共51页
温度补偿论文.docx_第4页
第4页 / 共51页
温度补偿论文.docx_第5页
第5页 / 共51页
温度补偿论文.docx_第6页
第6页 / 共51页
温度补偿论文.docx_第7页
第7页 / 共51页
温度补偿论文.docx_第8页
第8页 / 共51页
温度补偿论文.docx_第9页
第9页 / 共51页
温度补偿论文.docx_第10页
第10页 / 共51页
温度补偿论文.docx_第11页
第11页 / 共51页
温度补偿论文.docx_第12页
第12页 / 共51页
温度补偿论文.docx_第13页
第13页 / 共51页
温度补偿论文.docx_第14页
第14页 / 共51页
温度补偿论文.docx_第15页
第15页 / 共51页
温度补偿论文.docx_第16页
第16页 / 共51页
温度补偿论文.docx_第17页
第17页 / 共51页
温度补偿论文.docx_第18页
第18页 / 共51页
温度补偿论文.docx_第19页
第19页 / 共51页
温度补偿论文.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

温度补偿论文.docx

《温度补偿论文.docx》由会员分享,可在线阅读,更多相关《温度补偿论文.docx(51页珍藏版)》请在冰点文库上搜索。

温度补偿论文.docx

温度补偿论文

毕业设计

超声波测距系统

 

姓名

系别、专业

导师姓名、职称

完成时间

目录

摘要II

AbstractIII

1绪论1

1.1课题背景及意义1

1.2本设计完成的工作1

2总体方案设计2

2.1硬件设计3

2.1.1主控制器模块3

2.1.3电源模块3

2.1.4显示模块4

2.2最终方案5

3硬件实现及单元电路设计6

3.1主控制模块6

3.2单片机的时钟电路与复位电路设计7

3.3超声波测距模块7

3.3.1超声波的基本特性8

3.3.2超声波的电器特性10

3.3.3超声波的工作原理13

3.4声音报警电路的设计15

4系统软件设计方案17

温度补偿程序19

5系统的安装与调试24

5.1安装步骤24

6总结24

7参考文献25

附录1整机电路原理图26

26

附录2部分源程序27

摘要

STC89C52是STC系列单片机里应用比较广泛的一款,在自动控制领域里享有很高的价值,以其易用性和多功能性受到了广大电子设计爱好者的好评。

本次设计主要是利用STC89C52单片机、超声波传感器完成测距报警系统的制作,以STC89C52为主控芯片,利用超声波对距离的检测,将前方物体的距离探测出来,然后单片机处理运算,与设定的报警距离值进行比较判断,当测得距离小于设定值时,STC89C52发出指令控制蜂鸣器报警。

通过DS18B20进行温度补偿,减少温度带来的干扰,提高测量精度。

关键词:

超声波传感器、STC89C52、DS18B20

1绪论

1.1课题背景及意义

由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。

因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高等行业中。

可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。

因此,超声在空气中测距在特殊环境下有较广泛的应用。

利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。

因此超声波测距在移动机器人的研究上得到了广泛的应用。

同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。

1.2本设计完成的工作

(1)熟悉51单片机集成开发环境,运用C语言编写工程文件;

(2)熟练应用所选用单片机的内部结构、资源,以及软硬件调试设备的基本方法;

(3)自行构建基于单片机的最小系统,完成相关硬件电路的设计实现;

(4)了解超声波测距原理,温度补偿实现方法。

2总体方案设计

本设计包括硬件和软件设计两个部分。

模块划分为超声波、按键控制、四位数码管显示、报警、DS18B20温度补偿等子模块。

就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。

单片机应用系统也是有硬件和软件组成。

硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。

单片机应用系统的研制过程包进行比较处理。

然后控制蜂鸣器报警。

系统总体的设计方框图如图1所示。

电源

STC89C52主控制器模块

超声波传感器模块

按键控制

DS18B20温度补偿

4位数码管显示模块

蜂鸣器报警模块

图1系统总体方框图

2.1硬件设计

2.1.1主控制器模块

方案1:

选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。

CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。

但CPLD在控制上较单片机有较大的劣势。

同时,CPLD的处理速度非常快,而超声波测距对处理速度要求不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。

若采用该方案,必将在控制上遇到许许多多不必要增加的难题。

为此,我们不采用该种方案,进而提出了第二种设想。

方案2:

采用单片机作为整个系统的核心,用其处理超声波数据,以实现其既定的性能指标。

充分分析我们的系统,其关键在于实现超声波测距,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。

这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。

因此,这种方案是一种较为理想的方案。

在综合考虑了传感器等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。

综上所述,我们选择了方案2。

2.1.3电源模块

由于本系统采用电池供电,我们考虑了如下几种方案为系统供电。

方案1:

采用12V蓄电池为系统供电。

蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。

但是蓄电池的体积过于庞大,在使用极为不方便。

因此我们放弃了此方案。

方案2:

采用4节1.5V干电池共4.5做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。

综上所述采用方案2

2.1.4显示模块

方案1:

用LCD液晶进行显示。

LCD由于其显示清晰,显示内容丰富、清晰,显示信息量大,使用方便,显示快速而得到了广泛的应用。

对于此系统我们显示要求并不是很高,用LCD显示没有充分发挥出LCD的显示优势,因此我们放弃了此方案。

方案2:

用数码管进行显示。

数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用。

在这里我们需要显示的是测得的距离值和温度值,用数码管显示足以满足要求,因此我们选择了此方案。

2.1.5温度补偿模块

方案1:

采用PT100作为温度补偿电路的温度传感器。

PT100传感器是利用铂电阻的阻值随温度变化而变化、并呈一定函数关系的特性来进行测温的,具有抗振动、稳定性好、准确度高、耐高压等优点。

但使用起来比较复杂。

方案2:

采用DS18B20作为温度补偿电路的温度传感器。

DS18B20的数字温度输出通过“一线”总线(1-Wire是一种独特的数字信号总线协议,它将独特的电源线和信号线复合在一起,仅使用一条口线;每个芯片唯一编码,支持联网寻址、零功耗等待等,是所需硬件连线最少的一种总线)这种独特的方式,可以使多个DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。

它在测温精度、转换时间、传输距离、分辨率等方面比其他温度传感器有了很大的进步,给用户带来了更方便的使用和更令人满意的效果。

通过比较,DS18B20直接输出数字温度值,不需要校正,因此选择方案2。

2.1.6报警模块

方案1:

采用语音芯片提示,优点可以自由设定要提示的声音。

缺点使用复杂,需要专门的编程软件,成本高控制复杂,不便于普及。

方案2:

采用蜂鸣器提示,电路简单实用,可靠性高。

综上所述我们选择方案2

2.2最终方案

经过反复论证,我们最终确定了如下方案:

1、主控芯片采用STC89C52单片机作为主控制器。

2、用3节干电池供电。

3、用数码管显示。

4、采用DS18B20做温度补偿。

3硬件实现及单元电路设计

3.1主控制模块

主控制最小系统电路如图5所示。

图2单片主控电路

 

3.2单片机的时钟电路与复位电路设计

本系统采用STC系统列单片机,相比其他系列单片机具有很多优点。

一般STC单片机资源比其他单片机要多,而且执行速度快;STC系列单片机使用串口对单片机进行烧写,下载程序较为方便;STC51单片机内部集成了看门狗电路;且具有很强抗干扰能力。

本系统采用内部方式的时钟电路和加电自复位的复位电路,如下图3图4所示:

图3时钟电路图4复位电路

由于单片机P0口内部不含上拉电阻,为高阻态,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻。

3.3超声波测距模块

超声波模块采用现成的HC-SR04超声波模块,该模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm。

模块包括超声波发射器、接收器与控制电路。

基本工作原理:

采用IO口TRIG触发测距,给至少10us的高电平信号;模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

测试距离=(高电平时间*声速(340M/S))/2。

实物如下图5。

其中VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出等四支线。

图5超声波模块实物

3.3.1超声波的基本特性

超声波是一种在弹性介质中的机械振荡,其频率超过20KHz,分横向振荡和纵向振荡两种,超声波可以在气体、液体及固体中传播,其传播速度不同。

它有折射和反射现象,且在传播过程中有衰减。

超声波的基本特性如下所述:

1.波长

波的传播速度是用频率乘以波长来表示。

电磁波的传播速度是3×108m/s,而声波在空气中的传播速度很慢,约为344m/s(20℃时)。

在这种比较低的传播速度下,波长很短,这就意味着可以获得较高的距离和方向分辨率。

正是由于这种较高的分辨率特性,才使我们有可能在进行测量时获得很高的精确度。

2.反射

要探测某个物体是否存在,超声波就能够在该物体上得到反射。

由于金属、木材、混凝土、玻璃、橡胶和纸等可以反射近乎100%的超声波,因此我们可以很容易地发现这些物体。

由于布、棉花、绒毛等可以吸收超声波,因此很难利用超声波探测到它们。

同时,由于不规则反射,通常可能很难探测到凹凸表面以及斜坡表面的物体,这些因素决定了超声波的理想测试环境是在空旷的场所,并且测试物体必须反射超声波。

3.温度效应

声波传播的速度“c”可以用下列公式表示。

c=331.5+0.607t(m/s) 式中,t=温度(℃)也就是说,声音传播速度随周围温度的变化而有所不同。

因此,要精确的测量与某个物体之间的距离时,始终检查周围温度是十分必要的,尤其冬季室内外温差较大,对超声波测距的精度影响很大,此时可用18B20作温度补偿来减小温度变化所带来的测量误差,考虑到本设计的测试环境是在室内,而且超声波主要是用于实现避障功能,对测量精度要求不高,所以关于温度效应对系统的影响问题在这里不做深入的探讨。

4.衰减

传播到空气中的超声波强度随距离的变化成比例地减弱,这是因为衍射现象所导致的在球形表面上的扩散损失,也是因为介质吸收能量产生的吸收损失。

如图11所示,超声波的频率越高,衰减率就越高,超声波的传播距离也就越短,由此可见超声波的衰减特性直接影响了超声波传感器有效距离。

T/R-40-12型超声波传感器的震荡频率为40KHz,传播10米超声波信号强度便衰减到40个声压级,此时超声波接收探头就很难接收到回波信号。

因此,从理论上分析,本设计超声波测距部分的实际范围是10cm—500cm,理想的避障范围是10cm—100cm,由于所购买玩具小车的回转半径为40cm所以实际壁障安全距离应设在50cm—80cm之间。

图6声压在不同距离下的衰减特性

3.3.2超声波的电器特性

1.声压特性

声压级(S.P.L.)是表示音量的单位,利用下列公式予以表示。

S.P.L.=20logP/Pre(dB)式中,“P”为有效声压(μbar),“Pre”为参考声压(2×10-4μbar)如图12所示为几种常用超声波传感器的声压图。

图7超声波传感器的声压图

2.灵敏度特性

灵敏度是表示声音接收级的单位,使用下列公式予以表示。

灵敏度=20logE/P(dB)式中,“E”为所产生的电压(Vrms),“P”为输入声压(μbar)。

超声波传感器的灵敏度直接影响着系统测距范围,如图8所示为几种中常见超声波传感器的灵敏度图,从图中可以发现40KHz时传感器的声压级最高,也就是说40KHz时所对应的灵敏度最高。

图8超声波传感器灵敏度示意图

3.辐射特性

把超声波传感器安装在台面上。

然后,测量角度与声压(灵敏度)之间的关系。

为了准确地表达辐射,与前部相对比,声压(灵敏度)级衰减6dB的角度被称为半衰减角度,用θ1/2表示。

超声波设备的外表面尺寸较小易于获得精确的辐射角度。

如图9所示为几种常见超声波传感器的辐射特性示意图。

图9超声波传感器辐射特性示意图

分析以上研究结果不难看出超声波传感器工作在40KHz范围内具有最大的声压级和最高的灵敏度,这为设计中选择合适的超声波传感器指明了方向。

3.3.3超声波的工作原理

市面上常见的超声波传感器多为开放型,其内部结构如图10所示,一个复合式振动器被灵活地固定在底座上。

该复合式振动器是由谐振器以及一个金属片和一个压电陶瓷片组成的双压电晶片元件振动器。

谐振器呈喇叭形,目的是能有效地辐射由于振动而产生的超声波,并且可以有效地使超声波聚集在振动器的中央部位。

当电压作用于压电陶瓷时,就会随电压和频率的变化产生机械变形。

另一方面,当振动压电陶瓷时,则会产生一个电荷。

利用这一原理,当给由两片压电陶瓷或一片压电陶瓷和一个金属片构成的振动器,所谓叫双压电晶片元件,施加一个电信号时,就会因弯曲振动发射出超声波。

相反,当向双压电晶片元件施加超声振动时,就会产生一个电信号。

 

 

图10超声波传感器内部结构图

图11避障原理

如图15所示,超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:

s=340t/2

就是所谓的时间差测距法

图12超声波接口电路图

3.4声音报警电路的设计

如下图所示,用一个Speaker和三极管、电阻接到单片机的P13引脚上,构成声音报警电路,如图13示为声音报警电路。

 

图13声音报警电路图

 

3.5显示模块

显示模块采用数码管显示接口电路如图14

图14数码管电路

3.6温度补偿电路

温度采用DS18B20传感器进行测量,P2.4接DS18B20数据总线,控制DS18B20进行温度转换和传输数据,同时数据总线上还接10k的上拉电阻。

本系统对DS18B20采用外部供电,其优点在于I/O线不需要强上拉,而且总线控制器无需在温度转换期间一直保持高电平。

这样在转换期间可以允许在单线总线上进行其他数据传输,硬件结构如图15所示

图15温度传感器接口电路图

4系统软件设计方案

如图16所示为超声波测距主程序流程图。

图16系统软件的整体流程图

4.1DS18B20初始化程序流程图

在DS18B20工作之前需要进行初始化,流程图如17:

图17初始化程序流程图

4.2超声波温度和速度的关系

温度(℃)

超声波的速度(m/s)

近似值

C=331.3+0.606*T

-20

319.18

319

-19

319.786

-18

320.392

-17

320.998

-16

321.604

-15

322.21

322

-14

322.816

-13

323.422

-12

324.028

-11

324.634

-10

325.24

325

-9

325.846

-8

326.452

-7

327.058

-6

327.664

-5

328.27

328

-4

328.876

-3

329.482

-2

330.088

-1

330.694

0

331.3

331

1

331.906

2

332.512

3

333.118

4

333.724

5

334.33

334

6

334.936

7

335.542

8

336.148

9

336.754

10

337.36

337

11

337.966

12

338.572

13

339.178

14

339.784

15

340.39

341

16

340.996

17

341.602

18

342.208

19

342.814

20

343.42

343

21

344.026

22

344.632

23

345.238

24

345.844

25

346.45

347

26

347.056

27

347.662

28

348.268

29

348.874

30

349.48

350

31

350.086

32

350.692

33

351.298

34

351.904

35

352.51

353

36

353.116

37

353.722

38

354.328

39

354.934

40

355.54

356

41

356.146

42

356.752

43

357.358

44

357.964

45

358.57

温度补偿程序

voidinit2()

{

//T2CON=0x0c;

RCAP2H=(65536-5)/256;

RCAP2L=(65536-5)%256;

TH2=(65536-5)/256;

TL2=(65536-5)%256;

EA=1;

ET2=1;

TR2=1;

//PT2=1;//T2设为高优先级

}

voidmain()

{

init1();//液晶初始化

xianshi();//温度字母

init2();//T2初始化

tx=0;

IT0=0;//外部中断低电平触发

init();//定时器初始化

while

(1);

}

voidtimer1()interrupt3

{

tx=~tx;

k++;

if(k==3)

{

k=0;

TR0=0;

TR0=1;

delaynus(6);//除共振

EX0=1;

//for(d=0;d<3;d++);

//in=0;

}

}

voidint0()interrupt0

{

IE0=0;//中断触发位

EX0=0;//关中断

TR1=0;

ET1=0;

TR0=0;

ET0=0;

date=TH0*256+TL0;

date+=500;

if(TZ>=0&&TZ<=10)

{

jl=(date*0.161);

}

if(TZ>10&&TZ<=20)

{

jl=(date*0.169);

}

if(TZ>20&&TZ<=30)

{

jl=(date*0.172);

}

if(TZ>30&&TZ<=40)

{

jl=(date*0.174);

}

if(TZ>40&&TZ<=500)

{

jl=(date*0.175);

}

xianshic();

for(d=800;d>0;d--);

TH0=0x00;

TL0=0x00;

ET1=1;

TR1=1;

O++;

if(O==100)

{

O=0;

TR1=0;

ET1=0;

TR2=1;

ET2=1;

}

}

voidtimer0()interrupt1//计时

{

TR1=0;

TR0=0;

TH0=0X00;

TL0=0X00;

TR1=1;

}

voidtimer2()interrupt5

{

TF2=0;

EXF2=0;

TR2=0;

ET2=0;

//xianshi();//温度字母

readyread();

TL=readonechar();

TH=readonechar();

TZ=TH*16+TL/16;

xianshiwen(TZ);

delay(10);

TR1=1;

ET1=1;

}

5系统的安装与调试

5.1安装步骤

1.检查元件的好坏

按电路图买好元件后首先检查买回元件的好坏,按各元件的检测方法分别进行检测,一定要仔细认真。

而且要认真核对原理图是否一致,在检查好后才可上件、焊件,防止出现错误焊件后不便改正。

2.放置、焊接各元件

按原理图的位置放置各元件,在放置过程中要先放置、焊接较低的元件,后焊较高的和要求较高的元件。

特别是容易损坏的元件要后焊,在焊集成芯片时连续焊接时间不要超过10s,注意芯片的安装方向。

6总结

本设计研究了一种基于单片机技术的超声波智能测距报警系统。

该系统通过以STC89C52单片机为工作处理器核心,DS18B20温度补偿,它是一种新颖的被动式超声波探测器件,能够以非接触测出前方物体距离,并将其转化为相应的电信号输出.该报警器的最大特点就是使用户能够操作简单、易懂、灵活;且安装方便、智能性高、误报率低。

随着现代人们安全意识的增强以及科学技术的快速发展,相信报警器必将在更广阔的领域得到更深层次的应用。

 

7参考文献

[1]宋文绪.传感器与检测技术[M].北京:

高等教育出版社,2004.

[2]余锡存.单片机原理及接口技术[M].西安:

西安电子科技大学出版社,2000.

[3]李全利.单片机原理及接口技术[M].北京:

北京航空航天大学出版社,2004.

[4]薛均义,张彦斌.MCS-51系列单片微型计算机及其应用[M].西安:

西安交通大学出版社,2005.

[5]徐爱钧,彭秀华.单片机高级语言C51应用程序设计[M].北京:

北京航空航天大学出版社,2006.

[6]康华光.电子技术基础(模拟部分)[M].北京:

高等教育出版社,2004.

附录1整机电路原理图

 

附录2部分源程序

#include//调用单片机头文件

#defineucharunsignedchar//无符号字符型宏定义变量范围0~255

#defineuintunsignedint//无符号整型宏定义变量范围0~65535

#include

#include"eeprom52.h"

//数码管段选定义0123456789

ucharcodesmg_du[]={0xc0,0xf9,0xa4,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2