基于热敏电阻的测温控制系统智能化仪表说明书Word格式文档下载.docx
- 文档编号:16386144
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:30
- 大小:617.28KB
基于热敏电阻的测温控制系统智能化仪表说明书Word格式文档下载.docx
《基于热敏电阻的测温控制系统智能化仪表说明书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于热敏电阻的测温控制系统智能化仪表说明书Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
2.4单片机模块10
第三章软件设计11
3.1软件设计概述11
3.2I2C简介11
3.3温度显示模块程序12
第四章总结心得14
参考文献15
附录A电路图16
附录B程序编程19
第一章前言和概述
1.1前言
在人类的生活环境中,温度扮演着极其重要的角色。
无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。
自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。
在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。
温度对于工业如此重要,由此推进了温度传感器的发展。
进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
在工农业生产中,温度检测及其控制占有举足轻重的地位,随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。
要达到较高的测量精度需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差等问题,使温度检测复杂化。
模拟信号在长距离传输过程中,抗电磁干扰时令设计者伤脑筋的问题,对于多点温度检测的场合,各被检测点到监测装置之间引线距离往往不同,此外,各敏感元件参数的不一致,这些都是造成误差的原因,并且难以完全清除。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。
采用单片机对温度采集进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控数据的技术指标,从而能够大大提高产品的质量和数量。
如最简单的温度的测量,有热电偶、光纤温度传感器等等。
但是,热敏电阻是开发早、种类多、发展较成熟的敏感元器。
热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。
热敏电阻器是敏感元件的一类,按照温度系数不同分为正温度系数热敏电阻器(PTC)和负温度系数热敏电阻器(NTC)。
热敏电阻器的典型特点是对温度敏感,不同的温度下表现出不同的电阻值。
正温度系数热敏电阻器(PTC)在温度越高时电阻值越大,负温度系数热敏电阻器(NTC)在温度越高时电阻值越低,它们同属于半导体器件。
随着半导体技术的不断发展,热敏电阻作为一种新型感温元件应用越来越广泛。
1.2概述
测量过程是热敏电阻随着温度的变化电阻值发生变化,然后利用精密电阻器以电压模式对热敏电阻进行线性化,由热电阻传感器测的外界温度,经过信号放大,然后送给模数转换,将原有的模拟信号转换为可以贝单片机识别和运算的数字信号,然后在通过软件编程通过显示电路显示出来当前所测得的温度。
而热敏电阻具有体积小、灵敏度高、重量轻、热惯性小、寿命长以及价格便宜等优点,最重要的是作为温度传感器的热敏电阻的灵敏度非常高,这是其他测温传感器所不能比拟的......
第二章硬件设计
2.1测温模块
2.1.1特点
1、灵敏度较高,其温度系数要比金属大10~100倍以上,能检测出10-6℃的温度变化
2、温度作用宽,常温器件适用于-55℃~315℃,高温器件适用温度高于315℃(目前最高可达到2000℃),低温器件适用于-273℃~55℃
3、体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度
4、使用方便,电阻值可在0.1~100kΩ间任意选择
5、易加工成复杂的形状,可大批量生产
6、稳定性好、过载能力强
2.1.2应用原理
热敏电阻都是指半导体热电阻由于半导体热电阻温度系数要比金属大10~100倍以上,能检测出10-6℃的温度变化,而且电阻值可在0.1~100kΩ间任意选择。
所以称为热敏电阻但是热敏电阻阻值随温度变化的曲线呈非线性,而且每个相同型号的线性度也不一样,并且测温范围比较小。
模块如图2.1所示。
图2.1热敏电阻测温模块
2.1.3模块接口四线制(图2.2)
VCC外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)
GND外接GND
DO小板数字量输出接口(0和1)
AO
小板模拟量输出接口
图2.2电路图
2.2A/D转换模块
介绍:
PCF8591是一个单片集成、单独供电、低功耗、8-bitCMOS数据获取器件。
PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。
PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输(图2.3)。
图2.3A/D转换模块
2.2.1性能指标
1、单电源供电
2、PCF8591的操作电压范围2.5V-6V
3、低待机电流
4、通过I2C总线串行输入/输出
5、PCF8591通过3个硬件地址引脚寻址
6、PCF8591的采样率由I2C总线速率决定
7、4个模拟输入可编程为单端型或差分输入
8、自动增量频道选择
9、PCF8591的模拟电压范围从VSS到VDD
10、PCF8591内置跟踪保持电路
2.2.2功能描述(图2.4):
1、模块芯片采用PCF8951
2、模块支持外部4路电压输入采集(电压输入范围0-5v)
4、模块集成热敏电阻,可以通过AD采集环境温度精确数值
5、模块集成1路0-5V电压输入采集
6、模块带DA输出指示灯,当模块DA输出接口电压达到一定值,会点亮
板上DA输出指示灯,电压越大,指示灯亮度越明显
图2.4模块图
2.2.3接口说明(图2.5、2.6)
本模块左边和右边分别外扩2路排针接口,分别说明如下:
1、左边AOUT芯片DA输出接口
2、AINO芯片模拟输入接口0
3、AIN1芯片模拟输入接口1
4、AIN2芯片模拟输入接口2
5、AIN3芯片模拟输入接口3
图2.5PCF8591引脚显示
图2.6引脚电路
2.3显示模块
LED数码管(共阴极):
对于单个数码管来说,从正面看,左下角那个脚为1脚,以逆时针方向依次为1~10脚,左上角那个脚便是10脚了,上面两个图中的数字分别与这10个管脚一一对应。
注意,3脚和8脚是连通的,这两个都是公共脚,如图2.7。
图2.7共阴极
2.4单片机模块
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash
Programable
and
Erasable
Read
Only
Memory
)的低电压,高性能COMOS8的微处理器,俗称单片机。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,如图2.8。
图2.8单片机引脚显示
第三章软件设计
3.1软件设计概述
软件系统初始化时把温度数据做成表格存储到ROM中,通过AD对热敏电阻两端的进行测量,然后通过运算将电压值对应于电阻值,通过查表把电阻值对应于温度值,再通过运算把温度数据送到LED显示,其中程序初始化主要是对AD和LED进行初始化,如图3.1所示。
图3.1程序流程图
3.2I2C简介
概念:
I2C总线支持任何IC生产过程(CMOS、双极性)。
通过串行数据(SDA)线和串行时钟SCL)线在连接到总线的器件间传递信息。
每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。
LCD驱动器只能作为接收器,而存储器则既可以接收又可以发送数据。
除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机。
主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。
此时,任何被寻址的器件都被认为是从机。
特征:
1、只要求两条总线线路:
一条串行数据线SDA,一条串行时钟线SCL;
2、每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器;
3、它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;
4、串行的8位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s;
5、连接到相同总线的IC数量只受到总线的最大电容400pF限制。
3.3温度显示模块程序
LED采用+5V电压驱动,其数据接口和读写控制引脚与STC89C52片机的I/O口直接相连。
将采集到的模拟电压值经过A/D转换后送给单片机,单片机查表得到温度值,通过I/O口传输给LED显示,如图3.2所示。
_
图3.2显示流程图
第四章总结心得
通过这次的课程设计实习,让我们深刻的体会到我们专业知识的重要性,还有组员之间的配合。
在五周的课程设计时间里,我们从最开始的找资料,了解我们要做的是关于什么的题目,到懂得他的运作过程,到买所需要的模块和匹配的型号,再到我们自己组建我们的设计雏形,更是到我们自己调试,最后到我们写报告和上交我们的实习成果,在这个过程里,我们充分体现了自己动手的价值。
当我们从热电阻测温系统到热敏电阻测温系统,从中间的一系列错误到最后的正确使用,从找不到热电阻而心急到买来热敏电阻而代替,在这个过程中,一直是我们自己解决,在这样出现问题,在解决问题,在这个独一无二的过程中,我们学会了如何看待问题的发生,再去解决它。
在我们做设计的时候,首先先要选择的是硬件方面。
选择硬件,要比较同类产品的稳定性、功耗、体积、价格等,另外还要符合设计的全部要求。
在显示方面,就采用数码管显示的方法。
其次是软件方面。
把程序分块编写能够有效地提高正确性和编程效率。
其中有重要的两个步骤:
第一,把温度采集部分的程序调试成功,其中包括A/D转换程序。
第二,把显示程序调试成功。
在做完这两步后,大体上就出现了我们设计的轮廓了。
参考文献
[1]郭艳玲,陈利军.基于AT89C52单片机的温湿度控制采集系统[J].林业机械与木工设备.2007(05).
[2]陈杰.传感器与检测技术[M].北京:
高教出版社,2004.
[3]沙占友,王彦朋,孟志永.单片机外围电路设计.电子工业出版社,2003.
[4]谢宜仁.单片机实用技术问答.人民邮电出版社,2003.
[5]孙传友,汉泽西.测控系统原理与设计.北京航空航天大学出版社,2002.
[6]章吉良,周勇,戴旭涵等.微传感器原理、技术及应用[M].上海:
上海交通大学出版社,2005.
[7]李全利,仲伟峰,徐军.单片机原理及应用.北京:
清华大学社,2006.
[8]谭浩强.程序设计与开发技术.北京:
清华大学出版社,1991.
[9]王平,刘伟.数字温度传感器在CPU测温中的应用.河海大学电气院自动化系,江苏南京(210098).
[10]赵海兰,赵祥伟.智能温度传感器DSl8B20原理与应用.《现代电子技术》,2003年.
[11]唐丽华.基于PASCO平台的温度信息采集.集美大学.
[12]刘希民.基于电流法的热电阻温度测量装置[J].仪器仪表学报,2007(S1).
[13]李齐放,陈蕴.热敏电阻的直接积分式A/D转换原理[J].三峡大学学报(自然科学版),2001(02).
[14]姜宇鹏,陈越惠,肖棋文.基于51单片机的数字温度计设计[J].企业技术开发,2011(14).
[15]刘丙友,凌有铸.基于单片机AT89C52的多路温、湿度测试系统[J].自动化与仪表,2007(03).
附录A电路图
附录B程序编程
#include<
reg52.h>
#include<
intrins.h>
/*aaaaaaaaaa#include"
i2c.h"
*/
//#include"
delay.h"
#define_Nop()_nop_()//定义空指令
#defineDataPortP0
bitack;
sbitSDA=P1^1;
sbitSCL=P1^0;
sbitLATCH1=P2^0;
sbitLATCH2=P2^3;
/*------------------------------------------------
启动总线
------------------------------------------------*/
voidStart_I2c()
{
SDA=1;
//发送起始条件的数据信号
_Nop();
SCL=1;
//起始条件建立时间大于4.7us,延时
SDA=0;
//发送起始信号
//起始条件锁定时间大于4μ
SCL=0;
//钳住I2C总线,准备发送或接收数据
}
结束总线
voidStop_I2c()
//发送结束条件的数据信号
//发送结束条件的时钟信号
//结束条件建立时间大于4μ
//发送I2C总线结束信号
voidSendByte(unsignedcharc)
unsignedcharBitCnt;
for(BitCnt=0;
BitCnt<
8;
BitCnt++)//要传送的数据长度为8位
{
if((c<
<
BitCnt)&
0x80)SDA=1;
//判断发送位
elseSDA=0;
//置时钟线为高,通知被控器开始接收数据位
//保证时钟高电平周期大于4μ
}
//8位发送完后释放数据线,准备接收应答位
if(SDA==1)ack=0;
elseack=1;
//判断是否接收到应答信号
unsignedcharRcvByte()
unsignedcharretc;
retc=0;
//置数据线为输入方式
BitCnt++)
//置时钟线为低,准备接收数据位
//时钟低电平周期大于4.7us
//置时钟线为高使数据线上数据有效
retc=retc<
1;
if(SDA==1)retc=retc+1;
//读数据位,接收的数据位放入retc中
return(retc);
voidNoAck_I2c(void)
//时钟低电平周期大于4μ
//清时钟线,钳住I2C总线以便继续接收
voidDelayUs2x(unsignedchart)
{
while(--t);
voidDelayMs(unsignedchart)
while(t--)
//大致延时1mS
DelayUs2x(245);
//sbitLATCH1=P2^0;
//定义锁存使能端口段锁存
//sbitLATCH2=P2^3;
//位锁存
unsignedcharcodedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//显示段码值0~9
unsignedcharcodedofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//分别对应相应的数码管点亮,即位码
unsignedcharTempData[8];
//存储显示值的全局变量
voidDisplay(unsignedcharFirstBit,unsignedcharNum)
staticunsignedchari=0;
DataPort=0;
//清空数据,防止有交替重影
LATCH1=1;
//段锁存
LATCH1=0;
DataPort=dofly_WeiMa[i+FirstBit];
//取位码
LATCH2=1;
//位锁存
LATCH2=0;
DataPort=TempData[i];
//取显示数据,段码
i++;
if(i==Num)
i=0;
定时器初始化子程序
voidInit_Timer0(void)
TMOD|=0x01;
//使用模式1,16位定时器,使用"
|"
符号可以在使用多个定时器时不受影响
//TH0=0x00;
//给定初值
//TL0=0x00;
EA=1;
//总中断打开
ET0=1;
//定时器中断打开
TR0=1;
//定时器开关打开
定时器中断子程序
voidTimer0_isr(void)interrupt1
TH0=(65536-2000)/256;
//重新赋值2ms
TL0=(65536-2000)%256;
Display(0,8);
codeunsignedintvt_table[]=//电压温度对照表
4132,4098,4063,4026,3988,3949,3908,3866,3823,3779,
3733,3686,3639,3590,3540,3489,3437,3385,3331,3277,
3222,3166,3110,3054,2997,2940,2882,2824,2767,2709,
2651,2593,2536,2478,2421,2365,2309,2253,2198,2143,
2089,2036,1984,1932,1881,1831,1782,1734,1686,1640,
1594,1550,1506,1464,1422,1381,1341,1303,1265,1228,
1192
};
#defineAddWr0x90//写数据地址PCF8591
#defineAddRd0x91//读数据地址PCF8591
externbitack;
unsignedcharReadADC(unsignedcharChl);
主程序
main()
unsignedintnum=0;
unsignedcha
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 热敏电阻 测温 控制系统 智能化 仪表 说明书