PID水温控制系统
pid控温原理

pid控温原理PID控温原理。
PID控温原理是一种常用的控制系统,它通过对温度进行实时监测和调节,实现对温度的精准控制。
PID控制器是由比例(P)、积分(I)、微分(D)三个部分组成的,它能够根据实际温度与设定温度之间的偏差,自动调节控制器的输出,使得系统的温度能够快速稳定地达到设定值,并且在设定值附近波动。
下面将详细介绍PID控温原理的工作原理和应用。
首先,比例(P)部分是根据当前温度与设定温度之间的偏差来调节输出。
当偏差较大时,P部分的作用就会加大,从而加快系统的响应速度,使得温度能够快速接近设定值。
但是,P部分的作用也会导致温度在设定值附近出现震荡,因此需要结合积分(I)和微分(D)部分来进行综合调节。
其次,积分(I)部分是根据温度偏差的累积来调节输出。
当温度长时间偏离设定值时,I部分会逐渐增大,从而使得系统的输出逐渐增加,以减小温度偏差。
积分部分的作用是消除静差,使得系统能够更加精确地控制温度在设定值附近波动。
最后,微分(D)部分是根据温度变化的速度来调节输出。
当温度变化速度较快时,D部分的作用会加大,从而抑制温度的突然变化,使得系统能够更加稳定地控制温度。
微分部分的作用是预测温度的变化趋势,从而提前调节输出,以减小温度的波动。
综合来看,PID控制器能够根据实际温度与设定温度之间的偏差,自动调节控制器的输出,使得系统的温度能够快速稳定地达到设定值,并且在设定值附近波动。
PID控温原理在工业生产中有着广泛的应用,例如在化工、电子、食品加工等领域都能看到它的身影。
它不仅能够提高生产效率,降低能源消耗,还能够保证产品质量,确保生产过程的安全稳定。
总之,PID控温原理是一种非常重要的控制系统,它通过比例、积分、微分三个部分的综合作用,能够实现对温度的精准控制。
它在工业生产中有着广泛的应用前景,对提高生产效率、降低能源消耗、保证产品质量都有着重要的意义。
希望通过本文的介绍,能够让大家对PID控温原理有更深入的了解,为工业生产的发展和进步做出更大的贡献。
PID水温控制系统

PID水温控制系统摘要:随着社会主义现代化的发展,在科学技术突飞猛进的今天,人工智能起不不可忽视的作用。
尤其是各种智能化的仪器、仪表在农、工业的广泛应用给社会带来了极大的便利。
本文从温控模型和特点出发,采用以单片机PIC16F877为核心,用AD7416数字温度传感器进行测量温度。
以PID算法控制温度,并对温度进行良好的精度控制。
本系统的多个部件如,定时器,加热开关,按键设置水温,实时显示温度,控制温度和报警保温等功能等都可利用单片机来实现。
文章着重介绍核心器件的选择、温度控制系统分析、各部份电路及软件的设计。
它具有结构简单、可靠性好,抗干扰能力强、实现容易,成本低,具有实用价值等特点。
它提供了一个通过温度来控制设备的基本思想和原理,相信能在实际应用中为我们的生活带来更大的便利。
关键词:单片机数字温度传感器PID温度控制PID-based temperature control systemAbstract:Along with the development of socialist modernization, rapid progress in science and technology today, not artificial intelligence from the role that can not be overlooked. Especially the variety of intelligent instruments, meters in the agricultural, industrial society to the broad application brought great convenience. In this paper the characteristics of the model and temperature control, the introduction of SCM PIC16F877 at the core, with AD7416 digital temperature sensor to measure the temperature. PID algorithm to control the temperature , and temperature control for good accuracy. Many parts of the system such as, timers, heating switches, buttons installed water temperature, real-time display of temperature, temperature control and alarm functions, such as insulation SCM can be used to achieve. The article highlights the core device of choice, temperature control system, part of the circuit and software design. It has a simple structure, reliability, and strong interference capability to achieve easy, low cost, has practical value, and other characteristics. It provides a temperature controlled equipment through the basic ideas and principles, I believe in the practical application of our life more convenient.Keywords: microcomputer digital temperature PID temperature control目录一、前言 (1)(一)设计任务及要求 (1)(二)方案的比较与选择 (2)二、总体设计 (2)(一)系统总体设计 (2)(二)单元电路的功能原理分析 (7)(三)发挥部分设计 (8)三、系统软件设计 (9)(一)程序的主流程图 (9)(二)各个功能模块流程 (10)四、系统测试与调试 (14)(一)电路测试 (14)(二)仪器的使用 (15)(三)测试的结果 (15)(四)发挥部分测试 (15)五、结论 (15)致谢 (16)附录 (17)附录一设计总电路图 (17)附录二设计PCB图 (18)附录三设计3D图 (19)附录四程序清单 (20)参考文献 (28)一、前言(一)设计任务及要求本文介绍的是一个由PIC16F877为核心的单片机制作的一个水温控制器。
基于PLC的锅炉水温PID控制系统方案

1 设计任务设计一个基于PLC的锅炉水温PID控制系统,要现锅炉水温为80度,稳态误差1度,最大超调1度。
当锅炉的水温低于或者高于80度时,可以通过外部端子的开关或者远程监控,使系统自动进行PID运算,保证最后锅炉的水温能够维持在80度左右。
2 系统硬件设计2.1 器件选择本温度控制系统采用德国西门子S7-200 PLC。
S7-200 是一种小型的可编程序控制器,适用于各行各业,各种场合中的检测、监测与控制的自动化。
S7-200系列的强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。
因此S7-200系列具有极高的性能/价格比。
S7-200 系列的PLC有CPU221、CPU222、CPU224、CPU226等类型。
此系统选用的S7-200 CPU226,CPU 226集成24输入/16输出共40个数字量I/O 点。
可连接7个扩展模块,最大扩展至248路数字量I/O 点或35路模拟量I/O 点。
13K字节程序和数据存储空间。
6个独立的30kHz高速计数器,2路独立的20kHz高速脉冲输出,具有PID控制器。
2个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力。
I/O端子排可很容易地整体拆卸。
在温度控制系统中,传感器将检测到的温度转换成4-20mA的电流信号,系统需要配置模拟量的输入模块把电流信号转换成数字信号再送入PLC中进行处理。
在这里我们选择西门子的EM235 模拟量输入/输出模块。
EM235 模块具有4路模拟量输入/一路模拟量的输出。
它允许S7-200连接微小的模拟量信号,±80mV围。
用户必须用DIP开关来选择热电偶的类型,断线检查,测量单位,冷端补偿和开路故障方向:SW1~SW3用于选择热电偶的类型,SW4没有使用,SW5用于选择断线检测方向,SW6用于选择是否进行断线检测,SW7用于选择测量方向,SW8用于选择是否进行冷端补偿。
所有连到模块上的热电偶必须是一样类型。
基于模糊PID控制的小流量水温控制系统设计

(0.4,0.6) 3
(0.6,∞) 4
按照理论分析并结合实际调试经验, 可设置
E 和 EC 的隶属度分别如表 3、4 所示。
根据 PID 控制的基本原理,比例系数 Kp 的作用
表 3 隶属度 μE Tab.3 Membership function of μE
等级
E
1
2
3
4
μE
B
0
0
0.3
1
M
0
0.3
2 PID 参数自调整模糊控制器设计
模 糊 PID 控 制 器 由 常 规 PID 控 制 部 分 和 模 糊 推理两部分组成,模糊推理部分实质上就是一个模 糊控制器。 2.1 模糊-PID 控制器设计思想
PID 参数的模糊自整定是找出 PID 三个参数与 误 差 E 和 误 差 变 化 率 EC 之 间 的 模 糊 关 系 [1];然 后 在运行中不断地检测 E 和 EC, 再根据模糊控制原 理对三个参数进行在线修改使被控对象具有良好的 动、静态特性。 参数 Kp,Ki 和 Kd 的自调整规律:
文 章 编 号 :1001-9944(2010)12-0033-04
控制系统
基于模糊 PID 控制的小流量水温控制系统设计
张定学
(武汉工业学院 电气信息工程系,武汉 430023)
摘要:温度恒定是集热器性能测试的一个重要条件,其控制精度对测试结果有重大影响。 文 中设计了一套两级温度控制系统, 该系统的次级温度调节采用了PID参数自调整模糊控制 技术, 使闭式循环管路中的小流量水温稳定在0℃~90℃的任意设定值上, 其波动范围不超 过±0.1℃。 试验结果表明模糊PID控制能满足系统的要求,在响应速度、稳态精度及抗干扰能 力 等 方 面 均 优 于 传 统 的 PID控 制 。 关 键 词 :两 级 温 度 控 制 ;模 糊 控 制 ;PID参 数 自 调 整 ;次 级 温 度 调 节 中图分类号:TP273 文献标志码:A
基于PID的温度控制系统设计

基于PID的温度控制系统设计PID(比例-积分-微分)控制系统是一种常见的温度控制方法。
它通过测量实际温度和设定温度之间的差异,并相应调整加热器或冷却器的输出来控制温度。
在本文中,将介绍PID控制系统的基本原理、设计步骤和实施细节,以实现一个基于PID的温度控制系统。
一、基本原理PID控制系统是一种反馈控制系统,其核心思想是将实际温度值与设定温度值进行比较,并根据差异进行调整。
PID控制器由三个部分组成:比例控制器(P),积分控制器(I)和微分控制器(D)。
比例控制器(P):根据实际温度与设定温度之间的差异,产生一个与该差异成正比的输出量。
比例控制器的作用是与误差成正比,以减小温度偏差。
积分控制器(I):积分控制器是一个与误差积分成比例的系统。
它通过将误差累加起来来减小持续存在的静态误差。
积分控制器的作用是消除稳态误差,对于不稳定的温度系统非常有效。
微分控制器(D):微分控制器根据温度变化速率对输出进行调整。
它通过计算误差的变化率来预测未来的误差,并相应地调整控制器的输出。
微分控制器的作用是使温度系统更加稳定,减小温度变化速率。
二、设计步骤1.系统建模:根据实际温度控制系统的特点建立数学模型。
这可以通过使用控制理论或系统辨识技术来完成。
将得到的模型表示为一个差分方程,包含输入(控制输入)和输出(测量温度)。
2.参数调整:PID控制器有三个参数:比例增益(Kp)、积分时间(Ti)和微分时间(Td)。
通过试验和调整,找到最佳的参数组合,以使系统能够快速稳定地响应温度变化。
3.控制算法:根据系统模型和参数,计算控制器的输出。
控制器的输出应是一个与实际温度偏差有关的控制信号,通过改变加热器或冷却器的输入来调整温度。
4.硬件实施:将控制算法实施到硬件平台上。
这可以通过使用微控制器或其他可编程控制器来实现。
将传感器(用于测量实际温度)和执行器(用于控制加热器或冷却器)与控制器连接起来。
5.调试和测试:在实际应用中,进行系统调试和测试。
基于PID算法的水温控制系统设计

基于PID算法的水温控制系统设计
PID(比例-积分-微分)是一种常用的控制算法,可用于实现对水温的控制。
恒温控制系统的工作原理是:将传感器测量到的温度值与目标温度值进行比较,然后计算出一个控制信号,通过执行器控制加热器的输出功率,使水温维持在目标温度值附近。
以下是使用PID算法的水温控制系统的设计流程:
1. 确定系统参数:首先需要确定控制周期、传感器类型、执行器类型等参数。
2. 指定控制目标:设定所需的目标温度值,例如35℃。
3. 设计控制算法:使用PID算法来计算控制信号,其基本公式为:控制信号 = KP × (错误值) + KI × (错误值累积) + KD ×(误差变化),其中KP、KI和KD分别为比例、积分和微分系数。
4. 实现控制循环:实现一个控制循环,周期性读取传感器测量值、计算控制信号,并根据控制信号与执行器的特性来调整温度。
5. 调整参数并测试:将PID算法中的KP、KI和KD参数调整到最优值,并进行多次测试,以确认控制系统的性能稳定可靠。
基于PID算法的水温控制系统的设计

( 天 津 大学 电气电子 实验 中心 ,天津
摘
3 0 0 0 7 2 )
要 :为 了实 现 水 温 控制 系统 的设 计 要 求 ,通 过对 各 个 模 块 电路 方 案 的 比较 和 论 证 ,最后 确 定 了 以
S T C 8 9 C 5 2单 片机为核心 的硬件 电路 ,选用 D S 1 8 B 2 0温度传感器 测量水温 。系统可 以实 时地显示 温度 ,并 能通 过温度设 置来 对水的温度进行调节 ,同时具有报 警功能 。另外 ,串 口通讯 程序 的设计使 得可 以 同步 地在 电脑
h a s a l a r m f u n c t i o n .I n a d d i t i o n,a s e i r a l c o mmu n i c a t i o n p r o g r a m i s d e s i g n e d t o p i r n t o u t t h e c u r v e o f
c o mp a is r o n a n d d e mo n s t r a t i o n o f t h e v a io r u s mo d u l e c i r c u i t s c h e me s ,f i n a l l y d e t e r mi n e t h e h a r d wa r e c i r c u i t w i t h t h e c o r e o f t h e S T C8 9 C5 2 s i n g l e c h i p mi c r o c o mp u t e r . An d s e l e c t DS 1 8 B 2 0 t o me a s u r e
t r o 1 .T h e d e s i g n e x a mp l e a p p l i e s t o s i n g l e c h i p mi c r o c o mp u t e r a n d r e l a t e d c o u se r s t e a c h i n g p r a c t i c e .
基于PID的简单水温控制系统设计

基于PID的简单水温控制系统设计摘要:在工农业生产和日常生活中,对温度的检测与控制始终有着非常重要的实际意义和广泛的实际应用。
为了加深计算机控制理论的理解,故设计一个温度控制系统,该系统主要由温度信号采集与转换模块(传感器DS18B20)、主机控制模块(单片机STC89C52)、温度控制模块(双向晶闸管BTA06)、液晶显示模块(液晶LM1602)等四部分组成,控制算法为PID算法。
系统可实现稳态误差小于1℃,最大超调小于1℃,并且调节时间较短,恒定效果好。
关键词:传感器DS18B20,单片机STC89C52,PID算法,液晶LM1602,双向晶闸管BTA061 选题背景在现代工业生产和日常生活当中,对温度的检测、实现自动恒温控制有着非常重要实际意义和广泛的应用,例如大型火力发电站锅炉的温度控制、石油炼油厂油温的控制等。
一般的温度控制系统其主要构成部分有以下几部分:被控对象、温度信号采集与转换模块、显示模块、执行模块、主机控制模块、按键等。
关系如图1.1:图1.1 温度检测装备的组成结构在此,我选择了温度测量及其恒温控制作为计算机控制课程设计课题。
在该控制系统中,控制算法不但结合经典的PID控制算法的优势;还增加了死区控制,平均滤波、限幅消抖、抗积分饱和等措施抑制非正常情况的发生;此外,控制算法还采用了二维PID算法的优点,加快了系统的动态响应速度。
经过实际测试,采取的措施能够很好地抑制非正常情况的发生,系统的响应速度、稳态误差、超调量都取得了较为满意的结果。
2 方案设计及其论证2.1 温度信号的采集及AD转换2.1.1方案一采用模拟类温度传感器,比如LM45、AD590、铂电阻等。
增加适当的放大电路和AD转换电路以后,就可以将温度信号送入单片机。
然而,这种设计需要用到A/D转换电路,且温度传感器的接线较为麻烦,制作成本较高。
2.1.2 方案二采用数字类温度传感器,比如DS18B20。
DS18B20为数字式温度传感器,直接将温度信号转换为数字量,可编程的分辨率为9~12位,采用独特的单总线接口,只需要一条总线就可以实现与单片机通信,简化了硬件电路设计,降低了设计成本。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、前言能源问题已经是当前最为热门的话题,离开能源的日子,世界将失去一切颜色,人们将寸步难行,我们知道虽然电能是可再生能源,但是在今天还是有很多的电能是依靠火力,核电等一系列不可再生的自然资源所产生,一旦这些自然资源耗尽,我们将面临电能资源的巨大的缺口,因而本设计从开源节流的角度出发,节省电能,保护环境。
本设计任务和主要内容:设计并制作一个水温自动控制系统,控制对象为 1 升净水,容器为搪瓷或塑料器皿。
水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。
本设计主要内容如下:(1)温度设定范围为:40~90℃,最小区分度为 1℃,标定温度≤1℃。
(2)环境温度降低时温度控制的静态误差≤1℃。
(3)用1602液晶显示水的实际温度。
(4)采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。
(5)温度控制的静态误差≤0.5℃。
二、系统方案1、温度传感器的选取目前市场上温度传感器较多,主要有以下几种方案:方案一:选用铂电阻温度传感器。
此类温度传感器线性度、稳定性等方面性能都很好,但其成本较高。
方案二:采用热敏电阻。
选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。
方案三:采用DS18B20温度传感器。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出远端引入。
此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。
比较以上三种方案,方案三具有明显的优点,因此选用方案三。
2、键盘显示部分控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。
方案一:采用可编程控制器8279与数码管及地址译码器74LS138组成,可编程/显示器件8279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。
用8279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。
方案二:采用单片机AT89C52与4X4矩阵组成控制和扫描系统,并用89C52的P1口对键盘进行扫描,并用总线的方式在P0口接1602液晶来显示水温和设定值,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。
对比两种方案可知,方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案二。
3、控制电路部分方案一:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。
方案二:采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。
但由于系统用到较多的I/O口,因此此芯片资源不够用。
方案三:采用AT89C52单片机,其内部有4KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。
比较这三种方案,综合考虑单片机的各部分资源,因此此次设计选用方案三。
4、PID过程控制部分①过程控制的基本概念过程控制――对生产过程的某一或某些物理参数进行的自动控制。
一、模拟控制系统图5-1-1 基本模拟反馈控制回路被控量的值由传感器或变送器来检测,这个值与给定值进行比较,得到偏差,模拟调节器依一定控制规律使操作变量变化,以使偏差趋近于零,其输出通过执行器作用于过程。
控制规律用对应的模拟硬件来实现,控制规律的修改需要更换模拟硬件。
三、微机过程系统控制图5-1-2 微机过程控制系统基本框图以微型计算机作为控制器。
控制规律的实现,是通过软件来完成的。
改变控制规律,只要改变相应的程序即可。
四、数字控制系统DDC图5-1-3 DDC 系统构成框图DDC(Direct Digital Congtrol)系统是计算机用于过程控制的最典型的一种系统。
微型计算机通过过程输入通道对一个或多个物理量进行检测,并根据确定的控制规律(算法)进行计算,通过输出通道直接去控制执行机构,使各被控量达到预定的要求。
由于计算机的决策直接作用于过程,故称为直接数字控制。
DDC 系统也是计算机在工业应用中最普遍的一种形式。
②模拟PID 控制系统组成图5-1-4 模拟PID 控制系统原理框图PID 调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。
1、PID 调节器的微分方程 ⎥⎦⎤⎢⎣⎡++=⎰t D I P dt t de T dt t e T t e K t u 0)()(1)()( 式中 )()()(t c t r t e -=2、PID 调节器的传输函数 ⎥⎦⎤⎢⎣⎡++==S T S T K S E S U S D D I P 11)()()( PID 调节器各校正环节的作用1、比例环节:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。
2、积分环节:主要用于消除静差,提高系统的无差度。
积分作用的强弱取决于积分时间常数TI ,TI 越大,积分作用越弱,反之则越强。
3、微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。
③ 数字PID 控制器二、数字PID 控制器的差分方程[]000)()()()1()()()()(u n u n u n u u n e n e T T i e T T n e K n u D I P ni D I P +++=+⎭⎬⎫⎩⎨⎧--++=∑= 式中 )()(n e K n u P P = 称为比例项∑==ni I P I i e T T K n u 0)()( 称为积分项 [])1()()(--=n e n e TT K n u D PD 称为微分项 五、总体方案原理的理论分析1系统模块分为:DS18B20模块,1602液晶显示模块,继电器模块,键盘输入模块和声光报警模块,DS18B20可以被编程,所以箭头是双向的,CPU (89C52)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通89C52来处理数据。
数据处理后的结果就显示到1602液晶上。
2系统模块总关系图本系统的执行方法是循环查询执行的,键盘扫描也是用循环查询的办法,由于本系统对实时性要求不是很高,所以没有用到中断方式来处理。
六、电路与程序设计1.继电器模块下图是一个蜂鸣器和一个继电器的图,我们只用到了继电器的图,继电器和单片机的P1.3口进行通讯。
2.液晶显示模块下图是1602液晶显示模块的图,按照总线来连接,1602数据口接单片机P0口。
3.89S51单片机最小系统模块89S51单片机最小系统模块如下,P0口接10K的上拉电阻以便与显示模块通讯。
4.键盘和DS18B20模块键盘和DS18B20模块如下,采用4X4矩阵键盘接单片机P1口,DS18B20模块对水温进行采样,并与单片机通讯来实现对水温的控制。
七、软件设计说明本系统采用的是循环查询方式,来显示和控制温度的。
1总程序流程图如下2中断函数流程图如下:八、整机调试与技术指标测量用继电器模块来控制200W“热得快”来对1升水进行加热,用键盘设定需加热温度值,观察1602所显示的稳定时的水温值和环境温度降低时温度控制的静态误差。
多次调试并和设定PID参数来完善该系统。
(1)由于采用了PID控制,在环境温度降低时温度控制的静态误差小于0.5℃(精度高于设计要求)。
(2)用TS1602-1液晶来显示水的实际温度和设定温度值,显示很稳定。
(3 )采用了PID控制,当设定温度突变(由40℃提高到60℃)时,经过多次调试知道,当P=20;I=15;D=6时系统具有最小的调节时间和超调量。
(4)当温度稳定时,温度控制的静态误差≤0.5℃。
(5)经过多次测试和改进,该系统各方面参数都达到和超过设计参数,完成了既定目标。
九、设计总结首先,通过本次应用系统设计,在很大程度上提高了我们的独立思考能力和单片机的专业知识,也深刻了解写一篇应用系统的步骤和格式,有过这样的一次竞赛经历,相信在接下来的日子我们能在已有的基础上做得更好。
我们所设计的该系统主要根据目前节省能源的发展趋势和国内实际的应用特点和要求,采用了自动化的结构形式,实现对水温的自动检测和控制。
系统以AT89C51单片机为核心部件,单片机系统完成对水温信号的采集、处理、显示等功能; 并采用了PID 算法,因而提高了控制的准确度。
该系统的主要特点是:1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户水温的要求,实现对水温的实时监控。
避免了电力力资源的浪费,节省了能源。
2)将单片机以及温度传感器引入对水温的分析和处理中,单片机控制决策无需建立被控对象的数学模型,系统的适应性强,适合对非线性、时变、滞后系统的控制对水温控制系统进行控制。
3)系统成本低廉,操作非常简单,可扩展性强,只要稍加改变,即可增加其他使用功能。
本系统对现代化的发展具有十分重要的意义:首先,节省了能源,特别是最近几年,我国东部沿海地区电力资源缺口十分巨大,可以缓解部分电力资源压力。
其次,由于我国大部分电力资源是火力发电,因而从一定程度上节省了自然资源,以及保护了环境。
通过对本设计的思考,更加加深了我们对单片机的认识,熟练了对单片机的控制,更对当前的温度传感器有了更深刻的认识与了解,但是由于此系统依赖温度传感器,因而对温度传感器的稳定性,线性等诸多方面有着严格的要求,但是传感器的性能越好,相对而言其价格也就越高,因而在此设计中,温度传感器我个人觉的还是存在遗憾,由于温度计的使用温度有限所以水温不能达到90℃以上。
最后由于时间紧迫,本设计还有诸多地方需要改进,我们会在接下来的时间里继续完善该设计,以期做的更好。
参考文献[1] 大学生电子设计竞赛组委会.《第五届全国电子设计竞赛获奖作品选编》.北京:北京理工大学出版社,2003[2] 何立民.《单片机高级教程应用设计》.北京:北京航空航天大学出版社,2000[3] 朱定华.《单片机原理与接口技术》.电子工业出版社,2006[4] 刘瑞新.《单片机原理及应用教程》.机械工业出版社,2003[5] 吴普特,牛文全,郝宏科.《现代化高效节水灌溉设施》.化学工业出版社,2002[6] 马建伟,李银伢.《PID控制设计理论与方法》.科学出版社,2008[6] 大学生电子实验室 /BBS/[7] 电子工程世界 附件1电路原理图附件2 程序#include <reg52.h>#include <absacc.h>#include"KEYSCAN.H"#include"DS18B20.H"#include"XIANSHI.H"#include"PID.H"void PIDBEGIN(void); // PID参数初始化// void main(){unsigned char key1=0,i,k;unsigned int tmp;unsigned char shu[3]={13,13,0};unsigned char counter=0;PIDBEGIN();while(1){if(counter-- == 0){tmp = ReadTemperature();counter = 20;}view(tmp); //温度显示;compare_temper();}}(2) PID算法温度控制程序#ifndef _PID_H__#define _PID_H__#include<intrins.h>#include<math.h>#include<string.h>struct PID {unsigned int SetPoint; // 设定目标 Desired Valueunsigned int Proportion; // 比例常数 Proportional Const unsigned int Integral; // 积分常数 Integral Constunsigned int Derivative; // 微分常数 Derivative Const unsigned int LastError; // Error[-1]unsigned int PrevError; // Error[-2]unsigned int SumError; // Sums of Errors}struct PID spid; // PID Control Structureunsigned int rout; // PID Response (Output)unsigned int rin; // PID Feedback (Input)sbit output=P3^4;unsigned char high_time,low_time,count=0;//占空比调节参数unsigned char set_temper=33;void PIDInit (struct PID *pp){memset ( pp,0,sizeof(struct PID));}unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint ) {unsigned int dError,Error;Error = pp->SetPoint - NextPoint; // 偏差pp->SumError += Error; // 积分dError = pp->LastError - pp->PrevError; // 当前微分pp->PrevError = pp->LastError;pp->LastError = Error;return (pp->Proportion * Error//比例+ pp->Integral * pp->SumError //积分项+ pp->Derivative * dError); // 微分项}/*********************************************************** 温度比较处理子程序***********************************************************/ compare_temper(){unsigned char i;//EA=0;if(set_temper>temper){if(set_temper-temper>1){high_time=100;low_time=0;}else{for(i=0;i<10;i++){ get_temper();rin = s; // Read Inputrout = PIDCalc ( &spid,rin ); // Perform PID Interation}if (high_time<=100)high_time=(unsigned char)(rout/800);elsehigh_time=100;low_time= (100-high_time);}}else if(set_temper<=temper){if(temper-set_temper>0){high_time=0;low_time=100;}else{for(i=0;i<10;i++){ get_temper();rin = s; // Read Inputrout = PIDCalc ( &spid,rin ); // Perform PID Interation }if (high_time<100)high_time=(unsigned char)(rout/10000);elsehigh_time=0;low_time= (100-high_time);//EA=1;}}}/***************************************************** T0中断服务子程序,用于控制电平的翻转 ,40us*100=4ms周期******************************************************/ void serve_T0() interrupt 1 using 1{if(++count<=(high_time))output=1;else if(count<=100){output=0;}elsecount=0;TH0=0x2f;TL0=0xe0;}void PIDBEGIN(){TMOD=0x01;TH0=0x2f;TL0=0x40;EA=1;ET0=1;TR0=1;high_time=50;low_time=50;PIDInit ( &spid ); // Initialize Structurespid.Proportion = 10; // Set PID Coefficientsspid.Integral = 8;spid.Derivative =6;spid.SetPoint = 100; // Set PID Setpoint}#endif(3)DS18B20子程序#ifndef __DS18B20_H__#define __DS18B20_H__sbit DQ = P3^5; //定义通信端口unsigned int s;unsigned char temper;//晶振22MHzvoid delay_18B20(unsigned int i){while(i--);}//初始化函数Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay_18B20(4); //稍做延时DQ = 0; //单片机将DQ拉低delay_18B20(100); //精确延时大于 480us DQ = 1; //拉高总线delay_18B20(40);}//读一个字节ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);}return(dat);}//写一个字节WriteOneChar(unsigned char dat) {unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay_18B20(10);DQ = 1;dat>>=1;}}//读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;//EA = 0;Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar();b=ReadOneChar();//启动下一次温度转换Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换t=(b*256+a)*25;b=(b<<4)&0x7f;s=(unsigned int)(a&0x0f);s=(s*100)/16;a=a>>4;temper=a|b;return(t>>2);}#endif。