基于模糊PID算法的电阻炉温度控制系统设计
时间:07-01
来源:国外电子元器件 作者:蒋芳芳,郑颖 南京铁道职业技术学院,中国电子集团
点击:
3 温度控制系统软件设计
3.1 主程序及其功能
软件设计采用模块化设计原则。控制程序主要由测量采样操作,温度参数设置界面的显示,操作按键的管理,测量过程,数据算法处理,输出控制的处理及测量结果显示等模块组成。主模块是为其他模块构建整体框架及初始化工作。调用运算和显示构成一个无限循环圈,温控的所有功能都在该循环圈中周而复始有选择执行。除非掉电或复位,否则系统程序不会跳出该循环圈。因浮点数运算占用时间较多,应将其作为单独模块。控制算法模块包括:PID运算模块和PID参数自整定模块两部分,主要是相应控制算法的初始化及运算程序。数学运算模块主要包括诸如带符号浮点数求补运算、带符号浮点数乘法、无符号浮点数除法以及浮点数加减法等运算子程序,供其他模块根据算法的需要随时调用。显示设定和操作界面由菜单显示,用INTO中断完成。界面中用线框框起来的符号和汉字表示当前起作用的按键,用"上下左右"按键移动光标和改变数据,按下确认键后选中有效,开始执行所选功能,按下返回键就回到上一级界面(菜单)。数据的采集及预处理模块由TO计数定时产生中断,包括数字滤波、标度变换、显示刷新等部分,完成数据预处理及人机交互功能。过零同步由交流过零触发产生INT1中断,并确定移相顺序,触发T1定时,产生移相脉冲,控制输出。一旦中断,首先判断具体的中断源。若是定时中断,则调用相应的模块完成定时服务;若是人机面板的按键中断,则在识别按键后,进入散转程序,随之调用相应的键盘处理服务模块。无论是哪一个中断源产生中断,执行完相应的程序后均返回主模块,必要时修改显示内容,并开始下一轮循环。图4所示为系统软件主程序流程。
3.1 主程序及其功能
软件设计采用模块化设计原则。控制程序主要由测量采样操作,温度参数设置界面的显示,操作按键的管理,测量过程,数据算法处理,输出控制的处理及测量结果显示等模块组成。主模块是为其他模块构建整体框架及初始化工作。调用运算和显示构成一个无限循环圈,温控的所有功能都在该循环圈中周而复始有选择执行。除非掉电或复位,否则系统程序不会跳出该循环圈。因浮点数运算占用时间较多,应将其作为单独模块。控制算法模块包括:PID运算模块和PID参数自整定模块两部分,主要是相应控制算法的初始化及运算程序。数学运算模块主要包括诸如带符号浮点数求补运算、带符号浮点数乘法、无符号浮点数除法以及浮点数加减法等运算子程序,供其他模块根据算法的需要随时调用。显示设定和操作界面由菜单显示,用INTO中断完成。界面中用线框框起来的符号和汉字表示当前起作用的按键,用"上下左右"按键移动光标和改变数据,按下确认键后选中有效,开始执行所选功能,按下返回键就回到上一级界面(菜单)。数据的采集及预处理模块由TO计数定时产生中断,包括数字滤波、标度变换、显示刷新等部分,完成数据预处理及人机交互功能。过零同步由交流过零触发产生INT1中断,并确定移相顺序,触发T1定时,产生移相脉冲,控制输出。一旦中断,首先判断具体的中断源。若是定时中断,则调用相应的模块完成定时服务;若是人机面板的按键中断,则在识别按键后,进入散转程序,随之调用相应的键盘处理服务模块。无论是哪一个中断源产生中断,执行完相应的程序后均返回主模块,必要时修改显示内容,并开始下一轮循环。图4所示为系统软件主程序流程。
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℃,1 112°C]内,控制量都可以起到作用。图5为模糊PID控制流程。
4 结语
将系统温度设置不同的温度值,观测记录温度变化曲线。电加热炉温度控制系统实际输出的响应曲线如图6所示。
从电加热炉温度控制的实际效果来看,Fuzzy-PID复合控制器具有以下特点:①系统具有较好动态特性。不仅升温速度快,而且超调量很小;②系统具有比较理想的稳态品质,稳态过程没有振荡,温度控制精度在±3℃以内;③系统的抗干扰能力增强,对生产现场的各种噪声和干扰具有较好的抑制作用;④当被控过程参数发生变化时,控制系统仍能保持较好的适应能力和鲁棒性。
- MEMS加速度传感器的自动校准平台(05-27)