[其他产品]

单片机常用温度控制算法

[复制链接]
9932|14
手机看帖
扫描二维码
随时随地手机跟帖
cr315|  楼主 | 2024-6-17 11:47 | 显示全部楼层 |阅读模式
温度传感器在我们现实生活中应用非常广泛,小到ic芯片内部集成温度传感器,大到各种家电、工业设备安装温度传感器。

今天就给大家分享一下温控仪中几种常见的温度控制算法。

概述

常用PID调节器/温控仪控制算法包括常规PID、模糊控制、神经网络、Fuzzy-PID、神经网络PID、模糊神经网络、遗传PID及广义预测等算法。

常规PID控制易于建立线性温度控制系统被控对象模型;模糊控制基于规则库,并以绝对或增量形式给出控制决策;神经网络控制采用数理模型模拟生物神经细胞结构,并用简单处理单元连接成复杂网络;Puzzy-PID为线性控制,且结合模糊与PID控制优点。

温度控制系统是变参数、有时滞和随机干扰的动态系统,为达到满意的控制效果,具有许多控制方法。故对几种常见的控制方法及其优缺点进行了分析与比较。

常见温度控制方法

1.常规PID控制
PID控制即比例、积分、微分控制,其结构简单实用,常用于工业生产领域。原理如图1:
13691666fb13b8a830.png
图1 常见PID控制系统的原理框图

明显缺点是现场PID参数整定麻烦,易受外界干扰,对于滞后大的过程控制,调节时间过长。其控制算法需要预先建立模型,对系统动态特性的影响很难归并到模型中。在我国大多数PID调节器厂家生产的调节器均为常规PID控制算法。

2.模糊控制
模糊控制(Fuzzy Control)是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的计算机控制。原理如图2。昌晖仪表YR-GFD系列傻瓜式PID调节器使用的就是模糊控制算法。
70945666fb152f3c15.png
图2  模糊控制系统原理框图

3.神经网络控制
神经网络控制采用数理模型的方法模拟生物神经细胞结构,用简单处理单元连接形成各种复杂网络,并采用误差反向传播算法(BP)。原理如图3:
95141666fb16837e0b.png
图3 神经网络控制系统的原理框图

4.Fuzzy-PID控制
模糊控制不需知道被控对象的精确模型,易于控制不确定对象和非线性对象。PID本质是线性控制。将模糊控制与PID结合多,以Fuzzy-PID混合控制为例,据给定值与测量值之偏差e选择智能控制器,根据e的变化选择控制方法,当|e|≤emin或|e|≥emax时,采用PID控制;当emin≤|e|≤emax时,采用Fuzzy控制。其结构框图如图4。
94604666fb18802f6d.png
图4 Fuzzy-PID混合控制结构框图

5.神经网络PID控制
在PID控制的基础上,加入神经网络控制器,构成神经网络PID控制器,如图5。神经网络控制器NNC是前馈控制器,通过对PID控制器的输出进行学习,在线调整自己,目标是使反馈误差e(t) 或u(t)趋近于零,使自己逐渐在控制中占据主导地位,以减弱或最终消除反馈控制器的作用。晖仪表YR-GAD系列人工智能调节器/温控仪使用的就是神经网络PID控制控制算法。
63405666fb19b5f935.png
图5 神经网络PID控制结构框图

6.模糊神经网络控制
将模糊逻辑与神经网络结合,采用神经网络模糊逻辑推理网络模型和快速的自学习算法,通过网络的离线训练和在线自学习使控制器具有自调整、自学习和自适应能力,达到模糊智能控制。如图6。
86655666fb1b554f3f.png
图6 模糊神经网络控制系统结构图

7.遗传PID控制
遗传PID控制是将控制器参数构成基因型,将性能指标构成相应的适应度,利用遗传算法来整定控制器的最佳参数,不要求系统是否为连续可调,能否以显式表示。基于遗传算法的自适应PID控制的原理框图如7。

遗传PID温控系统将测量值与给定值进行比较,用遗传算法来优化PID参数,然后将控制量输出,实现将PID参数串接构成完整染色体,从而构成遗传空间中的个体,过通过繁殖交叉和变异遗传操作生成新一代群体,经过多次搜索获得最大适应度值的个体。
61390666fb1ce9e535.png
图7 基于遗传算法的自适应PID控制结构图

8.广义预测控制
预测控制(Predictive Control)是基于模型的计算机控制算法。其预测模型有脉冲响应模型、阶跃响应模型、CAMRMA模型和CARIMA模型。基于CARIMA模型的广义预测控制(GPC)是一种新型计算机控制算法。

常见温度控制方法的对比分析

通过上述温度控制方法的原理分析,下表给出各种温度控制特性与应用场合的情况。
温控仪控制算法
控制算法的控制特性
温控仪应用场合




常规PID拄制
优点:结构简单、实用,性价比高。
缺点:鲁棒性不强;适应性不快;协调
性不够好等
易于建立的线性温度控制系统的被控对
象模型
模糊控制
与传统的PID控制相比,响应快,超
调量小,鲁棒性强
纯滞后,参数时变或非线性的温度控制
系统,如干燥机、工业炉等的温度控制
神经网络控制
鲁棒性强,响应速度快,抗干扰能力
强,算法简单,易于用硬件和软件实现
多变量、多参数、非线性与时变系统
如:电阻炉的温度控制等

合控

Fuzzy-PID控制
具有很强的适应性,只要知道部分知识
即可建立BP算法
一些大滞后系统中自动寻优P、I、D参
数,如管式加热炉的温度控制
模糊神经网络控制
动态响应快,能达到高精度的快速控制,
具有极强的鲁棒性和适应能力,稳定性好
需要不断修正控制参数的温度控制系统。
如热电偶校验仪等控温装置
遗传PID控制
调试方便,控制精度高,抗干扰性强,
较高的稳定性能
寻求全局最优且不需任何初始信息的P、
I、D参数寻优温控系统中,如陀螺温
控系统
自适应广义预测
及控制
鲁棒性强,控制精度高
医用温度控制,如微波热疗中的 温度
控制
模糊、神经网络
模糊控制鲁棒性强。动态响应与上升时
间快,超调小,PID控制器的动态跟踪
品质好和稳态精度高
具有较太的滞后性,非线性、时定性的
温度控制系统,如高分子聚合 物反应
温度控制等
模糊、神经网络
和遗传控制
实现温度随外界干扰条件的乏化,实时的
调节网络和控制规律的功能,具有良好
的温度跟踪性能和抗干扰能力
对升温速度和恒温过程的精度要求较高
的控制系统,如淬此炉温度控制等

将线性与非线性控制相结合。使温度能满足用户的精度要求是温控系统的最终目的。
在实际应用中,根据具体的应用场合、不同的加热对象、不同的控制要求和控制精度,选择不同的控制方式。
来源:
http://blog.sina.com.cn/s/blog_c687c00e0102w5oz.html

使用特权

评论回复
呐咯密密| | 2024-6-17 14:39 | 显示全部楼层
PID比较常用

使用特权

评论回复
小明的同学| | 2024-6-26 23:17 | 显示全部楼层
温度反应迟钝,控制起来,想非常精确,也有难度。

使用特权

评论回复
21mengnan| | 2024-6-28 11:55 | 显示全部楼层
开关控制是一种最简单的控制方法,当温度低于设定值时打开加热器,当温度高于设定值时关闭加热器。

使用特权

评论回复
21mengnan| | 2024-6-28 11:55 | 显示全部楼层
开关控制的优缺点:
优点
简单易实现
适用于对精度要求不高的场景
缺点
温度波动较大,存在过冲和滞后现象
对设备寿命有一定影响,因为频繁开关可能导致磨损

使用特权

评论回复
21mengnan| | 2024-6-28 11:55 | 显示全部楼层
算法代码实现极其简单
if (currentTemperature < setPoint) {
    heaterOn();
} else {
    heaterOff();
}

使用特权

评论回复
21mengnan| | 2024-6-28 11:56 | 显示全部楼层
比例积分微分控制(PID Control)
原理
PID控制通过比例(P)、积分(I)和微分(D)三个部分调节加热器的功率,以实现精确的温度控制。

比例(P):当前误差的比例量,控制响应速度
积分(I):过去误差的累积量,消除稳态误差
微分(D):误差的变化率,预测未来误差,减少超调
优点
高精度控制
可调参数,适应不同系统
缺点
参数调整较复杂
对于变化较快的系统可能响应较慢

使用特权

评论回复
21mengnan| | 2024-6-28 11:56 | 显示全部楼层
double previousError = 0;
double integral = 0;

void updatePID(double setPoint, double currentTemperature) {
    double error = setPoint - currentTemperature;
    integral += error;
    double derivative = error - previousError;
   
    double output = Kp * error + Ki * integral + Kd * derivative;
    setHeaterPower(output);
   
    previousError = error;
}

使用特权

评论回复
21mengnan| | 2024-6-28 11:56 | 显示全部楼层
模糊逻辑控制(Fuzzy Logic Control)
原理
模糊逻辑控制通过将输入误差和误差变化率转换为模糊变量,然后应用模糊规则来调整加热器功率。

优点
对系统模型不敏感
适用于非线性和复杂系统
缺点
设计模糊规则和隶属函数较复杂
调整和优化较耗时
实现
模糊逻辑控制的实现较复杂,通常需要定义一组模糊规则和隶属函数,并通过模糊推理和去模糊化过程计算输出。

使用特权

评论回复
21mengnan| | 2024-6-28 11:56 | 显示全部楼层
递推最小二乘法(RLS - Recursive Least Squares)
原理
递推最小二乘法通过递推方式更新系统模型参数,并基于模型预测温度变化,调整加热器功率。

优点
能实时更新模型参数
对系统变化有较好适应性
缺点
实现较复杂
需要较多计算资源
实现
RLS算法的实现涉及矩阵运算和递推公式,通常用于较复杂的温控系统。

使用特权

评论回复
21mengnan| | 2024-6-28 11:56 | 显示全部楼层
神经网络控制(Neural Network Control)
原理
利用人工神经网络(ANN)进行温度控制,通过训练神经网络模型来学习和预测温度变化,调整加热器功率。

优点
能处理复杂和非线性系统
学习能力强,可自动调整
缺点
需要大量训练数据
计算复杂度高
实现
神经网络控制通常结合机器学习框架进行实现,如TensorFlow或PyTorch,需要设计网络结构并进行训练。

使用特权

评论回复
21mengnan| | 2024-6-28 11:57 | 显示全部楼层
不同的温控算法适用于不同的应用场景。开关控制适用于简单场景,PID控制在精度和响应速度之间有良好平衡,模糊逻辑控制和神经网络控制适用于复杂非线性系统。选择合适的算法需要综合考虑系统的特性、控制精度、响应速度和实现复杂度。

使用特权

评论回复
mega99| | 2024-6-29 08:48 | 显示全部楼层
本帖最后由 mega99 于 2024-6-29 13:21 编辑

温度控制器采用2P2Z控制更好,PID可以看做是2P2Z数字控制器的一个特例

T(k) = a1 * T(k-1) + a2 * T(k-2) + b0 *e(k) + b1 * e(k-1) + b2*e(k-2)

a2 = 0 就是PID了

使用特权

评论回复
PID算法很是常见,学到了

使用特权

评论回复
xionghaoyun| | 2024-7-13 09:17 | 显示全部楼层
问题代码呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1232

主题

3270

帖子

0

粉丝