温度测量与报警系统设计.docx
- 文档编号:14503396
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:32
- 大小:427.71KB
温度测量与报警系统设计.docx
《温度测量与报警系统设计.docx》由会员分享,可在线阅读,更多相关《温度测量与报警系统设计.docx(32页珍藏版)》请在冰点文库上搜索。
温度测量与报警系统设计
课程设计说明书
题目:
温度测量与报警系统设计
姓名:
学号:
指导教师:
专业年级:
所在学院和系:
完成日期:
课程名称:
机电一体系统设计
1绪论
1.1背景
温度温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。
温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量;同时,温度超过了系统工作正常范围将直接影响系统的寿命,甚至损坏系统;甚至可以说任何一个系统都必须工作在一定的温度范围内,因而设计一种较为理想的温度控制系统是非常有价值的。
自18世纪工业革命以来,工业的飞速发展离不开温度参量在控制系统中的应用。
在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。
在工业生产中人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。
这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。
1.1设计要求
设计要求:
实现温度的测量与控制。
测温范围:
0~1000C;测量精度:
0.10C;
设有上、下限报警温度;数码显示;
1.3设计任务
设计任务:
硬件设计(元器件选择、电路原理图与电路板图绘制等)、软件设计。
2系统总体方案设计
2.1设计思想
本设计题目的设计要求是测量温度、报警及显示,根据设计要求要测量温度就需要有温度传感器以及相应的信号调理电路;报警信号可以通过视觉信号也可以是声音或二者兼备来告知用户;显示可以通过数码管、LED点阵、LCD等;人机交互即极限温度设置可以用按钮或键盘来输入;有了这些之后,各部分的功能得以实现,但是要是他们有序地完成任务还需要一个控制器来协调和控制各部分的工作;系统要工作需要为系统供电,于是需要有电源部分。
根据上述的设计思路绘制系统框图如下图1。
图1系统框图
2.2方案论证
2.2.1电源模块
方案一:
直接利用电池来提供一个合适的电压。
由于干电池供电电压会因负载的不同以及会随着使用的过程而电压发生变化,这会影响到系统的正常工作。
方案二:
采用AC-DC的方式为系统供电,该方式是将交流电变为所需的直流电压,它需要有相应的变压器、整流电路、滤波电路和稳压电路等,该方案电路复杂,费用较高、对于这样一个小系统不经济。
方案三、采用DC-DC的方式,该方式是将直流电转换为系统所需的电压,采用该方案可以用干电池作为也可以用开关电源适配器来作为DC输入,可以简化系统的电源电路,提高系统的便携性能、降低成本。
根据上述的对三种方案的分析比较后,该系统采用方案三比较合理。
2.2.2温度检测模块
方案一、采用普通的温度传感器,该方案需要设计相应的信号放大电路、滤波电路、AD转换电等。
方案二、采用DS18B20智能温度传感器,该传感器内置相应的信号调理电路,直接输出数字量,而且才1-Wire的方式与控制器进行信号交流,简化了硬件电路的设计,同时其转换精度也很高,价格实惠,性价比高,应用非常广。
由于DS18B20温度传感器的优异性能,且足够满足该系统的要求,故采用方案二。
2.2.3控制模块
方案一:
采用MCS-51系列单片机。
传统的51单片机具有价格低廉,使用简单等特点,但其运算速度低,功能单一,RAM、ROM空间小等缺点。
方案二:
采用AT89C52单片机单片机作为控制模块。
具有丰富的资源:
RAM,ROM空间大、超强抗干扰、超低功耗、可送STC-ISP下载编程器、指令周期短、低电压、易于编写和调试等优点。
这些特点极大地提高了开发效率。
鉴于AT89C52单片机价格便宜,功能齐全等特点,本系统采用AT89C52单片机为控制器。
2.2.4显示模块
方案一:
采用数码管显示
LED显示器工作方式有两种:
静态显示方式和动态显示方式。
静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
根据系统要求该系统应采用动态显示方式,采用数码管显示。
方案二:
采用1602液晶显示,1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。
数码管消耗电力比液晶多一点,但是数码管显示更加清晰,更加适合在白天等强光条件下显示。
液晶极其省电,但是使用有温度范围限制,且因是反光式的,在外界光线很明亮的情况下很容易看不清楚。
用数码管完全可以满足该系统的要求,故采用方案一。
2.2.5报警模块
方案一、采用用LED来显示报警信号,根据颜色的不同可以很清楚地知道是低于最低极限温度还是高于最高极限温度的情况,但是它需要人在现场。
方案二、采用蜂鸣器报警,它的优点是当事人不必在现场,可以不受空间物体的阻碍作用而将报警信号传递给用户,但是至于是上述两种中的哪种情况不能很清楚的知道。
根据两种方案的比较发现,二者具有互补的作用,所以选择方案一和方案二来共同实现报警功能。
2.2.6按键模块
方案一、用键盘作为人机交互的接口。
方案二、用独立按键来实现人机交互。
根据系统的要求可知,只需三个键即可满足要求,故从经济的角度来看,选择方案二比较合理。
2.3芯片选择
2.3.1电源模块
系统要求输入5V的直流电压,于是选择5V的三端直流稳压器L7805CV芯片,7805是X78XX系列中的一种,它能固定地输出4.75-5.25V的电压,能够保证系统工作的稳定性。
2.3.2温度检测模块
温度传感器选择DALLAS公司生产DS18B20数字温度计,它具有线路简单,体积小,抗干扰能力强,精度高的特点。
封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
2.3.3控制模块
控制器选用ATMEL公司生产的8位单片机——AT89C52,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
2.3.4显示模块
系统采用两个4位的数码管显示,如果直接与单片机相连,既占引脚又驱动能力不够,故选用74LS138译码器来进行位选以减少引脚占用数量,采用74HC573锁存器来提高驱动能力。
3系统硬件设计
3.1单片机最小系统
单片机最小系统通常有时钟电路和复位电路,时钟电路的晶振选择12MHz的频率,复位电路选用手动复位电路,因选用单片机内部的ROM存储器,所以EA引脚接高电平。
其电路如图2所示。
图2单片机最小系统
3.2传感检测电路
DS18B20温度传感器只有三个引脚,其中GND接地,DQ数据输入输出引脚经电阻上拉后接单片机P3.7引脚,VDD接外部电源。
其电路如下图3所示。
P3.7
AT89C52
VCC
DS18B20
GNDDQVDD
5.1K
K
图3传感器电路图
3.3显示模块
显示部分用两个4位的数码管显示,位选是通过74LS138译码器来实现的,译码器的输入端A、B、C接单片机P2.2、P2.3、P2.4三个端口,其数据输出引脚接数码管的位选引脚,因译码器输出的是低电平有效,故选用的数码管是共阴极的,段选通过74HC573锁存器来驱动,锁存器经上拉电阻后与单片机的P0口相连,锁存器的输出端接数码管的段选引脚,但是不能直接相接,必须串联上限流电阻,流入数码管的电流可以是20mA左右,其压降在2点几伏,接上100Ω的电阻即可。
其电路如下图4所示。
图4显示电路图
3.4报警模块
报警电路有蜂鸣器电路和LED发光二极管电路两个不部分,蜂鸣器采用三极管来驱动,为了限制其流过电路,给它串上一个100Ω的电阻,发光二极管直接接单片机的,同样需串上一个100Ω的限流电阻来保护二极管。
其电路如下图5所示。
图5报警电路图
3.5按键模块
按钮的一端接地,当按下时,单片机相应的引脚被拉低,于是可以通过程序查询的方式来判断是否有哪一个按键按下,实现其功能,其电路简单,不单独画出。
3.6总电路
3.6.1绘图软件简介
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。
3.6.2电路原理图
图6系统电路原理图
3.6.3电路PCB图
在用Proteus绘制电路板时,采用的是自动布局和手动调整,布线采用的是手动布线,手动布线时应注意电路布布线的规则,具体内容如下。
1.电源线和地线的布线规则如下。
·在电源、地线之间加上去耦电容。
·尽量加宽电源线、地线宽度,最好是地线比电源线宽。
·数字电路的pcb可用宽的地导线组成一个回路,即构成一个地网来使用,模拟电路的地不能这样使用。
·用大面积铜层作地线,在印制板上把没被用上的地方都与地相连接作为地线用,或是做成多层板,电源和地线各占用一层。
2.PCB要合理分区,单片机系统通常可分三区,即模拟电路区(怕干扰),数字电路区(即怕干扰、又产生干扰),功率驱动区(干扰源)。
3.时钟振荡电路、特殊高速逻辑电路部分用地线圈起来。
让周围电场趋近于零。
4.I/O驱动器件、功率放大器件尽量靠近印制板的边,靠近引出接插件。
5.使用45°的折线布线,不要使用90°折线,以减小高频信号的发射。
6.单面板、双面板,电源线、地线要尽量粗。
信号线的过孔要尽量少。
7.关键的线尽量短并要尽量粗,并在两边加上保护地。
将敏感信号和噪声场带信号通过一条扁带电缆引出的话,要用地线-信号-地线……方式引出。
8.石英振荡器下面、噪声敏感器件下面要加大地的面积而不应该走其它信号线。
9.任何信号线都不要形成环路,如不可避免,环路应尽量小。
图7系统PCB图
4系统软件设计
4.1程序设计思路
本系统主要是测量温度、设定极限温度值及其显示和报警,于是设计思路为:
首先是系统初始化,然后从传感器中读数、进行数据处理,处理结果存储,如有用户设定极限温度值则将其存储覆盖之前的极限温度值,将处理的结果与设定值比较并决定是否报警,将数据输出给用户。
其设计思路框图如图8所示。
温度获取
数据处理
数据存储
温度值判断
显示
报警
从传感器读温度值
用户设定极限温度值
图8程序设计思路框图
4.2主程序流程图
主程序主要完成单片机定时器的初始化,调用温度获取程序,温度显示存储区数据刷新,温度报警判断、温度显示的功能,主程序采用了一个死循环,程序运行的过程中,不断地执行主程序,从而实现显示不断更新。
流程图如图9所示。
图9主程序流程图
4.3获取温度程序流程图
该程序主要完成从DS18B20传感器获取温度值和人机交互的功能即对极限温度进行设置,此程序是该系统实现温度测量的主要功能块,它同时会调用温度传感器的底层驱动程序,实现将温度传感器中的数据读入到单片机中,问数据处理程序提供原始数据。
流程图如图10所示。
图10获取温度程序流程图
4.4报警程序流程图
报警程序的控制对象主要是蜂鸣器和红绿灯,根据主程序传给的实参,可以判断是超过上限温度还是低于下限温度,进而执行不同的操作,告诉用户报警状态。
超过最高极限温度则蜂鸣器响和红灯亮;低于最小极限温度则蜂鸣器响,同时绿灯亮。
流程图如图11所示。
图11报警程序流程图
4.5显示程序流程图
显示程序是用来显示当前温度值和极限温度值的,共有八位要显示,采用的是动态扫描方式,从左到右逐位显示,采用一个循环8次的程序,一次将显存数组变量中的数据输出给对应位,这样就可以显示所要显示的内容,程序流程图如图12所示。
图12显示程序流程图
4.6数据处理程序流程图
从DS18B20获取的温度值必须进行一定的转换才能得到真正的温度数值,DS18B20的温度操作是使用16位,也就是说分辨率是0.0625,将读取到的两字节温度值乘以0.0625即为实际温度值,直接相乘后得到的值将会约去小数部分,但是该系统要求获取0.1的精确度,这样是不合理的,为此,可以用0.625去乘,这得到的温度值扩大了十倍,保留了个分位上的数值,然后在显示的时候在相应位上将点点亮即可。
图13数据处理程序流程图
4.7编程软件简介
KeilSoftware公司推出的uVision3是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。
除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。
此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。
uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。
uVision3提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。
系统程序代码请见附录C.
5总结
参考文献
[1]喻宗泉,喻晗,李建民.单片机原理与应用技术[M].西安:
西安电子科技大学出版社,2006
[2]黄智玮.全国大学生电子设计竞赛电路设计[M].北京:
北京航空航天大学出版社,2006
[3]段玉生.电工电子技术与EDA基础[M].北京:
清华大学出版社,2004
[4]胡向东,刘京诚.传感器与检测技术[M].北京:
机械工业出版社,2010
[5]徐国华.电子技能实训[M].北京:
北京航空航天大学出版社,2007
[6]周灵彬,任开杰,张靖武.基于Proteus的电路与PCB设计[M].北京:
电子工业出版社,2010
[7]周润景,张丽娜,刘印群.PROTEUS入门实用教程[M].北京:
机械工业出版社,2007
[8]黄智伟.全国大学生电子设计竞赛常用电路模块制作[M].北京:
北京航空航天大学出版社,2006
[9]李华,MCU-51系列单片机实用接口技术[M].北京:
北京航空航天大学出版社,1993
[10]张胜全.D18B20数字温度计在微机温度采集系统中的序编制[M]. 南京:
南京大学出版社,1998
[11]马田华等.可编程单总线数字式温度传感器DS18B2的原理与应用[J].电子质量
2004,7
[12]于永学.1-Wire总线数字温度传感器DS18B20及应用[J].电子产品世界,2003,12
[13]周晗晓,袁慧梅.单片机系统的印制板设计与抗干扰技术[J].电子工艺技术,2004,6
附录A材料清单
器件名称
单片机
温度传感器
晶体谐振器12M
瓷片电容
数目
1
1
1
2
型号
AT89C52
DS18B20
HC-49USHC-49U
22P
器件名称
电解电容
电解电容
钽电容
按钮开关
数目
1
1
1
4
型号
100U/50V
10U/50V
0.1u/35v
TS0611--6*6*4.3
器件名称
碳膜电阻
碳膜电阻
碳膜电阻
蜂鸣器
数目
19
1
1
1
型号
100R/0.5W
1K/0.5W
10K/0.5W
HUT-1203
器件名称
三极管
LED
LED
共阴极数码管
数目
1
1
1
2
型号
2N3904
RED
GREEN
0.36寸/四位
器件名称
接线端子
接线端子
三端稳压
38译码器
数目
1
1
1
1
型号
HB9500-2P
KF5083位
L7805CV
74LS138
器件名称
锁存器
数目
1
型号
74HC573
附录B单片机引脚分配表
P3.7
接DS18B20的DQ引脚
P1.0-P1.1
接红绿灯
P1.5
接蜂鸣器
P2.5-P2.7
接按键
P0
接74HC573D0-D7
P2.3-P2.4
接74LS138译码器A、B、C端
附录C程序代码
头文件18B20.h如下
typedefunsignedintuint;
typedefunsignedcharuchar;
externbithorl;//报警温度最小最大极限值标志,默认最小值
externbitzhf_flag;//正负标志
externuinttemperature;//存温度的变量
externvoiddelay(ucharidataus);//短延时程序
externvoidfwei(void);//复位程序
externvoidwritebyte(ucharidatawrb);//单字节写程序
externucharreadbyte(void);//单字节读程序
externvoidread_bytes(ucharidatanum);//多字节读程序
externvoidget_temp(void);//提取温度值程序
externvoidds18b20_temp(void);//DS18B20主控程序
externvoidshx(void);//温度0.5s值刷新一次程序
主功能程序代码如下:
#include
#include"18b20.h"
/*********************************************
定义显示字段码表
**********************************************/
UnsignedcharcodeDisp_Tab[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*********************************************
定义引脚程序
**********************************************/
sbitA138=P2^2;//138译码器引脚
sbitB138=P2^3;
sbitC138=P2^4;
sbitfmq=P1^5;//蜂鸣器引脚
sbitredled=P1^0;//红绿灯引脚
sbitgreenled=P1^1;
/*********************************************
定义变量程序
**********************************************/
uchardisplay_num[8];//数码管显示数据存储区
bith,l;//定义报警标志
uinthtemp=60,ltemp=10;//上下限报警温度
/*********************************************
初始化程序
**********************************************/
voidsys_start()
{
TMOD=0X01;
TH0=0xD8;//10ms初值
TL0=0xF0;
IE=0x82;
TR0=1;
}
/*********************************************
延时1ms程序
**********************************************/
voiddelay1ms(uintj)
{
uinti;
for(j;j>0;j--)
for(i=120;i>0;i--)
;
}
/*********************************************
报警程序
**********************************************/
voidalarm1(void)
{
if(h)
{
redled=0;
fmq=1;
}
if(l)
{
greenled=0;
fmq=1;
}delay1ms(10);
fmq=0;
redled=1;
greenled=1;
}
voidmain()
{
uchari;
sys_start();//初始化
while
(1)
{
fmq=0;
shx();if(zhf_flag)//负温度值超出范围输出----
{
display_num[0]=0x40;//百位
display_num[1]=0x40;//十位
display_num[2]=0x40;//个位
display_num[3]=0x40;//小数位
}
else//存正温度值
{
display_num[0]=Disp_Tab[temperature%10000/1000];//百位
display_num[1]=Disp_Tab[temperature%1000/100];//十位
display_num[2]=Disp_Tab[temperature%100/10];//个位
display_num[3]=Disp_Tab[temperature%10];//小数位
}
if(horl==1)
{display_num[4]=0x78;//显示上限温度值
display_num[5]=Disp_Tab[htemp%1000/100];//百位
display_num[6]=Disp_Tab[htemp%100/10];//十位
display_num[7]=Disp_Tab[htemp%10];//个位
}
else//显示下限温度值
{
display_num[4]=0x71;
display_num[5]=Dis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 测量 报警 系统 设计