毕业设计(论文)一种温度传感器系统的设计.doc

上传人:仙人指路1688 文档编号:3977280 上传时间:2023-03-30 格式:DOC 页数:35 大小:2.90MB
返回 下载 相关 举报
毕业设计(论文)一种温度传感器系统的设计.doc_第1页
第1页 / 共35页
毕业设计(论文)一种温度传感器系统的设计.doc_第2页
第2页 / 共35页
毕业设计(论文)一种温度传感器系统的设计.doc_第3页
第3页 / 共35页
毕业设计(论文)一种温度传感器系统的设计.doc_第4页
第4页 / 共35页
毕业设计(论文)一种温度传感器系统的设计.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《毕业设计(论文)一种温度传感器系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)一种温度传感器系统的设计.doc(35页珍藏版)》请在三一办公上搜索。

1、 本科生毕业论文(设计) 题 目: 一种温度传感器系统的设计 姓 名: 学 院: 理学院 专 业: 电子科学与技术 班 级: 08级(2)班 学 号: 指导教师: 职称: 副教授 2012年 1月5日 安徽科技学院教务处制 目录摘要及关键词.3第一章 前言.41.1 课题背景与意义.41.2 温度传感器系统的应用.51.3 毕业设计任务.5第二章 系统方案.62.1 温度传感器系统设计任务和要求.62.2 水温控制系统部分.62.3 控制方式.9第三章 系统硬件设计.93.1 总体设计框图和说明.93.2 外部电路设计.103.3 单片机系统电路设计.12第四章 系统软件与设计.164.1 程

2、序框架结构.164.2 程序流程图及部分程序.174.3系统安装调试与测试.22第五章 绪论.23参考文献.24附件一(程序代码).25附件二(电路原理图).33 一种温度传感器系统的设计摘要:温度是工业控制对象主要被控参数之一,在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度传感器系统是非常有价值的。为了实现高精度的水温测量和控制,本课题介绍了一种以Atmel公司的低功耗高性能CMOS单片机为核心,以PID算法控制以及PID参数整定相结合的控制方法来实现的水温控制系统

3、,其硬件电路还包括温度采集、温度控制、温度显示、键盘输入以及RS232接口等电路。该系统可实现对温度的测量,并能根据设定值对温度进行调节,实现控温的目的。 【关键词】单片机AT89C51;温度控制;温度传感器PT1000;PID调节算法 The summary:Temperature is the main control of industrial control of parameters, In temperature control, due to temperature controlled object properties (such as inertia big, big, l

4、agging effect of nonlinear, etc.), to improve performance, some process temperature control of its direct impact on the quality of the product, and designed a kind of ideal temperature control system is a very valuable. In order to realize high precision temperature measurement and control, this pap

5、er introduces a meter taking Atmel company low-power high-performance CMOS chip as the core, and the PID control algorithm with PID parameters combination of control method to realize the temperature control system, the hardware circuit including temperature, temperature control, temperature gatheri

6、ng, keyboard input and RS232 interface circuits, etc. The system can realize the measurement for temperature, and can according to value of temperature adjustment, and realize the objective temperature control.Keywords: AT89C51 microcontroller, Temperature control, PT1000 temperature sensor, PID alg

7、orithm 第一章 前言 1.1 课题背景与意义 温度是表征物体冷热程度的一个物理量,对许多生产过程都具有重要意义,是生产生活中非常重要的参数,它对作物的生长,商品的保存,家禽孵化及许多科学实验过程都会产生重要的影响,温度传感器系统的设计是许多生产过程不可缺少的技术手段。 在现代化的工业生产中,温度是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而

8、能够大大提高产品的质量和数量。目前,温度传感器系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度传感器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。现在,我国在这方面总体技术水平处于20世纪80年代中后期水平。成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后复杂时变温度系统控制,而且适应于较高控制场合的智能化、自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的

9、单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业应用广泛。1.2 温度传感器系统的应用盐浴炉温度传感器系统利用S型铂铑-铑热电偶检测温度,热电偶进行冷端补偿,热电偶检测的信号通过放大、采样保持、模数转换再送单片机保存,采用分段查表法获取各点温度。选用可控硅过零触发自动控制盐浴炉温度,控制周期为100个三相交流市电周期,即2s。由单片机控制可按预设温度曲线进行加热,并可实时显示加温曲线。大型粮库采用主机为PC上位机,从机为68HC08GP32为主控芯片的分机(下位机)。下位机采用DALLAS的数字式温度传感器芯片DS1820,可以在三根线(电源线、

10、地线、信号线)上同时并联多个温度探测点。每个分机上可以连接10跟电缆,每根电缆上可并联几十个点。分机利用了68HC08GP32的片内FLASH功能,实现了DS1820的序列号在68HC08GP32中的动态存取,从而节省了大量存储器。温度数据保存在68HC08GP32的片内RAM里并且利用了充分利用了68HC08GP32的片内的A/D实现了湿度数据的测量,有的还用PLC来控制。总之温度传感器系统的控制方式是多种多样的。1.3 课题设计任务 本文主要介绍单片机温度控制系统的设计过程,其中涉及系统结构设计、元器件的选取和控制算法的选择、程序的调试和系统参数的整定。以AT89C51为CPU,温度信号由

11、PT1000和电压放大电路提供。电压放大电路用超低温漂移高精度运算放大器OP07将温度-电压信号进行放大,用单片机控制SSR固态继电器的通断时间以控制水温,系统控制对象为1升净水,容器为搪瓷器皿。水温可以在环境温度降低时实现自动控制,以保持设定的温度基本不变,具有较好的快速性与较小的超调。 第二章 系统方案 2.1 温度传感器系统设计任务和要求 设计一个水温自动控制系统,控制对象为1升净水,水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变,系统设计具体要求: 温度设定范围为40,目标温度的5; 加热棒功率2KW,控制器为继电器; 用十进制数码管显示水的

12、实际温度。 2.2 水温控制系统部分 水温控制系统是一个过程控制系统,组成框图如图1所示,由控制器、执行器、被控对象其反馈作用的测量变送组成。测变量是通过温度传感器Pt1000来传送的,控制器是通过单片机来完成。 2.2.1 CPU中央处理器 方案一:采用8031作为控制核心,使用最为普遍的器件ADC0804作模数转换,控制上使用对加热棒加电对水槽里的水升温。此方案简易可行,器件价格便宜,但8031内部没有程序存储器需扩展,增加了电路的复杂性。 方案二:此方案采用8951单片机实现,可用编程实现各种控制算法和逻辑控制。进行数据转换,控制电路部分采用SSR固态继电器控制加热棒的通断,此方案电路简

13、单并且可以满足题目中的各项要求的精度。 比较两个方案可知,采用Atmel单片机来实现本题目,不管是从结构上,还是从工作量上都占有很大的优势,所以最后决定使用AT89C51作为该控制系统的核心。根据温度变化慢,并且控制精度不易掌握的特点,设计了水箱温度自动控制系统,总体框图如图2所示。温度控制采用改进的PID数字控制算法,显 示采用用3位LED静态显示。 (2) 温度控制系统算法分析 系统算法控制采用工业上常用的位置型PID数字控制,并且结合特定的系统加以算法的改进,形成了变速积分PID积分分离PID控制相结合的自动识别的控制算法。该方法不仅大大减小了超调量,而且有效地克服了积分饱和的影响,使控

14、制精度大大提高。 PID控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。PID调节器有三个可设定参数,即比例放大系数pK、积分时间常数iK、微分时间常数dK。比例调节的作用是使调节过程趋于稳定,但会产生稳态误差;积分作用可消除被调量的稳态误差,但可能会使系统振荡,甚至使系统不稳定; 微分作用能有效的减小动态偏差,如图3所示。 由图4可知PID调节器是一种线性调节器,这种调节器是将设定值w与实际输出值y进行比较构成偏差e=w-y。 并将其比例、积分、微分通过线性组合构成控制量。其动态方程为: (其中Kp为比例放大系数;Ki为积分时间常数;Kd为微分时间常数) PID调节器的离散

15、化表达式为; 其增量表达形式为(T为采样周期):2.3 控制方式 该控制系统是把输出量检测出来,经过物理量的转换,再反馈到输入端去与给定量进行比较(综合),并利用控制器形成的控制信号通过执行机构SSR对控制对象进行控制,抑制内部或外部扰动对输出量的影响,减小输出量的误差,达到控制目的。在此控制系统中单片机就相当于常规控制系统中的运算器控制器,它对过程变量的实测值和设定位之间的误差信号进行运算然后给出控制信息,单片机的运算规则称为控制法则或控制算法。 第三章 系统硬件设计3.1 总体设计框图及说明 本系统是一个简单的单回路控制系统,总体框图如图2所示。 单片机系统是整个控制系统的核心,AT89C

16、51可以提供系统控制所需的I/O口、中断、定时及存放中间结果的RAM电路;前向通道是信息采集的通道,主要包括传感器、信号放大、A/D转换等电路;由于水温变化是一个相对缓慢的过程,因此前向通道中没有使用采样保持电路;信号的滤波可由软件实现,以简化硬件、降低硬件成本。 键盘设定:用于温度设定,共三个按键。 数据采样:将由传感器及相关电路采集到的温度转为电压信号,经A/D转换后,送入AT89C51相应接口中,换算成温度值,用于控制和显示。 数据显示:采用了共阴极数码管LED进行显示设置温度与测量温度。 继电器/加热棒:通过三极管控制继电器的开关来完成对加热棒的控制。3.2 外部电路设计 3.2.1

17、温度采集电路 采用温度传感器铂电阻Pt1000,对于温度的精密测量而言,温度测量部分是整个系统设计的第一步。温度传感器的选择是这块电路的关键,它是直接影响整个系统的性能与效果的关键因素之一。这里采用的是精密级铂电阻温度传感器Pt1000,它的金属铂含量达99. 9999%,因为铂电阻的物理和化学性能在高温和氧化介质中很稳定、价格又便宜,常用作工业测量元件,以铂电阻温度计作基准器线性好,温度系数分散性小,在0100摄氏度时,最大非线性偏差小于0.5摄氏度,性能稳定,广泛用于精密温度测量和标定。 铂热电阻与温度关系式,其中:Rt-温度为t摄氏度时的电阻; R0-温度为0摄氏度时的电阻; A、 B-

18、温度系数 A=3.94*102/;其中;T-任意温度。3.2.2 温度控制电路 此部分通过控制继电器的通断从而控制加热棒,采用对加在加热棒两端的电压进行通断的方法进行控制,以实现对水加热功率的调整,从而达到对水温控制的目的,即在闭环控制系统中对被控对象实施控制。此部分的继电器采用的是SSR继电器,即固态继电器,主要由输入(控制)电路,驱动电路和输出(负载)电路三部分组成。固态继电器的输入电路是为输入控制信号提供一个回路,使之成为固态继电器的触发信号源。固态继电器的输出电路是在触发信号的控制下,实现固态继电器的通断切换。输出电路主要由输出器件(芯片)和起瞬态抑制作用的吸收回路组成,固态继电器(S

19、SR)是一种全电子电路组合的元件,它依靠半导体器件和电子元件的电、磁和光特性来完成其隔离和继电切换功能。 图5是它的工作原理框图,图11中的部件-构成交流SSR的主体,从整体上看,SSR只有两个输入端(A和B)及两个输出端(C和D),是一种四端器件。工作时只要在A、B上加上一定的控制信号,就可以控制C、D两端之间的“通”和“断”,实现“开关”的功能。 由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖峰等污染电网,为此特设“过零控制电路”。为使其实现过零控制,就是要实现工频电压的过零检测,并给出脉冲信号,由单片机控制可控硅过零脉冲数目。当在其输入端加入控制信号时,输出端接通,从而

20、使得加热棒加热以致温度上升;当此时撤离控制信号时,输出端断开,而使加热棒停止加热从而温度下降。 3.3 单片机系统电路设计 3.3.1系统框图3.3.2 A/D转换电路 ADC0804是CMOS集成工艺制成的逐次比较型A/D转换器芯片。分辨率为8位,转换时间为100s,输出电压范围为05V,增加某些外部电路后,输入模拟电压可为5V。该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接到CPU的数据总线上,无需附加逻辑接口电路。采集数据时,首先微处理器执行一条传送指令,在指令执行过程中,微处理器在控制总线的同时产生CS1、WR1低电平信号,启动A/D转换器工作,ADC0804经

21、100S后将输入模拟信号转换为数字信号存于输出锁存器,并在INTR端产生低电平表示转换结束,并通知微处理器可来取数。当微处理器通过总线查询到INTR为低电平时,立即执行输入指令,以产生CS、RD2低电平信号到ADC0804相应引脚,将数据取出并存入存储器中。整个数据采集过程中,由微处理器有序地执行若干指令完成,AD0804的连接图如图10。3.3.3 键盘设置电路 单片机上的P25口接S1,P26口接S2,P27口接S3。 S1:设置温度的十位数:09 S2:设置温度的个位数:09 S3:工作模式选择键,共有两种工作模式正常工作状态、温度重新设置。 系统上电后,数码管全部显示为零,根据按S1次

22、数,十位的数码管顺序增加。同样S2,的温度进行比较,通过软件来控制加热棒的开关。 3.3.4数码显示电路 数码管作为单片机系统最为常用的输出器件,在显示时可以由数字和少量字母组合完成输出功能的系统中应用十分方便。图23为AT89C51最小系统以及一个四位共阴数码管,DIG0、DIG1、DIG2、DIG3分别与单片机的P21、P22、P23、P24相连,每一个都拥有一个共阴的位选端。从而可以通过单片机选通所需显示的数码管。SegA-SegDp口传输要显示的数据,利用其串/并转换功能,送入数码管显示。在此外接了一个10K的排阻来保护LED。 第四章 系统软件设计 4.1 程序框架结构 一个整体的系

23、统软件设计是由各个在系统里起着不同作用的模块整合在一起,从而实现系统的所要实现的功能。本系统硬件接口如下: P1-AD; P00P07-LEDaLEDdp.; P25P27-S1S3; P20P23-COM1COM3; 此系统包括主控制程序,A/D采样数据处理程序,PID算法程序,LED显示及按键处理程序。结构框架图如图13所示。 主程序模块对子程序模块的调用进行管理,它主要负责初始化IO口;等待键盘的键被按下,并调用相应的模块进行处理;在适当的时候接受A/D采样的数据,并与所设定的值进行比较,然后通过调用PID算法处理数据,处理后来控制继电器的通断,从而控制热电管达到控制水温的目的。4.2

24、程序流程图及部分程序4.2.1主程序模块 由于模块化程序的设计,通过调用程序即可实现所用功能,主程序流程图如图14所示。写程序时,调用程序前即系统运行首要先对系统进行初始化。然后对按键进行扫描,对按键事件做出相应的反应。接下来看是否有温度数据采集到,如果有就进行A/D采样及PID处理数据,最后所得结果与设定值比较从而控制继电器通断。 4.2.2 系统初始化 系统初始化包括A/D口初始化、按键初始化等。对端口的初始化即是对端口相应位进行设置,这些初始化程序都嵌入在各个子程序里面。 4.2.3 按键程序 按键扫描:由于机械触点有弹性,在按下或弹起按键时会出现弹跳抖动过程,从最初按下到接触稳定要经过

25、数毫秒的弹跳时间,因此为了保证探险键识别的准确性,必须消除抖动。键值处理:图15是对键值的处理流程图。 4.2.4 A/D采样数据处理 当采样到温度数据时,为了防止在采样过程中外界干扰而造成采样数据的不准确,必须调用温度均值处理程序,然后确定温度系数使采样转换得到的电压信号转换成温度值,并进行十进制转换,用于显示和PID计算。其中均值处理是一个重要的环节,是A/D转换前必不可少的工具,流程图如图16所示。 4.2.5 PID计算 由于单片机控制是一种采样控制,系统中 PID调节规律可通过数值公式近似计算。由此可得增量式算法公式: 这个计算的过程可用一个简单的程序来实现。4.2.6 继电器控制

26、继电器是和AT89C51单片机的P25口相连的,它的开断完全取决于P25口的输出,即PID计算的结果。当输出小于零说明设定值小于实际输出值,这是就要关闭电炉,同时关闭定时器的计时。如果输出值大于设定值5摄氏度时就可以开电炉对水开始加热。如果设定值与实际输出值差值在5摄氏度以内时,我们就调用中断程序定时加热。 图17数据采样中断服务程序的流程图,此中断程序采用的是2Hz中断定时0.5秒钟采样一次。 图18控制程序的中断服务程序,用来对继电器定时加热。它利用中断定时器10ms确定加热时间,当加热时间未到时,继续时间累积,若加热时间到时,就调用关定时器子程序,停止计时。 4.2.7 单片机最小系统

27、在以单片机为控制核心的控制系统中,单片机担负着接受外部信号,发出控制指令等重要作用,是构建控制系统的前提,所以在开始直流电机控制系统的设计之前必须首先搭建起一套能正常工作的单片机最小系统。 最小系统是实现实验的一个最基本的关键环节,它的好坏决定了一个系统的好坏,所以说最小系统是单片机里最基本的系统,也是重要的系统。 4.3 系统安装调试与测试 1 测触点电阻 用万能表的电阻档,测量常闭触点与动点电阻,其阻值应为0;而常开触点与动点的阻值就为无穷大。由此可以区别出那个是常闭触点,那个是常开触点。经测试本系统使用的继电器为常开式。 2 测线圈电阻 可用万能表R200档测量继电器线圈的阻值,从而判断

28、该线圈是否存在着开路现象。 3 测量吸合电压和吸合电流 找来可调稳压电源和电流表,给继电器输入一组电压,且在供电回路中串入电流表进行监测。慢慢调高电源电压,听到继电器吸合声时,记下该吸合电压和吸合电流。为求准确,可以试多几次而求平均值。 4 测量释放电压和释放电流 进行连接测试,当继电器发生吸合后,再逐渐降低供电电压,当听到继电器发生释放声音时,记下此时的电压和电流,亦可尝试多几次而取得平均的释放电压和释放电流。一般情况下,继电器的释放电压约在吸合电压的1050,如果释放电压太小(小于1/10的吸合电压),则不能正常使用了,这样会对电路的稳定性造成威胁,工作不可靠。 第五章 结论 此课程设计是

29、温度传感器系统的设计,首先是方案的选择,这是课程设计的最主要的环节。然后进行软件编程,通过数据线连接电脑下载编好的程序,进行调试。再接下来是添加单元电路,并进行调试。调试过程中,遇到不少问题,主要是经验不足,经过不停的摸索,问题基本上得到了解决。我也懂得了系统要有良好的控制效果,其前端采集温度信号需要足够精确,其次系统的构成要简单实用,实时监控系统状态参数,并且运用多种算法使得数据更为接近真实值。 此次系统设计中主要难题为控制系统输出控制和PID控件,系统PID输出为模拟信号而该系统的控制对象为一加热棒,因此一般的执行器无法满足控制需求,而使用普通的触点式继电器会因频繁开关而产生电弧,可能导致

30、事故发式继电器的不足。PID控件的难题在于参数整定,对于本系统来说参数整定只能使用经验凑试,而且调试的时候一定要耐心。 总的来说通过这次设计实验,学到了很多东西,分析问题的能力都得到了提高,重要的是建立了对电子设计兴趣。最大的体会还是理论运用到实践还是有很大差距,理论学得再好到了实际运用的时候还是会出现很多问题,这些问题通过多实践积累经验可以得到解决。致 谢 本课题的研究是在王老师的精心指导下完成的,从课程学习、论文选题直至最后完稿,无不浸透着老师的心血。老师严谨的治学态度和渊博的知识给我留下了深刻的印象,使我终生难忘。从尊敬的老师身上,我不仅学到了扎实、宽广的专业知识,也学到了做事做人的道理

31、。在我最后校园生活的一段时间内,非常感谢王老师对我的学习和毕业设计上的帮助,在这里真心地说一句:“老师,您辛苦了。”我还要感谢我的各位老师,是你们传授了我知识,给了我无私的照顾和关爱,祝你们工作顺利、永远健康快乐。 参考文献1黄智伟. 全国大学生电子设计竞赛电路设计. 北京:北京航天航空大学出版社,2007 2黄智伟. 全国大学生电子设计竞赛技能训练. 北京:北京航天航空大学出版社,2007 3黄智伟. 全国大学生电子设计竞赛制作实训. 北京:北京航天航空大学出版社,2007 4谭浩强. C程序设计. 北京:清华大学出版社,2002 5胡寿松.自动控制原理(第四版). 北京:科学出版社, 20

32、00,P220236附件一(程序代码) #include #include #define uint unsigned int #define uchar unsigned char sbit S1 = P25; sbit S2 = P26; sbit S3 = P27; unsigned GetCh (void) unsigned char s = 0,k = 0; if(!S1) s = 1; /对于不同按键按下赋予不同数值,以供后面程序判断 if(!S2) s = 2; if(!S3) s = 3; k = s; if(s) while(s) delay(1000); s = 0; if

33、(!S1) s = 1; if(!S2) s = 2; if(!S3) s = 3; return k; /以下是A/D转换程序 void System_Initial (void) CS = 1; WR = 1; RD = 1; void GetAD(void) CS = 0; nop(); /空操作 WR1 = 0; Delay(100); WR1 = 1; nop(); CS = 1; while(!INTR); nop(); CS = 0; nop(); RD1 = 0; nop(); dat = P2; RD1 = 1; nop(); CS = 1; ch = dat; /ch是全局变量 int adc_data; if(G_ADC_flag) /判断是否有温度采样 1,有 0,无 G_ADC_flag = 0; adc_data = adc_data_cmp(); adc_data /= SET_ADC_TIME; /计算温度平均值 if(adc_data 0x0255) K = 0.079; /确定温度系数 else K = 0.076; fT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号