基于STM32单片机的温度控制系统设计
2022-06-03贺佩
贺佩
摘要:文章首先介绍了整个控温系统的设计思路,然后从温度采集以及逻辑控制两个方面对其硬件部分设计进行分析,最后对系统软件部分进行设计,最终达到提高控温系统精度、降低损耗、提升电路工作效率及其可靠性的目的。
关键词:STM32单片机;温度控制;PID算法
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2022)08-0098-02
随着当前市场经济水平不断提高,温度检测控制系统逐渐融入人们的生产生活中,极大地提高了生产、生活的效率、舒适性以及便利程度。与此同时,人们对于温度控制系统方面的要求也在不断提高。为进一步提高温度控制系统的精准性以及稳定性,加强对于温度控制系统的设计研究,因此,本文基于STM32单片机对控温系统的设计展开详细探讨。
1 系统设计思路
温度控制系统的温度测量以及温度控制的可靠性和稳定性与半导体激光器LD之间有着极其密切的关系,LD的性能不仅会受到温度影响,而且在实际运行过程中,LD的电流以及输出功率等都会由于发热而导致环境温度发生变化,进而使得LD正常运行受到一定影响。因此,在实际进行温度控制系统设计过程中,为保障系统性能,需要通过设计一种逻辑电路实现对于控温系统的精准控制。从PWM控制信号、EN温控板工作控制信号和控制H桥导通的切换信号入手,在逻辑控制电路的作用下,使得输入信号通过整流器件实现对于H桥的导通控制,以此对TEC温度进行精准控制,这种系统设计方式能够有效减少开关损耗,同时进一步提高控温系统运行的可靠性。此外,在算法设计方面,由于传统积分分离PID算法会出现震荡情况,因此在本文所讨论的系统设计当中,将其替换成为变速积分PID算法,以此确保控制曲线能够平稳过渡,提升温度控制系统的稳定性[1]。在此系统设计思路之下,明确了基于STM32单片机的温度控制系统的整体设计框架,如图1所示。
2 硬件部分设计
对于整个温度控制系统硬件部分的设计而言,主要包括的硬件结构有热敏电阻、上位机、STM32单片机、H桥电路以及逻辑控制电路等。其中热敏电阻的主要作用在于温度的采集;上位机的作用是进行温度的设定;而STM32单片机则是对所采集到的温度值与设定的温度值进行偏差值计算,由此得到PWM信号的占空比;然后将获得的PWM信号、RN使能信号以及SWITCH信号经由逻辑控制电路传输到H橋电路中,以此实现温度的控制,其中涉及的硬件电路设计包括温度采集电路以及逻辑控制电路两个部分。
(1)温度采集
温度采集电路设计主要是通过热敏电阻实现温度采集的,本次硬件设计选用热敏电阻的主要原因在于,热敏电阻有着极高的灵敏度,即便是微小的温度变化也能够有效感知,能够检测出6~10℃的温度变化,而且其工作温度范围相对较宽,通常情况下常温器件适用于-55℃~315℃,高温器件适用温度高于315℃,而且目前可测最高温度高达2000℃,低温器件适用于-273℃~-55℃,具有体积小、稳定性高的优点。温度采集电路的主要设计内容如下:其中VDDA为2.5V,在电路中设置一个10kΩ的电阻,将其与热敏电阻进行串联,以此达到分压的目的,然后将由VDDA传出的电压输送到单片机中,在单片机的功能支持下,通过计算分析能够得到热敏电阻此时的电压,再根据热敏电阻生产厂家提供的电压温度对照表得到此时所测量的实际温度,以此达到温度采集的目的。
(2)逻辑控制
逻辑控制电路的主要功能是,对于由STM32单片机输出的PWM信号、RN使能信号以及SWITCH信号进行转化,将其输入到H桥电路中,以此完成对于TEC的温度控制。其中H桥导通切换信号的作用主要是控制导通的方向,以此达到加热制冷目的;而使能信号是控制温控板工作状态的信号,决定其加热或制冷功能的发挥;PWM信号则是通过占空比达到控制系统加热或者制冷时间的目的。
逻辑控制电路示意图如图2所示。在实际运行过程中,当输出的使能信号EN处于高电平状态下时,由S输出的Sout信号就会与PWM信号保持同步性,此时就需要由SWITCH信号决定整个控温系统是发挥制冷功能还是制热功能。若SWITCH信号为高电平,那么电路模拟开关当中的NO会与Sout直接导通,那么NO呈现出的就是高电平状态,与PWM信号保持一致,而NC则为低电平,这就会使得H桥当中的TEC+呈现出高电平状态,而TEC-为低电平状态,以此实现温度的提升。而当SWITCH信号为低电平时,那么电路模拟开关当中的NC会与Sout直接导通,那么NC呈现出的就是高电平状态,与PWM信号保持一致,而NO则为低电平,这就会使得H桥当中的TEC-呈现出高电平状态,而TEC+为低电平状态,以此实现温度的降低。在使能信号EN处于高电平状态下时,控温系统是能够正常进行制冷或者制热,其实际发挥控温功能的关键点表现在SWITCHDE的电平高低上,因此通过对SWITCH电平的控制改变TEC-和TEC+的电平表现,进而达到控制温度的目的。
当输出的使能信号EN处于低电平状态下时,此时的加热、制冷温度控制板处于不工作的状态,无论SWITCH的电平如何变化,由Sout输出的信号始终为低电平,不会受到任何影响,这就会导致由模拟开关输出的NC和NO也始终处于低电平状态之下,使得最终TEC-和TEC+的电平始终处于0V的状态之下。即当使能信号为低电平状态下时,控温板处于停止工作状态之下,那么此时的TEC也是无法进行运转的。此外,由于本文所采用的H桥逻辑电路结构在实际运行过程中始终只有一半桥是处于运行状态之下,这在一定程度上降低了系统的功耗,保障了系统运行效率[2]。
3 软件部分设计
软件设计方面主要包括控温算法设计以及控温串口上位机的软件编写两个部分。
控温算法设计方面,为改善传统算法进行温度控制时出现的温度抖动问题,采用了变速积分PID算法取代积分分离PID算法。积分分离控制算法公式:
由上述公式可知,积分分离算法主要是在偏差较大时取消积分作用,在偏差较小时引入积分作用,这样在实际进行控温的过程中就会出现温度抖动,而变速积分PID算法则重新划分了偏差值区间,当温度偏差较大时,降低积分项的累加速度,以此减弱积分作用,有效缓解温度抖动问题,而当温度改变幅度不大时,则可以适当提高积分项的累加速度,在提高工作效率的同时,由于温度偏差小,因此不会出现明显的抖动情况,进一步提高了温度控制的稳定性[3]。
变速积分PID算法的实际运行控制流程包括以下几个步骤:第一,采集LD温度数据;第二,对采集到的温度数据与设定的温度值之间的偏差进行计算;第三,判断偏差值的大小是否在一定范围之内,若偏差值较大,则通过变速积分算法对积分累加速度进行调节,若偏差值较小,则可以直接进行PID控制,以此完成温度的控制和调节。在实际进行验证的过程中,可以看出,积分分离PID算法下的温度变化有着明显的抖动情况,抖动范围在2℃左右,而相比之下变速积分PID算法下的温度变化相对较为稳定、平缓[4]。
在温控串口上位机软件编写方面,需要基于上位机本身的功能需求和實际作用进行串口的设计。其上位机功能主要有串口的设置、温度的设定、参数保存、温控启闭以及状态查询等多个功能。其中,温控启闭功能的实现主要通过向温控板发送相应指令来实现功能控制;参数的保存功能是通过对STM32单片机发送相应指令,达到存储温度控制值的目的;查询功能则主要包括对环境温度的查询、实施TEC的查询以及设置的温度值、温控板状态等方面的查询[5]。
4 结束语
综上所述,本文基于STM32单片机的温度控制系统设计进行探讨,在硬件方面对温度采集电路以及逻辑控制电路进行设计分析,在软件方面对控温算法和控温串口上位机进行设计,并结合传统温控系统中温度大幅调整时的抖动情况以及能耗问题做出了相应改善。本文所提出的控温系统设计不仅能够有效保障系统工作的稳定性,而且也在一定程度上提高了系统运行效率。
参考文献:
[1] 万方高,卢俊宇,卢俊诚,等.浅谈基于STM32单片机的智能风扇控制系统设计[J].中国设备工程,2021(13):95-96.
[2] 杨清志,徐宏.基于STM32F407单片机的蓄电池智能监测与控制系统设计[J].东莞理工学院学报,2021,28(3):40-45.
[3] 吴海兄,丁哲文,陈伟明,等.基于STM32的无线红外测温系统设计[J].电子测试,2020(19):18-20,9.
[4] 谢凌菲.基于STM32的空间环模设备热沉温控系统设计[D].兰州:西北师范大学,2020.
[5] 林学伟,严明忠.基于STM32单片机的智能家居控制系统设计[J].廊坊师范学院学报(自然科学版),2020,20(4):35-38.
【通联编辑:代影】