基于PID算法的智能温控系统设计与实现AET

关键词:单片机;温度控制;闭环控制;PID;实时显示

温度是工业生产中最普遍而又最关键的参数之一,其测量精度对产品的质量有直接的影响[1]。传统温控系统虽然温度控制精度较高(误差不超过±0.5℃,温度不均匀性不大于1℃),但其电路复杂,发生温控故障时维修困难且温度显示不直观。而将智能控制和常规PID控制方法融合在一起从而形成的实时显示智能PID控制器能很好地解决此类问题[2]。

1温度控制系统框图

温度控制系统框图如图1所示。此系统是一个典型的闭环控制系统,用于控制灯箱内的温度使其保持在恒定的温度设定值。系统通过PT100铂热电阻采集实时温度,通过变送器及输入电路反馈实时温度信号,再与设定值对比确定偏差值;偏差值经过PID算法运算输出,通过驱动电路和SSR控制发热装置控制温箱温度,以克服偏差,促使偏差趋近于零,实现恒温控制[3]。

2系统硬件设计

系统硬件原理图如图2所示,由电源模块、输入、输出模块、主芯片、显示模块等组成。

2.1电源模块电路

电源模块由整流、滤波等电路以及稳压芯片组成。其中稳压芯片采用NationalSemiconductor的两款芯片,分别是输出电压为5V的三端稳压器LM7805CT和500mA低压差稳压器LM2937。

2.2主芯片及周边电路

主芯片选用SiliconLaboratories公司出品的C8051Fxxx单片机,它是完全集成的混合信号系统级低功耗芯片(SoC),具有与8051指令集完全兼容的CIP-51内核[4]。大多数C8051F单片机具备控制系统设计所需的模拟及数字外设,包括WatchDog、ADC、DAC、电压比较器、电压基准输出定时器、PWM、定时器捕捉等;并具备多种总线接口,包括UART、SPI、SMBUS(与C兼容I2C)总等。周边电路包括晶振电路、ADC外部参考电压电路以及复位电路等。

2.3控制器电流输出分析

电路采用负载共地方式,由MAXIM公司的低失调、低漂移的精密运算放大器OP07,精密电阻R9、R8、R11、R10、R12、R13、R14以及Q1、Q2组成。设Vi为输入电压,即Vi=DAC1;Iout为输出电流;R13为采样反馈电阻;R11、R12为限流电阻;R14为负载电阻,用电位器可以实现阻值的变化。流过R13的采样电流信号以电压的形式加到运算放大器的输入端,而且极性与输入电压信号反相,形成一个电流并联负反馈电路。由于运算放大器的输入阻抗很高,流入运算放大器输入端的电流可以忽略。在R11>>R13且R10>>R13条件下,流经R11、R10的电流与流经Q2射极的电流相比可以忽略,此时Iout=IE。运算放大器正负输入端电位近似相等,设R9=R8=R11=R10,可得:

取R9=100k赘,R11=20k赘,R14为电位器,当Vi=2.5V时,Iout=20mA。为保证足够的V/I变换精度,电阻应当选用精密电阻;输入电压Vi>(R13+R14)×Imax,Imax是Iout的最大值[5]。

3温控系统软件设计

3.1温控系统软件主流程图

温控系统软件主流程图如图3所示。

系统经过初始化,进行键盘扫描,等待按键按下。当按键按下则进行参数设置,根据按键次数的不同设置相应的参数,设置完参数后再有按键按下时系统运行。此时,键盘继续扫描等待按键按下以便修改参数。

3.2温控系统软件子流程图

3.2.1系统初始化子程序

系统时钟的初始化通过对OSXCN和OSCICN寄存器的设置,选择24MHz的外部振荡器为SYSCLK源并允许丢失时钟检测器。由于显示模块采用CH452数码管显示驱动和键盘扫描控制芯片,通过输出12bit的操作命令进行相应的控制。输出12bit串行数据0x0403使按键低电平中断,低速闪烁,同时启用按键扫描与显示驱动。当寄存器ADCOCN的最高位ADCEN=1时使能A/D转换,当寄存器DAC0CN=0x80(即DAC0EN为1)时使能DAC0[6]。

3.2.2系统运行子程序

系统运行子程序流程图如图4所示。进入系统运行后,采集PT100铂电阻值,信号经过PT100温度变送器转换成4~20mA电流信号通过输入电路到达主控芯片,再经过标度变换及A/D转换。在实现温度显示的同时得到温度设定值与实时温度值的差值。进行PID算法处理得到增量值,如果没有超边界值则根据输出量控制SSR来发热装置进而实现温箱温度的调节[7]。

3.3PID调节

温度控制系统是一个惯性较大的系统,即当给温箱加热之后,并不能立刻观察到温度的明显上升,Pt100铂电阻对温度的检测与实际的温箱温度相比较,也存在一定的时滞特性[8]。为了合理地处理系统响应速度与系统稳定性之间的矛盾,温度控制可以分为两个阶段:

(1)PID调节前阶段

此时,温箱温度距离设定值很远,为了加速加热速度,SSR与发热装置处于满负荷输出状态,只有当温度上升速度超过控制参数“加速速率”,SSR才关闭输出。

(2)PID调节阶段

在这个阶段,PID调节器调节输出,根据偏差值计算输出值,保证偏差趋近于零,即使系统受到外部干扰时,也能使系统回到平衡状态。

PID控制的原理是基于下面算式,其中输出u(t)是比例项、积分项和微分项的函数:

为了能让数字计算机处理这个算式,连续算式必须离散化为周期采样偏差式,才能用来计算输出值。在工业应用中,习惯上将式(3)中各项近似离散为:

通常,计算机输出的控制指令u(k)是直接控制执行机构。但由于累加误差,占用内存较多,并且安全性较差。一旦计算机出现故障,u(k)的大幅度变化引起执行机构的突变,可能造成重大事故,此时可采用增量式算法。它是位置算法的一种改进,如下式:

u(k)=u(k)-u(k-1)=KP[e(k)-e(k-1)]+KIe(k)+

KD[e(k)-2e(k-1)+e(k-2)](5)

将式(5)进一步整理,可得:

驻u(k)=u(k)-u(k-1)=KP[(1+T/TI+TD/T)e(k)-

(1+2TD/T)e(k-1)+(TD/T)e(k-2)]

=KP[Ae(k)-Be(k-1)+Ce(k-2)](6)

式中A=1+T/TI+TD/T,B=1+2TD/T,C=TD/T。由式(6)可见,根据误差3个时刻采样值,调整加权值即可获得不同的控制品质和精度[9]。

4系统调试

由稳压源提供电路所需的±12V及变送器所需的24V电压,SSR则由220V供电,上电后通过按键设置参考温度为33℃,之后系统进入运行状态。实时温度曲线如图5所示,可见达到了预期控制效果,未来可配合更加优化的新型PID控制算法实现对多变量复杂对象的控制[10]。

参考文献

[1]欧汉烈.数字式温度测量调节仪的研制[J].广东工业大学学报,1999,16(3):57-60.

[2]徐显海.一种电阻炉智能温度控制仪的研制[D].南京:东南大学,2006.

[3]安宏,姚彩虹,蒋兴加.用于电热炉的智能温控仪的设计[J].自动化仪表,2008,29(10):64-66.

[4]黄真合.基于C8051F单片机的电力系统智能测控装置的设计[J].工业控制计2010,23(7):101-103.

[5]李孝利.单片机原理及接口技术[M].北京:高等教育出版社,2010.

[6]童长飞.C8051F系列单片机开发与C语言编程[M].北京:北京航空航天大学出版社,2005.

[7]唐洪富,张兴波.基于STC系列单片机的智能温度控制器设计[J].电子技术用,2013,39(5):86-88.

[8]崔坤林,张翼飞.时滞系统的经典控制与智能控制[J].微计算机信息,2004,20(6):25-26.

[9]姚栋伟,吴峰,杨志家,等.基于增量式数字PID的汽油怠速控制研究[J].浙江大学学报,2010,44(6):1122-1126.

THE END
1.专业学习如何绘制算法流程图?算法流程图怎么做人们为了方便地使用流程图交流算法,而不至于因图形符号的问题引起对算法过程理解的混淆。人们规定了一组预定义的图形符号来表示算法的过程,并给出每个图形符号的说明。标准的流程图符号包括开始/结束符号、输入/输出符号、流程符号、子流程符号、判断符号、流程线6种图形符号,用这6种图形符号可以绘制任何类型的流程图。https://blog.csdn.net/weixin_63253486/article/details/144084968
2.2024年迷宫求解的非递归算法C语言(图片来源网络,侵删) 任务:可以输入一个任意大小的迷宫数据,用非递归的 *** 求出一条走出迷宫的路径,并将路径输出; 在资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进 *** ; https://win7sp.com/post/34016.html
3.数据结构与算法回溯算法:LeetCode“排列问题”求解,解释并模拟递在上一篇文章当中我们已经介绍了“回溯算法”的定义及其中“分割问题”的解决方法,详情可见《【数据结构与算法】回溯算法:用“更复杂”的代码求解“分割问题”,解释并模拟递归+回溯的遍历过程》,本文将基于LeetCode中的两道全排列题目(46. 全排列 - 力扣(LeetCode)和 47. 全排列 II - 力扣(LeetCode))继续介绍https://zhuanlan.zhihu.com/p/10877491857
4.使用Flowgorithm软件,设计算法流程图解决以下问题,然后实际运行该流程使用Flowgorithm软件,设计算法流程图解决以下问题,然后实际运行该流程图程序,验证算法设计是否合理。 问题:输入一个百分制考试成绩整数数据,如果成绩不低于90分,输出等次信息“优秀”;如果成绩介于80分到89分,输出等次信息“良好”;如果成绩介于70分到79分之间,输出等次信息“中等”;如果成绩介于60到69分之间,输出等次信https://www.shangxueba.com/ask/20112850.html
5.作业调度算法实验报告卓智敏运行作业 初始化 图1 作业调度模拟程序系统功能结构图 作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。 (1)先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先提交的先被挑选。流程图如图2所示。 https://blog.sina.com.cn/s/blog_6fe35d3a0100qnb7.html
6.三种算法求两个正整数的最大公约数和最小公倍数;求三个数的最大一. 算法分析 已知结论:a,b的最大公约数 * 其最小公倍数 = a * b; 如下介绍的三个算法只针对于求解最大公约数,最小公倍数就由上面结论可以得出。 求解两个数的最大公约数算法流程图: 求两个数最小公倍数的算法流程图: 1.辗转相除法(两个数) https://cloud.tencent.com/developer/article/2085983
7.程序流程图程序流程图又称程序框图,是用统一规定的标准符号描述程序运行具体步骤的图形表示。程序框图的设计是在处理流程图的基础上,通过对输入输出数据和处理过程的详细分析,将计算机的主要运行步骤和内容标识出来。程序框图是进行程序设计的最基本依据,因此它的质量直接关系到程序设计的质量。 https://www.meipian.cn/38kq7re4
8.廉政风险防控整改报告6篇(全文)三、卫生院职权目录不完整、部分职权运行流程图不完善。整改措施: 1、对于卫生院职权目录不完整的情况,根据县局检查组在检查中提出的要从部门的职能出发寻找职权的思路,补充了7项的职权目录。 2、对于药品采购流程图存在重大的流程错误,进行重新了解并制定出符合实际情况的药品采购流程图。 https://www.99xueshu.com/w/file8p2hbyp0.html
9.pythonKNN算法实现鸢尾花数据集分类python三、算法实现 1.算法流程图: 从以上流程图可以看出,knn算法包含后四步操作,所以将整个程序分为三个模块。 2.具体实现 (1)方法一 ①利用slearn库中的load_iris()导入iris数据集 ②使用train_test_split()对数据集进行划分 ③KNeighborsClassifier()设置邻居数 https://www.jb51.net/article/172682.htm
10.慢聊Golang协程池Ants实现原理? goWorker:运行任务的实际执行者,它启动一个 goroutine 来接受任务并执行函数调用 ? sync.Pool:golang 标准库下并发安全的对象池,缓存申请用于之后的重用,以减轻GC的压力 ? spinLock:基于CAS机制和指数退避算法实现的一种自旋锁 运行流程图 Ants运行流程图如下: https://www.51cto.com/article/777732.html
11.华北电力大学:风光氢图5 数据处理流程图 图6 发电单元功率调度逻辑图 在燃气轮机联合循环调节范围外,电解槽起到扩展系统调峰能力下限的作用,当系统负荷发生波动时,首先调整燃气轮机联合循环输出功率,当出现负荷不断下探的情况时,燃气轮机联合循环保持最低负荷率运行,此时盈余电力制氢,氢气暂时存储在储氢罐内,最终由燃机掺烧消耗。 https://www.shifair.com/wap/article_details/index/id/223748.html
12.科学网—powsimR:RNASeq以及scRNASeq功效分析工具这里的真阳性率又叫功效。 5)最后,根据尝试的多个样本数的取值,预测出在FDR不超过一定值的前提下能够识别出一定比例的DEG,所需的最低样本数量。 讨论:由于聚类分析的性能通常与差异表达分析的性能成正比,所以功效分析也可以用来改良聚类分析的实验设计。 算法流程图:https://blog.sciencenet.cn/blog-3447504-1249419.html
13.基于AirSim的无人机运行嘲仿真方法与流程对于无人机的算法验证,例如航迹规划算法,通过低空域环境进行建模,结合相应的算法程序,在仿真场景中完成无人机的算法仿真,逼真的模拟该无人机算法在低空域中的实现效果。利用本方法可以代替去室外环境测试无人机算法运行效果,将算法测试好以后再移植到实际无人机,减少调试带来的麻烦。附图说明图1为本发明的流程图;图https://www.xjishu.com/zhuanli/55/202010936620.html
14.贪心算法的实验的总结(共10篇).docx附:实验报告的主要内容 一.实验目的 二.问题描述 三.算法设计 包含:数据结构与核心算法的设计描述、函数调用及主函数设计、主要算法流程图等 四.程序调试及运行结果分析 五.实验总结 附录:程序清单 福建工程学院计算机与信息科学系 实验报告 1 2 3 4 5 《算法设计与分析》 姓名: 班级: 学号: 课题:贪心算法 https://max.book118.com/html/2019/0518/8124003012002024.shtm
15.模拟图灵机实现数字加一一.实验目的掌握图灵机的概念和基本结构,理解图灵机的基本指令和编码方式;掌握图灵机的编程方法。二.实验内容对于任意给定的一台Turing机和任意给定的字符串w ( w不含空格),编程模拟此Turing机的运行过程,要求输出从开始运行起的每一步骤的结果。三.流程图源代码四.测试图片 https://www.pianshen.com/article/5987310571/