基于51单片机的水温自动控制系统
文章编号 :1009 - 2269(2008) 03 - 0049 - 03
基于 51 单片机的水温自动控制系统 X
刘小兵 ,曾 杜 ,唐铭杰
(武汉大学 电子信息学院 ,湖北 武汉 430079)
摘要 : 本系统以 8051 单片机为控制核心 ,精密摄氏温度传感器 LM35 构成前置信号采集电路 ,过
零检测双向可控硅输出光电耦合器 MOC3041 构成后向控制电路 ,利用分段 PID 控制算法 ,通过调
功法对加热系统的水温进行控制 ,可在 40 ℃到 100 ℃范围内任意设定目标温度 ,静态误差小于 0.
2 ℃.
关 键 词 : 8051 单片机 ;MOC3041 ;PID 算法 ;水温控制
中图分类号 : TP 272 文献标识码 : A
在现代的各种工业生产中 ,很多地方都需要
用到温度控制系统. 而智能化的控制系统成为一
种发展的趋势. 本文所阐述的就是一种基于 8051
单片机的温度控制系统. 本温控系统可应用于温
度范围(室温到 100 ℃之间) 不是很宽的场合.
1 系统概述
本系统的核心就是控制算法和加热方法的确
定. 控制算法主要有 PID 控制算法[1] 、大林算法、
模糊算法以及分段拟合等方法.
PID 控制是过程控制领域中应用最普遍的控
制规律 ,它是通过改变调节器参数来实现的. PID
控制算法的典型控制框图如图 1 所示.
图 1 典型控制框图
PID 控制算法的控制过程如下 ,首先计算控
制量的增量 :Δμk =μk - μk - 1
又可写为 :Δμk = Kp [ ek - ek - 1 ] + kiek + Kd [ ek
- 2 ek - 1 + ek - 2 ]
其中 μk 为第 k 次采样时刻的控制信号 , e ( k)
为第 k 次采样时刻的偏差信号. Kp 、Ki 、Kd 分别为
比例系数、积分系数和微分系数.
增大比例系数 Kp , 系统的动作变灵敏 , 速度
加快 ,稳态误差减小;但振荡次数也会加多 , 调节
时间加长. 积分控制使系统的稳定性下降 ,但能消
除稳态误差 ,提高系统的控制精度. 微分控制可以
改善动态特性 ,它对偏差的变化趋势进行超前调
整 ,从而可以有效地提高系统的动态性能 ,加大阻
尼 ,减小超调量. 该方案理论成熟 , 但是实际实现
起来较为复杂 ,比例 ,积分 ,微分三个控制环节的
控制系数较难确定 , 因而调节周期 可 能 会 很
长.
大林算法的设计目标是选择适当的数字调节
器 ,从而使得闭环系统的调节品质满足工艺的要
求. 由于对系统的要求有严格的限制 ,也就消除了
由于超调引起的系统不稳定等因素的影响.
模糊控制算法是以模糊集合论、模糊语言变
量以及模糊逻辑推理为基础的一种计算机智能化
数字控制方法. 该方法无需建立对象的精确数学
模型 ,并且具有适应性好 ,算法容易实现和容易操
作等特点. 另外还有分段拟合算法和神经自适应
算法等.
由于大林算法本身是在计算机发展的基础上
第 15 卷 第 3 期
2008 年 9 月 兰州工业高等专科学校学报
Journal of Lanzhou Polytechnic College Vol. 15 ,No. 3
Sep. ,2008
X 收稿日期 :2008 - 06 - 30
作者简介 :刘小兵(1985 - ) ,男 ,湖南衡阳人 ,学士.
提出的 ,它特别适用于微机控制. 但模型建立比较
困难. 模糊算法须根据实测数据建立模糊控制表 ,
并通过控制表确定模糊控制规则 ,实现比较困难 ,
不适宜 MCU 实现.
本系统如果采用单纯的逼近是无法适应动态
环境的要求的 ,当外部的环境温度有较大的改变
时 ,必须加入微分环节进行快速反应 ,而在稳定很
长一段时间后 ,加入积分环节则会大大提高平衡
状态的稳定性. 实际控制时 ,将 PID 算法的比例、
积分 、微分的思想融入其中 ,不断的调节各个温
度段的系数 ,最终达到对温度的精确控制. 通过比
较 ,采用借鉴 PID 控制思想的分段拟和方案.
2 控制方案
从性价比来考虑 ,前级控制比较了两种方案.
方案一是使用单片机的一个端口 (P1 口) 来实现
控制 ,高电平则实现加热 ,低电平则停止加热. 方
案二是使用 CPLD 来实现 ,将根据控制方式计算
出来的对应的占空比换算成相应的字节 ,比如占
空比为 50 %则可以设置为 11110000. 然后将该数
据送到 CPLD 中 ,CPLD 实现串并转换就可以输出
对应占空比的控制波形了.
方案一比较直观 ,但是过多地占用了单片机
的资源. 方案二使用 CPLD 来控制 ,实现比较简
单 ,不需要单片机来控制加热 ,可以解放单片机更
多的资源 ,让其进行更快速的运算.
后级控制模块实际上是用弱电信号来控制强
电信号 ,通常所采用的方案有以下几种 :
方案一 :控制时间 ,依据采集的数据对电炉实
现定时全通或全断来控制电炉的功率 ,控制量为
加热时间.
方案二 :调相法 ,通过控制可控硅的导通角 ,
来控制导通时加在功率器上的电压幅值 ,实现对
功率器的精确均匀控制. 要实现调相控制功率 ,需
对 220 V电源进行跟踪记录. 采用变压器提取 220
V的同步电压信号 ,并用比较器跟踪过零点 ,输出
与 220 V电源同步同相同频的脉冲 ,将半个周期
的交流电分为 N 份 ,1/ N 既为调相的步长 ,又为内
部计时器的计数单位. 每次在过零点开始计数 ,计
数输出量与输入数字控制量相同时产生触发脉冲
使可控硅开始导通. 每次改变输入数字控制量的
大小就可以改变导通的相角 ,实现对功率器上所
加电压幅值大小的控制.
方案三 :利用调功法来调节加热功率 ,从而
实现温度控制. 具体实现是通过控制单位时间内
加在功率器上的正弦波的波头数也即控制加热回
路的“有效过零脉冲”个数来控制可控硅的通断 ,
达到控制功率的目的. 该方案的优点在于外部电
路简单 ,只需要定时控制 220 V 交流电的通断即
可. 1 s内导通的时间越长 ,即通过的正弦波的个
数越接近 50 ,加载的功率也就越大 ,反之越小.
控制时间的方案实质上具有很大的滞后性 ,
当前的温度变化以及控制策略并不能导致被控对
象的状态立即改变 ,而且全通和全断也会使系统
控制过程出现明显的阶梯 ,并可能由于全速加热
造成较大的超调 ,因此不采用这种控制加热时间
的方法. 调相法控制精度高 ,但需要提取 220 V 交
流电的同步信号 ,增加了系统实现的复杂度. 调功
法实现简单 ,精度也足以满足任务要求 ,故选用此
方案.
3 主要硬件部分
使用 LM35 温度传感器作为前端采集模块.
后级控制采用双向可控硅光电耦合器 MOC3041
构成驱动电路来控制电炉的加热. 具体电路设计
如下 :
图 2 后级功率控制电路
中间控制部分由 CPLD 实现.
4 核心软件部分[2 ,4]
软件设计思想为 :先将温度分段 ,不同的温度
段的加热惯性不同 ,再测试每段的加热时间和自
然降温时间 ,然后算出维持的温度的比例关系 ,定
出维持每段温度的控制量. 段内采用修改过的
PID 算法 ,根据温差进行细调 ,以及温度差的变化
·05· 兰 州 工 业 高 等 专 科 学 校 学 报 第 15 卷
率进行趋势的预测与调节. 温度传感器 LM35 采
集的数据 ,虽然在较大时间的范围内是稳定连续
变化的 ,但是在细微的时间范围内 ,具有较强的波
动性. 针对这一情况 ,我们采取均值滤波和滞后滤
波的方法. 具体调节原则是根据不同的误差值 ,确
定不同的控制增量 K1 ,根据误差的变化率定确控
制增量 K2 ,(段内 PID 控制时 ,在计算变化趋势的
时候不仅仅与前一个值比较 ,而是预存了 5 组数
据进行比对 ,以尽量正确的反应真实的变化趋
势. )将以上三个控制量累加就得到最后的控制
量 ,然后输出.
5 测试结果
表 1 水温控制测量结果 (室温 22. 7 ℃)
设定温度/ ℃ 45 62 73 80 90
实际温度/ ℃ 44.81~44.98 61.83~62.05 72.79~72.99 79.87~80.17 89.67~90.27
超调量/σ % 0. 42 0. 27 0. 29 0. 21 0. 37
其中超调量/σ%指相应最大偏离量 h ( tp) 与
终值 h ( ∞) 的差与终值 h ( ∞) 比的百分数. 若 h
( tp) < h ( ∞) ,则响应无超调. 超调量反映的是系
统的振荡性.
参考文献 :
[1] 谢自美. 电子线路设计·实验·测试[M]. 武汉 :华中
理工大学出版社 , 2000.
[2] 马忠梅. 单片机的 C 语言应用程序设计[M]. 北京 :
北京航空航天大学出版社 ,2003.
[3] 李朝青. 单片机原理及接口技术[M]. 北京 :北京航
空航天大学出版社 ,1999.
[4] 王金明 ,样吉斌. 数字系统设计与 Verilong HDL[M].
北京 :电子工业出版社 ,2005.
[5] 李 华. MCS - 51 系列单片机使用接口技术[M]. 北
京 :北京航空航天大学出版社 ,1993.
[6] 明 鑫 ,陈可中 ,王戎丞 ,肖桂平. 基于单片机的水温
控制系统[J ]. 现代电子技术 ,2005(6) :1~2.
[7] 文定都 ,谢永芳. 基于模糊控制的水温控制系统[J ].
自动化与仪器仪表 ,2006(3) :62~64.
[8] 黄 玮 ,叶劲松. 单片机水温控制系统[J ]. 武汉工程
职业技术学院学报 ,1999(2) :35~37.
[9] 彭建英 ,谢国庆. 水温智能控制系统的设计[J ]. 中国
仪器仪表 ,2005(7) :77~78.
[10] 张玉珊. 基于单片机的水温自校正控制系统设计与
研究[J ]. 新乡师范高等专科学校学报 ,2002 (2) :32
~34.
[11] 胡 焱 ,周 超 ,沈家庆 ,高丽霞 ,吕 伟. 基于单片
机的水温监控系统设计[J ]. 通信技术 ,2007 (8) :31
~33.
[12] 曲建岭 ,王 磊 ,高 峰. 水温模糊控制系统的设计
[J ]. 自动化仪表 ,2000(2) :8~9.
The Automatic Controlling System of Water Based on the 51 Singlechip
LIU Xiao - bing ,ZENG Du ,TANG Ming - jie
(College of Electronic Information , Wuhan University , Wuhan 430079 ,China)
Abstract : The system takes the 8051 singlechip as its controlling core. Its hardware mainly consists of two parts. The
exact centigrade sensor LM35 and 12 bits AD converter Max197 form the front signal collection circuit , while the back
controlling circuit is mainly composed of the crossing zero testing photoelectric coupling unit MOC3041 which is made
up of silicon availably controlled both in two directions. The system uses a controlling arithmetic that is called PID in
different segment , and it uses the adjusting power method to control the water. The range of the system’s work tem2
perature is from 40 centigrade to 100 centigrade , and the temperature can be discretionarily set in the region , the
static error in the temperature is less than 0. 2 centigrade.
Key words :8051 singlechip ;MOC3041 ;PID arithmetic ;water temperature controlling
·15·第 3 期 刘小兵等 :基于 51 单片机的水温自动控制系统
基于51单片机的水温自动控制系统.pdf