基于FPGA的模糊PID控制在智能化温室中的仿真研究

2014-10-29 11:33徐秀妮郭立帅
关键词:模糊化控制算法模糊控制

徐秀妮,郭立帅

基于FPGA的模糊PID控制在智能化温室中的仿真研究

*徐秀妮,郭立帅

(陇东学院电气工程学院,甘肃,庆阳 745000)

采用VHDL语言编程,以FPGA为硬件载体、Quartus II软件为开发工具,采用自上而下的模块化设计思想,将模糊PID控制根据功能进行模块划分、模块设计,并利用软件自带的仿真功能对设计进行功能仿真和时序仿真。该控制算法的FPGA实现提高了控制的可靠性,加强了模块的通用性,减少了系统硬件开发周期,降低了设计开发成本。在智能化温室中采用基于FPGA的模糊PID控制可以提高控制系统的稳定性和可靠性。

模糊PID控制,FPGA,VHDL,Quartus II,智能化温室

常规的PID控制器在非线性时变、滞后较大的系统中鲁棒性不强,控制效果不理想。而模糊控制不依赖被控对象精确的数学模型,它将专家或操作者的实际控制经验和知识转化成语言变量描述的控制规则,然后将这些控制规则对被控对象进行实时控制,实时调整控制器的控制参数。所以,在那些复杂的、非线性的、不能得到精确数学模型的控制系统中引入模糊PID控制算法,可以保证控制系统的稳定性,实现较好的控制效果。

模糊PID控制利用模糊逻辑算法并根据一定的模糊规则对传统PID控制的比例、积分、微分系数进行实时优化,使PID三个参数具有自适应的特性,会随外界环境变化自动调节,以达到较为理想的控制效果。模糊控制与常规PID控制的结合能够扬长避短,既具有模糊控制灵活性、适应性强等优点,又具有PID 控制算法精度高、稳定性好的优点,提高了控制系统的控制性能。

FPGA具有集成度高、体积小、功耗低、设计灵活、设计周期短、成本低等优点,这使得它在用硬件资源来实现控制算法时具有突出的优势。以FPGA器件为硬件载体,采用自上而下的模块化设计思想,运用VHDL语言编程来实现模糊PID控制,设计简单,逻辑单元使用少,减少了系统使用资源,在降低硬件成本的同时,简化了模糊PID控制算法模块,减少了处理器对算法的运算,提高了运行速度、系统的整体性能和可靠性,可移植性较好。在智能化温室中采用基于FPGA的模糊PID控制可以提高控制系统的稳定性和可靠性。

1 常规PID控制

PID控制器中的校正环节包括比例环节、积分环节和微分环节。比例环节成比例地反映系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减小偏差。比例系数越大,调整速度越快。积分环节可以消除系统稳态误差,积分常数越大,积分作用越弱,反之越强,而且易带来系统的稳定性降低、振荡加剧等负面问题。微分环节反映偏差信号的变化趋势,并能在偏差信号值增大之前,在系统中引入一个有效的早期纠正信号,从而加快系统的动作速度,减少调节时间[1]。常规PID不能根据现场的情况进行在线自整定参数,不具备自适应性,在实际运用中作用有限。

2 模糊PID控制

2.1 模糊控制系统结构框图

模糊控制系统结构框图如图1所示。

图1 模糊控制系统结构框图

2.2 常规模糊控制器结构框图

模糊控制器是模糊控制系统的核心部分。它主要由知识库、模糊化、模糊推理、反模糊化等组成。知识库包括数据库和规则库。数据库,存放全部模糊子集的隶属度矢量值,向模糊推理提供数据;规则库,存放直觉推理规则;模糊化将确定输入量转换成一个模糊矢量;模糊推理,经推理得到模糊控制量;反模糊化,即解模糊,完成从模糊控制作用空间到精确控制作用空间的映射[2]。

2.3 模糊PID控制

模糊PID控制的思想是:以偏差e和偏差变化率de/dt作为输入,PID三个控制参数作为输出,找出PID三个控制参数与e和de/dt之间的模糊关系。在运行中通过不断检测e和de/dt,并根据模糊规则进行模糊推理,最后对模糊参数进行解模糊,输出PID控制器的比例、积分、微分系数。能够根据不同的偏差e和偏差率de/dt对控制参数的不同要求,对PID参数进行在线调整,从而使被控对象具有良好的动、静态性能。模糊PID控制系统结构框图如图2所示[3]。

图2 模糊PID控制系统结构框图

2.4 模糊PID控制器的一般设计步骤

模糊PID控制器的一般设计步骤如下:

1)对控制系统进行分析,确定控制器的输入变量、输出变量及控制器的结构;

2)定义输入、输出变量的论域和隶属函数,建立控制规则,确定运算子,选择反模糊化方法;

3)模拟试验。离线仿真试验或在线实时测量均可。离线仿真试验一般可由软件完成,不需要组建硬件系统,而且可以对各种控制方案的控制性能进行全面比较,确定最优控制方案;可以选择模糊控制器的控制参数;可以通过改变被控对象的特性参数考查所设计的模糊控制器的自适应性能。因而较之在线测量简便易行,节省投资。对模糊控制器推荐使用的方法是先进行离线仿真,而后在线实时测量[4]。

2.5 PID参数的整定原则

按照经验和系统时时变化的偏差e和偏差变化率de/dt,KP,KI,KD的整定原则如下:

1)当偏差e较大时,为使系统有较快的响应速度,应取较大的KP;为了防止偏差变化率de/dt瞬时过大,应取较小的KD;为了避免较大的超调,应对积分作用加以限制,通常取KI= 0。

2)当偏差e和de/dt处于中等大小时,即处于过渡过程时,为使系统相应具有较小的超调,KP应取得小些,KI取值要适当,这时KD取值对系统影响较大,取值应大小适中,以保证系统的响应速度。

3)当偏差e 较小时,为使系统具有较好的稳定性,KP与KI均应取大些,同时为避免系统在设定值附近出现振荡,并考虑系统的抗干扰性能,应适当地选取KD值。KD值的选择根据偏差变化率de/dt来确定,当de/dt较大时,KD取较小值,当de/dt值较小时,KD取较大值,一般情况下,KD为中等大小。

3 模糊PID控制在智能化温室中的应用

农作物生长环境中的温度、湿度、光照、CO2、土壤PH值、营养液等是其生长发育所需要的最基本的因子。而智能化温室利用环境控制设备通过人为手段调节温度、湿度、光照、CO2、土壤PH值、营养液等环境参数使其处于事先确定的最佳值,营造了良好的适宜农作物生长发育条件,使农作物的生长摆脱传统种植方式对自然环境的高度依赖。因此,智能温室的环境是一个复杂系统,有着非线性、强耦合、大惯性和多扰动等特点,具有许多不确定性和不精确性。引入模糊PID控制可以提高智能化温室控制系统的稳定性和可靠性。

3.1 控制器的输入量、输出量量化

模糊PID控制器采用两输入三输出结构。以智能化温室中各环境参数的给定值与实际测量偏差及其偏差变化率de/dt作为输入语言变量,把PID的3个参数KP、KI、KD作为输出。取其偏差e的模糊语言变量为{负大(NB),负中(NM),负小(NS),零(ZO),正小(PS),正中(PM),正大(PB)},偏差变化率de/dt的模糊语言变量为{负大(NB),负中(NM),负小(NS),零(ZO),正小(PS),正中(PM),正大(PB)},输出变量KP、KI、KD的模糊语言变量为:{负大(NB),负中(NM),负小(NS),零(ZO),正小(PS),正中(PM),正大(PB)}。根据智能温室中需要控制的各种参数的特点,先选定输入变量和输出变量的基本论域,待系统调整时根据调整的效果再做进一步的调整和确定。

3.2 控制器的模糊化

根据量化值来确定其对应的所有离散论域值的隶属度实现模糊化。在本文的设计中,误差e和误差变化量de/dt均采用等腰三角形作为隶属度函数,来实现控制器输入量的模糊化。

3.3 控制器的模糊推理

采用Mamdani推理,即最大-最小推理,并结合实际生产需要,对模糊控制规则做了约束,得到针对ΔKP、ΔKI、ΔKD的三个控制参数的模糊整定规则(见表1~表3)。

表1 ΔKP的模糊推理规则表

Table 1 TheΔKP’s Fuzzy Inference Rules Table

表2 ΔKI的模糊推理规则表

表3 ΔKD的模糊推理规则表

Table 3 TheΔKD’s Fuzzy Inference Rules Table

3.3 控制器的解模糊化

4 模糊PID 控制算法的FPGA实现

模糊PID 控制算法的FPGA实现采用模块化的设计思想,硬件采用Altera公司的Cyclone系列FPGA器件EP1C6Q240C8,软件采用Quartus II 9.0 软件,并利用软件自带的仿真功能对各模块算法设计设计进行功能仿真和时序仿真。模糊PID控制算法可以分成误差及误差变化量模块、模糊量化等级模块、模糊推理模块以及解模糊模块等四个功能模块[5]。

4.1 误差及误差变化量模块

误差及误差变化量模块采用原理图的设计方法,使用偏差变化量的值来代替偏差变化率。此模块通过Quartus II 9.0模块库中的 LMP_ADD_SUB 减法器来实现。在时钟周期的作用下,通过人机交互界面输入,和采集回来的反馈值同时送入到带时钟的两个减法器中,这两个减法器产生第k次和k-1次的偏差量,然后再将这两个偏差量送入到不带时钟的第三个减法器中,用于产生第k次的偏差变化量。该模块的原理图如图3所示。

图3 误差及误差变化量模块原理图

误差及误差变化量模块的功能和时序仿真结果如图4所示。当给定值为0时,由 A/D转换器送来的反馈值为1,得到的偏差e1为-1,由于e2输出第k-1次的差值为0,故偏差变化量de/dt为-1[6]。

4.2 隶属函数及知识库的设计

本设计中隶属函数采用等腰三角函数,采用存储器的方式将隶属函数和模糊控制的控制规则存储在自带的ROM 中。在设计隶属函数时,首先要确定存储器的内容和地址。在 Quartus II 9.0 设计环境中,存储器的内容是采用内存编辑模式的新建存储初始化文件实现的。在本设计中,采用原理图的设计方法,通过宏函数的向导功能生成 ROM 模块,从而完成ROM存储器的设计,在原理图中可直接调用该模块。由于输入变量de/dt 的隶属函数查找表与输入量e的查找表相同,故在设计中可以采用与输入变量e相同的存储数据初始化文件。

图 4 误差及误差变化量模块的仿真图

模糊控制规则查找表同样也存储在自带的 ROM存储器中,模糊控制规则查找表的设计与输入变量隶属函数的设计相似。本设计编码中采用七级编码机制,所以在控制规则寻址过程中将地址内容为FF设置为存储空间为空存储单元,用以区别控制规则的编码。

4.3 模糊量化等级模块的设计

误差e和误差变化量de/dt的隶属度函数均采用等腰三角形。

4.4 模糊推理模块的设计

本设计采用最大-最小推理,建立模糊控制参数的模糊控制规则表,并将其存放于 ROM 中。因此,本模块的实现包括最大化模块和最小化模块两个模块。而对于两输入系统控制器,在推理模块最多输出四个语言值和四个隶属度,同时最多能激活四条模糊规则。在本设计中,由模糊化送来的两个输入量分别送到三个控制规则的存储器中进行查询并且将结果进行输出。这个过程就是规则匹配的过程。规则匹配过程中用的是最小化运算。同时将输入量的隶属度分别送到对应的最小值比较器中进行比较,得到输入量隶属度的最小值。输入量的隶属度的取小运算可以通过VHDL语言的CASE语句实现,输出论域也是通过此种方式实现的。取小运算完成后送到下一模块进行取大运算将结论相同的规则语句进行合并,完成模糊推理过程。在本设计中,由模糊化推理模块计算所得的四个隶属函数值经过多路选择器输入到比较器进行取大运算。

4.5 解模糊模块的设计

本模块的设计采用加权平均法。该模块需要用到乘法器、加法器和除法器,占用的逻辑单元数比较多。

5 小结

将EDA技术和现代控制算法相结合,以FPGA为硬件载体、通过利用Altera公司的Quartus II开发平台,采用自上而下的模块化设计思想,进行模糊PID控制算法的设计,并对其进行仿真。该方法具有设计简单,逻辑单元使用少,资源占用率低,程序通用性强,开发成本低,设计可操作性强等优点,可以提高控制系统的实时性、稳定性和可靠性;同时也可以克服软件在算法应用中的不足。

[1] 李昌武,彭良玉.模糊自整定PID控制器的FPGA实现[J].现代电子技术,2007,256(17):116-118.

[2] 孟宇,彭晓华,张浩.模糊自适应整定PID控制及其仿真[J].机械工程与自动化,2006,(12):93-96.

[3] 刘向东,常江.自适应模糊PID控制方法在温度控制中的研究[J].佳木斯大学学报:自然科学版,2007,25(3): 345-348.

[4] 花瑞,宋炳生,陈静.一种模糊自整定PID控制器的VHDL语言设计[J].智能控制技术,2007(10):110-113.

[5] 曲园.基于FPGA的模糊自整定PID控制算法的研究[D].天津:河北工业大学,2010:44-52.

[6] 徐秀妮.基于VHDL语言的全同步数字频率计的设计与研究[D].西安:长安大学,2011:44-52.

The Study on the Simulation of Fuzzy PID Control Based on FPGA in the Intelligent Greenhouse

*XU Xiu-ni, GUO Li-shuai

(College of Electrical Engineering, Longdong University, Qingyang, Gansu 745000, China)

Fuzzy PID control has many advantages, such as a small amount of overshoot and the short dynamic process, higher system stability, etc. The program is finished by the VHDL language, whose hardware is FPGA, development tool is Quartus II. According to the function and timing simulation is completed by the built-in simulation function of the software, we adopt the design idea of the top-down modular and the moduledivision in the design of the fuzzy PID control. The FPGA implementation of the control algorithm improves the reliability of the control, strengthens the commonality of the module, reduces the hardware development cycle of the system, and reduces the cost of design and development. The application of the fuzzy PID control Based on FPGA can improve the stability and reliability of the control system in the intelligent greenhouse.

Fuzzy PID control; FPGA; VHDL; Quartus II; intelligent greenhouse

S625.2;S126

A

10.3969/j.issn.1674-8085.2014.02.011

1674-8085(2014)02-0050-05

2013-10-23;

2014-01-18

庆阳市科技支撑项目(KZ2012-76)

*徐秀妮(1980-),女,山东德州人,讲师,硕士,主要从事智能测控系统研究(E-mail:xxn0228@126.com);

郭立帅(1979-),男,甘肃庆阳人,讲师,主要从事理论物理及光学教学与研究(E-mail:28027993@qq.com).

猜你喜欢
模糊化控制算法模糊控制
([0,1],[0,1])-模糊拟阵的基和秩函数
餐饮娱乐空间的“边界模糊化”态势探讨——餐饮娱乐空间设计专辑
三角模糊数去模糊化对VIKOR妥协解的影响研究
基于ARM+FPGA的模块化同步控制算法研究
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
基于模糊控制的恒压供水系统的研究
用于光伏MPPT中的模糊控制占空比扰动法
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
一种非圆旋转工件支撑装置控制算法