摘 要
本文首先简要介绍了铂电阻PT100的特性以及测温的方法,在此基础上阐述了基于PT100的温度测量系统设计。在本设计中,是以铂电阻PT100作为温度传感器,采用恒流测温的方法,通过单片机进行控制,用放大器、A/D转换器进行温度信号的采集。另外,还设计了时钟电路模块,能实现对温度的实时测量。本设计采用了两线制铂电阻温度测量电路,通过对电路的设计,减小了测量电路及PT100自身的误差,使温控精度在0℃~100℃范围内达到±0.1℃。
本文采用AT89S51单片机,TLC2543 A/D转换器,DS1302时钟芯片,AD620放大器,铂电阻PT100及6位数码管组成系统,编写了相应的软件程序,使其实现温度的实时显示。该系统的特点是:使用简便;测量精确、稳定、可靠;测量范围大;使用对象广。
关键词:
PT100 单片机 温度测量 DS1302
Abstract
This article briefly describes the characteristics of PT100 platinum resistance and temperature measurement method, on the basis it describes the design of temperature measurement system based on PT100. In this design, it is use a PT100 platinum resistance as temperature sensor, in order to acquisition the temperature signal, it use of constant-current temperature measurement method and use single-chip control, Amplifier, A / D converter. In addition, it designs a clock circuit modules to achieve real-time measurement of temperature.It can still improve the perform used two-wire temperature circuit and reduce the measurement eror. The temperature precision is reached ±0.1℃ between 0℃~100℃.
The system contains SCM(AT89S51), analog to digital convert department (TLC2543), DS1302 chip, AD620 amplifier, PT100 platinum, LED Digital tube with six, write the corresponding software program to achieve real-time temperature display. The system is simple , accurate , stable and wide range.
Keywords:
PT100 SCM Temperature Measures DS1302
目 录
前 言 1
第一章 方案设计与论证 2
第一节 传感器的选择 2
第二节 方案论证 3
第三节 系统的工作原理 3
第四节 系统框图 4
第二章 硬件设计 5
第一节 PT100传感器特性和测温原理 5
第二节 信号调理电路 6
第三节 恒流源电路的设计 6
第四节 放大电路的设计 7
第五节 A/D转换器的选择与设计电路 9
第六节 DS1302时钟电路设计 12
第七节 单片机控制电路 14
第八节 按键和显示电路 14
第三章 软件设计 错误!未定义书签。
第一节 系统软件设计说明 16
第二节 软件的有关算法 16
第三节 软件的流程图 17
第四节 部分设计模块 19
第四章 电路仿真的设计与分析 24
第一节 Proteus仿真软件介绍 24
第二节 电路仿真设计 24
第三节 仿真分析 26
结 论 27
参考文献 28
附录A 29
附录B: 30
致 谢 31
前 言
随着科技的发展和“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。
传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信与信息处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以及其应用之广,并且还有很大潜力。
为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合温度传感器技术而开发设计了这一温度测量系统。文中将传感器理论与单片机实际应用有机结合,详细地讲述了利用热电阻作为温度传感器来测量实时的温度,以及实现热电转换的原理过程。
本设计应用性比较强,设计系统可以作为温度测量显示系统,如果稍微改装可以做热水器温度调节系统、生产温度监控系统等等。本课题主要任务是完成环境温度检测并显示温度和实时的时间。设计后的系统具有操作方便,控制灵活移植性强等优点。
本设计系统包括温度传感器,信号放大电路,A/D转换模块,时钟模块,数据处理与控制模块,温度、时间显示模块六个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度测量与显示,完成了课题所有要求。
第一章 方案设计与论证
第一节 传感器的选择
温度传感器从使用的角度大致可分为接触式和非接触式两大类,前者是让温度传感器直接与待测物体接触,而后者是使温度传感器与待测物体离开一定的距离,检测从待测物体放射出的红外线,达到测温的目的。在接触式和非接触式两大类温度传感器中,相比运用多的是接触式传感器,非接触式传感器一般在比较特殊的场合才使用,目前得到广泛使用的接触式温度传感器主要有热电式传感器,其中将温度变化转换为电阻变化的称为热电阻传感器,将温度变化转换为热电势变化的称为热电偶传感器。
热电阻传感器可分为金属热电阻式和半导体热电阻式两大类,前者简称热电阻,后者简称热敏电阻。常用的热电阻材料有铂、铜、镍、铁等,它具有高温度系数、高电阻率、化学、物理性能稳定、良好的线性输出特性等,常用的热电阻如Pt100、Pt1000等。近年来各半导体厂商陆续开发了数字式的温度传感器,如DALLAS公司DS18B20,MAXIM公司的MAX6576、MAX6577,ADI公司的AD7416等,这些芯片的显著优点是与单片机的接口简单,如DS18B20该温度传感器为单总线技术,MAXIM公司的2种温度传感器一个为频率输出,一个为周期输出,其本质均为数字输出,而ADI公司的AD7416的数字接口则为近年也比较流行的I2C总线,这些本身都带数字接口的温度传感器芯片给用户带来了极大的方便,但这类器件的最大缺点是测温的范围太窄,一般只有-55~+125℃,而且温度的测量精度都不高,好的才±0.5℃,一般有±2℃左右,因此在高精度的场合不太满足用户的需要。
热电偶是目前接触式测温中应用也十分广泛的热电式传感器,它具有结构简单、制造方便、测温范围宽、热惯性小、准确度高、输出信号便于远传等优点。常用的热电偶材料有铂铑-铂、铱铑-铱、镍铁-镍铜、铜-康铜等,各种不同材料的热电偶使用在不同的测温范围场合。热电偶的使用误差主要来自于分度误差、延伸导线误差、动态误差以及使用的仪表误差等。
非接触式温度传感器主要是被测物体通过热辐射能量来反映物体温度的高低,这种测温方法可避免与高温被测体接触,测温不破坏温度场,测温范围宽,精度高,反应速度快,既可测近距离小目标的温度,又可测远距离大面积目标的温度。目前运用受限的主要原因一是价格相对较贵,二是非接触式温度传感器的输出同样存在非线性的问题,而且其输出受与被测量物体的距离、环境温度等多种其它因素的影响。
由于本设计的任务是要求测量的范围为0℃~100℃,测量的分辨率为±0.1℃,综合价格以及后续的电路,决定采用线性度相对较好的PT100作为本课题的温度传感器,具体的型号为WZP型铂电阻,该传感器的测温范围从-200℃~+650℃。具体在0℃~100℃的分度特性表见附录A所示。
第二节 方案论证
温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。
方案一:采用模拟分立元件
如电容、电感或晶体管等非线形元件,该方案设计电路简单易懂,操作简单,且价格便宜,但采用分立元件分散性大,不便于集成数字化,而且测量误差大。
方案二:采用温度传感器
通过温度传感器采集温度信号,经信号放大器放大后,送到A/D转换芯片,将模拟量转化为数字量,传送给单片机控制系统,最后经过LED显示温度。
热电阻也是最常用的一种温度传感器。它的主要特点是测量精度高,性能稳定,使用方便,测量范围为-200℃~650℃,完全满足要求,考虑到铂电阻的测量精确度是最高的,所以我们设计最终选择铂电阻PT100作为传感器。该方案采用热电阻PT100做为温度传感器、AD620作为信号放大器,TLC2543作为A/D转换部件,对于温度信号的采集具有大范围、高精度的特点。相对与方案一,在功能、性能、可操作性等方面都有较大的提升。在这里我选用方案二完成本次设计。
第三节 系统的工作原理
测温的模拟电路是把当前PT100热电阻传感器的电阻值,转换为容易测量的电压值,经过放大器放大信号后送给A/D转换器把模拟电压转为数字信号后传给单片机AT89S51,单片机再根据公式换算把测量得的温度传感器的电阻值转换为温度值,并将数据送出到数码管进行显示。另外,外接一个时钟芯片DS1302产生时钟信号送入到单片机中进行处理控制,并将时间显示出来,以实现温度的实时监控。
第四节 系统框图
本设计系统主要包括温度信号采集单元,时间信号采集单元,单片机数据处理单元,时间、温度显示单元。其中温度信号的数据采集单元部分包括温度传感器、温度信号的获取电路(采样)、放大电路、A/D转换电路。
系统的总结构框图如图1-1所示。
图1-1 系统的总结构框图
第二章 硬件设计
第一节 PT100传感器特性和测温原理
电阻式温度传感器(RTD, Resistance Temperature Detector)是指一种物质材料作成的电阻,它会随温度的改变而改变电阻值。
PT100温度传感器是一种以铂(Pt)做成的电阻式温度传感器,属于正电阻系数,
其电阻阻值与温度的关系可以近似用下式表示:
在0~650℃范围内:
Rt =R0 (1+At+Bt2)
在-200~0℃范围内:
Rt =R0 (1+At+Bt2+C(t-100)t3)
式中A、B、C 为常数,
A=3.96847×10-3;
B=-5.847×10-7;
C=-4.22×10-12;
由于它的电阻—温度关系的线性度非常好,因此在测量较小范围内其电阻和温度变化的关系式如下:R=Ro(1+αT)
其中α=0.00392, Ro为100Ω(在0℃的电阻值),T为华氏温度,因此铂做成的电阻式温度传感器,又称为PT100。
PT100温度传感器的测量范围广:-200℃~+650℃,偏差小,响应时间短,还具有抗振动、稳定性好、准确度高、耐高压等优点,其得到了广泛的应用,本设计即采用PT100作为温度传感器。
主要技术指标:1. 测温范围:-200~650摄氏度;2. 测温精度:0.1摄氏度;
3. 稳定性:0.1摄氏度
Pt100 是电阻式温度传感器,测温的本质其实是测量传感器的电阻,通常是将电阻的变化转换成电压或电流等模拟信号,然后再将模拟信号转换成数字信号,再由处理器换算出相应温度。采用Pt100 测量温度一般有两种方案:
方案一:设计一个恒流源通过Pt100 热电阻,通过检测Pt100 上电压的变化来换算出温度。
方案二:采用惠斯顿电桥,电桥的四个电阻中三个是恒定的,另一个用Pt100 热电阻,当Pt100电阻值变化时,测试端产生一个电势差,由此电势差换算出温度。
两种方案的区别只在于信号获取电路的不同,其原理上基本一致。
第二节 信号调理电路
调理电路的作用是将来自于现场传感器的信号变换成前向通道中A/D转换器能识别的信号,作为本系统,由于温度传感器是热电阻PT100,因此调理电路完成的是怎样将与温度有关的电阻信号变换成能被A/D转换器接受的电压信号。
第三节 恒流源电路
从上述关于PT100传感器测温原理可知,由PT100构成信号的获取电路常用的方法有2种,一种是构成的十分常见的电桥电路,当然,在本系统中,考虑成本的问题,一般采用单臂桥;还有一种是运用恒流源电路,将恒流源通过温度传感器,温度传感器两端的电压即反映温度的变化。上述两种电路的结构形式见图2-1所示。
A图单臂桥式 B图恒流源式
图2-1 两种信号获取的结构电路
根据测试技术的有关知识,图2-1中的a图的输出与电阻的阻值不是个正比的关系,因而数据处理起来特别麻烦,尤其是用单片机来处理这些非线性的问题;而图B的由于恒流源的作用,使得电压输出与电阻成良好的线性关系,因此,本系统采用恒流源电路来获取温度信号。
恒流源电路的设计,有用三极管构成的,有用专门的恒流管,也有用价格低廉的器件通过比较巧妙的设计构成的,本系统是采用价格低廉的运放为核心来构成的,恒流效果十分理想,系统设计的恒流源电路见下图2-2所示。
图2-2 由运放构成的恒流源电路
上图中,由于运放虚地的结果,造成OP-07的反相输入端为0V,而图中1.5K电阻的下端由于运用精密的电压源LM336-2.5,外加调整电路,该点电压可调整为2.500V,而由于运放的输入阻抗极高,输入端可以认为不吸入电流,因此从1.5K电阻上流过的电流大小固定而且一定等于OP-07输出端流入温度传感器PT100的电流,从而达到恒流的效果,连接PT100两端的压差正好反映温度变化的信号送入后级的放大器。
这里值得注意的是恒流效果的好坏与下面几个因素有关,图示1.5K电阻的精度及温度稳定性要好,我们采用的是高精度高稳定的电阻;还有是一定要选择输入阻抗高的运放,包括产生虚地处的运放(图中OP-07)和后级的放大器(图中的AD620),否则较大的输入电流也将直接影响恒流的效果;最后一点是参考电压(图中是-2.5V)的稳定性要高,这里的参考电压采用是LM336-2.5V作为参考电压基准。
第四节 放大电路的设计
放大器的选择好坏对提高测量精度也十分关键,根据查阅的相关资料,在放大器电路精选中,一般在首级放大器有低噪声、低输入偏置电流、高共模抑制比等要求的大多采用自制的三运放结构,如下图2-3所示,三运放中由A1、A2构成前级对称的同相、反相输入放大器,后级为差动放大器,在这个结构图中,要保证放大器高的性能,参数的对称性与一致性显得尤为重要,不仅包括外围的电阻元件R1与R2、R3与R4、R5与R6,还包括A1与A2放大器的一致性,因此,要自制高性能的放大器对器件要求相当高。随着微电子技术的发展,市场上出现了专用的高性能的仪用放大器,它的内部核心结构还是三运放,但是,采用微电子来解决刚才的参数匹配问题已不是什么复杂的问题。
图2-3 三运放结构的高性能放大器原理图
随着近年来微电子技术的发展,市面上出现了不少专用的高性能的芯片,AD620、AD623就是具有上述描述的三运放结构,在本设计中我们根据手中的元器件材料最终选择了AD620作为放大器电路的首级放大。
AD620是低价格、低功耗仪用放大器,它只需要一只外部电阻就可设置1~1000倍的放大增益,它具有较低的输入偏置电流、较快的建立时间和较高的精度,特别适合于精确的数据采集系统,如称重和传感器接口,也非常适合医疗仪器的应用系统(如ECG检测和血压监视)、多路转换器及干电池供电的前置放大器使用。
AD620的内部结构是由OP-07组成的三运放结构,性能大大优于自制的三运放IC电路设计,其基本接法是在1脚与8脚之间外接一RG电阻,增益由式G=1+49.4KΩ/RG确定,由于它的外围电路十分简单,所以它在本系统中的应用见下图2-4所示。
由于我们的温度测量范围是0~100℃,而此时的温度传感器的电阻值根据分度表为100欧姆~138.51欧姆,由于我们设计的恒流源为5/3毫安,因此AD620的输入端为166.7毫伏,假设考虑我们的TLC2543的最大输入为5.000V,我们设计的放大器的增益在尽量保证分辨率的条件下,则为20倍,假设我们只用一个AD620,则AD620的输出为2V~5V(TLC只能转换5V),这样12位的A/D转换器的分辨率则大于题目的要求0.1℃,因此,我们必须将100欧姆以下的值通过偏置的方法将其减掉,然后通过增加放大倍数来尽量提高分辨率,这里我们设计的偏置电路同样见下图2-4所示。这里设计的首级放大器的倍数是20倍,而后级放大则为4倍,合计的放大倍数为80倍,这样就完全满足设计分辨率的要求。
图2-4 放大电路
第五节 A/D转换器的选择与设计电路
在我们所测控的信号中均是连续变化的物理量,通常需要用计算机对这些信号进行处理,则需要将其转换成数字量,A/D转换器就是为了将连续变化的模拟量转换成计算机能接受的数字量。根据A/D转换器的工作原理,常用的A/D转换器可分为两种,双积分式A/D转换器和逐次逼近式A/D转换器。
图2-5 TLC2543的引脚
AIN0~AIN10:模拟输入端,由内部多路器选择。对4.1MHz的I/O CLOCK,驱动源阻抗必须小于或等于50Ω。
CS:片选端,CS由高到低变化将复位内部计数器,并控制和使能DATA OUT、DATA INPUT和I/O CLOCK。CS由低到高的变化将在一个设置时间内禁止DATA INPUT和I/O CLOCK。
DATA INPUT:串行数据输入端,串行数据以MSB为前导并在I/O CLOCK的前4个上升沿移入4位地址,用来选择下一个要转换的模拟输入信号或测试电压,之后I/O CLOCK将余下的几位依次输入。
DATA OUT:A/D转换结果三态输出端,在CS为高时,该引脚处于高阻状态;当CS为低时,该引脚由前一次转换结果的MSB值置成相应的逻辑电平。
EOC:转换结束端。在最后的I/O CLOCK下降沿之后,EOC由高电平变为低电平并保持到转换完成及数据准备传输。
VCC、GND:电源正端、地。
REF+、REF-:正、负基准电压端。通常REF+接VCC,REF-接GND。最大输入电压范围取决于两端电压差。
I/O CLOCK:时钟输入/输出端。
TLC2543每次转换和数据传送使用16个时钟周期,且在每次传送周期之间插入CS的时序。根据TLC2543时序图可以看出,在TLC2543的CS变低时开始转换和传送过程,I/O CLOCK的前8个上升沿将8个输入数据位键入输入数据寄存器,同时它将前一次转换的数据的其余11位移出DATA OUT端,在I/O CLOCK下降沿时数据变化。当CS为高时, I/O CLOCK和DATA INPUT被禁止,DATA OUT为高阻态。
TLC2543与单片机的连接如图2-6所示。
图2-6 TLC2543电路
第六节 DS1302时钟电路设计
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。本设计中采用DS1302时钟芯片产生时钟信号,通过单片机进行处理控制,并显示出实时的时间,可以用于对温度进行实时的数据采集。
图2-7 DS1302引脚图
2. DS1302的控制字节
DS1302 的控制字如图2.8所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为逻辑0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址输入或输出。最低有效位(位0)如为0表示要进行写操作,为1表示进行读操
作,控制字节总是从最低位开始输出。
3. 数据输入输出(I/O)
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的
下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
4. DS1302的寄存器
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见图2.8所示。
1 RAM
/CK
A4
A3
A2
A1
A0 RD
/WR
图2.8DS1302的控制字节
此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存
器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为 FEH(写)和FFH(读)。
5.DS1302与单片机的连接
DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。这三条线分别接到CPU的I/O线上。
第七节 单片机控制电路
本设计是采用AT89S51单片机作为主控电路,其中P1口为A/D转换器和DS1302时钟芯片的通信端口,P3.0,P3.1,P3.2为按键控制,P0口接数码管的段码,P2口接数码管的片选端,用于对数码管进行片选。如图2-9所示。
图2-9 单片机控制电路
第八节 按键和显示电路
图2-10 按键电路
2. 显示电路
本设计采用6个LED共阳极数码通过三极管驱动来进行时间温度数据的显示。其中数码管的段码位分别接单片机的P0口,公共端通过三极管接到单片机P2.0~P2.5端对数码管进行位选。其电路图如下图2-11所示。
图2-11 数码管显示电路
第三章 软件设计
第一节 系统软件设计说明
进行微机测量控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个测量对象的实际需要设计应用程序。因此,软件设计在微机测量控制系统设计中占重要地位。对于本系统,软件设计更为重要。
在单片机测量控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便达到测量控制目的。
软件设计主要是对温度进行采集、显示,通过按键操作,进行时间的设置与修改。因此,整个软件可分为温度采集子程序、时钟读取程序、按键子程序、显示子程序、及系统主程序。
第二节 软件的有关算法
1、最小二乘理论获取温度―电阻公式
根据误差理论,我们要获得较高精度的温度测量值,办法一般有2个,要么采用查表法,要么建立高精度的数学模型。如果用查表法,主要有2个问题,如果要提高测量精度,则需要建立大量的表格,而且得提前做大量得试验来进行多点校正,还有一个问题是程序的通用性差,这台仪器上校正好得数据可能在另一台上不合适。而采用已知的分度表,建立数学模型,然后通过工程量(标度)变换,通过测量A/D转换的结果后计算得到。这里我们考虑第2种方法的优点,首先采用分段的方法,将测量范围分段,然后查出该段的数学模型的各个系数,然后计算出温度值,这里,由于时间的关系,我们对整个测量范围分了3段,分别为0-49℃、50-70℃、71-100℃,利用分度表进行离线的数学拟合,得到各段的数学模型系数。同时,可通过再将标度值代入可粗略估计在各个测量段内的最大误差值。
我们通过最小二乘法进行线性拟合,得到如下的数学模型为:
T1=2.5772R-257.7708 0-49℃
T2=2.6366R-267.01 50-70℃
T3=2.7206R-281.90 71-100℃
上述3个数学模型中,最大的理论误差值都小于0.1℃,能够满足精度要求,实际上如果有足够的时间,我们完全可以分得再细一些,这样理论的误差将会变得更小。
2. 标度变换公式的获取
根据上述的线性拟合结果:T=A·R-B,这里的A、B是上述不同温度段的系数,而R值由于在输出为0V时,实际上有个对应于100欧姆的偏置电路,因此根据R-R0=U/I,而I=2.500V/1.500K,而AD/U/G=4096/4.900V,这里的AD值为A/D转换得结果G为放大器的增益,本设计中的二级放大器放大的倍数为80倍。将上述条件代入得:
T=A·(4.9·AD/4096/G/I+100)-B
第三节 软件的流程图
图3-1 系统总流程图
图3-2 按键流程图
图3-3 DS1302时钟流程图 图3-4 温度转换流程图
图3-5 显示流程图 图3-6 主函数流程图
第四节 部分设计模块
1.时钟数据采集模块
2.先向DS1302中写入数据,再根据DS1302时间信号的地址读取数据。
程序如下:
void write_byte(uchar dat) //1302写入一字节
{
uchar a;
ACC=dat;
for(a=8;a>0;a–)
{
IO=ACC0;
SCLK=0;
//delayus(10);
SCLK=1;
ACC=ACC>>1;
}
}
uchar read_byte() //向1302读出一字节
{
uchar a;
for(a=8;a>0;a–)
{
ACC7=IO;
SCLK=1;
SCLK=0;
ACC=ACC>>1;
}
return(ACC);
}
void write_1302(uchar add,uchar dat) //向1302写入数据
{
RST=0;
SCLK=0;
//delayus(5);
RST=1;
write_byte(add);
write_byte(dat);
//delayus(5);
SCLK=1;
RST=0;
}
uchar read_1302(uchar add) //向1302读出数据
{
uchar temp;
RST=0;
SCLK=0;
//delayus(5);
RST=1;
write_byte(add);
temp=read_byte();
//delayus(5);
SCLK=1;
RST=0;
return (temp);
}
uchar BCD_Decimal(uchar bcd)
{
uchar Decimal;
Decimal=bcd>>4;
return(Decimal=Decimal10+(bcd&=0x0F));
}
2. 温度采集模块
通过恒流源电路采集到的信号经过放大电路进行放大后,送入到A/D转换器进行A/D转换,再送到单片机进行处理,将电压转换温度。程序如下:
void delay(uchar n) //延时程序
{
uchar i;
for(i=0;i
uint read2543(uchar port) //TLC2543驱动程序
{
uint ad=0,i;
CLOCK=0;
_CS=0;
port<<=4;
for(i=0;i<12;i++)
{
if(D_OUT) ad|=0x01;
D_IN=(bit)(port&0x80);
CLOCK=1;
delay(6);
CLOCK=0;
delay(6);
port<<=1;
ad<<=1;
}
_CS=1;
ad>>=1;
return(ad);
}
uint Read_Temp() // 电压转换函数
{
uint j;
float m1,m2,m3,m4,m5;
j=read2543(0);
m1=2.76243;
m2=4.9;
m3=2.5;
m5=276.243;
m4=m1
m4=m410;
/m1=j231;
m2=m1+2576700;
m3=m2-2570200;
m4=m3/10000;/
return m4;}
第四章 电路仿真的设计与分析
第一节 Proteus仿真软件介绍
Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:6800系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
第二节 电路仿真设计
启动Proteus软件,按本次设计的原理图画出电路仿真图,根据元件属性设置相应元件参数。由于PT100温度传感器在仿真过程中波动较大,使得显示的温度跳跃变化,不易于温度显示与测量。因此在本次仿真中用一个电阻来代替PT100热电阻,通过改变电阻阻值来反映PT100温度测量。另外,由于在Proteus软件中不能仿真LM336恒压源,所以在本次仿真过程中采用软件自带的-2.5V的恒压原代替。对于数码管显示电路,在仿真过程中没有用三级管来驱动是为了画图的方便,这对仿真结果没多大影响,但在实际电路连接中必须在数码管加上三极管驱动。
系统电路仿真图如图4-1所示。
图4-1 电路仿真图
第三节 仿真分析
Proteus软件的仿真是依靠单片机程序来实现的,因此先将程序通过第三方Keil C51软件编译,连接,执行后产生一个HEX文件,再与Proteus仿真软件进行关联就可以实现仿真。本仿真电路的前置电路的两级放大电路中,通过调节一级放大器和二级放大电路的偏置电路中滑动变阻器范围来调节测温范围,使输入到A/D转换器的模拟电压在0-5V范围内,这样才能进行A/D转换。本设计的前级放大电路的放大倍数为-20倍,二级放大电路放大倍数为-4倍,合起来整个放大电路放大了80倍,这样输入到A/D转换器的信号才能被A/D转换器所转换。其中二级放大器中设计了偏置调整电路,因为PT100电阻传感器在0℃时对应电阻为100欧姆,所以要显示0℃,就必须将此时对应的有效数字减掉后再放大一定的倍数,才通过A/D转换器进行处理。
在仿真过程中由于软硬件影响,还有人为计算误差因素,使得测量温度结果与理想测量结果存在一定的误差,因此可以通过改变硬件参数和软件程序设计来减少误差。另外,在仿真过程中,按键会可能产生抖动现象,可以通过硬件来消除抖动。
结 论
本温度测量系统设计,是采用PT100温度传感器经过放大和A/D转换器送到单片机进行控制温度显示和时间显示。另外本系统还可以通过外接电路扩展实现温度报警功能,从而更好的实现温度现场的实时控制。
经过多次的修改和调试测量,本设计基本符合设计要求,由于受人为因素和软硬件的限制,系统难免不了带来一些误差,但通过调节和精确计算可以减小误差。
通过本次温度测量系统的设计,我对温度测量控制有了进一步的熟悉和更深入的学习。在整个设计的过程中,本设计的重点和难点是:怎样将PT100热电阻的非电量信号转换为单片机单片机能识别的电量信号,其中的信号如何放大及放大倍数的确定等等。
这次毕业设计历时至少2个月,从一开始的课题确定,到后来的资料查找、理论学习,再有就是近来的调试和测试过程,这一切都使我的理论知识和动手能力进一步得到提升。在画原理图、电路仿真和调试过程中不可避免地遇到各种问题,这要求保持沉着冷静,联系书本理论知识积极地思考,实在解决不了时候可以请教同学或指导老师。虽然在制作过程中不可避免地遇到很多问题,但是最后还是在老师以及同学的帮助下圆满解决了这些问题,实现了整个系统设计与最后调试,相关指标达到预期的要求,很好地完成了本次设计任务。
通过本次毕业设计,我了解并掌握了传感器的基本理论知识,更深入的掌握单片机的开发应用和编程控制。为以后从事单片机软硬件产品的设计开发、打下了良好的基础,树立独立从事产品研发的信心,并在这种能力上得到了比较充分的锻炼。
参考文献
[1] 张琳娜,刘武发.传感检测技术及应用[M],中国计量出版社,1999;
[2] 沈德金,陈粤初.MCS-51系列单片机接口电路与应用程序实例[M],北京航空航天大学出版,1990;
[3] 郑建国,一种高精度的铂电阻温度测量方案,自动化仪表[M],1997;
[4]马家辰. MCS-51单片机原理及其接口技术[M],哈尔滨工业大学出版社,1997;
[5] 周航慈.单片机应用程序设计[M],北京航空航天大学出版社,1991年8版;
[6] 李志全等.智能仪表设计原理及应用[M],国防工业出版社,1998年6版;
[7] 李建民.单片机在温度控制系统中的应用[M],江汉大学学报,1996年6版;
[8] 杨振江等.智能仪器与数据采集系统中的新器件及应用[M],西安电子科技大学出版社,2001年12 版;
[9] 刘坤. 51单片机C语言应用开发技术大全[M],人民邮电出版社,2008年9版。
附录A WZP型铂热电阻(Pt100)分度特性表
R0=100欧
温度(℃) 0 1 2 3 4 5 6 7 8 9
电阻值(欧姆)
0 100.00 100.40 100.79 101.19 101.59 101.98 102.38 102.78 103.17 103.67
10 103.96 104.36 104.75 105.15 105.54 105.91 106.33 106.73 107.12 107.52
20 107.91 108.31 108.70 109.10 109.49 109.88 110.28 110.67 111.07 111.46
30 111.85 112.25 112.64 113.03 113.43 113.82 114.21 114.60 115.00 115.39
40 115.78 116.17 116.57 116.96 117.35 117.74 118.13 118.52 118.91 119.31
50 119.70 120.09 120.43 120.87 121.26 121.65 122.01 122.43 122.82 123.21
60 123.60 123.99 124.38 124.77 125.16 125.55 125.94 126.33 126.72 137.10
70 127.49 127.88 128.27 128.66 129.05 129.44 129.82 130.21 130.60 130.99
80 131.37 131.76 132.15 132.54 132.92 133.31 133.70 134.08 134.47 134.86
90 135.24 135.63 136.02 136.40 136.79 137.17 137.56 137.94 138.33 138.72
100 139.10 139.49 139.87 140.26 140.64 141.02 141.41 141.79 142.18 142.66
附录B 总电路图
致 谢
在本次毕业设计中,我得到了指导老师的热心指导。自始至终从设计的选题到设计任务书,开题报告,外文翻译和论文的完成一直都关心督促毕业设计进程和进度。帮助解决毕业设计中遇到的许多问题。还不断向我们传授分析问题和解决问题的办法,并指出了正确的努力方向,使我在毕业设计中学习到许多新的知识,也培养了我分析问题的能力和实践动手能力。在这里非常感谢指导老师的指导和帮助,并致以诚挚的谢意!同时,身边的同学也给了我提供了许多的帮助。在此,我向身边关心我的同学及在设计过程中给予我极大帮助的人致以诚挚的谢意!
通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这三个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。
由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。
毕业设计(论文)任务书(指导教师填)
题目名称: 基于PT100的温度测量系统设计
学生姓名 王洋 所学专业 微电子控制技术 班级 0731
指导教师姓名 翁嘉民 所学专业 职称
一、设计(论文)依据
随着现代化生产和科学研究的发展,人们对温度过程控制的要求越来越高。这就要求我们能够建立具有更高精度、稳定性和可靠性的恒定的温度场环境的温度控制系统,能对温度做到高精度检测。
在微型自动控制控制领域,单片机应用十分广泛,也是组成各种控制单元的核心部件,单片机的系统设计与应用更是一个合格毕业生应该具备的一种基本的能力,单片机与温度传感器的结合实现对温度的测量和显示控制。在智能控制中广泛应用,该系统设计不仅可以锻炼提高自己的硬件设计能力,而且可以锻炼基本的软件编程能力,把自己所学应用到实践中去。
本设计以单片机技术,传感器与测量技术等课程的相关理论为指导,以实际需求为目标,以锻炼系统集成开发能力为目的,采用新型器件设计而成,具有实用、小型化等特点,具有很高的研究价值。
本设计采用AD转换器将温度传感器输出模拟信号转换为数字信号,再由单片机作为主要运算控制部件,为系统提供控制和数据处理功能,系统配置有显示控制功能,方便现场观查数据信息。本设计涉及到的相关开发资料丰富,各种开发工具应有尽有,器件供货充足,价格低廉,能够很好的实现设计目标。
二、主要技术要求
1)PT100能对温度进行检测;
2)单片机系统具有显示控制功能;
3)设计相应的软硬件电路实现上述功能;
4)用单片机C或汇编语言进行程序设计;
5)撰写相关论文资料;
三、进度计划
第十一周 收集材料熟悉设计要求
第十二周 毕业实习、撰写实习报告、外文文献翻译、文献综述
第十三周 原理图设计、电路板设计、电路安装与调试、软件设计与调试
第十四周 撰写毕业设计文稿
第十五周 论文定稿、打印、装订成册
开题报告
题目名称:基于PT100的温度测量系统设计
学生姓名 王洋 专业 微电子控制技术 班级 微电0731
一、选题的依据和意义
温度测量系统的控制设计对于电子信息工程专业来说是一个覆盖面知识广,应用范围广的一个课题。而基于PT100传感器与单片机相结合的温度测量系统设计更能体现传感器在单片机控制系统中的应用。本课题研究的主要内容就是采用AD转换器将温度传感器输出的模拟信号转换为数字信号,再由单片机作为主要运算控制部件,为系统提供控制和数据处理功能,系统配置有显示控制功能,方便现场实时观察数据信息。
二、国内外研究综述
随着“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。
三、设计(或研究)的内容
随着工业生产和科学研究的发展,人们对温度测量及控制的要求越来越高,具体表现在温度测量控制的精度、稳定性、可靠性等方面。特别是在高性能、高精度的器件的生产、标准检测领域的应用、高要求的实验环境的建立等方面,都有高精度温度控制仪表的需求。高精度的温度控制仪表实现就必然离不开前端电路中高质量的温度传感器的使用。铂电阻PT100测温范围广,精度高,且材料易提纯,复现性好;在氧化性介质中,甚至高温下,其物理、化学性质都很稳定, 是中低温区(-200~650℃)最常用的一种温度检测器。不仅广泛应用于工业测温,而且被制成各种标准温度计(涵盖国家和世界基准温度)供计量和校准使用。基于PT100传感器以单片机作为控制单元的温度测量控制系统可以实现温度的高精度测量控制被广泛的应用于化工、冶金、电力、电子、轻工、纺织以及其他公共场合的供水、饮水装置等行业中,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计,是一种不错的温度测量选择。
五、主要参考文献与资料获得情况
[1] 郑建国.一种高精度的铂电阻温度测量方案,自动化仪表[M],1997;
[2]马家辰. MCS-51单片机原理及其接口技术[M],哈尔滨工业大学出版社,1997;
[3] 周航慈.单片机应用程序设计[M],北京航空航天大学出版社,1991年8版;
[4] 李志全等.智能仪表设计原理及应用[M],国防工业出版社,1998年6版;
[5] 李建民.单片机在温度控制系统中的应用[M],江汉大学学报,1996年6版;
六、指导教师审批意见
年 月 日
河南工程学院毕业(设计)论文中期检查学生自查表
系部: 电气信息工程系 检查日期: 2010年5月20日
系部: 检查日期:
学生姓名 电气信息工程系 专业班级 微电子控制技术 指导教师 瓮嘉民
(设计)论文题目 基于PT100的温度测量系统设计
目前已完成任务
是否符合任务书要求进度 已写
尚须完成的任务
能否按期完成任务
存在的问题和解决办法 存在的问题
拟采取的办法
指导教师意见
系部负责人签字
毕业设计(论文)的评价意见
指导教师评语:
分数: 签名: 年 月 日
评阅人评语:
分数: 签名: 年 月 日
答辩小组评语:
答辩小组成员签字:
分数: 签名: 年 月 日
分数: 签名: 年 月 日
河南工程学院毕业设计(论文)答辩记录表
学 号 姓 名 班 级
系 别 专 业 答辩时间
设计(论文)题目
参加答辩教师姓名
教师提问情况记录
学生回答情况记录
综合评定
记录人: 年 月 日
河南工程学院优秀毕业设计(论文)推荐表
教学部门(盖章): 填表日期: 年 月 日
学生
情况 姓名 性别 出生年月 所在专业
指导教师
情 况 姓名 性别 专业技术职务 所在单位
毕业设计(论
文)题目
主要涉及
研究方向
选题依据
及背景
实验、实践或实习基础
主要研读
书目
指导教师
评语
指导教师签字:
年 月 日
教学部门
意见
(教学部门公章)
年 月 日