基于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.第四章算法和流程图程序流程怎么计算第四章 算法和流程图 一、三种基本结构 顺序结构 选择结构 循环结构 当型(while)循环结构 直到型(until)循环结构 二、算法与程序的关系 沃思公式:数据结构+算法=程序 扩充后的公式:数据结构+算法+程序设计方法+语言和环境=程序 算法是灵魂,数据结构是加工对象,语言是工具,程序设计方法是手段https://blog.csdn.net/2201_75345199/article/details/141325497
2.计算机二级《C语言程序设计》知识点:算法及其表示方法5、有1到多个输出。一个算法执行结束之后必须有数据处理结果输出,哪怕是输出错误的数据结果,没有输出的算法使毫无意义的。 三、算法的表示方法 算法的常用表示方法有如下三种: 1、使用自然语言描述算法 2、使用流程图描述算法 3、使用伪代码描述算法 本文仅代表作者观点,不代表百度立场。未经许可,不得转载。来自教培https://xue.baidu.com/okam/pages/strategy-tp/index?strategyId=134214359970487&source=natural
3.算法工程架构算法结构图和流程图ghpsyn的技术博客算法的流程图表示 一、算法的概念 要计算机解决某一个问题,必须编写相应的程序。编写程序需要确定解决问题的方法和思路,并要正确地写出求解步骤,这就叫解决这个问题的算法(algorithm)。 计算机处理某一问题的过程与我们日常处理事情的过程十分相似,都要按一定的步骤和相应的方法来处理。例如,邮寄一封信的过程可分为写信https://blog.51cto.com/u_13341/7808203
4.算法与程序·程序框图6篇(全文)例 下列是为计算22+42+62+…+1002而绘制的算法流程图, 根据流程图回答: (1) 其中正确的流程图有哪几个?错误的流程图有哪几个?错误的要指出错在哪里. (2) 错误的流程图中, 按该流程图所蕴含的算法, 能执行到底吗?若能执行到底, 最后输出的结果是什么? https://www.99xueshu.com/w/ikeyuh2rnlqg.html
5.算法流程图新手指导说到流程图,其实大家都不陌生,在我们生活中经常会看到流程图,并需要按照流程图的要求去执行流程图中的各个步骤。流程图的目的,就是让我们能够明确每一个步骤,避免出现遗漏和差错。 算法流程图,顾名思义,就是以特定的图形符号加上说明,表示算法的图,算法流程图包括传统流程图和结构流程图两种。一张图胜过千言万语https://modao.cc/flowchart/algorithm-flow-chart-beginners-guide.html
6.算法流程图怎么画?简单讲解绘制方法简单讲解绘制方法 什么是算法流程图?将算法流程通过特定图形与文字说明呈现至图表的图示便是算法流程图,用来具体设计或表示算法流程。 算法流程图常用于对计算机程序的算法设计,针对各类问题,拟定出有效的解决方法与步骤,也就是算法与对应流程,然而算法流程图怎么画呢?https://www.liuchengtu.com/tutorial/suanfahuafa.html
7.计算机视觉+TensorflowSORT目标跟踪算法的讲解(图文解释超二、SORT目标跟踪算法 对于多目标的SORT算法,目标跟踪算法是将各帧的目标检测结果分别赋予跟踪序号的过程,在不同视频帧出现的同一目标需要赋予相同的跟踪序号,算法流程图如下 下面对算法流程中介绍的卡尔曼滤波器和匈牙利算法进行详细介绍 1:卡尔曼滤波器 卡尔曼滤波器不需要存储大量的历史数据,只需要保留系统前一时刻的https://developer.aliyun.com/article/1399028
8.智能优化算法:灰狼优化算法2.算法流程图 在这里插入图片描述 图4.算法流程图 3.算法结果 在这里插入图片描述 4.参考文献 [1] Seyedali Mirjalili,Seyed Mohammad Mirjalili,Andrew Lewis. Grey Wolf Optimizer[J]. Advances in Engineering Software,2014,69. [2] 张晓凤,王秀英.灰狼优化算法研究综述[J].计算机科学,2019,46(03):30-3https://www.jianshu.com/p/52f4a1381d44
9.使用流程图表示算法(计算机基础)使用流程图表示算法(计算机基础) 技术标签:+ Basics 查看原文 《C程序设计》课程学习(2)——第二章 程序的灵魂—算法 1.算法:为解决某一特定问题而采取的具体工作步骤和方法。 2.算法的表示:(1) 自然语言。(2)流程图表示法。算法的特性 1.有穷性 2.确定性 3.有零个或多个输入 4.有一个或多个输出 5https://www.pianshen.com/article/81431148068/
10.算法流程图教案(精选7篇)①了解算法的含义、算法的思想. ②理解程序框图的三种基本逻辑结构:顺序、选择、循环. ③理解几种基本算法语句—输入语句、输出语句、赋值语句、条件语句、循环语句的含义.考情分析: ①高考对本章的考查主要以填空题的形式出现,单独命题以考查考生对流程图的识别能力为主,对算法语言的阅读理解能力次之。 https://www.360wenmi.com/f/fileeyi644fh.html
11.C语言算法流程图.ppt计算机 C/C++资料C语言算法流程图.ppt 10页内容提供方:mv2323 大小:48.5 KB 字数:约2.95千字 发布时间:2016-12-13发布于河南 浏览人气:83 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)C语言算法流程图.ppt 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线https://max.book118.com/html/2016/1208/69681889.shtm
12.电阻加热炉温度控制C、数字控制算法子程序流程图 d、LED显示流程图 六、完整的系统电路图 七、系统调试 在设计完成后进行调试,根据设计逻辑图制作好实验样机,就可以进入硬件调试,调试的主要任务是排除样机的故障,其中包括设计错误和工艺性故障,然后在进行软件的调试用微型机对MCS51系列单片机程序进行交叉汇编。在硬件,软件单独调试后,即可https://www.unjs.com/zuixinxiaoxi/ziliao/20170704000008_1381227.html
13.创客教育促进学生信息技术核心素养发展内容计算机算法流程图与功能流程图的最大差别就是强调了计算机编程的指令性。从流程图到算法的过程完成了对学生从功能到脚本图的正向引导。计算思维的具体化具备再次抽象的过程,这样再次培养了计算思维的整体性和有序性。 l用编程语言表达世界 表达世界对于每个学科都需要不同的形式。以上流程图的描述,需要通过智能原件并通https://tpd.xhedu.sh.cn/cms/app/info/doc/index.php/92074
14.DeepFM代码详解及Python实现PSO粒子群python算法,以及流程图visio文件,以及适应度函数的绘制代码,和绘图文件。 上传者:chrnhao时间:2024-09-28 基于Python的PCA人脸识别算法的原理及实现代码+文档详解.zip 基于Python的PCA人脸识别算法的原理及实现代码+文档详解.zip个人经导师指导并认可通过的98分课程设计项目,主要针对计算机相关专业的正在做课程https://www.iteye.com/resource/weixin_38624556-13744827
15.SIFT特征点提取「建议收藏」腾讯云开发者社区SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。 2、SIFT算法流程图 二、SIFT算法操作步骤 https://cloud.tencent.com/developer/article/2038518
16.《第5课算法的执行》教学设计教学反思20234. 准备一台计算机教室,以便学生可以实际操作。四、教学过程:本节课是《算法的执行》教学的第一课时,教学过程包括理论教学和实践教学两个部分。 1. 理论教学首先,通过多媒体展示算法的执行过程,让学生了解算法的基本概念和执行过程。接着,通过具体案例讲解算法的设计和实现方法,包括选择合适的算法、设计算法流程图、https://www.zxxk.com/soft/45390444.html
17.高中数学教案(精选10篇)试给出计算费用(单位:元)的一个算法,并画出流程图. 二、学生活动 学生讨论,教师引导学生进行表达. 解 算法为: 输入行李的重量; 如果,那么, 否则; 输出行李的重量和运费. 上述算法可以用流程图表示为: 教师边讲解边画出第10页图1-2-6. 在上述计费过程中,第二步进行了判断. https://www.ruiwen.com/word/gaozhongshuxuejiaoan.html
18.算法程序框图基本算法语句顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构。 见示意图和实例: 顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执https://www.360doc.cn/article/925413_215308067.html