怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?

怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,第1张

1引言

电加热炉是典型工业过程控制对象,其温度控制具有升温单向性,大惯性,纯滞后,时变性等特点,很难用数学方法建立精确的模型和确定参数。而PID控制因其成熟,容易实现,并具有可消除稳态误差的优点,在大多数情况下可以满足系统性能要求,但其性能取决于参数的整定情况。且快速性和超调量之间存在矛盾,使其不一定满足快速升温、超调小的技术要求。模糊控制在快速性和保持较小的超调量方面有着自身的优势,但其理论并不完善,算法复杂,控制过程会存在稳态误差。

将模糊控制算法引入传统的加热炉控制系统构成智能模糊控制系统,利用模糊控制规则自适应在线修改PID参数,构成模糊自整定:PID控制系统,借此提高其控制效果。基于PID控制算法,以ADuC845单片机为主体,构成一个能处理较复杂数据和控制功能的智能控制器,使其既可作为独立的单片机控制系统,又可与微机配合构成两级控制系统。该控制器控制精度高,具有较高的灵活性和可靠性。

2温度控制系统硬件设计

该系统设计的硬件设计主要由单片机主控、前向通道、后向通道、人机接口和接口扩展等模块组成,如图l所示。由图1可见,以内含C52兼容单片机的ADuC845为控制核心.配有640KB的非易失RAM数据存储器、外扩键盘输人、320x240点阵的图形液晶显示器进行汉字、图形、曲线和数据显示,超温报警装置等外围电路;预留微型打印机接口,可以现场打印输出结果;预留RS232接口,能和PC机联机,将现场检测的数据传输至PC机来进一步处理、显示、打印和存档。

怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,第2张

电阻炉的温度先由热电偶温度传感器检测并转换成微弱的电压信号,温度变送器将此弱信号进行非线性校正及电压放大后,由单片机内部A/D转换器将其转换成数字量。此数字量经数字滤波、误差校正、标度变换、线性拟合、查表等处理后。一方面将炉窑温度经人机面板上的LCD显示:另一方面将该温度值与被控制值(由键盘输入的设定温度值)比较,根据其偏差值的大小,提供给控制算法进行运算,最后输出移相控制脉冲,放大后触发可控硅导通(即控制电阻炉平均功率)。达到控制电炉温度的目的。如果实际测得的温度值超过了该系统所要求的温度范围,单片机就向报警装置发出指令,系统进行报警。

2.1系统主控模块

系统主控模块电路如图2所示,它主要由CPU及数据存储器,晶体振荡器、复位电路、图形液晶显示器(LCD)及控制电路、微型打印机接口控制电路、实时日历时钟,热电偶信号处理电路等构成。这里,该系统设计可测量3点温度。传感器选择K型(镍铬-镍硅)热电偶,可用于从室温到1200°C的温度测量,测量范围宽,精度高。在温度测量范围内K型热电偶的输出热电势只有0~45.119mV,为了和ADuC845的A/D转换器相匹配,采用ACl226和1B51作为信号调理电路,由AC1226、1B51构成热电偶冷端温度补偿及信号调理器电路。当热端距测温仪表较远时,需利用热电偶匹配导线将冷端延长。CD4051为多路模拟开关,由ABC控制接通,当5~3接通时,输入接地,UO输出UOmin,用于零点校准;当4~3接通时,单片机1.25V稳定参考电压Uref,再经电阻R1、R2分压,得到毫伏级参考输入电压,UO输出UOmax,用于增益校准;当2~3、1~3、12~3分别分时接通时,依次输入3个热电偶正常测温所得变换电压,UO从而输出3个温度点所对应的电压UOA,UOB,UOC。在HI端与+UISO端之间串上一只220MΩ上拉电阻,一旦热电偶开路,HI端即被偏置为+UISO,迫使1B51的输出电压超量程,由此判定热电偶已开路。多路模拟开关和测量数据采集过程在单片机协调下工作,每次数据采集都进行自动判断和校准阁。

怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,第3张

2.2控制输出驱动电路

对温度的控制是通过可控硅调功器电路实现,如图3所示。双向可控硅管和硅碳棒串接在交流220V、50Hz交流市电回路中,图3中只给出了A相。移相触发脉冲由ADuC845用软件在P1.3引脚上产生的,零同步脉冲同步后,经光耦合管和驱动器输出送到可控硅的控制极。过零同步脉冲由过零触发电路产生,利用同步变压器和电压比较器LM311组成正弦交流电的正半波过零检测电路,它在交流电每一个正半周的起始零点处产生上升沿.并在正半周回零处产生一个下降沿,电压比较器LM311用于把50Hz正弦交流电压变成方波。方波的正边沿和负边沿分别作为两个单稳态触发器的输入触发信号,单稳态触发器输出的2个窄脉冲经二极管或门混合后通过可重复触发集成单稳态触发器MC14528,单稳态输出的两路窄脉冲再叠加,就可得到对应于交流市电的100Hz过零同步脉冲。脉冲宽度可由MC14528的外接电阻R4和外接电容C1、C2调节。此脉冲加到ADUC845的TO作为计数脉冲和INT1中断口触发INT1中断。可控硅的过流、过压保护采用一般阻容保护电路。R5是触发器输出限流电阻,R3用以消除漏电流,防止KP150的误触发。

怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,第4张

3温度控制系统软件设计 3.1主程序及其功能

软件设计采用模块化设计原则。控制程序主要由测量采样 *** 作,温度参数设置界面的显示, *** 作按键的管理,测量过程,数据算法处理,输出控制的处理及测量结果显示等模块组成。主模块是为其他模块构建整体框架及初始化工作。调用运算和显示构成一个无限循环圈,温控的所有功能都在该循环圈中周而复始有选择执行。除非掉电或复位,否则系统程序不会跳出该循环圈。因浮点数运算占用时间较多,应将其作为单独模块。控制算法模块包括:PID运算模块和PID参数自整定模块两部分,主要是相应控制算法的初始化及运算程序。数学运算模块主要包括诸如带符号浮点数求补运算、带符号浮点数乘法、无符号浮点数除法以及浮点数加减法等运算子程序,供其他模块根据算法的需要随时调用。显示设定和 *** 作界面由菜单显示,用INTO中断完成。界面中用线框框起来的符号和汉字表示当前起作用的按键,用“上下左右”按键移动光标和改变数据,按下确认键后选中有效,开始执行所选功能,按下返回键就回到上一级界面(菜单)。数据的采集及预处理模块由TO计数定时产生中断,包括数字滤波、标度变换、显示刷新等部分,完成数据预处理及人机交互功能。过零同步由交流过零触发产生INT1中断,并确定移相顺序,触发T1定时,产生移相脉冲,控制输出。一旦中断,首先判断具体的中断源。若是定时中断,则调用相应的模块完成定时服务;若是人机面板的按键中断,则在识别按键后,进入散转程序,随之调用相应的键盘处理服务模块。无论是哪一个中断源产生中断,执行完相应的程序后均返回主模块,必要时修改显示内容,并开始下一轮循环。图4所示为系统软件主程序流程。

怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,第5张

3.2模糊自整定PID算法程序

模糊自整定PID算法程序程序的总流程为:首先模糊整定,然后根据误差和误差变化率对PID的3个参数进行在线调整,把经过模糊调整后的PID参数作为最终的控制参数进行PID控制。温度误差e和温度误差变化率△e的最坏情况值均取为100℃,在此建立的温度误差e和温度误差变化率△e的基本论域,数字量化确定e(k)的论域区间为[-128,128]。这样就必须对温度误差e和温度误差变化率△e超过100°C.变换后的e和△e其动态范围限幅压缩,这样就可以使温度误差和温度误差变化率△e在整个测控温度变化范围[0℃,1112°C]内,控制量都可以起到作用。图5为模糊PID控制流程。

怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,第6张

4结语

将系统温度设置不同的温度值,观测记录温度变化曲线。电加热炉温度控制系统实际输出的响应曲线如图6所示。

怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,怎样设计一个以PID算法和ADuC845单片机为核心的电阻炉温度控制系统?,第7张

从电加热炉温度控制的实际效果来看,Fuzzy-PID复合控制器具有以下特点:①系统具有较好动态特性。不仅升温速度快,而且超调量很小;②系统具有比较理想的稳态品质,稳态过程没有振荡,温度控制精度在±3℃以内;③系统的抗干扰能力增强,对生产现场的各种噪声和干扰具有较好的抑制作用;④当被控过程参数发生变化时,控制系统仍能保持较好的适应能力和鲁棒性。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2618221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-10
下一篇 2022-08-10

发表评论

登录后才能评论

评论列表(0条)

保存