基于模糊PID算法的温度控制系统的设计

2023-06-02 01:37刘艳峰
电子产品世界 2023年5期
关键词:模糊PID温度控制

刘艳峰

关键词:温度控制;STM32;DS18B20;LCD1602;模糊PID;

随着社会经济的发展, 温度控制在人们生产和生活的方方面面变得越来越普及和重要, 温度控制系统是保障工业生产顺利进行、提高产品质量和安全生产的重要手段。目前我国的工业企业数量众多,并且大多数都分布于城市中,因此对于环境控制要求较高[1]。随着我国科学技术的不断进步以及人民对生活品质的日益提升,智能温控系统逐渐成为了一种主流趋势[2]。

1 系统硬件设计

1.1 系统硬件总体设计

本设计以单片机为核心,采用了模块化结构,通过温度采集模块与单片机进行数据的传输,可实现对温度信号进行采集、处理和分析,从而实现对现场温度情况的检测和控制,同时还可以设置报警信息以及显示相关参数等。温度采集模块用于实时测量被测环境温度;同时还可以根据按键模块完成对温度的设定与更新功能[3]。当温度超过设定的最高温度值时,控制系统启动风扇工作,当温度低于设定最高温度值后,风扇停止工作。当温度低于设定最低温度值后,控制系统启动加热器工作,当温度高于设定最低温度值后,加热器停止工作。当所测温低于最低和最高的极限值时,蜂鸣器报警提示用户采取相应的保护措施。该系统具有较高的可靠性、稳定性及良好的可扩展性,可满足现场环境下各种应用要求[4]。系统硬件设计框图如图1 所示。

1.2 主控制器模块

温度控制系统的主控制器采用STM32F103C8T 单片机,通过对传感器信号进行采集、处理和显示,实现了智能温控系统的功能。STM32F103C8T 是基于Cortex系列的微处理器,该产品具有良好的性价比,可以支持低功耗、高性能和高灵活性等要求,并具有强大的数字信号处理功能,可用于各种应用场合,如工业控制、医疗诊断、消费电子、汽车电子系统、航空航天和军事设备等领域[5]。

1.3 温度采集模块

温度采集模块选用DS18B20 数字温度传感器,通过与单片机进行通信,实现对温度的测量。该传感器具有体积小、精度高、工作稳定等特点,可在温度为-55 ℃ ~ +125 ℃ 范围内任意测量,能满足对各种不同温区及工况进行精确检测的需要[6]。能自动完成温度数据的采集、存储,主要用于室内或室外环境中环境温度的实时监测。电路原理图如图2 所示。

1.4 按键模块

按键模块设置3 个功能键,分别为s1、s2、s3。s1是功能切换键,通过切换可以设置温度最高极限值和最低极限值,即控制系统的报警值。加、减时可以按s2键或s3 键进行操作[7]。

1.5 LCD显示模块

在LCD 液晶面板中,每个像素都有一个对应于它所处位置的发光二极管阵列,该LED 阵列将从屏幕上显示出来的光转换成电信号后通过信号传输线传输到单片机,从而实现了对液晶显示屏信息存储、控制和处理的功能。本模块采用LCD1602,其包括LCD 面板和驱动电路、控制电路以及电源系统等部分组成[8]。由于LCD1602 液晶屏采用了全数字化控制,所以它可以实现任意亮度下的对比度调节;而普通LCD 只能根据使用者的要求进行手动调整。其显示内容可根据需要进行设置,同时还可对文字等信息进行编辑、修改。显示模块主要实现的功能是显示环境实时温度、最高和最低极限温度值和报警信息等。

1.6 蜂鸣器报警模块

蜂鸣器具有体积小,质量轻等特点。由于蜂鸣器的频率较高,所以需要将其与续流二极管一起使用时,才能正常地进行工作,否则会损坏或引起其他故障。对于有高频噪声的场合,要尽量选用双极型晶体管来替代。当温度采集模块采集到的环境温度高于最高极限值或者低于最低极限值时,单片机对温度信号进行处理,并对蜂鸣器发出控制信号,蜂鸣器开始工作并发出报警信号提醒用户[9]。

2 系统软件设计

软件设计采用C 语言进行编写。C 语言是一种通用的编程语言,具有灵活、方便等特点。C 程序具有强大的编程能力和良好的扩展性,因而被广泛地应用于各种软件开发领域中。

软件编程在keil 软件中进行,Keil 软件采用模块化设计思想和先进的编程技术,实现了对程序进行灵活扩展并提供强大的运行环境;具有良好的界面友好性,可根据用户需要配置各种功能模块或模块之间相互连接方式;支持多种编程语言及接口标准等。该软件已被广泛应用于电子仪器、仪器仪表和计算机应用等领域。可以通过Windows 平台运行,并具有丰富的扩展能力和强大的图形界面支持,使用户能够方便地管理自己的软件资源。

单片机上电后,系统进行初始化。用户根据需要对系统设置相应参数,包括温度的最高和最低的极限值。当设定好了温度阈值后,就可以开始正常工作了。如果温度设得太低或太高都会影响到系统的运行。初始化完成后,系统开始采集环境温度,通过对采集到的数据进行分析和处理。当温度过高,超过用户设置的最高极限值时,启动报警模块,蜂鸣器报警,同时风扇工作,达到降温的目的。当温度过低,超过用户设置的最低极限值时,启动报警模块,蜂鸣器报警,同时加热器工作,达到升温的目的。系统采集到的数据通过显示模块实时显示。温度的上下限值利用按键模块来设置。主程序流程图如图3 所示。

3 模糊PID算法设计

针对系统中存在着非线性、时变等不确定性因素以及外界干扰所引起的参数变化而使系统性能下降的问题,加入了模糊PID 算法,将模糊控制和传统的PID控制相结合,采用一种简单的隶属函数形式,通过对输入变量和输出变量进行模糊化处理来实现PID 控制器参数在线整定。模糊PID 控制结构如图4 所示。

其中,r(t) 为给定温度值,y(t) 为系统输出的温度值,e为误差值,ec 为误差变化率,KP、KI、KD为PID 的参数,u(t) 为输出信号。

4 实验测试与分析

测试环境如下:系统设定的控制温度分别为6 ℃ 和28 ℃,实验室环境温度为24 ℃。系统开始工作后,通过不同时刻的测量得到了不同的温度控制曲线如图5、6 所示。

从图5 和图6 的不同设定温度的实验中表明,例如设定温度为6 ℃,没有加入模糊PID 控制和加入模糊PID 控制均达到了预设的温度值,没有加入模糊PID 控制温度控制系统的响应时间为426 s,加入模糊PID 控制温度控制系统的响应时间为391 s;没有加入模糊PID控制温度控制系统的超调量为12%,控制误差为0.1 ℃。加入模糊PID 控制温度控制系统的超调量为0,控制误差为0.03 ℃。因此,加入模糊PID 控制的温度控制系统可以在一定程度上提高整个系统的性能,具有响应速度快、超调量小、稳态误差小及鲁棒性强等特点。

5 结束语

本文提出了一种基于模糊PID控制的温度控制系统。并给出其硬件设计和软件设计。采用模块化设计思想,将硬件电路中各单元分开实现功能。软件通过程序编写完成各个子系统间相互通讯与协调。该系统硬件电路简单实用、性能稳定可靠;软件部分设计合理、操作方便,可满足不同场合的使用要求。系统设计合理,操作简单方便,具有良好的人机交互性。

温度控制系统使用STM32 单片机作为控制核心,通过单片机对采集到的信号进行处理,实现了温度采集、温度控制、温度显示和设置等功能。温度采集通过DS18B20 数字传感器实现;温度控制由单片机对采集到的数据进行处理,通过控制加热器和风扇来实现;温度显示由LCD1602 液晶屏實现;温度设置通过按键模块来实现。该系统具有体积小、功耗低、可靠性高和抗干扰能力强等优点。同时还可以用于自动报警和自动控制,使自动化程度更高,达到节能环保目的。本系统简单合理,使用方便,具有良好的实用性和经济性。在保证恒定温度范围的前提下可满足不同温度环境下的需求。

加入模糊PID控制方法优化了传统PID控制器参数,提高了温度控制系统的稳定性和抗干扰性能。仿真结果表明:与传统温度控制相比,模糊PID 控制策略在保证控制精度的同时可以有效地抑制系统中存在的超调和振荡现象。该研究为进一步提高温度控制系统性能提供参考依据。

猜你喜欢
模糊PID温度控制
船舶主机温度控制方法优化
锻造温度控制
基于模糊控制的PLC在温度控制中的应用
步进电机模糊PID闭环控制系统仿真研究
微小型陆空两栖机器人地面移动控制方法
三菱PLC在电加热与温度控制中的应用