基于PID算法的水温控制系统
2018-12-18王博曾方程一哲
王博 曾方 程一哲
摘要:为得到稳定的水温控制功能,本文设计了一个基于STC89C52单片机的PID自动水温控制系统。该系统具有实时显示温度、修改设定温度,PID自动控制温度和温度上下限报警等功能。该系统通过单片机进行温度实时测量,并基于PID算法达到温度恒定控制的功能。系统由单片机STC89C52将温度传感器DS18B20 所采集的温度在LED显示屏上实时显示,并通过PID控制算法令水温保持为指定的温度值。
关键词:单片机;STC89C52;DS18B20;PID算法;LED显示
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)27-0242-02
1 系统概述
本文采用PID 控制算法实现保持水温恒定的系统功能。该温控系统采用螺旋加热管加热——将螺旋加热管固定到容器的内部,给加热管通电时,会使容器中的水产生对流,令水温快速上升,加热效率高。温控系统的制冷元件使用半导体制冷片,能够达到快速制冷的目的。测量水温的温度传感器选择DS18B20,该温度传感器使用單总线与主机进行通信,信号传输速度快,灵敏度高,能大大减少系统的响应时间。系统的显示部分放置在容器外壁上,采用4位七段LED数码管实时显示温度和预设温度。电源采用PWM方式调节加热或制冷的输出功率,从而改变加热与制冷的功效,达到可变输出功效的效果。
该系统主要特点为:
1) 通过DS18B20温度传感器减少了A/D转换电路,简化了电路结构。
2) 采用SSR固态继电器,简化了功率控制电路,提高了系统的稳定性。
3) 基于PID算法和PWM调制的系统设计,能够充分保证系统的可靠性和安全性,并使系统的动态性能也达到较好的效果。
2 硬件电路
系统采用方形玻璃鱼缸作为装水容器。系统硬件电路主要包含四个部分:温度采集电路,加热控制电路,制冷电路以及显示电路。硬件电路的系统框图如图1所示:
2.1 温度采集电路
本系统使用DS18B20温度传感器来测量水温。该传感器可以直接输出数字量,与总线接口只需一根信号线,能够节省单片机的引脚接口资源,电路设计简单,容易实现。
DS18B20温度传感器仅有三个引脚,三个引脚中一端接电源,一端接地,另一端接单片机的数据传输引脚,进行总线通信。本系统使用三个温度传感器采集不同深度位置的水温取平均值以减小误差。温度采集电路如图2所示:
2.2 加热电路
本系统使用螺旋加热管对容器中的水进行加热。在螺旋加热管的加热输出方面,采用单片机结合继电器进行电源通断控制,让单片机通过PWM调制方法控制继电器来达到加热力度可调的加热效果。PWM调制方法可令继电器对系统的干扰较小,调节响应时间短,能方便的达到控制水温的目的。另外,PWM脉冲调制可以方便地在软件编程中实现,比硬件实现方法要简单和高效。图3为继电器PWM控制电路的仿真图(图中使用12V灯泡来模拟替代加热管)。
2.3 键盘、显示电路
如图4所示,本系统使用按键实现温度预设值的设定调节。进行预设温度调节时,设置了三个按键,一个按键实现温度的菜单显示,一个按键实现温度预设值的增加,第三个按键实现温度预设值的减小。
设置好温度预设值之后,系统的显示电路能让预设的温度值显示在LED数码管上。按下菜单键时,数码管能够显示当前温度传感器采集的温度数值。显示电路使用四位七段数码管,温度显示时保留一位小数,能够实时显示温度传感器所采集的温度值。系统使用单片机的P1、P2引脚分别控制数码管的段选端和位选端,并用程序中的延时函数来设置数码管的动态显示,令数码管能够稳定的显示温度值。
3 软件设计
3.1 程序流程图
软件系统能够实现对水温的测量与控制,并能将温度数据用数码管显示出来。控制程序能够实现1℃精度范围内温度的PID控制,以达到在设定的温度下水温保持恒定不变的功能。
主程序流程图如图5所示,可实现对预设温度值的设定、控制,和显示实时温度数据功能。
3.2 PID算法
在使用PID算法进行水温调节时,通过单片机来调整PWM波的占空比,PWM波的频率为50HZ,可根据不同的温度情况通过调节占空比的不同来实现对水温的控制。通过PWM调制,可以对加热管的输出功率进行控制,减小水的温度惯性。
另外,使用PID算法可减小水温接近预设温度时产生的静态误差,仅使用加热管进行加热就可以达到恒温控制效果,从而去除温度静差的影响。
4 结论
在科技高速发展的今天,自动控制技术已经被广泛应用于我们的生活、工作和科研等各个领域。本文研究了一种由控制电路、制热电路、显示电路和按键电路等部分组成的水温控制系统。控制单元采用51系列单片机,通过DS18B20集成温度传感器,进行温度数据的采集和反馈;为了提高电路系统的稳定性,使用PWM调制方法控制SSR固态继电器通断,从而将功率控制电路进行简化;采用软件控制方法,基于PID算法来控制水温恒定,减小了水温控制的惯性值。本文设计的水温控制系统操作方便、显示清晰、稳定性好、精准度高、实用性强,具有广泛的应用前景。
参考文献:
[1] 丁元杰. 单片机原理及应用[M]. 北京:机械工业出版社,2010:62-74.
[2] 王建华. 计算机控制[M]. 北京:高等教育出版社, 2009:31-116.
[3] 孙安青. AT89S51单片机实验及实践教程[M]. 北京:机械工业出版社,2012:113-125.
[通联编辑:梁书]