河南城建学院安全检测课程设计.docx
- 文档编号:8617853
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:16
- 大小:212.54KB
河南城建学院安全检测课程设计.docx
《河南城建学院安全检测课程设计.docx》由会员分享,可在线阅读,更多相关《河南城建学院安全检测课程设计.docx(16页珍藏版)》请在冰豆网上搜索。
河南城建学院安全检测课程设计
河南城建学院
《安全检测技术》课程设计
温度传感器的报警系统
姓名
学号0232111
专业安全工程
课程名称安全检测技术
指导教师黄战峰马斌
环境与市政工程系
2012年6月
目录
1、引言3
2、设计要求3
3、工作原理4
4、方案设计4
5、单元电路的设计和元器件的选择5
5.1、微控制器模块5
5.2、温度采集模块6
5.3、报警模块8
5.4、温度显示模块8
5.5、其它外围电路9
6、电源模块11
7、程序设计12
7.1、流程图12
7.2、程序分析12
8、实例测试16
主要参考文献17
1、引言
传感式报警器是一种有趣的且值得研究的装置,它能通过测量外界的物理量,化学量或生物量来捕捉知识和信息,并能将被测量的非电学量转换成电学量,从而引起报警。
在生活中它为我们提供了很多方便,在传感器产品中,温度传感器是最主要的需求产品,它被应用在多个方面。
总而言之,传感器的出现改变了我们的生活,生活因使用传感器也变得多姿多彩。
温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。
这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。
传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。
控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。
而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。
更能串接多个数字温度传感器DS18B20进行范围的温度检测。
2、设计要求
本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:
●利用温度传感器[1](DS18B20)测量某一点环境温度
●测量范围为-55℃~+99℃,精度为±0.5℃
●用液晶进行实际温度值显示
●能够根据需要方便设定上下限报警温度
3、工作原理
温度传感器DS18B20从设备环境的不同位置采集温度,单片机AT89S51获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。
当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器),当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器开启升温设备(加热器)。
当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。
系统中将通过串口通讯连接PC机存储温度变化时的历史数据,以便观察整个温度的控制过程及监控温度的变化全过程。
4、方案设计
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置[2],它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大。
采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。
既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外AT89S51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。
该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件[3],以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。
系统框图如图4-3所示
图4-3DS18B20温度测温系统框图
5、单元电路的设计和元器件的选择
5.1、微控制器模块
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。
主控模块采用单片机最小系统是由于AT89S51芯片[4]内含有4kB的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0~24MHz,并且价格低廉,批量价在10元以内。
主要特性如下:
●与MCS-51兼容
●4K字节可编程闪烁存储器
●寿命:
1000写/擦循环
●数据保留时间:
10年
●全静态工作:
0Hz-24Hz
●三级程序存储器锁定
●128*8位内部RAM
●32可编程I/O线
●两个16位定时器/计数器
●5个中断源
●可编程串行通道
●低功耗的闲置和掉电模式
●片内振荡器和时钟电路AT89S51单片机引脚图
5.2、温度采集模块
DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围-55~+125℃,可编程为9~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。
综上,在本系统中我采用温度芯片DS18B20测量温度。
该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好[5]。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
该芯片直接向单片机传输数字信号,便于单片机处理及控制。
图5-2温度芯片DS18B20
DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。
DS18B20的电源供电方式有2种:
外部供电方式和寄生电源方式。
工作于寄生电源方式时,VDD和GND均接地,他在需要远程温度探测和空间受限的场合特别有用,原理是当1Wire总线的信号线DQ为高电平时,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。
但寄生电源方式需要强上拉电路,软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM时),同时芯片的性能也有所降低。
外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。
因此本设计采用外部供电方式。
如下图所示:
温度传感器DS18B20的测量范围为-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
因为本设计只用于测量环境温度,所以只显示0℃~+85℃。
5.3、报警模块
本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。
当所测温度超过获低于所预设的温度时,数据口相应拉高电平,报警输出。
(也可采用发光二级管报警电路,如过需要报警,则只需将相应位置1,当参数判断完毕后,再看报警模型单元ALARM的内容是否与预设一样,如不一样,则发光报警)报警电路硬件连接见图5-3
图5-3蜂鸣器电路连接图
5.4、温度显示模块
本设计显示电路采用两位共阳极LED数码管来显示测量得到的温度值。
LED数码管能在低电压下工作,而且体积小、重量轻、使用寿命长,因次本设计选用此数码管作为显示器件。
一个LED数码管只能显示一位的字符,如果字符位数不止一位,可以用几个数码管组成,但要控制多位的显示电路需要有字段控制和字位控制,字段控制是指控制所要显示的字符是什么,控制电路应将字符的七段码通过输出口连接到LED的a~g引脚,是某些段点亮,某些段处于熄灭状态。
字位控制是指控制在多位显示器中,哪几位发光或那几位不发光,字位控制则需要通过字位码作用于LED数码管的公共引脚,是某一位或某几位的数码管可以发光。
数码管显示电路分为动态显示和静态显示。
静态显示方式是指每一个数码管的字段控制是独立的,每一个数码管都需要配置一个8位输出口来输出该字位的七段码。
因此需要显示多位时需要多个输出口,通常片内并口不够用,需要在片外扩展。
动态显示又称为扫描显示方式,也就是在某一时刻只能让一个字位处于选通状态,其他字位一律断开,同时在字段线上发出该位要显示的字段码,这样在某一时刻某一位数码管就会被点亮,并显示出相应的字符。
下一时刻改变所显示的字位和字段码,点亮另一个数码管,显示另一个字符。
绕后一次扫描轮流点亮其他数码管,只要扫描速度快,利用人眼的视觉残留效应,会使人感觉到几位数码管都在稳定的显示。
本设计采用数码管动态显示,电路如下图所示:
显示部分电路
图中由单片机P1口串接74HC245驱动两位共阳极数码管,上拉电阻排为10K。
由P2.0和P2.1通过PNP型三极管Q1,Q2驱动其字位。
三极管发射极接高电平,当P2.0或P2.1为低电平时使三极管导通选通数码管[6]的某一位。
5.5、其它外围电路
复位电路:
在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作。
实际应用中,复位操作有两种形式:
一种是上电复位,另一种是上电与按键均有效的复位。
如下图所示:
上电复位要求接通电源后,单片机自动实现复位操作。
上电瞬间RST引脚获得高电平,随着电容的充电,RST引脚的高电平逐渐下降。
只要RST引脚保持两个机器周期的高电平单片机就可以进行复位操作。
该电路参数为:
晶振为12MHz时,电容为10μF,电阻为8.2KΩ;晶振为6MHz时,电容为22μF,电阻为1KΩ。
本设计采用上电复位电路,电路参数为电容10μF,电阻8.2K.。
晶振电路:
单片机的时钟信号通常有两种方式产生:
一是内部时钟方式,二是外部时钟方式。
本设计采用内部时钟方式,在单片机内部有一震荡电路,只要在单片机的XTAL1和XTAL2脚外接石英晶体(简称晶振),就构成了自己震荡器并在单片机内部产生时钟脉冲信号。
图中电容器的作用是稳定频率和快速起振,电容值在5~30pF,典型值为30pF。
晶振CYS的震荡频率范围在1.2~12MHz间选择,典型值为12MHz和6MHz。
本设计采用12MHz晶振,电容值为20pF。
在电路总体设计中,EA\Vpp脚用于是从外部程序存储器取指还是从内部程序存储器取指的选择信号。
当EA\Vpp接高电平时,先从片内程序存储器读取指令,读完4KB后,自动改为片外取指。
若EA\Vpp接低电平,则所有指令均从片外程序存储器读取。
ALE脚用于输出允许地址所存信号[7]。
PSEN脚用于外部程序存储器选通信号,在对外部程序存储器取指操作时此引脚置低电平有效。
在执行片内程序存储器取指时PESN脚无效。
本设计无片外程序存储器扩展,所以将EA\Vpp脚接高电平,ALE及PSEN脚悬空。
6、电源模块
控制系统主控制部分电源需要用5V直流电源供电,其电路如图6所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。
其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。
由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。
降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。
由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。
需通过低通滤波电路滤波,使输出电压平滑。
稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。
本电路使用集成稳压芯片7805解决了电源稳压问题。
图6电源部分连线图
7、程序设计
用汇编语言完成对设计的软件编程,程序开始首先对温度传感器DS18B20进行复位,检测是否正常工作;接着读取温度数据,主机发出CCH指令与在线的DS18B20联系,接着向DS18B20发出温度A/D转换44H指令,再发出温度寄存器的温度值BEH指令,并反复调用复位,写入及读取数据子程序,之后再经过数据转换,由数码管显示出来,不断循环。
7.1、流程图
7.2、程序分析
对DS18B20进行复位,写入和读取温度数据(在温度传感器DS18B20内部完成,并实现对温度信息的采集);读取温度流程如下:
复位→发CCH命令(跳过ROM)→发44H命令→延时1s→复位→发CCH命令(跳过ROM)→发BEH命令(读内部RAM中9字节内容)→连接从总线上读出2个字节的数据(温度数据的低8位和高8位)→结束
注:
根据DS18B20的通信协议,每一次读写数据之前都要对DS18B20进行复位,复位要求主机先发出复位低脉冲(大于48us);然后释放,DS18B20收到信号后等待16~60us,然后发出60~240us的存在低脉冲,主机收到此信号表示复位成功。
初始化时序
(1)DS18B20的写入子程序部分:
WRITE_1820:
MOVR2,#8;一位共8位数据
CLRC;C=0
WR1:
CLRDQ;总线低位,开始写入
MOVR3,#7;
DJNZR3,$;保持16us以上
RRCA;把字节DATA分成8个位,循环给C
MOVDQ,C;写入一个位;
MOVR3,#23;
DJNER3,$;等待
SETBDQ;重新释放总线;
NOP
DJNZR2,WR1;写入下一个位;
SETBDQ
RET
注:
当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。
有两种写时间隙,写1时间隙和写0时间隙。
所有写时间隙必须最少持续60μs,包括两个写周期至少1μs的恢复时间。
I/O线电平变低后,DS18B20在一个15μs到60μs的窗口内对I/O线采样。
如果线上事高电平,就是写1,如果是低电平,就是写0。
主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15μs内允许数据线拉到高电平。
主机要生成一个写0时间隙,必须把数据线拉到低电平并保存60μs。
每个读时隙都由主机发起,至少拉低总线1us,在主机发起读时序之后,单总线器件才开始在总线上发送0或1。
所有读时序至少需要60us。
写时序
(2)DS18B20的读取子程序
READ_1820:
MOVR4,#2;读取两个字节的数字
MOVR1,#29H;低位存入29H,高位存入28H
RE0:
MOVR2,#8;数据一共有8位
RE1:
CLRC
SETBDQ
NOP
NOP
CLRDQ;读前总线保持为低
NOP
NOP
NOP
SETBDQ;开始读总线释放
MOVR3,#9;
RE2:
DJNZR3,RE2;延时18us
MOVC,DQ;从总线读到一个位
MOVR3,#23;
RE3:
DJNZR3,RE3;等待50us
RRCA;把读得的位值循环移给A
DJNZR2,RE1;读取下一位
MOV@R1,A;
DECR1
DJNZR4,RE0;
RET
注:
当从DS18B20读数据时,主机生成读时间隙。
当主机把数据从高电平拉到低电平时,读时间隙开始,数据线必须保持至少1μs;从DS18B20输出的数据在读时间隙的下降沿出现后15μs内有效。
因此,主机在读时间隙开始后必须把I/O脚驱动拉为的电平保持15μs,以读取I/O脚状态。
在读时间隙的结尾,I/O引脚将被外部上拉电阻拉到高
电平。
所有读时间隙必须最少60μs,包括两个读周期至少1μs的恢复时间。
读时序
②获得实际测量温度(温度传感器DS18B20把数据信息传给单片机,完成数据信息的传输);
数据转化子程序部分:
TURN:
ANL28H,#07H
ANL29H,#0F0H
MOVA,28H
ORL29H,A
MOVA,29H
SWAPA
MOV29H,A
RET
注:
温度传感器DS18B20所测得的温度数据低位存入29H,高位存入28H,将28H中的低4位移入29H中的高4位,获得一个新字节,这个字节就是实际测量的温度。
③将测量的温度数据在两位数码管[8]上显示出来(单片机把数据信息传给LED数码管显示器,实现温度的数字化显示)。
温度显示子程序部分:
DISPLAY:
MOVA,29H;
MOVB,#10;
DIVAB
MOVB_bit,A;十位在A
MOVA_bit,B;个位在B
MOVDPTR,#TABLE;指定查表起始地址
MOVR0,#4;
DP1:
MOVR1,#250;显示1000次
LOOP:
MOVA,A_bit;取个位数
MOVCA,@a+DPTR;查个位数的7段代码
MOVP0,A;送出个位的7段代码
CLRP2.3;开个位显示
ACALLDELAY
SETBP2.3
MOVA,B_bit;取十位数
MOVCA,@A+DPTR;查出十位数的7段代码
MOVP0,A;送出十位的7段代码
CLRP2.2;开十位显示
ACALLDELAY;显示1ms
SETBP2.2
DJNZR1,LOOP;250次未完循环
DJNZR0,DP1;4个250次未完循环
RET
8、实例测试
实例测试:
将写入程序的单片机插入实验板插座内,检查温度传感器DS18B20连接正常后接通电源,此时,在两位7段LED数码管上将会准确的显示环境温度,无需作任何调整。
为了观察温度传感器DS18B20对稳定变化的灵敏度,可以用手握住DS18B20管,会看到数码管上显示的稳定很快上升至人体温度值,再将手离开DS18B20管,温度又会很快降至环境温度值,温度传感器DS18B20的测量范围为-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
主要参考文献
[1]栾桂冬等《传感器及其应用》西安电子科技大学出版社2002年
[2]何希才,薛永毅.传感器及其应用实例[M].北京:
机械工业出版社,2001.
[3]陈杰黄鸿《传感器与检测技术》高等教育出版社2002年
[4]何立民.单片机应用系统设计[M].北京:
北京航空航天大学出版社,1994.
[5]张智,邹智荣。
基于单片机的日光温室控制系统的设计,微计算机信息,2006
[6]任文辉,林智群,彭佩夫。
用单片机对实验室恒温控制系统的设计,大学物理,2005
[7]高涛,梁晓阳,汪洋。
火控雷达温度监测仪的设计与实现,微计算机信息,2006
[8]杨俊华,黄明辉。
基于80C196单片机的温度检测及显示系统,机械与电子,2003
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河南 城建 学院 安全 检测 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)