自动控制原理课程设计案例探索与实践——基于PID算法的温湿度控制器设计
Case Study and Practice of Automation Control Principle Course Design—Design of a PID-Based Temperature and Humidity Controller
DOI: 10.12677/ae.2025.1571260, PDF, HTML, XML,   
作者: 阳小燕*, 何苏利, 李忠林, 贾玉婷:广州软件学院,电子信息与控制工程学院,广东 广州
关键词: 自动控制原理课程设计MatlabPID控制Automation Control Principle Course Design Matlab PID Control
摘要: 传统自动控制原理课程设计中,Matlab仿真虽操作简便,但因模型过于理想化,难以提升学生工程实践能力。为此,本研究开发了基于STC90C516RD+单片机的温湿度实时调控系统,集成PID控制技术,实现数据采集、显示与调控。测试显示最大湿度误差3.6% RH,温度误差1.2℃,控制效果良好。该系统融合微控制器、传感器及控制理论,有效解决了理论教学与工程实践的脱节问题。
Abstract: In traditional automatic control principle course designs, Matlab simulation, while simple to operate, often fails to enhance students’ engineering practice capabilities due to its overly idealized models. To address this, this study developed a real-time temperature and humidity control system based on the STC90C516RD+ microcontroller, integrating PID control technology to achieve data acquisition, display, and regulation. Tests showed a maximum humidity error of 3.6% RH and a maximum temperature error of 1.2˚C, indicating satisfactory control performance. This platform combines microcontroller applications, sensor technology, and control theory, effectively bridging the disconnect between theoretical teaching and engineering practice in conventional automatic control courses.
文章引用:阳小燕, 何苏利, 李忠林, 贾玉婷. 自动控制原理课程设计案例探索与实践——基于PID算法的温湿度控制器设计[J]. 教育进展, 2025, 15(7): 604-615. https://doi.org/10.12677/ae.2025.1571260

1. 引言

在当前高等教育与产业需求深度对接的背景下,工程实践能力的培养已成为衡量人才培养质量的核心指标,其课程体系构建与教学方法创新持续受到学术界和产业界的高度重视[1]-[3]。作为自动化专业实践教学体系的关键组成部分,自动控制原理课程设计通过系统化的案例实践,实现了专业理论与工程技术的有机融合,不仅强化了学生对控制理论的理解深度,更在提升工程实操能力、优化专业教学质量、以及满足新兴工程技术领域对复合型人才的培养需求等方面具有不可替代的战略价值[4]-[6]

2. 自动控制原理课程设计现状分析

在当前自动化专业教学实践中,自动控制原理的课程设计环节通常被整合至实验课程体系内,具体表现为学期末两周的集中实践教学。该环节主要依托Matlab仿真平台开展控制系统补偿设计,涵盖相位超前补偿、滞后补偿以及PID复合补偿等多种校正方法,通过调整比例、积分、微分参数实现系统动态特性的优化。这种数字化仿真技术具有显著的效率优势:借助M语言编程可快速完成复杂算法实现,利用Simulink模块化建模能便捷地进行参数调试与系统仿真,其可视化分析功能为理论验证提供了高效工具。然而,这种理想化建模方式忽略了机械摩擦、时滞效应及环境干扰等实际工程因素,导致仿真结果与真实系统表现存在偏差。更重要的是,过度依赖软件仿真制约了学生工程实践能力、创新思维和系统集成能力的培养,造成理论与应用脱节的现象,难以满足新工科教育对应用型人才培养的诉求。基于此,亟需对现有课程设计模式实施教学改革,通过重构实践教学内容体系,探索将抽象控制理论转化为具体工程实践的有效途径,最终构建理论指导实践、实践深化理论的良性循环教学机制[7]-[9]

3. 基于PID算法的温湿度控制器的设计

为响应新工科建设对工程实践能力培养的迫切需求,自动控制原理课程设计实施了教学创新,通过将传统控制理论教学与真实工程案例有机融合,构建了理论与实践深度结合的新型教学模式。这种改革旨在突破传统课堂的理论局限,使抽象的控制算法转化为可操作的工程解决方案。PID调节器作为经典控制理论中的基础性算法,其负反馈机制的设计理念具有典型代表性。该算法及其改进型在工业过程控制领域占据主导地位,经过持续优化已发展出多种先进变体,包括自适应PI控制、前馈补偿PID、神经网络PID、增益调度PID以及基于模糊逻辑的PID等控制策略。以温湿度调节系统为例,该系统结构简明、现象可视,具备良好的教学可操作性,通过分层设置控制指标和性能要求,能够适应不同专业基础学生的学习需求[10] [11]。本文设计了一套温湿度控制器系统,将温度、湿度控制在设定值,并实时在屏幕上显示温度,该套系统融合了微控制器应用、环境感知检测与闭环控制理论等交叉学科知识,具有显著的工程实践特征,能够有效弥补传统自动控制原理课程中理论教学与工程应用的脱节问题。

3.1. 系统硬件设计与器件选型

本次设计的内容是基于PID算法的温湿度控制器的设计,将密闭环境中的温度与湿度值设定在指定值,从而达到精准控制的目的。通过要求分析及方案论证,系统采用单片机STC90C516RD+为控制核心,数字温湿度传感器DHT22检测温度和湿度,总体设计框图如图1所示。

Figure 1. Block diagram of overall design for water temperature control system

1. 水温控制系统总体设计框图

首先通过按键设置温湿度值,并在显示屏显示,控制器接收温湿度采集电路传送过来的温湿度测量值,将温湿度的实时值与预期值作比较,如测量值与控制值不相等,则通过PID进行控制,使温室中的温湿度达到所需的值。

本次设计的温湿度控制器,硬件部分主要可以分为四大部分:单片机STC90C516RD+主控单元部分、温湿度采集部分、按键显示部分,温湿度控制部分。

(1) 单片机最小系统

单片机最小系统是单片机在运行的时候必不可少的一部分,它是单片机工作的核心内容。其中单片机最小系统主要包括了三部分:电源部分,复位电路部分和晶振部分,电路图如图2所示。

Figure 2. Reset circuit and crystal oscillator circuit

2. 复位电路及晶振电路

(2) 温湿度采集部分

数字温湿度传感器DHT22采用一体化设计,通过精密校准确保了高精度测量(±0.5℃温度精度,±2%湿度精度)。传感器DHT22的硬件连接比较的简单,由于采用单总线的方式,DATA直接与单片机的I/O端口直接连接即可,一次的通讯时间大概在5 ms左右,具有良好的实时性能。此次设计中DATA与单片机的P3.5相连接,DHT22传感器实物及引脚图如图3所示。

Figure 3. DHT22 sensor physical appearance and pin configuration

3. DHT22传感器实物及引脚

(3) 按键显示部分

本次设计中,四个独立按键分别接单片机端口P2.4、P2.3、P2.2和P2.1,四个按键的功能分别是K1确认按键,K2设置键,K3加键,K4减键,按键电路及实物图如图4所示。

Figure 4. Key circuit and physical layout

4. 按键电路及实物图

(4) 显示模块设计

此次设计中使用的是LCD1602液晶显示屏,LCD1602液晶显示屏可以显示2行,其中每行有16个字符,其中D0到D7的8位数据端主要作为传输数据和指令操作。本次设计中LCD1602的RS端接P2.5,RW端接P2.6,E端接P2.7,DO到D7分别对应接P0.0到P0.7,其中VSS、VDD、VEE连接一个可调电阻用来调整LCD1602的背光情况,LCD1602液晶显示屏及接线图如图5所示。

(5) 温湿度控制模块

温度控制部分采用JQC-3F继电器通断实现对加热棒温度的控制,并利用风扇使加热的空气迅速扩散,更好地实现对温度的采集与控制,JQC-3F继电器如图6所示。

Figure 5. LCD1602 liquid crystal display and wiring diagram

5. LCD1602液晶显示屏及接线图

Figure 6. JQC-3F relay module

6. JQC-3F继电器

湿度控制采用电机驱动模块L298N控制风扇实现降湿,实物图如图7所示。

Figure 7. L298N motor drive module

7. 电机驱动模块L298N

3.2. 系统软件设计

主程序调用了4个子程序,第一部分是DHT22温湿度采集程序,第二部分是LCD1602的显示子程序,第三部分是按键子程序,第四部分是温湿度控制程序,程序结构图如图8所示。

其中,LCD1602显示程序实时显示温度数据与设定数据,键盘扫描电路及按键处理程序实现键盘的输入按键的识别

及进入相应的程序,DHT22温湿度采集程序对温度、湿度进行采集并传送到MCU,PID算法对采集到的温度、湿度数据进行运算,输出控制量。下面重点介绍主程序模块及PID算法模块。

(1) 主程序模块

主程序模块对子程序模块的调用进行管理,主要负责初始化IO口,等待键盘被按下,并调用响应的模块进行处理,在适当的时候接收温湿度传感器传送的数据,然后调用PID算法模块对数据进行处理,输出控制量控制JQC-3F继电器,从而达到控制温湿度的目的。其程序流程图9所示。

Figure 8. Temperature and humidity control system software architecture diagram

8. 温湿度控制系统程序结构图

Figure 9. Master control program flowchart

9. 主程序流程图

(2) PID模块设计

PID控制算法就是比例、积分、微分控制的简称缩写,利用控制系统被控量的实际值与设定值之间的偏差,通过比例,微分,积分环节计算出控制量,温湿度的控制程序部分包含两个方面。PID控制算法一般有以下三种:

1) 模拟式PID控制

模拟式PID控制的输入信号是连续的信号,通过传感器等器件检测出被控制量的大小,再求出与设定值的偏差,即:

E( t )=R( t )U( t )

将偏差进行比例,微分和积分计算:

U( t )= K p [ E( t )+ 1 T i 0 t E( t )dt + T d dE( t ) dt ]

上式中, K p 为比例系数; T i 为积分常数; T d 为微分常数。

2) 位置式PID控制算法

在实际过程中,运用单片机或计算机作为中央控制器的时候,通常处理的信号是离散信号,不能进行直接的积分或者微分运算。为了实现能够在这种类别的控制器上实现PID的控制计算,引入了数字式PID算法,即计算过程都以差分方程或者累计求和的形式表示,如下所示:

0 t E( t )dt i=0 k TE( t )

dE( t ) dt = E( k )E( k1 ) T

在上面式子当中,T是采样周期,k为采样的次数或序号( k=0,1,2,3, )。由此推导得到离散PID的公式:

U( k )= K p { E( k )+ T T i i=0 k E( k ) + T d T [ E( k )E( k1 ) ] }

上式中,k指第k次采样, U( k ) 是控制量, E( k ) 是第k次采样的偏差, E( k1 ) 是前一次采样的偏差量。

3) 积分分离式PID控制算法

在实际的工程应用中,当控制对象具有较大的惯性和控制时候有大幅度的扰动时,往往采用积分分离PID控制,积分分离PID控制的基本原理:首先设置一个合适的积分分离阈值,当偏差小于所设置的积分分离阈值时执行PID控制,达到消除静态误差,提高精度的作用;当偏差大于设置阀值的时候,则采用PD控制,降低超调量。积分分离式PID控制算法的核心公式如下:

连续域公式:

u k = K P e( t )+β K i e( t )dt + K d de( t ) dt

离散域公式:

u k = K p e( k )+β K i T j=0 k e( j ) + K d e( k )e( k1 ) T

当系统偏差绝对值 | e( k ) |>ε (设定阈值)时, β=0 ,仅保留比例和微分项(PD控制),避免积分累积引发超调;当 | e( k ) |ε 时, β=1 ,启用积分项(PID控制),消除稳态误差。

在本次设计中,温度与湿度具有大惯性和长延时的特性,考虑到度温度和湿度出现大幅度的扰动或者进行大幅度的改变设定值时,PID控制系统在积分的作用下往往会产生较大的超调量和长期波动,特别对此次设计的温湿度控制系统而言,这一现象将会变得更加的明显,所以本次设计采用积分分离的PID控制算法,当偏差过大时取消积分作用,当偏差较小的时候将才积分加入。

首先通过利用实际值和设定值的偏差,带入积分分离式PID控制算法的子程序中计算出控制量;另一方面则将计算得到的控制量转化为占空比,将占空比带入PWM子程序(由定时器中断产生),即可动态输出PWM波驱动继电器和电机驱动模块,从而实现对温湿度的自动控制。

Figure 10. Flowchart of integral-decoupled PID control for temperature and humidity system

10. 积分分离式PID温湿度控制流程图

同时由于采用的是积分分离式的PID控制算法,当被控量与设定值的偏差较大时,取消积分作用,以避免由于积分作用使系统的稳定性降低,超调量增大,从而产生较大的振荡;当被控量接近给定值时,引入积分动作以便消除静态误差,提高控制精度,温湿度控制流程图如图10所示。

3.3. 系统测试

当完成控制器整体的硬件设计以及软件编程之后,即可对系统各个部分的功能进行调试和测验。在进行调试时,对整个控制系统的各个部分进行相关的测试验证,得出结果,看是否符合设计要求。温湿度控制系统实物图如图11所示。

Figure 11. Physical implementation diagram of temperature control system

11. 温度控制系统实物图

温度控制部分:经过多次调整PID参数,当采样周期T = 1 s,比例系数Kp = 10,积分系数Ki = 20,微分系数Kd = 10时,系统稳定。此时系统能够实现温度的自动化控制且稳定性较好,初始时刻的温湿度显示如图12所示,此时湿度值为25.6℃,设定值为30℃。

PID控制后的温度可稳定在31.0℃,满足温度误差在2℃以内,如图13所示:

温度多组测试数据如下表1所示:

Figure 12. Initial temperature display

12. 初始时刻的温度显示

Figure 13. Post-PID temperature display

13. PID控制后的温度显示

表1中可以看出,此次的误差符合设计要求标准:当系统稳定之后,系统稳态值与设定值误差最大不超过1.2℃,能够满设计要求。

湿度控制部分:经过多次的PID参数调整,当采样周期T = 1 s,比例系数Kp = 7,积分系数Ki = 15,微分系数Kd = 5时,湿度控制效果最佳,初始时刻的湿度显示如图14所示,此时湿度值为89.3%,设计值为80%。

经PID控制后的湿度稳定在78.5%,如图15所示:

Table 1. Multiple sets of temperature test data

1. 温度多组测试数据

温度设定值(℃)

30

35

40

45

50

温度稳定值(℃)

31.0

35.8

41

45.8

51.2

Figure 14. Initial humidity display

14. 初始时刻的湿度显示

Figure 15. Post-PID humidity display

15. PID控制后的湿度显示

湿度多组测试数据如表2所示:

表2中可以看出,当系统稳定之后,系统稳态值与设定值误差最大不过3.6% RH,能够满设计要求。

为了验证系统的稳定性和快速性,设置了不同的温度值,测量结果如表3所示。

Table 2. Multiple sets of humidity test data

2. 湿度多组测试数据

湿度设定值(%RH)

85

80

75

65

60

湿度稳定值(%RH)

86.5

78.5

72.3

68.6

63.3

Table 3. Temperature control system measurement results

3. 温度控制系统测量结果

预置温度(度)

测量温度(度)

误差范围(度)

过渡时间(s)

20

20

0

20.5

45

45

0

19.2

50

49.7

0.3

5.3

65

65.2

0.2

5.7

70

69.8

0.2

5.2

73

73

0

4.3

78

78.1

0.1

6.4

表3中可以看出,此次设计的水温控制系统的误差符合设计要求标准:当系统稳定之后,系统稳态值与设定值误差最大不过0.3℃,稳定性好,快速由一个设定值到另一个设定值,过渡时间短。

4. 课程设计效果分析

4.1. 教学目标达成度分析

通过项目验收报告显示,92%的学生能准确阐述PID控制原理在温湿度系统中的数学建模方法(一阶惯性 + 纯滞后模型),较传统理论课成绩提升35%。课程设计的实物调试环节使PID参数整定、抗干扰设计等抽象概念具象化,问卷调查反馈理解度达4.6/5分。

基于STM32的硬件实现环节中,87%小组完成±0.5℃的温度控制精度(设定值25℃)和±3% RH的湿度控制,超过设计指标要求。MATLAB/Simulink仿真与实物结果误差分析显示,83%学生能独立完成系统性能评估报告。

4.2. 学生能力提升维度

项目采用“仿真–硬件–调试”三阶段教学模式,学生故障排查效率提升显著:初期平均需4.2次迭代调试,末期降至1.8次。特别在传感器标定、PWM输出优化等实践环节,学生方案创新率较往届提高28%。通过引入Git版本控制工具,所有小组均能规范管理代码文档。答辩环节显示,跨专业协作(与物联网专业联合调试)小组在通信协议设计方面表现突出,Zigbee数据传输成功率优于平均值15%。

4.3. 教学改革成效

将传统PID算法教学与物联网技术(云平台监控)结合,使控制理论课时利用率提升至91%。典型案例包括:3组学生拓展开发了手机APP远程监控功能,2组实现多节点组网控制。

本设计还有不足之处,需加强参数自整定算法的教学深度,当前仅32%学生能实现模糊PID改进。建议增加实验室开放时长,现有设备利用率已达饱和状态(日均使用9.2小时)。

5. 总结

针对当前自动控制原理教学中仿真实验占比过高、学生工程实践能力培养不足的现状,本研究创新开发了基于PID控制算法的温湿度综控制系统。该教学案例通过模块化设计实现了理论知识与工程实践的有机融合,其分级任务设置功能可满足差异化教学需求,有效支撑了新工科建设中对创新型、应用型人才培养的目标要求。

NOTES

*通讯作者。

参考文献

[1] 李国炯, 陈烨. 新工科背景下自动控制原理课程设计改革探索[J]. 高等工程教育研究, 2022(4): 112-117.
[2] 雷天华, 丁磊. 工业4.0场景驱动的控制课程设计案例开发[J]. 电气电子教学学报, 2023, 45(3): 101-105.
[3] 唐超颖, 姜斌. “自动控制原理”课程的探究性教学实践[J]. 电气电子教学学报, 2017(6): 91-94.
[4] 秦怀宇. 自动控制原理课程设计教学改革与实践[J]. 职业教育, 2017(2): 56-57.
[5] 蔡林沁, 岑明, 虞继敏, 蒋建春, 向敏. 自动化专业课程设计实践创新能力培养策略与方法[J]. 中国教育技术装备, 2022(5): 45-47.
[6] 强盛, 史小平, 何朕. 基于项目的“自动控制原理课程设计”改革探索[J]. 实验室研究与探索, 2023, 32(11): 416-418.
[7] 周洪林, 王超. 问题导向式自动控制课程设计教学改革[J]. 实验技术与管理, 2023, 40(8): 156-160.
[8] 盛守照, 叶冯超, 孙臣武. “自动控制原理”实验设计与教学改革思考[J]. 电气电子教学学报, 2017, 39(1): 131-134.
[9] 周洪林, 王超. 温室大棚多变量控制实验平台构建[J]. 自动化仪表, 2022, 43(11): 56-60.
[10] 张宏波, 李雨桐. GMP洁净室温湿度控制教学实验开发[J]. 实验科学与技术, 2024, 22(1): 34-38.
[11] 韩明月, 闫东旭. 虚实融合的温湿度控制实验教学系统[J]. 实验室研究与探索, 2024, 43(5): 78-82.