《硬件课程设计基于PT100传感器的温度测量系统的设计.doc》由会员分享,可在线阅读,更多相关《硬件课程设计基于PT100传感器的温度测量系统的设计.doc(26页珍藏版)》请在三一办公上搜索。
1、信息与控制工程学院硬件课程设计说明书基于PT100传感器的温度测量系统的设计学生学号: 09540217 学生姓名: 专业班级: 测控0902 指导教师: 职 称: 讲师 起止日期: 2012.03.052012.03.25 吉林化工学院Jilin Institute of Chemical Technology课程设计任务书一、设计题目:基于PT100传感器的温度测量系统的设计二、设计目的1熟悉Keil uVision开发软件及Protel电路设计设计软件的使用。2. 掌握SST89E51单片机体系结构及C语言程序设计方法。3. 掌握PT100热电阻测温系统的结构及电路板的焊接、检测方法。三
2、、设计任务及要求1设计热电阻测温电路,并应用Protel画出其电路原理图。2完成SST89E51单片机热电阻测温系统的焊装和硬件调试。3学习SST89E51单片机,编写完整的实验程序,下载到单片机并进行调试。4. 撰写设计说明书。四、设计时间及进度安排设计时间共三周(2012.3.52012.3.25),具体安排如下表:周次设 计 内 容设计时间第一周1.设计热电阻测温电路,并用Protel画出电路原理图;2完成SST89E51的热电阻测温系统的焊装和硬件调试。2012.3.5 2012.3.11第二周1.查找相关资料,编写实验程序;2.进行整机调试并完成功能。2012.3.122012.3.
3、18第三周1.撰写设计说明书;2.答辩。2012.3.192012.3.25五、指导教师评语及学生成绩指导教师评语: 年 月 日年 月 日成绩指导教师(签字):目 录课程设计任务书I目 录II摘要III第1章 概述1第2章 硬件设计及相关介绍22.1 恒流源部分22.1.1 PT100传感器特性和测温原理22.1.2 PT100温度传感器原理32.2 信号采集调理电路32.3 A/D模数转换模块42.4 显示模块82.5串口电路及MAX232芯片简介82.6 SST89E51单片机简介9第3章 软件设计及相关介绍123.1 编程语言(C语言)介绍123.2编程软件Keil简介123.3程序设计
4、流程图153.4初始化程序153.5液晶显示173.6用插值法计算数据183.7运行结果183.8数据测试及误差分析18结论19参考文献20摘要近几年我国热电阻行业发展速度较快,受益于热电阻行业生产技术不断提高以及下游需求市场不断扩大,热电阻行业在国内和国际市场上发展形势都十分看好。本文正是介绍了热电阻PT100的特性以及测温的方法,在此基础上阐述了基于PT100的温度测量系统设计。在本设计中,是以铂电阻PT100作为温度传感器,采用恒流测温的方法,通过SST89E51单片机进行控制,用放大器、A/D转换器进行温度信号的采集。另外,还设计了NOKIA5110显示电路,能实现对温度的显示。本设计
5、采用了两线制铂电阻温度测量电路,通过对电路的设计和软件中对测量值的插值计算,减小了测量电路及PT100自身的误差,使温控精度在-120+260范围内达到0.1。本文采用SST89E51单片机,LM358放大器,ICL7135A/D转换器,铂电阻PT100及NOKIA5110组成测量系统,编写了相应的软件程序,使其实现温度的显示。该系统的特点是:使用简便,价格低廉;测量精确、稳定、可靠;测量范围大,使用对象广,稍加改动之后应用会更加广泛。第1章 概述 热电阻应用领域广泛,覆盖了工业、农业、交通、科技、环保、国防、文教卫生、人民生活等各方面,在国民经济建设各行各业的运行过程中承担着把关者和指导者的
6、任务。由于其地位特殊、作用大,对国民经济有巨大倍增和拉动作用,有着良好的市场需求和巨大的发展潜力。 具体的需求对象可以从以下几个方面进行表述: 1、在人类社会进入知识经济时代、信息技术高速发展的背景下,热电阻及其测量控制技术得到日益广泛应用,给热电阻行业的快速发展提供了良好契机。热电阻是信息产业的源头和组成部分,是信息技术的重要基础。2、热电阻广泛应用于装备、改造传统产业的工艺流程的测量和控制,是现代化大型重点成套装备的重要组成部分,是信息化带动工业化的重要纽带。3、高水平科学研究和高新技术产业的发展迅速提高了对热电阻的需求,热电阻在实施科教兴国、知识创新和技术创新的过程中,正发挥十分重要的作
7、用。 4、热电阻已成为现代国防建设技术装备的重要组成部分,我国航天工业的固定资产1/3是热电阻和计算机;运载火箭的仪器开支占全部研制经费的1/2左右;导弹的高精度制导、控制,航天精纬测量和红外成像、专用高温实验设备等都是国防装备中的重点产品。5、热电阻在探索人类社会可持续发展、抵御自然灾害、依法治国并实施有关法律(质量、商检、计量、环保等)的过程中作为重要实施手段和保障工业被普遍采用。本设计系统包括热电阻PT100,信号放大器,A/D转换模块,数据处理与控制模块,显示模块六个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度测量与显示,完成了课题所有要求。第2章 硬件设计
8、及相关介绍本系统的电路主要由线性电源模块、信号采集与调理模块、A/D模数转换模块、显示模块、单片机最小系统模块组成。具体电路和工作原理下面一一介绍。2.1 恒流源部分恒流源的作用是提供1mA的恒定电流供后续电路使用。具体电路如图2.1所示。图2.1 1mA恒流源当恒流源工作时,由于LM385B12稳压管(1.2V)的稳压作用,其两端的电压U=U1-U2=1.2V。根据虚短原理,运放正反相输入端电压U+=U-,即R2 两端电压为U,故I=U/R2=1.2v/1k =1.2mA。根据虚断原理,流过R2的电流将几乎全部流入复合管而不流入运放的2脚。为了减小温度对恒流源的影响,本设计采用两只三级管组成
9、的复合管。复合三极管:又叫达林顿管,将系数放大,即=1*2=2,使达林顿管集电极和发射极电流相等,即Ic=Ib(1+)Ib=Ie=I。电路中R8和R6分别起限流和保护作用,从而大大增强了恒流源的抗干扰能力。2.1.1 PT100传感器特性和测温原理PT100温度传感器,是一种以铂(Pt)作成的电阻式温度传感器,属于正电阻系数。Pt100,就是说它的阻值在0度时为100欧姆。PT100温度传感器是一种高精准的测温仪器,在工业生产中有着重要的作用,本文介绍PT100温度传感器原理及其产品特征。 2.1.2 pt100温度传感器原理PT100是一个温度传感器,是一种稳定性和线性都比较好的铂丝热电阻传
10、感器,可以工作在 -200 至 650 的范围。电阻式温度检测器(RTD,Resistance Temperature Detector)是一种物质材料作成的电阻,它会随温度的上升而改变电阻值,如果它随温度的上升而电阻值也跟著上升就称为正电阻系数,如果它随温度的上升而电阻值反而下降就称为负电阻系数。大部分电阻式温度检测器是以金属作成的,其中以白金(Pt)作成的电阻式温度检测器,最为稳定,耐酸碱、不会变质、相当线性最受工业界采用。 PT100温度感测器是一种以白金(Pt)作成的电阻式温度检测器,属于正电阻系数,其电阻和温度变化的关系式如下: R=Ro(1+T)其中=0.00392,Ro为100(
11、在0的电阻值),T为摄氏温度。因此白金作成的电阻式温度检测器,又称为PT100。PT100是电阻式温度传感器,测温的本质其实是测量传感器的电阻,通常是将电阻的变化转换成电压或电流等模拟信号,然后再将模拟信号转换成数字信号,再由处理器换算出相应温度。主要技术指标:1. 测温范围:-200650;2. 测温精度:0.1;3. 稳定性:0.1。PT100温度传感器测量范围广:-200+650,偏差小,响应时间短,还具有抗振动、稳定性好、准确度高、耐高压等优点,其得到了广泛的应用,本设计采用PT100作为温度传感器。采取方案:设计一个恒流源通过PT100热电阻,通过检测PT100上的电压的变化来换算出
12、温度。2.2 信号采集调理电路信号采集调理电路,就是信号处理电路,把模拟信号变换为用于数据采集、控制过程、执行计算显示读出或其他目的的数字信号。模拟传感器可测量很多物理量,如温度、压力、光强等,但由于传感器信号不能直接转换为数字数据,这是因为传感器输出是相当小的电压、电流或电阻变化,因此,在变换为数字信号之前必须进行调理。调理就是放大,缓冲或定标模拟信号等,使其适合于模/数转换器(ADC)的输入。然后,ADC对模拟信号进行数字化,并把数字信号送到MCU或其他数字器件,以便用于系统的数据处理。该测温系统这部分电路的主要作用是用热电阻Pt100配合电流源采集当前的温度并将其转换为电压信号,调理电路
13、将这个微小的电压信号转换为可以输入A/D转换器的合适电压值。具体组成电路如图2.2所示。图3.2 信号采集调理电路根据运放的“虚短”、“虚断”作用,有; 运放的7引脚输出端电压:;结果将微小的电压信号放大转换为可以输入A/D转换器的合适电压值。2.3 A/D模数转换模块2.3.1 ICL7135功能介绍ICL7135是一种四位半的双积分A/D转换器,可以转换出20000个数字量选通控BCD码输出,与单片机接口十分方便。它具有精度高(相当于14位A/D转换),价格低的优点。其转换速度与时钟频率相关,每个转换周期均有:自校准(调零),正向积分(被测模拟电压积分),反向积分(基准电压积分)和过零检测
14、四个阶段组成,其中自校准时间为10001个脉冲,正向积分时间为10001个脉冲,反向积分直至电压到零为止(最大不超过20001个脉冲)。故设计者可以采用从正向积分开始计数脉冲个数,到反向积分为零时停止计数。将计数的脉冲个数减10000,即得到对应的模拟量。具体电路如图2.3所示。图2.3 A/D模数转换电路图2.4给出了ICL7135时序,由图可见,当BUSY变高时开始正向积分,反向积分到零时BUSY变低,所以BUSY可以用于控制计数器的启动/停止。图2.4 ICL7135时序图计数的时钟脉冲是由单片机的ALE引脚经过74HC393分频后得到的。在平时,单片机ALE端以不变的频率周期输出正脉冲
15、信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲,若外部时钟为12MHZ,则ALE端输出的时钟频率为2MHZ。由于ICL7135芯片在时钟脉冲为125KHZ时对50HZ工频干扰有较大抑制能力,此时转换速度为3次/s,故将ALE端的时钟脉冲经过74HC393芯片16分频后得到所需的125KHZ。74HC393芯片如图2.5所示。图2.5 74HC393芯片及电路图2.3.2 ICL7135引脚图ICL7135为DIP28封装,芯片引脚排列如图2.6所示。图2.6 ICL7135芯片引脚图2.3.3 引脚含义及功能:(1)与供电及电源相关的引脚(共7脚)-V:负电源引入端,典型值-5
16、V,极限值-9V;+V:正电源引入端,典型值+5V,极限值+6V;DGND:数字地,ICL7135正负电源的低电平基准; REF: 参考电压输入REF的地为AGND引脚,典型值1V,输出数字量10000(VIN/VREF);AC:模拟地,典型应用中,与DGND(数字地)一点接地;INHI:模拟输入正,此设计中与恒流源连接;INLO:模拟输入负,当模拟信号输入为单端对地时,直接与AC相连。 (2) 与控制和状态相关的引脚(共12脚)CLKIN:时钟信号输入,当T80ms时,fcp125KHz,对50HZ工频干扰有较大抑制能力,此时转换速度为3次/,极限值fcp1MHZ时,转换速度为25次/; R
17、EFC+:外接参考电容正,典型值F; REFC-:外接参考电容负; BUFFO:缓冲放大器输出端,典型外接积分电阻; INTO:积分器输出端,典型外接积分电容; AZIN:自校零端; LOW:欠量程信号输出端,当输入信号小于量程范围的10时,该端输出高电平; HIGH:过量程信号输出端,当输入信号超过计数范围(20001)时,该端输出高电平; STOR:数据输出选通信号(负脉冲),宽度为时钟脉冲宽度的一半,每次A/D转换结束时,该端输出5个负脉冲,分别选通由高到低的BCD码数据(5位),该端用于将转换结果打到并行I/O接口; R/H:自动转换/停顿控制输入,当输入高电平时;每隔40002个时钟
18、脉冲自动启动下一次转换;当输入为低电平时,转换结束后需输入一个大于300ns的正脉冲,才能启动下一次转换; POL:极性信号输出,高电平表示极性为正; BUSY:忙信号输出,高电平有效,正向积分开始时自动变高,反向积分结束时自动变低。(3) 与选通和数据输出相关的引脚(共9脚)B8 B1:BCD码输出,B8为高位,对应BCD码;D5:万位选通;D4D1:千,百,十,个位选通。2.4 显示模块本显示模块用NOKIA5110液晶来显示,设计为48*84矩阵LCD控制/驱动,所有显示的功能集成在一块芯片上,包括LCD电压及偏置电压发生器,只需很少外部元件,且功耗少,可以显示字符和汉字。具有很多优点,
19、如体积小,性价比高,接口简单,仅四根I/O线即可驱动,速度快,工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便携式移动设备。液晶接口电路如图2.7所示。图2.7 液晶接口电路引脚功能如下表:D/C数据/命令选择端SDIN串行数据输入端SCLK串行时钟输入端GND接地端VCC+5V电源/RST复位2.5串口电路及MAX232芯片简介MAX232是美信公司专门为电脑的RS-232标准串口设计的电源电平转换芯片,使用+5V单电源供电,功能是产生+12V和-12V两个电源,提供给RS-232串口电平的需要。串口电路图如图2.8所示。图2.8 串口电路MAX232芯片引
20、脚介绍:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成
21、TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。2.6 SST89E51单片机简介SST89E51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁
22、存储器组合在单个芯片中,ATMEL的SST89E51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2.9所示。图2.9 SST89E51引脚及连线图2.6.1引脚及功能:.P0口:双向8位三态I/O口,为地址总线及数据总线分时复用口,可驱动8个LS型TTL 负载。.P1口:8位准双向I/O口,可驱动4个LS型TTL负载。.P2口:8位准双向I/O口,与地址总线复用,可驱动4个LS型TTL负载。.P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。.RST/VPP:RST是复位信号
23、输入端,高电平有效。VPP为本引脚的第二功能,即备用电源输入端。.ALE/PROG:ALE输出为地址锁存允许信号。PROG为本引脚的第二功能。.PSEN:程序存储器允许输出控制端。.EA/VPP:EA功能为内外程序存储器选择控制端。此设计中,采用定时计数器0(INT0)外部脉冲计数方法,通过公式(2-6)获得: (2-6)其中,Vin为输入电压,Vref为参考电压,C为计数值。由上公式可求出Vin,就可以求出R,根据R和温度T的关系就可以求出当前温度值。这就是编程中A/D转换函数的算法和思想。第3章 软件设计及相关介绍本章主要介绍编程语言C语言和编程工具Keil3软件,以及本系统的程序设计和在
24、程序设计时所遇到的问题及解决办法。3.1 编程语言介绍C语言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中举世公认的优秀的结构程序设计语言之一。C语言主要有以下特点:1、 C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。2、C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。3、C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也
25、具有强大的图形功能,支持多种显示器和驱动器。4、C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。基于C语言的这些特点,我们选用C语言来作为编程语言。3.2编程软件Keil简介KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成
26、的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍KeilC51开发系统各部分功能和使用。我们用开发软件Keil uVision3来编写、修改所需程序和下载程序到单片机运行。其下介绍Keil uVision3的使用步骤。1.双击Keil uVision3,得到主画面,如图3.1所示:图3.1 Keil uVision3主画面2新建工程界面 Project-new project,如图3.2所示:图3.2 Keil uVision3的新建界面3单片机的选择,如图3.3所示:图3.3 单片机的选择界面如图所示能找到本次设计所需主要芯片SST89E51。4C文件的建立与
27、添加,如图3.4所示:图3.4 添加C文件在添加C文件之后,就可以在里面编写自己的程序了,在编写完后编译,如果没有错误,就可以下载到芯片当中进行调试并得到最终可用程序。3.3程序设计流程图本温度测量系统的程序设计流程图如图3.5所示。单片机初始化液晶初始化根据AD码算出电阻值根据电阻值算出温度值液晶显示延时开始图3.5 程序流程图3.4初始化程序3.4.1单片机初始化:本次设计采用ICL7135进行A/D的转换,在程序的编制时需要使用到单片机的计数器和外部中断,所以有必要对单片机进行初始化设置,初始化时应设置计数器0为16位计数模式,gate位设置为高限制计数器在外部中断0引脚为高电平时开始计
28、数,关于中断的初始化应该打开外部中断及总中断允许位,并设置外部中断0的触发方式为下降沿触发。程序如下:void T0-Init()TMOD=0x0D; /00001101,设置定时器0为16位计数器模式TH0=0; /清空计数器TL0=0;EX0=1; / 开外部总中断IT0=1; / 设置外部中断0为下降沿触发方式TR0=1; / 启动计数器,等待busy端高电平开始计数EA=1; / 开总中断3.4.2 NOKIA5110初始化在NOKIA5110液晶工作前应对其进行初始化操作,其指令集如图3.6所示。图3.6 NOKIA5110指令集初始化步骤为:复位;指令集的选择;设置显示模式;设置显
29、示地址;清屏;初始化程序为:void LCD_Init()LCD_Reset();LCD_WriteCmd(0x21);/芯片激活,并采用指令集 LCD_WriteCmd(0xff);/写vop寄存器为0LCD_WriteCmd(0x20);/芯片激活,采用基本指令集LCD_WriteCmd(0x0c);/正常显示模式LCD_WriteCmd(0x80);/设置X地址为0LCD_WriteCmd(0x40);/设置Y地址为0LCD_ClearScreen();3.5液晶显示本次设计使用串行方式进行液晶的数据传送,根据图3.7的液晶时序图可知,进行数据(命令)的发送时,应首先设置D/C=1(D/
30、C=0),然后在SCLK的上升沿进行数据的按位发送。图3.7 液晶时序图void LCD_WriteByte(BYTE bt) /写单字节函数 char i; SCLK = 0; for (i=0;i8;i+) /下降沿串行发送8位数据 bt = 1;SDIN = CY;SCLK = 1; SCLK = 0; void LCD_WriteCmd(BYTE x) / 写命令函数 DC = 0; /DC=0,送命令LCD_WriteByte(x);void LCD_WriteData(BYTE x) /写数据函数 DC = 1; / DC=1,送数据LCD_WriteByte(x);3.6用插值法
31、计算数据在科学和工程问题上可以通过租入采样、实验等方法或得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合。这个过程叫拟合。插值是曲线必须通过已知点的拟合,是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其它点的近似值。由于PT100与温度近似呈线性关系,故采用线性插值法。在本次程序设计中运用了两次线性插值计算出最终的温度值,第一次根据AD值算出PT100的阻值,之前先用标准电阻来标定AD值,即自50到220每间隔5测一个AD值,制成表格,再由插值法计算出PT100的实际值。第二次根据阻值算出对应的温
32、度值,在阻值与温度的表格中用插值法计算出当时的温度值。3.7运行结果用变阻箱代替PT100模拟温度变化时阻值的变化。程序运行时,在一定范围内扭动变阻箱,液晶显示屏上将显示此阻值对应的温度值。可知对应值是否正确。3.8数据测试及误差分析AD码-阻值分度表如表3-8所示,阻值-温度分度值见附录(二)。根据插值法,可以由测得数据获得液晶显示获得AD码与温度的近似值。误差主要是由软件编写不成熟和电阻箱阻值不稳定造成的。但精度基本上可以达到0.1。表3-8 AD码-阻值分度表R()556065707580859095AD465851245515698063756836723076858084R()100
33、105110115120125130135140AD85168875939597701025310630111081148611967R()145150155160165170175180185AD123501282313210136571405014530149251538715789R()190195200205210215220225230AD162421661517036173871885718230187151911319627 结论本设计中,是以温度采集及检测为总目标,以单片机最小应用系统为总控制中心,辅助设计有温度采集电路、A/D转换单元、LCD液晶显示等等。在这次硬件课程设计过
34、程中,我得到了金老师的悉心指导,使我在短期内学会了硬件电路故障分析和软件编程查找错误的技巧,在这里对金老师深表感谢!通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了这一年年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这三星期的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。参考文献1 童诗白,华成英. 模拟电子技术基础. 北京:高等教育出版社,2006.52 张毅刚. 单片机原理及应用. 北京:高等教育出版社,2003.123 赵志刚,吴海彬. Protel DXP实用教程. 北京:北京交通大学出版社;北京大学出版社,2007.84 于军,王庆伟,李晓红. 电工学实验. 北京:中国电力出版社,2010.125 翟玉文,梁伟,艾学忠,施云贵. 电子设计与实践. 北京:中国电力出版社,20056 艾学忠. 二次插值方法在信号处理中的应用. 吉林化工学院学报,2003.12