PID水温控制系统

合集下载

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水温控制系统

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控制系统方案

基于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控制的小流量水温控制系统设计

基于模糊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控制系统是一种反馈控制系统,其核心思想是将实际温度值与设定温度值进行比较,并根据差异进行调整。

PID控制器由三个部分组成:比例控制器(P),积分控制器(I)和微分控制器(D)。

比例控制器(P):根据实际温度与设定温度之间的差异,产生一个与该差异成正比的输出量。

比例控制器的作用是与误差成正比,以减小温度偏差。

积分控制器(I):积分控制器是一个与误差积分成比例的系统。

它通过将误差累加起来来减小持续存在的静态误差。

积分控制器的作用是消除稳态误差,对于不稳定的温度系统非常有效。

微分控制器(D):微分控制器根据温度变化速率对输出进行调整。

它通过计算误差的变化率来预测未来的误差,并相应地调整控制器的输出。

微分控制器的作用是使温度系统更加稳定,减小温度变化速率。

二、设计步骤1.系统建模:根据实际温度控制系统的特点建立数学模型。

这可以通过使用控制理论或系统辨识技术来完成。

将得到的模型表示为一个差分方程,包含输入(控制输入)和输出(测量温度)。

2.参数调整:PID控制器有三个参数:比例增益(Kp)、积分时间(Ti)和微分时间(Td)。

通过试验和调整,找到最佳的参数组合,以使系统能够快速稳定地响应温度变化。

3.控制算法:根据系统模型和参数,计算控制器的输出。

控制器的输出应是一个与实际温度偏差有关的控制信号,通过改变加热器或冷却器的输入来调整温度。

4.硬件实施:将控制算法实施到硬件平台上。

这可以通过使用微控制器或其他可编程控制器来实现。

将传感器(用于测量实际温度)和执行器(用于控制加热器或冷却器)与控制器连接起来。

5.调试和测试:在实际应用中,进行系统调试和测试。

基于PID算法的水温控制系统设计

基于PID算法的水温控制系统设计

基于PID算法的水温控制系统设计
PID(比例-积分-微分)是一种常用的控制算法,可用于实现对水温的控制。

恒温控制系统的工作原理是:将传感器测量到的温度值与目标温度值进行比较,然后计算出一个控制信号,通过执行器控制加热器的输出功率,使水温维持在目标温度值附近。

以下是使用PID算法的水温控制系统的设计流程:
1. 确定系统参数:首先需要确定控制周期、传感器类型、执行器类型等参数。

2. 指定控制目标:设定所需的目标温度值,例如35℃。

3. 设计控制算法:使用PID算法来计算控制信号,其基本公式为:控制信号 = KP × (错误值) + KI × (错误值累积) + KD ×(误差变化),其中KP、KI和KD分别为比例、积分和微分系数。

4. 实现控制循环:实现一个控制循环,周期性读取传感器测量值、计算控制信号,并根据控制信号与执行器的特性来调整温度。

5. 调整参数并测试:将PID算法中的KP、KI和KD参数调整到最优值,并进行多次测试,以确认控制系统的性能稳定可靠。

基于PID算法的水温控制系统的设计

基于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的简单水温控制系统设计

基于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位,采用独特的单总线接口,只需要一条总线就可以实现与单片机通信,简化了硬件电路设计,降低了设计成本。

基于PID算法的水温控制系统设计报告

基于PID算法的水温控制系统设计报告

基于PID的水温控制系统设计摘要本次设计采用proteus仿真软件,以AT89C51单片机做为主控单元,运用PID控制算法,仿真实现了一个恒温控制系统。

设计中使用温度传感器DS18B20采集实时温度,不需要复杂的信号调理电路和A/D转换电路,能直接与单片机完成数据的采集和处理,使用PID算法控制加热炉仿真模型进行温度控制,总体实现了一个恒温控制仿真系统。

系统设计中包含硬件设计和软件设计两部分,硬件设计包含显示模块、按键模块、温度采集模块、温度加热模块。

软件设计的部分,采用分层模块化设计,主要有:键盘扫描、按键处理程序、液晶显示程序、继电器控制程序、温度信号处理程序。

另外以AT89C51 单片机为控制核心,利用PID 控制算法提高了水温的控制精度,使用PID 控制算法实施自动控制系统,具有控制参数精度高、反映速度快和稳定性好的特点。

关键词:proteus仿真,PID,AT89C51,DS18B20温度控制目录1 系统总体设计方案论证 (1)1.1 设计要求 (1)1.2 总体设计方案 (2)2 系统的硬件设计 (3)2.1 系统硬件构成概述 (3)2.2 各单元总体说明 (4)2.3 按键单元 (5)2.4 LCD液晶显示单元 (6)2.5 温度测试单元 (7)2.6 温度控制器件单元 (8)3 恒温控制算法研究(PID)............................................................................. 错误!未定义书签。

3.1 PID控制器的设计 (10)3.2 PID算法的流程实现方法与具体程序 (12)4 系统的软件设计 (17)4.1 统软件设计概述 (17)4.2 系统软件程序流程及程序流程图 (18)4.3 温度数据显示模块分析 (19)4.4 测试分析 (22)5 模拟仿真结果 ...................................................................................................... 错误!未定义书签。

PID控制器在水温控制系统中的应用

PID控制器在水温控制系统中的应用

P I D控制器在水温控制系统中的应用闫柏霖,庄佳林,孙可心,杨鹤,董佳伟哈尔滨理工大学荣成学院,山东威海264300摘要针对家用电系统控制精度不高㊁控制速度慢等缺点,设计了一种由S TM32单片机主控的整体控制系统㊂采用舵机在混水前对管道水流量进行控制从而控制出水温度,使用温度传感器配合带前馈的P I D控制器进行控制水温㊂系统控制原理简单㊁成本低,且具有控制精确㊁超调量小等优点㊂关键词 P I D控制;前馈;温度控制;单片机;温度传感器中图分类号 T P273D O I10.19769/j.z d h y.2020.08.0010引言随着人们生活水平的不断提高以及家用电器的升级换代,电系统的使用也越来越广泛[1]㊂传统系统的加热和控温因为其原理和结构简单㊁制造和维护成本低等特点广泛应用于家庭㊁酒店㊁公共浴池等场所,其控温原理简单,使用时需要手动调节阀门,改变热水和冷水的出水口径㊂这种调节方法往往需要用户反复调节,不仅消耗时间,更是对水资源的浪费㊂本文在传统控制方式的基础上加入前馈控制以及P I D控制,提高系统的可靠新和动态性能㊂1系统硬件架构系统硬件主要由D S18B20温度传感器㊁E MA X-E S3005防水型舵机和S TM32F100V8型微控制器和配套系统控制电路组成㊂单片机系统负责各个被控对象的状态检测和信息收发,以及对被控对象下发数据和下达指令㊂S TM32F100V8以A RM C o r t e x-3M为内核,定位为超值系列100脚32位微控制器,最高24MH z的工作频率,有64k b的F l a s h S i z e和8k b的R AM S i z e,9个计时器,82个I/O口和3个U S A R T㊂G P I O支持四种输入方式和四种输出方式,支持三种翻转速度,并且每个I/O 口都支持自由编程选择工作模式㊂D S18B20在控制系统温度的测量时需要用到的传感器要求有防水功能,因此系统使用的是防水型D S18B20温度传感器,可将温度信号转换为数字信号直接输出[2]㊂使用三组传感器,分别用于测量热水㊁自来水㊁冷水和冷热水混合之后的温水的温度㊂传感器在写命令时段向其存储器写入温度数据,读命令时段D S18B20向单片机发送数据,在单片机接收到温度传感器的数据之后开始进行下一步的操作㊂为了节约单片机串口的使用,对三组传感器进行组网电路设计,即利用每组传感器有不同序列号的特性令其使用同一总线接入单片机的I/O口,将信号输出口总线接入单片机串口㊂温度传感器组网电路图如图1所示㊂在单片机分析过温度检测模块发送的数据后对阀门模块的舵机进行控制,控制舵机转动进而保证热水和冷水的水流量比例,使热水和冷水混合后的水温达到设定要求㊂用于控制舵机的信号是P WM信号,即脉冲宽度调制信号,单芯片通过控制输出电平的占空比来控制舵机㊂占空比周期T=20m s,高电平方波持续时间为0.5~2.5m s,对应0ʎ~180ʎ的转角[3]㊂图1温度传感器组网电路图2系统程序流程及算法设计2.1系统程序流程单片机与温度传感器的通信由初始化序列开始,当传感器芯片接收到上升沿信号之后,会等待15~60μs,然后通过总线拉低60~240μs来实现发送一个存在脉冲㊂在写命令时段传感器向其存储器写入温度数据,读命令时段D S18B20向单片机发送数据㊂当控制器接收到水温信息时,会控制舵机的角度状态,以此来控制水阀的旋转状态,这样可以调节冷热水在混水前的量,最后在混水后水的温度得以控制㊂程序流程图如图2所示㊂2.2P I D算法设计为了提高系统温度控制的精度以及加快控制的速度,本文采用P I D算法进行温控系统的控制设计㊂P I D控制器具有稳定性好㊁工作可靠㊁调整方便㊁结构简单等特点,是常见的一种控制方式[4]㊂如果不能很好地掌握控制对象的参数和结构,或不能得到准确的数学模型,则难以实现控制理论的技术,因此必须根据经验来决定系统控制器的结构和参数,P I D控制技术是最实用㊁最方便的㊂1收稿日期:2020-05-082020年第08期2020年第08期图2 程序流程图传统的P I D 控制运算由比例(P )㊁积分(I )和微分(D )运算组成[5]㊂通过反馈控制使被控对象经反复调节后达到设定值的状态,这种控制方式简单常用,但应用在温控系统中时必定会出现一定程度的超调和震荡㊂为了减弱这种现象,本文在P I D 反馈控制的基础上引入前馈控制㊂而前馈控制是开环的,前馈控制可以有更少的响应时间,相应的两种控制器结合设计出的温度控制系统,能够提高恒温系统的反应速度,改善恒温系统的动态性能[6]㊂将前馈控制引入控温控制系统中可以提高控温的响应速度和控温动态性能㊂普通的增量式P I D 控制增量时域数学模型见式(1):Δc (t )=c (t )-c (t -1)=K P ㊃[e (t )-e (t -1)]+TT I ㊃e (t )+T D T㊃[e (t )-2e (t -1)+e (t -2)](1)式中,K p 为比例常数;T I 为积分时间常数;T D 为微分时间常数;e (t )为系统偏差信号;u (t )为控制器的输出信号㊂在传统控制器中,变量设置参照加热体厂家以及现有系统产品参数和开发手册,参数的整定基于类似有经验的操作者手动整定的规则[7]㊂进行一些运算参数的整定后,利用MA T L A B 软件进行编程仿真,经过修正后再根据实际设计条件进行调整,最终得出传递函数以及算法程序㊂实验数据表明此控制方法会出现明显的超调,超调量3.36%且达到稳态的时间较长,不是理想的控制器,不能达到设计要求㊂不带前馈的P I D 控制曲线图如图3所示㊂图3 不带前馈的P I D 控制曲线图加入根据传感器测得水温得到的前馈控制量后,控制增量数学模型见式(2):Δc (t )=U K +K P ㊃[e (t )-e (t -1)]+TT I㊃e (t )+T DT㊃[e (t )-2e (t -1)+e (t -2)](2)式中,U K 为前馈控制量㊂引如前馈后的控制曲线图如图4所示㊂图4 带前馈的P I D 控制曲线图加入前馈后控制系统模拟调试曲线明显改善,对舵机控制有高精度定位特性[8]㊂3结语本文主要包括对水温控制系统各部分硬件的结构和工作原理的说明,以及各个被控对象的工作特性和控制原理控制电路设计方案的阐述㊂对水温控制系统软件部分进行了详细的阐述,对带前馈的P I D 控制算法的原理和模拟控制曲线并给出说明㊂该系统相较传统的控制系统在系统稳定性以及系统响应速度㊁控制精度有了提高㊂该系统设计方法简单可行,应用成本不高,能满足家庭用电热水器的使用需求㊂带前馈的P I D 算法在水温控制系统上的应用使系统性能有了明显的提高㊂参考文献[1]刘翔.热水器行业的现状及发展[J ].现代家电,2016(19):57-58,9.[2]张军.智能温度传感器D S 18B 20及其应用[J ].仪表技术,2010(4):68-70.[3]付丽,刘卫国,伊强.单片机控制的多路舵机用P WM 波产生方法[J ].微特电机,2006(2):28-29,33.[4]李建海,张大为,张凯,等.数字P I D 控制器在温度控制系统中的应用[J ].电子测量技术,2009,32(4):100-103.[5]陶永华.新型P I D 控制及其应用[M ].北京:机械工业出版社,2002.[6]何英杰.带前馈的P I D 控制在即热式电热水器上的应用[J ].科技经济导刊,2017(17):34.[7]王伟,张晶涛,柴天佑.P I D 参数先进整定方法综述[J ].自动化学报,2000(3):347-355.[8]胡庆波,吕征宇.全数字伺服系统中位置前馈控制器的设计[J ].电气传动,2005(5):24-27.2。

自动控制系统的pid控制原理

自动控制系统的pid控制原理

自动控制系统的pid控制原理今天咱们来唠唠自动控制系统里超级厉害的PID控制原理。

这PID啊,就像是一个超级智能的小管家,把自动控制系统管理得井井有条呢!先来说说这个P,也就是比例(Proportional)。

你可以把它想象成一个特别直接的小伙伴。

比如说,你想要控制一个温度,这个温度设定值是25度。

现在实际温度是20度,离目标值差了5度呢。

这个P就会根据这个差值,按照一定的比例来调整控制量。

就像你在调水温洗澡的时候,如果水太凉了,你就会把热水阀门开大一点,而且这个开大的程度和水凉的程度是成比例的。

如果比例系数设得大一点,那调整的动作就会大一些,就像你特别着急让水热起来,一下子把热水阀门开得很大。

但是呢,要是这个比例系数太大了,就容易调整过头啦,就像水一下子变得超级烫,这可就不好了。

再聊聊这个I,积分(Integral)。

I就像是一个很有耐心的小助手。

它关注的是这个误差的累积。

还是拿温度控制来说,要是这个温度一直有一点偏差,可能P在调整的时候总是差那么一点火候。

这时候I就登场了。

它会把之前所有的误差都累加起来,然后根据这个累加的结果去调整控制量。

它就像是一个记忆力超好的家伙,不会放过任何一点小偏差。

不过呢,I要是太“热心”了,也会有问题。

比如说它可能会让系统变得超级慢,就像一个慢性子的人,调整起来慢悠悠的,可能要等好久才能让温度真正稳定在25度。

最后就是这个D啦,微分(Derivative)。

D就像是一个特别敏锐的小侦探。

它关注的不是误差本身,而是误差的变化率。

想象一下,你在开车的时候,如果你踩油门的速度变化得特别快,那这个D就会察觉到这个变化,然后做出反应。

在自动控制系统里,如果温度突然下降得很快,D就会根据这个下降的速度来调整控制量,让系统更快地做出反应。

但是呢,D也不能太敏感啦,要是它太敏感了,就像一个大惊小怪的人,稍微有点风吹草动就做出很大的反应,可能会让系统变得不稳定呢。

这PID三个部分就像是一个团队一样,要配合得恰到好处才能让自动控制系统完美运行。

基于PID算法的水温控制系统设计报告

基于PID算法的水温控制系统设计报告

基于PID的水温控制系统设计摘要本次设计采用proteus仿真软件,以AT89C51单片机做为主控单元,运用PID控制算法,仿真实现了一个恒温控制系统。

设计中使用温度传感器DS18B20采集实时温度,不需要复杂的信号调理电路和A/D转换电路,能直接与单片机完成数据的采集和处理,使用PID算法控制加热炉仿真模型进行温度控制,总体实现了一个恒温控制仿真系统。

系统设计中包含硬件设计和软件设计两部分,硬件设计包含显示模块、按键模块、温度采集模块、温度加热模块。

软件设计的部分,采用分层模块化设计,主要有:键盘扫描、按键处理程序、液晶显示程序、继电器控制程序、温度信号处理程序。

另外以AT89C51 单片机为控制核心,利用PID 控制算法提高了水温的控制精度,使用PID 控制算法实施自动控制系统,具有控制参数精度高、反映速度快和稳定性好的特点。

关键词:proteus仿真,PID,AT89C51,DS18B20温度控制目录1 系统总体设计方案论证 (1)1.1 设计要求 (1)1.2 总体设计方案 (2)2 系统的硬件设计 (3)2.1 系统硬件构成概述 (3)2.2 各单元总体说明 (4)2.3 按键单元 (5)2.4 LCD液晶显示单元 (6)2.5 温度测试单元 (7)2.6 温度控制器件单元 (8)3 恒温控制算法研究(PID)................................................................... 错误!未定义书签。

3.1 PID控制器的设计 (8)3.2 PID算法的流程实现方法与具体程序 (11)4 系统的软件设计 (15)4.1 统软件设计概述 (15)4.2 系统软件程序流程及程序流程图 (16)4.3 温度数据显示模块分析 (17)4.4 测试分析 (19)5 模拟仿真结果 ......................................................................................... 错误!未定义书签。

基于PID水温控制系统

基于PID水温控制系统

基于PID水温控制系统摘要:介绍了温度控制系统的硬件组成,软件设计及控制算法。

针对控制对象的不确定性,采用了PID控制算法,实现了PID参数的在线自整定。

该系统具有实时性好,控制速度快,稳定性强等优点。

在业工生产过程中,温度是工业生产过程中常见的工艺参数之一,对温度控制的好坏直接影响产品的质量。

及时准确地得到温度信息并对其进行适当的控制,在许多工业场合中都是重要的环节。

对于不同生产情况和工艺要求下的温度控制,所采用的加热方式和控制方式均不同。

本文介绍了一种基于89C52单片机的温度控制系统,本系统的任务是对温度进行实时监控与控制。

它以温度传感器DSl820对温度进行测量、采样与转换,并将测量结果送给单片机;单片机将输人的温度值与内部指定单元的给定温度值进行比较,根据比较结果,通过一个执行机构(可控硅)对加热源(加热炉的温度)的开关状态进行控制。

在控制环节中,本系统采用的是数字PID控制算法来实现上述功能。

传统的PID控制电路结构复杂,需配合相应的可控硅控制电路完成对温度的控制。

具有器件多、生产成本高、电路调试复杂的缺点。

所以,在该温度控制系统的设计中,运用单片机89C52进行数字PID运算能充分发挥软件系统的灵活性,具有控制方便、简单和灵活性大等优点1 系统结构及主要硬件电路设计1.1 系统结构该系统的控制对象是水温,水温经测温传感器DSl820转换成电压信号,经A/D转换成计算机可以接收的数字信号,保存在89C52单片机采样值单元中;再利用键盘输入设定温度,经温度标度转换成二进制数,保存在单片机内设定值单元;然后,调用显示子程序,显示设定温度和采样温度,然后把采样值与设定值输入单片机内进行数字PID控制算法的运算,运算结果由单片机输出,通过可控硅交流调压装置来控制时间的导通和关断,在达到设定温度后利用PWM方法来保持此温度,以此来调节温度。

该系统原理图如图1所示。

图1 系统原理图3 系统概要设计该系统能够实现测量-25℃~125℃的温度并予以显示,精度为0.625℃,准确度0.5℃。

基于PID的简单水温控制系统设计

基于PID的简单水温控制系统设计

基于PID的简单水温控制系统设计摘要:本文提出了一种基于PID控制器的简单水温控制系统,在此系统中通过使用PID控制算法来控制水温。

该系统由传感器、PID控制器和执行机构组成。

传感器用于实时监测水温,PID控制器接收传感器反馈的水温信息,并输出相应的控制信号给执行机构,从而调整水温。

实验结果表明,该控制系统能够实现快速而稳定的水温调节。

1.引言水温控制是许多工业和生活中常见的控制问题。

例如,温水供应系统、加热器和制冷系统等都需要对水温进行准确控制。

PID控制器是一种常用的控制算法,它通过不断调整输出信号来维持被控对象的温度在设定值附近。

2.PID控制器原理PID控制器由比例项(P)、积分项(I)和微分项(D)组成。

其中,比例项根据偏差的大小来产生控制信号,积分项根据偏差的累积来产生控制信号,微分项根据偏差的变化率来产生控制信号。

PID控制器通过组合这三个项的控制信号,来实现对被控对象的温度调节。

3.系统设计本系统采用了传感器、PID控制器和执行机构的结构。

传感器负责实时监测水温,并将获取的数据传输给PID控制器。

PID控制器接收传感器反馈的水温数据,并计算出相应的控制信号。

最后,执行机构根据PID控制器输出的信号,来调整水温。

4.实验设置在实验中,我们使用了一台水温调节装置作为被控对象,通过加热和冷却控制来调整水温。

传感器通过测量水温来获取反馈数据,PID控制器计算出相应的控制信号,控制执行机构的动作。

5.实验步骤(1)首先,设定一个目标水温。

(2)然后,将传感器固定在被控对象中,用于监测水温。

(3)将PID控制器与传感器连接,以获取水温反馈数据。

(4)设置PID控制器的参数,根据实际需求进行调整。

(5)最后,将执行机构与PID控制器连接,用于根据控制信号调整水温。

6.实验结果与讨论实验结果表明,通过调整PID控制器的参数,可以实现快速而稳定的水温调节。

在设定目标水温后,PID控制器能够迅速响应,并快速调节执行机构以达到目标水温。

pid温度控制原理

pid温度控制原理

pid温度控制原理PID温度控制原理。

PID控制是一种常见的控制系统,它由比例(P)、积分(I)和微分(D)三个部分组成。

在温度控制系统中,PID控制器可以有效地调节温度,使其稳定在设定值附近。

本文将介绍PID温度控制原理及其应用。

首先,我们来了解PID控制器的三个部分。

比例控制器根据设定值和实际值之间的差异来调节输出,其作用是减小偏差。

积分控制器根据偏差的积累来调节输出,其作用是消除静差。

微分控制器根据偏差的变化率来调节输出,其作用是提高系统的动态响应。

这三个部分共同作用,使得PID控制器能够对温度进行精确控制。

在温度控制系统中,PID控制器的应用非常广泛。

例如,在工业生产中,需要对炉温、烘干温度等进行精确控制;在实验室中,需要对反应釜、培养箱等进行精确控制;在家用电器中,需要对热水器、空调等进行精确控制。

PID控制器通过不断调节加热或制冷设备的输出,使得温度稳定在设定值附近,从而满足生产或生活的需求。

在实际应用中,PID控制器需要根据具体的温度控制要求进行参数调节。

比例系数决定了对偏差的调节程度,积分时间常数决定了对静差的调节程度,微分时间常数决定了对动态响应的调节程度。

合理地调节这些参数,可以使得PID控制器在不同的温度控制场景下都能够表现出良好的性能。

除了参数调节,PID控制器还需要考虑控制对象的特性。

例如,对于惯性大的加热设备,需要增大比例系数以提高控制灵敏度;对于受扰动影响大的系统,需要增大积分时间常数以减小静差;对于动态响应要求高的系统,需要增大微分时间常数以提高稳定性。

总之,PID控制器通过比例、积分、微分三个部分的组合,能够对温度进行精确控制。

在实际应用中,需要根据具体的温度控制要求进行参数调节,并考虑控制对象的特性,以实现最佳的控制效果。

通过本文的介绍,相信读者对PID温度控制原理有了更深入的了解。

希望本文能够帮助读者在实际应用中更好地使用PID控制器,实现温度的精确控制。

PID水温控制

PID水温控制

PID水温控制引言PID(比例-积分-微分)控制是一种常用的反馈控制算法,广泛应用于工业控制系统中。

在许多工业过程中,如水温控制,在控制温度时,PID控制器起着至关重要的作用。

本文将介绍PID水温控制的原理、步骤和应用。

原理PID水温控制的原理是通过对水温的测量值与设定值之间的差异进行计算,使用比例、积分和微分三个参数来调整控制器的输出,以使温度保持在设定值附近。

•比例参数(P):根据偏差的大小确定输出的变化幅度。

比例控制使得输出正比于温度偏差。

•积分参数(I):根据时间上的偏差累积确定输出的变化幅度。

积分控制用于消除系统的静态误差。

•微分参数(D):根据偏差变化的速度决定输出的变化幅度。

微分控制用于平稳系统的响应。

PID控制器通过对这三个参数进行适当的调整,动态地调整输出以使温度始终保持在设定值附近。

步骤PID水温控制的步骤如下:1.设定温度:首先确定所需的水温设定值。

这个设定值通常作为控制系统的输入。

2.测量温度:使用温度传感器测量实际水温,并将其作为PID控制系统的反馈信号。

3.计算偏差:将目标温度设定值与实际温度测量值之间的差异计算为温度偏差。

4.计算PID输出:根据比例、积分和微分参数,计算PID控制器的输出值。

5.控制执行:将PID输出应用于控制系统中的执行元件,例如阀门或加热器。

6.监测和调整:监测水温的变化,并根据需要调整PID参数,以实现更精确的控制。

应用PID水温控制广泛应用于各种工业过程中,包括:1.加热系统:在加热过程中,使用PID控制器来维持恒定的加热温度,以确保产品质量和工艺控制的稳定性。

2.制冷系统:在制冷过程中,使用PID控制器来维持恒定的冷却温度,以确保设备的正常运行和产品的质量。

3.温室控制:在温室中,使用PID控制器来维持恒定的温度和湿度,以促进植物生长和控制害虫的生长。

4.水处理:在水处理过程中,使用PID控制器来控制水温,以确保水的质量和消毒效果。

5.工业炉燃烧控制:在工业炉中,使用PID控制器来控制燃烧温度,以确保高效燃烧和产品质量。

pid 温控方案

pid 温控方案

pid 温控方案咱来聊聊PID温控方案哈。

一、啥是PID温控呢?你可以把温度控制想象成开汽车。

比如说,你想让汽车保持一个固定的速度(就像让温度保持在一个定值)。

1. P 比例(Proportional)部分。

这就像是你根据当前速度和目标速度的差距来踩油门或者刹车。

如果你的速度比目标速度低很多,那你就会用力踩油门(在温控里就是加大加热功率或者减小制冷功率)。

如果速度比目标速度高一点,那就轻轻踩刹车(在温控里就是稍微减小加热功率或者加大制冷功率)。

比例系数就像是你踩油门或者刹车的力度大小的一个调整参数。

如果这个系数太大,就像你踩油门太猛,可能会一下子超过目标速度(温度超调);如果系数太小,就像你踩油门太轻,可能很久都到不了目标速度(温度上升或者下降得很慢)。

2. I 积分(Integral)部分。

这部分呢,就像是你在开车过程中,如果你一直发现速度比目标速度低一点,虽然每次差距不大,但是积累起来就会让你觉得要更用力踩油门。

在温控里,如果温度总是比目标温度低一点(哪怕只是一点点偏差),积分部分就会不断累积这个偏差,然后慢慢增加加热功率(或者减小制冷功率),这样就能消除那种长时间存在的小偏差。

要是没有积分部分,可能就会一直有那么一点温度没达到目标值的情况。

3. D 微分(Differential)部分。

这就像是你在开车的时候,不但看现在的速度和目标速度的差距,还看速度变化的快慢。

比如说你正在加速,但是你发现速度增加得太快了,那你就要提前松一点油门。

在温控里,如果温度上升或者下降得特别快,微分部分就会根据这个变化速度来调整功率。

如果温度正在快速上升接近目标温度,微分部分就会减小加热功率(或者增加制冷功率),这样就能避免温度一下子冲过目标温度(超调)。

二、PID温控方案的实施步骤。

1. 确定目标温度。

这就像你开车要先确定目的地一样。

你得知道你想要达到的温度是多少,比如说你想让房间温度保持在25摄氏度,那25度就是目标温度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

相关文档
最新文档