温度是工业生产过程中一个主要的被控参数。目前,大多采用常规PID控制器实现对温度的控制。PID控制器具有结构简单、易于实现且鲁棒性好、可靠性高等优点,对可建立精确数学模型的定常系统具有很好的控制效果,但由于实际温度控制系统工况复杂、参数多变、大惯性、大滞后,常规PID控制器难以对其高精度进行控制。模糊控制鲁棒性强,无需被控对象的精确数学模型,只依赖于操作人员的经验知识及操作数据,非常适用于控制非线性、时变和滞后系统,但其静态性能较差,因此应用范围受很大限制。针对这些问题,这里提出一种基于FPGA的温度模糊自适应PID控制器设计方案,该方案将传统PID控制与现代模糊控制相结合,应用模糊推理方法实现对PID参数的自动整定。由此,经MATLAB仿真验证该控制算法的可行性,将其应用于恒温箱的温度控制。该控制器对恒温箱控制系统的控制效果明显优于常规PID控制器。
2 模糊自适应PID控制原理及结构
模糊自适应PID控制基本原理:以误差e和误差变化ec作为输入,运行中不断检测e和ec,并利用模糊规则进行模糊推理,查询模糊矩阵表调整参数,满足不同时刻的e和ec对PID参数自整定的要求,利用模糊规则在线修改PID参数,以使被控对象具有良好的静态、动态性能。模糊自适应PID控制系统结构如图1所示。
常规PID控制器作为一种线性控制器,其离散的控制规律为:
对于系统被控过程中不同的|e|和|ec|,PID参数Kp、KI、KD的自整定原则如下:
(1)误差|e|较大时,为加快系统的响应速度,使系统具有快速跟踪性能,应取较大Kp和较小KD。同时,为了防止积分饱和。避免系统超调过大,应限制KI或使其为零。
(2)误差|e|和|ec|中等时,为使系统超调较小,应取较小KP,适当KI和KD,特别是KD的取值对系统响应影响较大(一般取值较小)。
(3)误差|e|较小时,为使系统具有较好稳态性能,应取较大KP和KI。同时,为避免系统在平衡点附近出现振荡,应取合适的KD值。|ec|较大时,取较小KD;|ec|较小时,取较大KD。
考虑到上述原则,在该设计中,模糊控制器采用2输入,3输出的结构。以误差e和误差变化ec作为输入,经量化和模糊化处理后,查询模糊控制规则表,得到模糊输出量KP、KI、KD,再经解模糊和量化因子输出精确量,并将该输出量与传统PID相结合输出系统的控制量。输人语言变量e和ec以及输出语言变量KP、KI、KD的模糊集论域均设为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},取相应论域上的语言值为{NB,NM,NS,ZO,PS,PM,PB}。考虑到对论域的覆盖程度及灵敏度,鲁棒性和稳定性等原则,各模糊子集隶属度函数均采用三角形隶属函数。
模糊规则采用“if e is A and ec is B then KP is C and KI isD and KD is E”的方式,控制器参数模糊推理过程采取Mam-dani直接推理法,“与”运算采用极小运算,“或”运算采用极大运算,模糊蕴含运算采用极小运算,模糊规则综合采用极大运算,去模糊化采用重心法且其计算公式为:
根据PID参数调整原则,输出量KP、KI、KD一轮决策将最多涉及147条推理规则。
3 恒温箱温度控制系统硬件电路设计
温度控制目前大多采用以单片机或CPU为核心的控制系统,这些以软件控制和运算的系统相比于硬件系统速度要慢、实时性差且可靠性低。
FPGA作为一种新型的数字逻辑器件,具有集成度高、可重复编程、逻辑实现能力强、设计灵活等特点,使用其内部逻辑模块单元实现所需功能,各个模块并行运行,这使得系统运算速度快、实时性强。与传统的基于CPU并行计算不同,FPGA内部结构真正实现并行计算,不是宏观上并行而是微观上分时运算。
该设计采用Ahera公司的Cyclone系列FPGA器件EP1C12为核心控制器来测量与控制恒温箱内温度。通过键盘向FPGA输入设定温度,现场温度参数由热电偶传感器转换成电动势信号,经A/D转换和滤波后,将实时的数字测量值送入FPGA。FPGA将比较温度的设定值与测量值,经模糊自适应PID控制算法运算处理后,输出相应控制信号,确保恒温箱内温度变化范围始终保持在设定值的误差范围内。系统的液晶显示用于实时显示控制系统的当前温度值、温度变化曲线、参数配制等信息;键盘用于设定控制系统的初始定值及初始参数信息;Flash,SDRAM,I2C等用于实现存储空间的扩展。图2为系统整体硬件结构框图。
此外,在FPGA中还集成有Altera公司提供的NIOS II软核处理器,FPGA一方面通过内部的双口RAM与其内部的硬件逻辑控制模块进行通讯,获取控制模块的状态信息并配置其参数;另一方面监控显示模块和键盘模块。FPGA内部逻辑示意图如图3所示。
模糊自适应PID控制模块是整个控制系统的核心,可实现模糊参数自整定PID控制算法。为便于实现计算机的实时控制,采用离线计算,在线查表方式。如有需要,只需重新修改控制算法模块,并重新配置FPGA,就可实现控制算法升级。FPGA内部各硬件逻辑控制模块均通过VHDL硬件描述语言编程实现。VHDL是一种自上而下的设计方法,具有优秀的可移植性、EDA平台的通用性及与具体硬件结构的无关性等特点。与用常规顺序执行的计算机程序不同,VHDL根本上是并发执行的,这在很大程度上可提高自适应PID温度控制系统的处理速度,有效提高设计效率,改善温度控制效果。
4 嵌入式软件设计
基于NIOS软核CPU的嵌入式软件设计采用C语言编写完成,该嵌入式软件设计主要实现人机交互和模糊自适应PID控制模块监控两部分功能,总体流程如图4所示。
温度控制系统上电启动后,首先初始化系统,然后模糊自适应PID控制模块读双口RAM1获得控制器的初始参数信息,并进行控制运算,根据运算所得结果在显示屏上显示当前温度控制系统的参量及温度变化曲线等当前状态信息,同时将这些实时控制参数及状态信息写入双口RAM2保存,NIOS软核处理器再由RAM2中读取数据,获得模糊自适应PID控制模块的当前状态信息。若由键盘重新输入新的温度设定值,则当系统读取到该值时,自动查询模糊控制规则表修改双口RAM1中的配置参数值,重新代入模糊自适应PID控制模块进行运算,并将新的参数值及系统实时状态信息写入双口RAM2保存且反馈给NIOS软核;若无键盘输入。则系统状态保持不变。
5 温度模糊自适应PID控制系统仿真
利用MATLAB的simulink和Fuzzy logIC toolbox工具箱仿真模糊自适应PID温度控制系统,图5为其仿真模型。在此,假定以恒温箱为被控对象的传递函数为:[0.15,(80s+1)]exp(-2s)模糊自适应PID和传统PID仿真比较,结果如图6所示,可看出模糊自适应PID控制比传统PID控制的调节时间短,响应速度快,超调量小,系统的动、静态性能均有提高。
6 实际运行结果及存在问题
设定恒温箱的目标温度为80℃,系统运行中的调节时间为400 s,超调量为5%,在系统稳定运行时加入阶跃干扰信号,经约300 s后系统重新趋于稳定,且在此过程中产生的波动较小。
因此,对于具有大惯性、大滞后等特点的温度控制系统,基于FPGA的温度模糊自适应PID控制器可取得良好的控制效果且自适应能力强。但在控制器的应用过程中仍存在一些问题,如模糊规则和隶属函数的优化、系统抗干扰性能的增强等。因此,仍需进一步完善和修改该控制系统。
7 结论
该设计基于高密度的可编程逻辑器件FP-GA,在传统PID控制器的基础上利用模糊控制的优点控制恒温箱的温度。结果表明,该控制系统具有良好的动、静态性能和鲁棒性能,对参数时变具有很好的适应能力,实时计算量小,调校方便,且具有良好的升级性能和灵活性。市场应用前景较好。