




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. 精选 水温自动控制系统设计 摘 要 水温自动控制系统在工业及日常生活中应用广泛,在生产中发挥着重要作用。实现 水温控制的方法很多,如单片机控制、PLC 控制等等。而其中用单片机控制实现的水温 控制系统,具有可靠性高、价格低、简单易实现等多种优点。单片机用于工业控制是近 年来发展非常迅速的领域,现在许多自动化的生产车间里,都是靠单片机来实现的。 温度是工业控制对象主要被控参数之一,在温度控制中,由于受到温度被控对象特 性(如惯性大、滞后大、非线性等)的影响,使得控制性能很难提高,有些工艺过程其 温度控制的好坏直接影响着产品的质量,因此设计一种较为理想的温度控制系统是非常 有价值的。 为了实现高精度的水温测量和控制,本文介绍了一种以 Atmel 公司的低功耗高性能 CMOS 8 位单片机为核心,以 PID 算法控制以及 PID 参数整定相结合的方法来实现的水 温控制系统,其硬件电路包括温度采集、温度控制、温度显示、键盘输入以及 RS232 接 口等电路。该系统可实现对温度的测量,并能根据设定值对温度进行调节,实现控温的 目的。 关键词:AT89S52;温度控制;PT1000;PID . 精选 Design of Temperature Automatic Control System ABSTRACTABSTRACT The temperature is one of the mainly charged parameters which are industrial control targets. It is difficult to enhance the control performance due to the characteristics of the temperature charged object. Such as inertia, hysteresis and non-linear, etcIts temperature control process will have a direct impact on the quality of the product in some technological process. Therefore it is absolute valuable to design a ideal temperature control system. In order to realize the high accuracy survey and control of water temperature. Systematic core is AT89S52, which is a low-power loss, high-performance 8-bit MCU of Atmel Company. The system unifies PID control algorithm and PID parameter tuning to control the water temperature. Its hardware circuit also includes temperature gathering, temperature control and temperature display, keyboard input and RS232 interfaces. The system can realize to survey the water temperature, and it can adjust the temperature according to the setting value. KeywordsKeywords:AT89S52; temperature control; PT1000; PID . 精选 目 录 1 引言.1 1.1 课题背景.1 1.2 国内外研究现状.1 1.3 研究方法.1 2 系统方案.2 2.1 水温控制系统设计任务和要求.2 2.2 水温控制系统 .2 2.2.1 方案选择 .2 2.2.2 温度控制系统算法分析.4 3 系统硬件设计.9 3.1 总体设计框图及说明.9 3.2 外部电路设计.9 3.2.1 温度采集电路.9 3.2.2 温度控制电路 .11 3.3 单片机系统电路设计.11 3.3.1 A/D 转换电路.11 3.3.2 串口通讯部分电路.14 3.3.3 数码显示电路.16 4 系统软件设计.17 4.1 程序框架结构.17 . 精选 4.2 程序流程图及部分程序.17 4.2.1 主程序模块.17 4.2.2 系统初始化.19 4.2.3 按键程序.19 4.2.4 A/D 采样数据处理.21 4.2.5 PID 计算.24 4.2.6 继电器控制.25 5 系统安装调试与测试.27 5.1 串口调试 .27 5.2 继电器测试.27 5.3 温度采集与测试.27 6 结论.28 参考文献.29 致 谢.30 . 精选 1 引言 1.1 课题背景 温度控制是无论是从工业生产过程中,还是在日常生活中都起着至关重要的作用, 过低的温度或者过高的温度都会使水资源失去应用的作用,从而造成水资源的巨大浪费。 特别是在当前全球水资源极度匮乏的情况下,我们就更应该掌握好对水温的控制,在环 境恶劣或温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数 量,及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测示、显示、控制,使 之达到工艺标准,以单片机为核心设计的水温控制系统,可以同时采集多个数据,并将 数据通过通讯口送至上位机进行显示和控制。 1.2 国内外研究现状 目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。 温 度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲, 总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的 差距。目前,我国在这方面总体技术水平处于 20 世纪 80 年代中后期水平。成熟产品主要 以“点位”控制及常规的 PID 控制器为主,它只能适应一般温度系统控制,难于控制滞 后复杂时变温度系统控制,而且适应于较高控制场合的智能化、自适应控制仪表国内技 术还不十分成熟,形成商品化并广泛应用的控制仪表较少。现在,我国在温度等控制仪 表业与国外还有着一定的差距。 随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品 的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可 靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业都得到了 . 精选 广泛应用。 1.3 研究方法 本文主要介绍单片机温度控制系统的设计过程,其中涉及系统结构设计、元器件的 选取和控制算法的选择、程序的调试和系统参数的整定。以 AT89S52 为 CPU,温度信号 由 Pt1000 和电压放大电路提供。电压放大电路用超低温漂移高精度运算放大器 OP07 将 温度-电压信号进行放大,用单片机控制 SSR 固态继电器的通断时间以控制水温,系统控 制对象为 1 升净水,容器为搪瓷器皿。水温可以在环境温度降低时实现自动控制,以保持 设定的温度基本不变,具有较好的快速性与较小的超调。 2 系统方案 2.1 水温控制系统设计任务和要求 该系统设计任务: 设计一个水温自动控制系统,控制对象为 1 升净水,容器为搪瓷器皿。水温可以在一 定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不 变。 系统设计具体要求为: 温度设定范围为 4090; 环境温度降低时温度控制的静态误差1; 采用适当的控制方法,当设定温度突变(由 40提高到 60)时,减小系统的调节 时间和超调量; . 精选 用十进制数码管显示水的实际温度。 2.2 水温控制系统 水温控制系统是一个过程控制系统,组成框图如图 2-1 所示,由控制器、执行器、被 控对象及反馈作用的测量变送组成。 图 2-1 控制系统框图 除了以上的组成元件以外,还需要选择合适的算法以实现所要求的控制精度,以下 我会对关键的元件以及电路的确定进行详细的分析。因为方案选取的好坏将直接影响着 整个系统实现效果的优劣。 2.2.1 方案选择 方案一:采用 8031 作为控制器,使用最为普遍的器件 ADC0804 作模数转换,控制上 使用对电阻丝加电使其升温和开动风扇使其降温。此方案简易可行,器件的价格便宜, 但 8031 内部没有程序存储器,需要扩展,增加了电路的复杂性。 方案二:此方案采用 89S52 单片机实现,此单片机软件编程自由度大,可用编程实现 各种控制算法和逻辑控制。控制电路部分采用 SSR 固态继电器控制电炉丝的通断此方案 电路简单并且可以满足题目中的各项要求的精度。 将两个方案相比较后可得出一个结论,采用 Atmel 单片机来实现本题目,无论是从结 构上,还是从工作量上都有很大的优势,所以我最后选择使用 AT89S52 作为该控制系统 . 精选 的核心。根据水的温度变化慢,并且控制精度不易掌握的特点,我们设计了以 AT89S52 单片机为检测控制中心的水箱温度自动控制系统,总体框图如图 2-2 所示。 图 2-2 控制器设计总体框图 温度控制采用改进的 PID 数字控制算法,数码显示采用 3 位 LED 静态显示。该设计 结构简单,控制算法新颖,控制精度高,有较强的通用性。 图 2-3 为整个水温控制系统的原理图,分别由测温电路,继电器控制电路,串口通讯 电路,LED 显示电路等部分组成。 . 精选 图 2-3 水温控制电路原理图 2.2.2 温度控制系统算法分析 系统算法控制采用工业上常用的位置型 PID 数字控制,并且结合特定的系统加以算 法的改进,形成了变速积分 PID积分分离 PID 控制相结合的自动识别的控制算法。该 方法不仅大大减小了超调量,且有效地克服了积分饱和的影响,使控制精度大为提高。 长期以来国内外科技工作者对温度控制器进行了广泛深入的研究,研究了大批温度控制 器,如性能成熟应用广泛的 PID 调节器、智能控制 PID 调节器、自适应控制等。此处主 要对一些控制器特性进行分析以便选择适合的控制方法应用于改造。 常用的控制算法有以下几种: 1.经典的比例积分微分控制算法; 2.根据动态系统的优化理论得到的自适应控制和最优控制方法; . 精选 3.根据模糊集合理论得到模糊控制算法。 自适应控制、最优控制方法以及模糊控制算法是建立在精确的数学模型基础上的, 在实时过程控制中,由于控制对象的精确数学模型难于建立,系统参数经常发生变化, 运用控制理论进行综合分析要花很大代价。同时由于所得到的数学模型过于复杂难于实 现。在实时控制系统中要求信号的控制信号的给出要及时,所以在目前的过程控制系统 中较少采用自适应控制、最优控制方法和模糊控制算法。目前在过程控制中应用较多的 还是 PI 控制算法、PD 控制算法和 PID 控制算法。 水温控制系统的控制对象具有热储存能力大,惯性较大的特点,水在容器内的流动 或热量传递都存在一定的阻力,因此可以归于具有纯滞后的一阶惯性环节。 对于大惯性系统的过渡过程控制,一般可采用以下几种控制方案: 1.开关量控制 这种方法通过比较给定值与被控参数的偏差来控制输出的状态,开通或关断,因此 控制过程十分简单,也容易实现;但由于输出控制量只有两种状态,使被控参数在两个 方向上变化的速率均为最大,因此容易引起反馈回路振荡,控制精度不高;这种控制方 案一般在大惯性系统对控制精度和动态特性要求不高的情况下采用。如图 2-4 所示。 t y t y 图 2-4 开关量控制 . 精选 2.比例控制(P 控制) 比例控制的输出与偏差成比例关系,当负荷变化时,抗干扰能力强,过渡过程时间 短,但过程终了存在余差;适用于控制通道滞后较小、负荷变化不大、允许被控量在一 定范围内变化的系统。如图 2-3 所示。 3.比例积分控制(PI 控制) 控制器的输出与偏差的积分成比例,积分的作用使过渡过程结束时无余差,但降低 了系统的稳定性;PI 控制适用于滞后较小,负荷变化不大,被控量不允许有余差的控制 系统。如图 2-4 所示。 4.比例积分加微分控制(PID 控制) 微分的作用使控制器的输出与偏差变化的速度成比例,它对克服对象的容量滞后有 显著的效果;在比例基础上加入微分作用,使稳定性提高,再加上积分作用,可以消除 余差;PID 控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。如 图 2-5 所示。 t y t y 图 2-5 PID 控制 结合本设计任务与要求,由于水温系统的传递函数事先难以精确获得,因而很难判 断哪一种控制方法能够满足系统对控制品质的要求;但从以上对控制方法的分析来看, . 精选 PID 控制方法最适合本例采用:一方面,由于可以采用单片机实现控制过程,无论哪一种 控制方法都不会增加系统硬件成本,而只需对软件作相应改变即可实现不同的控制方案; 另一方面,采用 PID 的控制方式可以最大限度地满足系统对诸如控制精度、调节时间和 超调量等控制品质的要求。 由图 2-6 可知 PID 调节器是一种线性调节器,这种调节器是将设定值 w 与实际输出 值 y 进行比较构成偏差 (2-1) ywe 并将其比例、积分、微分通过线性组合构成控制量。其动态方程为: (2-2) dt tde KdtteKteKtu dip )( )()()( 其中-为调节器的比例放大系数 p K -为积分时间常数 i K -为微分时间常数 d K PID 调节器的离散化表达式为; (2-3) )1()()()()(keke T K kTeKkeKku d ip 其增量表达形式为: )1()()(kukuku (2-4) )2() 1(2)(/)()1()(kekekeTKkTeKkekeK dip 其中 T 为采样周期。 . 精选 图 2-6 模拟 PID 控制 温度 PID 调节器有三个可设定参数,即比例放大系数、积分时间常数、微分时 p K i K 间常数。 d K 比例调节的作用是使调节过程趋于稳定,但会产生稳态误差; 积分作用可消除被调量的稳态误差,但可能会使系统振荡甚至使系统不稳定; 微分作用能有效的减小动态偏差。 图 2-7 中,初始水温为 26。 实现思想:Ui(k)为第 k 次采样温度值,Ur 为设定值。 e(k) 使用 PD 算法; e(k) 使用变速积分 PID 算法。 . 精选 图 2-7 温度控制曲线图 该控制系统是把输出量检测出来,经过物理量的转换,再反馈到输入端去与给定量 进行比较(综合) ,并利用控制器形成的控制信号通过执行机构 SSR 对控制对象进行控制, 抑制内部或外部扰动对输出量的影响,减小输出量的误差,达到控制目的。自动控制框 图如图 2-8 所示,在此控制系统中单片机就相当于常规控制系统中的运算器控制器,它对 过程变量的实测值和设定位之间的误差信号进行运算然后给出控制信息。单片机的运算 规则称为控制法则或控制算法。 图 2-8 自动控制框图 . 精选 3 系统硬件设计 3.1 总体设计框图及说明 本系统是一个简单的单回路控制系统。为了实现温度的自动测量和控制,根据系统 总体方案,系统由单片机基本系统、前向通道、后向通道和人机对话通道等 4 个主要功能 模块组成。 单片机是整个控制系统的核心,AT89S52 可以提供系统控制所需的 I/O 口、中断、 定时及存放中间结果的 RAM 电路;前向通道是信息采集的通道,主要由传感器、信号放 大、A/D 转换等电路组成;由于水温变化是一个相对缓慢的过程,因此前向通道中没有 使用采样保持电路;信号的滤波可由软件实现,并可以简化硬件、降低硬件成本。 键盘设定:用于温度设定,共三个按键。 数据采样:将由传感器及相关电路采集到的温度转为电压信号,经 A/D 转换后,送 . 精选 入 AT89S52 相应接口中,换算成温度值,用于控制和显示。 数据显示:采用了共阴极数码管 LED 进行显示设置温度与测量温度。 串行口传输:将采样温度值,上传至 PC 机,可利用 PC 机的端口下载程序。 继电器/热电管:通过三极管控制继电器的开关来完成对热电炉的功率控制。 图 3-1 系统框图 3.2 外部电路设计 3.2.1 温度采集电路 本系统运放采用高精度单片运算放大器 OP07,此运放具有很低的输入失调电压和漂 移。OP07 的优良特性使它特别适合作前级放大器,放大微弱信号。使用 OP07 一般不用 考虑调零和频率问题就可以满足要求。 主要特点: 低输入失调电压:75uV(最大) 低失调电压温漂:1.3uV/(最大) 低失调电压时漂:1.5uV/月(最大) 低噪声:0.6uV P-P(最大) . 精选 宽输入电压范围:14V 宽电源电压范围:3V18V 温度采集采用的温度传感器铂电阻 Pt1000,对于温度的精密测量而言,温度测量部分是 整个系统设计的第一步。温度传感器的选择是这块电路的关键,它是直接影响整个系统 的性能与效果的关键因素。这里采用的是精密级铂电阻温度传感器 Pt1000,它的金属铂 含量达 99. 9999%,因为铂电阻的物理和化学性能在高温和氧化介质中都很稳定、价格又 便宜,常作为工业测量元件,以铂电阻温度计作基准器线性好,温度系数分散性小,在 0100 摄氏度时,最大非线性偏差小于 0.5 摄氏度,性能稳定,广泛应用于精密温度测量 和标定。 铂热电阻与温度关系式: (3-1) )1 ( 20 BtAtRRt 其中: -温度为 t 摄氏度时的电阻; -温度为 0 摄氏度时的电阻; t R 0 R A、B-温度系数 A=3.94*102/;其中 B=-/; )( 7 10*84 . 5 T-任意温度。 . 精选 图 3-2 测温电路 3.2.2 温度控制电路 此部分时通过控制继电器的通断从而控制电加热管(俗称“热得快” ) ,采用对加在 电热管两端的电压进行通断的方式进行控制,以实现对水加热功率的调整,从而达到对 水温控制的目的,即在闭环控制系统中对被控对象进行控制。 此部分的继电器采用的是 SSR 继电器,即固态继电器。其工作原理为:固态继电器 是一种无触点电子开关,主要由输入(控制)电路,驱动电路和输出(负载)电路三部 分组成。固态继电器的输入电路是为输入控制信号提供一个回路,使之成为固态继电器 的触发信号源。固态继电器的输入电路多数为直流输入,个别的为交流输入。固态继电 器的输出电路是在触发信号的控制下,实现对固态继电器的通断切换。输出电路主要由 输出器件(芯片)和起瞬态抑制作用的吸收回路组成,固态继电器是一种全电子电路组 合元件,它依靠半导体器件和电子元件的电、磁和光特性来完成隔离和继电切换功能。 固态继电器与传统的电磁继电器相比,是一种没有机械、不含运动零部件的继电器,但 . 精选 具有与电磁继电器本质上相同的功能。 图 3-3 加热棒控制电路 3.3 单片机系统电路设计 3.3.1 A/D 转换电路 ADC0804 引脚及使用说明: ADC0804 是 CMOS 集成工艺制成的逐次比较型 A/D 转换器芯片。ADC0804 分辨率 为 8 位,转换时间为 100s,输出电压范围为 05V,在增加某些外部电路后,输入模拟 电压可为5V。该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以 直接连接到 CPU 的数据总线上,而不再需要附加逻辑接口电路。 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20CS RD WR CLKIN INTR AGND DGND V CLKR D D D D D D D D IN+ IN- REF/2 V V V CC 0 1 2 3 4 5 6 7 ADC0804 100s 输出 高阻 CS RD WR INTR 读数 数据 图 3-4 ADC0804 引脚图 图 3-5 ADC0804 控制信号的时序图 . 精选 ADC0804 引脚名称及意义如下: VIN+、VIN:ADC0804 的两模拟信号输入端,用以接收单极性、双极性和差模输 入信号。 D7D0:A/D 转换器数据输出端,该输出端具有三态特性,能与微机总线相连接。 AGND:模拟信号地。 DGND:数字信号地。 CLKIN:外电路提供时钟脉冲输入端。 CLKR:内部时钟发生器外接电阻端,与 CLKIN 端配合,可由芯片自身产生时钟脉 冲,其频率为 1/1.1RC。 CS:片选信号输入端,低电平有效,一旦 CS 有效,就表明 A/D 转换器被选中,可 启动工作。 WR:写信号输入,接受微机系统或其他数字系统控制芯片的启动输入端,低电平有 效,当 CS、WR 同时为低电平时,启动转换。 RD:读信号输入,低电平有效,当 CS、RD 同为低电平时,可读取转换输出数据。 INTR:转换结束输出信号,低电平有效。输出低电平表示本次转换已经完成。该信 号经常作为向微机系统发出的中断请求信号。 在使用时我们应注意以下几点: (1)转换时序 ADC0804 控制信号的时序图如图 3-5 所示,由图所示,各控制信号时序关系为:当 CS 与 WR 同为低电平时,A/D 转换器启动,且在 WR 上升沿后 100S 模数转换完成,转 换结果存入数据锁存器,同时 INTR 自动变为低电平,表示本次转换结束。如果 CS、RD . 精选 同时为低电平,则数据锁存器三态门打开,数据信号送出,而 RD 高电平到来后三态门处 于高阻状态。 (2)参考电压的调节 在使用 A/D 转换器时,为保证转换精度,要求输入电压满量程使用。如输入电压动 态范围较小,则可调节参考电压 VREF,以确保小信号输入时 ADC0804 芯片 8 位的转换 精度。 (3)接地 模数、数模转换电路中要特别注意到地线的正确连接,否则将会产生干扰,以致影 响转换结果准确性。A/D、D/A 及取样保持芯片上都提供了独立的模拟地(AGND) 和数字地(DGND) 。在线路设计中,一定要将所有器件的模拟地和数字地分别进行相连, 然后将模拟地与数字地仅在一点上相连接。地线的正确连接方法如图 3-6 所示。 图 3-6 正确的地线连接 系统由微处理器、存储器和 A/D 转换器组成,它们之间通过数据总线(DBUS)和 控制总线(CBUS)连接,系统信号采用总线传送方式。 采集数据时,首先微处理器执行一条传送指令,在指令执行过程中,微处理器在控 制总线的同时产生 CS1、WR1 低电平信号,A/D 转换器启动开始工作,ADC0804 经 . 精选 100S 后将输入模拟信号转换为数字信号并存于输出锁存器,在 INTR 端产生低电平表示 转换结束,并通知微处理器可来取数。当微处理器通过总线查询到 INTR 为低电平时,立 即执行输入指令,以产生 CS、RD2 低电平信号到 ADC0804 相应引脚,将数据取出并存入 存储器中。整个数据采集过程中,微处理器有序地将执行若干指令完成。AD0804 的连接 图如图 3-7 所示 图 3-7 AD0804 连接图 3.3.2 串口通讯部分电路 系统设计要求控制系统能同 PC 联机通信,以利用 PC 图形处理能力打印显示温度曲 线以及下载程序。由于 AT89S52 串行口电平和 PC 不一致,AT89S52 的 I/O 为 TTL 电平, PC 串行口为 RS232 电平利用单片机片内串行口外加逻辑电平转换电路组成 RS-232C 标准 接口以实现系统相互通道的扩展,逻辑电平转换电路采用了一片专用芯片 MAX232,外加 少量电容即可完成 TTL 到 RS-232 或 RS-232 到 TTL 的逻辑电平转换。 表 3-1 RS-232C 引脚型号定义 名称信号方功能25 芯脚9 芯脚 FRD 保护地 1 TXD 输出发送数据 23 . 精选 RXD 输入接收数据 32 RTS 输出请求对方发送数据 47 CTS 输入可向对方发送数据 58 DSR 输入对方已经准备好接收数据 66 GND 信号地 75 DCD 输入对方已收到载波 81 DTR 输出通知对方,本方可以接受数据 204 RJ 输出对方送来的振铃指示信号 229 图 3-8 串口通讯电路 UART 模块提供了一个全双工标准通信口,用于完成 AT89S52 与外设之间的串行通 信。根据 RS-232 的标准,AT89S52 单片机是按照字节传输数据的。 . 精选 图 3-9 单片机连接电路 单片机上的 P25 口接 S1,P26 口接 S2,P27 口接 S3。 S1:设置温度的十位数:09 S2:设置温度的个位数:09 S3:工作模式选择键,两种工作模式为:正常工作状态、温度重新设置。 系统上电后,数码管全部显示为零,根据按 S1 次数,十位的数码管顺序增加。同样 S2,也如此。按 S3 后,系统开始测温,并与采集的温度进行比较,通过软件来控制电炉 的开关。 3.3.3 数码显示电路 数码管作为单片机系统中最常用的输出器件,在显示时可以由数字和少量字母组合 完成输出功能的系统中应用十分方便。图 3-10 为一个四位共阴数码管, DIG0、DIG1、DIG2、DIG3 分别与单片机的 P21、P22、P23、P24 相连,每一个都拥有 一个共阴级的位选端。从而可以通过单片机选通所需显示的数码管。SegA-SegDp 口传输 要显示的数据,利用其串/并转换功能,送入数码管显示。在此外接了一个 10K 的电阻来 . 精选 保护 LED。 图 3-10 数码管显示电路 4 系统软件设计 4.1 程序框架结构 整体的系统软件设计是由各个在系统里起着不同作用的模块整合在一起,从而实现 系统所要实现的功能。本系统硬件接口如下: P1-AD; . 精选 P00P07-LEDaLEDdp.; P25P27-S1S3; P20P23-COM1COM3; 系统包括主控制程序,A/D 采样数据处理程序,PID 算法程序,LED 显示及按键处 理程序。结构框架图如图 4-1 所示。 图 4-1 程序结构图 主程序模块负责对子程序模块的调用进行管理,它主要负责初始化 IO 口;等待键盘 的被按下,并调用相应的模块进行处理;在适当的时候接受 A/D 采样的数据,并与所设 定的值进行比较,然后通过调用 PID 算法处理数据,处理后而控制继电器的通断,从而 控制热电管达到水温控制的目的。 4.2 程序流程图及部分程序 4.2.1 主程序模块 由于模块化程序的设计,通过调用程序即可实现所用功能,主程序流程图如图 4-2 所 . 精选 示。 图 4-2 主程序流程图 主程序如下: int main(void) int KeyValue; status = temperature_set; System_Initial(); PID_Initial();/PID 初始化 . 精选 while(1) KeyValue = GetCh(); /键盘扫描、去抖动处理、取键值 key_value_process(KeyValue); /键值处理 if(status = temperature_control) display_AD_temperature(); /测量温度显示、PID 计算 if(Out0 x0255) K = 0.079; /确定温度系数 . 精选 else K = 0.076; fT = adc_data * K; /换算成温度值 /将温度值转换成十进制用于 LED 显示 guiLED_Value0 = (int)fT/10; guiLED_Value1 = (int)fT%10; guiLED_Value2 = (int)(fT*10)%10; stPID.Proportion = 1; / 设置 PID 比例值 stPID.Integral = 0.5; / 设置 PID 积分值 stPID.Derivative = 0.0; / 设置 PID 微分值 Out = 100*PIDCalc ( / PID 计算 图 4-5 是数据采样中断服务程序的流程图,此中断程序采用的是 2Hz 中断定时 0.5 秒 钟采样一次。 图 4-5 数据采样的中断程序流程图 . 精选 int adc_data_cmp() int max; int min; int Sum; int i; max = ADC_DataSave0; for(i=0;imax) max = ADC_DataSavei; /取出最大值 min = ADC_DataSavei; for(i=0;i10;i+) if(ADC_DataSaveiSumError += Error; / 积分 dError = pp-LastError - pp-PrevError; / 当前微分 pp-PrevError = pp-LastError; pp-LastError = Error; return (pp-Proportion * Error / 比例项 + pp-Integral * pp-SumError / 积分项 + pp-Derivative * dError / 微分项 ); 4.2.6 继电器控制 继电器是和 AT89S52 单片机的 P25 口相连,它的开断完全取决于 P25 口的输出,即 PID 计算的结果。当输出小于零说明设定值小于实际输出值,这就是要关闭电炉,同时关 闭定时器的计时。当输出值大于设定值 2 摄氏度时,我们就可以开电炉对水开始加热。如 果设定值与实际输出值差值在 2 摄氏度以内时,我们就调用中断程序定时加热。 图 4-6 是控制程序的中断服务程序,用来对继电器定时加热。它利用中断定时器 10ms 确定加热时间,当加热时间未到时,继续时间累积,若加热时间到时,就调用关定 时器子程序,从而停止计时。 . 精选 图 4-6 控制程序中断程序流程图 void active() if(Out30*stPID.Proportion) /温度低于设定值 2 摄氏度 turn_on_relay(); /开电炉加热 else turn_on_relay(); SP_INT_TIMEB() ; /初始化定时器,开始定时加热 . 精选 5 系统安装调试与测试 5.1 串口调试 通过 RS232 和 PC 机进行连接,利用 PC 调试助手进行调试。调试过程中把单片机和 PC 机的波特率设置为相同值(如 9600bit/s) 。验证上位机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度建筑工地围挡粉刷合同
- 2025年度数据中心冷却系统安装工程挂靠施工协议
- 二零二五年度高科技产品加工保密协议模板
- 2025版电梯门套安装与节能评估合同
- 2025版新能源汽车电池融资租赁合同范本
- 二零二五年度二手家具买卖合同协议书
- 二零二五年度电影拍摄交通保障合作合同
- 2025版建筑吊篮租赁与施工现场垃圾清运服务合同
- 二零二五年度智能绿色建筑项目工程借款合同
- 心理健康课《勇敢》课件
- ai直播项目创业计划书
- 混合式教学模式
- 医院标识标牌采购投标方案
- 铁路机车乘务员职业健康检查表
- 1到六年级古诗全部打印
- 火龙罐疗法经典课件
- 无精子症的诊疗策略
- 初中校本课程-《海洋教育》云雨的故乡教学课件设计
- GB/T 3098.15-2023紧固件机械性能不锈钢螺母
- 英语字贴冀教版小学英语三年级上册单词和重点句型衡水体练习字帖
- 二升三暑期奥数培优(学生教材)
评论
0/150
提交评论