:针对传统的温度控制管理系统精确度不足、稳定性较低、耗电严重、智能化程度低的问题,提出了一种基于模糊PID算法的温度控制管理系统。以STM32单片机为核心,使用数字式传感器DS18B20进行温度采集,并将温度实时显示到LCD屏上。用户都能够通过按键模块直接对温度进行设定。当采集的温度过高时,控制器启动加热器工作;当采集的温度过低时,控制器启动风扇工作,以起到降温的作用,这样就可以将温度稳定在一定的范围内。根据给定值和实际值的偏差,加入模糊PID算法,使其满足控制要求。 摘 要:针对传统的温度控制系统精确度不足、稳定性较低、耗电严重、智能化程度低的问题,提出了一种基于模糊PID算法的温度控制系统。以STM32单片机为核心,使用数字式传感器DS18B20进行温度采集,并将温度实时显示到LCD屏上。用户能够最终靠按键模块直接对温度进行设定。当采集的温度过高时,控制器启动加热器工作;当采集的温度过低时,控制器启动风扇工作,以起到降温的作用,这样就可以将温度稳定在一定的范围内。根据给定值和实际值的偏差,加入模糊PID算法,使其满足控制要求。对实验数据结果进行分析可知:实验过程中,设定值和实际值的最大误差仅为0.03℃,控制精度达到98%以上。表明控制管理系统可以很好地实现对室内温度控制并具有较高的控制精度。 *基金项目:甘肃省教育厅2021 年度高等学校创新基金项目(2021B-511);酒泉职业技术学院校级科研项目(2022XJZXM02) 随着社会经济的发展, 温度控制在人们生产和生活的方方面面变得越来越普及和重要, 温度控制管理系统是保障工业生产顺利进行、提高产品质量和安全生产的重要手段。目前我国的工业企业数量众多,并且大多数都分布于城市中,因此对于环境控制要求较高[1]。随着我国科学技术的不断进步以及人民对生活品质的日益提升,智能温控系统逐渐成为了一种主流趋势[2]。
本设计以单片机为核心,采用了模块化结构,通过温度采集模块与单片机进行数据的传输,可实现对温度信号进行采集、处理和分析,从而实现对现场温度情况的检测和控制,同时还可以设置报警信息以及显示相关参数等。温度采集模块用于实时测量被测环境温度;同时还可以根据按键模块完成对温度的设定与更新功能[3]。当温度超过设定的最高温度值时,控制系统启动风扇工作,当温度低于设定最高温度值后,风扇停止工作。当温度低于设定最低温度值后,控制系统启动加热器工作,当温度高于设定最低温度值后,加热器停止工作。当所测温低于最低和最高的极限值时,蜂鸣器报警提示用户采取相应的保护措施。该系统具有较高的可靠性、稳定性及良好的可扩展性,可满足现场环境下各种应用要求[4]。系统硬件设计框图如图1 所示。 温度控制系统的主控制器采用STM32F103C8T 单片机,通过对传感器信号进行采集、处理和显示,实现了智能温控系统的功能。STM32F103C8T 是基于Cortex系列的微处理器,该产品具有良好的性价比,可以支持低功耗、高性能和高灵活性等要求,并具有强大的数字信号处理功能,可用于各种应用场合,如工业控制、医疗诊断、消费电子、汽车电子系统、航空航天和军事设备等领域[5]。 温度采集模块选用DS18B20数字温度传感器,通过与单片机进行通信,实现对温度的测量。该传感器具有体积小、精度高、工作稳定等特点,可在温度为-55 ℃ ~ +125 ℃ 范围内任意测量,能满足对各种不同温区及工况进行精确检测的需要[6]。能自动完成温度数据的采集、存储,主要用于室内或室外环境中环境温度的实时监测。电路原理图如图2 所示。
按键模块设置3 个功能键,分别为s1、s2、s3。s1是功能切换键,通过切换可以设置温度最高极限值和最低极限值,即控制系统的报警值。加、减时可以按s2键或s3 键进行操作[7]。 在LCD 液晶面板中,每个像素都有一个对应于它所处位置的发光二极管阵列,该LED 阵列将从屏幕上显示出来的光转换成电信号后通过信号传输线传输到单片机,从而实现了对液晶显示屏信息存储、控制和处理的功能。本模块采用LCD1602,其包括LCD 面板和驱动电路、控制电路以及电源系统等部分组成[8]。由于LCD1602液晶屏采用了全数字化控制,所以它可以实现任意亮度下的对比度调节;而普通LCD 只能根据使用者的要求进行手动调整。其显示内容可根据需要进行设置,同时还可对文字等信息进行编辑、修改。显示模块主要实现的功能是显示环境实时温度、最高和最低极限温度值和报警信息等。 蜂鸣器具有体积小,质量轻等特点。由于蜂鸣器的频率较高,所以需要将其与续流二极管一起使用时,才能正常地进行工作,否则会损坏或引起其他故障。对于有高频噪声的场合,要尽量选用双极型晶体管来替代。当温度采集模块采集到的环境温度高于最高极限值或者低于最低极限值时,单片机对温度信号进行处理,并对蜂鸣器发出控制信号,蜂鸣器开始工作并发出报警信号提醒用户[9]。 软件设计采用C 语言进行编写。C 语言是一种通用的编程语言,具有灵活、方便等特点。C 程序具有强大的编程能力和良好的扩展性,因而被广泛地应用于各种软件开发领域中。 软件编程在keil 软件中进行,Keil 软件采用模块化设计思想和先进的编程技术,实现了对程序进行灵活扩展并提供强大的运行环境;具有良好的界面友好性,可根据用户需要配置各种功能模块或模块之间相互连接方式;支持多种编程语言及接口标准等。该软件已被广泛应用于电子仪器、仪器仪表和计算机应用等领域。能够最终靠Windows 平台运行,并具有丰富的扩展能力和强大的图形界面支持,使用户能够方便地管理自己的软件资源。 单片机上电后,系统进行初始化。用户根据需要对系统设置相应参数,包括温度的最高和最低的极限值。当设定好了温度阈值后,就可以开始正常工作了。如果温度设得太低或太高都会影响到系统的运行。初始化完成后,系统开始采集环境温度,通过对采集到的数据做多元化的分析和处理。当温度过高,超过用户设置的最高极限值时,启动报警模块,蜂鸣器报警,同时风扇工作,达到降温的目的。当温度过低,超过用户设置的最低极限值时,启动报警模块,蜂鸣器报警,同时加热器工作,达到升温的目的。系统采集到的数据通过显示模块实时显示。温度的上下限值利用按键模块来设置。主程序流程图如图3 所示。
针对系统中存在着非线性、时变等不确定性因素以及外界干扰所引起的参数变化而使系统性能下降的问题,加入了模糊PID 算法,将模糊控制和传统的PID 控制相结合,采用一种简单的隶属函数形式,通过对输入变量和输出变量进行模糊化处理来实现PID 控制器参数在线整定。模糊PID 控制结构如图4 所示。
其中,r(t) 为给定温度值,y(t) 为系统输出的温度值,e为误差值,ec为误差变化率,KP、KI、KD为PID 的参数,u(t) 为输出信号。 测试环境如下:系统设定的控制温度分别为6 ℃ 和28 ℃,实验室环境温度为24 ℃。系统开始工作后,通过不同时刻的测量得到了不同的温度控制曲线 所示。
图5 温度控制曲线 的不同设定温度的实验中表明,例如设定温度为6 ℃,没有加入模糊PID 控制和加入模糊PID控制均达到了预设的温度值,没有加入模糊PID 控制温度控制管理系统的响应时间为426 s,加入模糊PID 控制温度控制系统的响应时间为391 s;没有加入模糊PID控制温度控制系统的超调量为12%,控制误差为0.1 ℃。加入模糊PID 控制温度控制系统的超调量为0,控制误差为0.03 ℃。因此,加入模糊PID 控制的温度控制系统能在一定程度上提高整个系统的性能,具有响应速度快、超调量小、稳态误差小及鲁棒性强等特点。
本文提出了一种基于模糊PID控制的温度控制管理系统。并给出其硬件设计和软件设计。采用模块化设计思想,将硬件电路中各单元分开实现功能。软件通过程序编写完成各个子系统间相互通讯与协调。该系统硬件电路简单实用、性能稳定可靠;软件部分设计合理、操作方便,可满足不同场合的使用要求。系统设计合理,操作简单方便,具有良好的人机交互性。温度控制管理系统使用STM32 单片机作为控制核心,通过单片机对采集到的信号进行处理,实现了温度采集、温度控制、温度显示和设置等功能。温度采集通过DS18B20 数字传感器实现;温度控制由单片机对采集到的数据进行处理,通过控制加热器和风扇来实现;温度显示由LCD1602 液晶屏实现;温度设置通过按键模块来实现。该系统具有体积小、功耗低、可靠性高和抗干扰能力强等优点。同时还可以用于自动报警和自动控制,使自动化程度更高,达到节能环保目的。本系统简单合理,使用方便,具有良好的实用性和经济性。在保证恒定温度范围的前提下可满足不同温度环境下的需求。 加入模糊PID控制方法优化了传统PID控制器参数,提高了温度控制管理系统的稳定性和抗干扰性能。仿真结果表明:与传统温度控制相比,模糊PID 控制策略在保证控制精度的同时可以有效地抑制系统中存在的超调和振荡现象。该研究为进一步提高温度控制管理系统性能提供参考依据。 [1] 刘小滨,刘寅,沈文浩.基于STM32单片机的环境温/度远程监控系统设计[J].中国造纸学报,2022,37(3):8. [4] 吕爱华.基于单片机技术的大棚远程温控系统应用[J]. 农机化研究,2023,45(6):5.[5] 邓云积,刘尧,吴遥远,等.基于单片机的智能家居温度控制管理系统设计[J].科技创新与生产力,2022(7):3. [8] 崔星华.基于单片机的船舱温度临界报警系统[J]. 舰船科学技术,2019(20):3. [9] 刘江虹,吴俊锋,梁艺珍,等.基于单片机的配电箱温度监测和火灾报警系统设计[J].消防科学与技术,2020,39(11):1542-1545. |