欢迎来到学术参考网

基于单片机的液位模糊控制器设计

发布时间:2015-11-18 10:13

摘 要:液位控制由于其应用极其普遍,种类繁多,其中不乏一些大型的复杂系统,譬如在石油化工等工业生产中。它主要有以下几个特点:1、时滞性很大。在大型、复杂的液位控制系统中,当改变进出容器的液体流量来控制液位时,控制效果在较长的时间后才能得到体现,这会使得最后的稳态误差较大,液位在期望值附近波动。2,时变性。液位控制一般是通过控制液体流入量的大小来控制液位的,流出量是根据后续工艺生产的需求而调节,这种需求的数量和速度是在不断变化的。3,非线性。容器内液体流出量不仅随后续工艺生产需求变化,即使在控制阀门保持不变的情况下,实际的流出量也随着液位高度的变化而发生一种非线性的变化。这几个特点,都严重影响PID控制的效果,当实际生产对控制有较高的性能指标要求时,就需要将智能控制方法引入到液位控制系统中来。

关键词:模糊控制;液位;PID;单片机
1 模糊控制的基本原理
  模糊控制属于智能控制的范畴,它是以模糊数学和模糊逻辑为理论基础、模仿人的思维方式而统筹考虑的一种控制方式。 它是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制。模糊控制模仿人的思维方式,计算控制量时并不需要参数的精确量,而是以参数的模糊信息为基础,通过模糊推理得到控制量的模糊形式,然后再经过反模糊化处理输出具体的控制量。
  模糊控制器的设计的基本原理
1. 在采样时刻,采样系统的输出值,然后根据所选择的系统的输入变量来进行计算,得到输入变量的具体值。一般系统通常选择误差及误差的变化情况作为输入变量。
2. 将输入变量的精确值变为模糊量。当然,在这之前需要先确定模糊变量的基本论域、模糊子集论域、模糊词集及隶属函数。系统中输入变量的实际变化范围称为变量的基本论域,对于模糊控制输入所要求的变化范围称为它们的模糊子集论域。模糊子集论域的确定和下一步的模糊推理中需要的模糊值有关。模糊值可用模糊词集来表示,人们对数值的模糊表示一般可用大、中、小加以区别,再加上正负模糊词集就可表示为:
    {负 大 , 负中,负小,零,正小,正中,正大}
    一般系统的输入变量的模糊子集论域所含的元素个数应为词集总数的两倍以上,这样才能确保模糊词集能较好地覆盖
模糊子集论域,避免出现失控现象。针对上面选用的模糊词集,模糊子集论域可选择为   
    {-6 , -5 ,-4,-3,-2,一1,0 , 1,2 ,3 ,4 ,5 ,6 }
    对于一个模糊控制系统,它的控制器输入变量的实际范围一般不会正好和模糊子集论域一致,这时就需要进行转化。假如基本论域为[a. b],模糊子集论域为[m, n],则将一个精确输入量x转化到模糊子集论域中的变量Y是通过以下公式来实现的。
    y=(n-m)*[x-(b-a)/2]/(b-a)                                        (1)
    模糊 子 集 论域和模糊词集之间是通过隶属函数来联系的。模糊变量的隶属函数就和普通变量的特征函数一样,但它的取值范围并不是单纯的0或1,而是在[0, 1]之间连续变化。隶属函数的形状常采用梯形、三角形、钟形、高斯形等。在实际应用中,为方便起见,采用三角形的较多。
3. 根据上一步得到的输入变量(模糊量)及模糊控制规则,按模糊推理合成规则计算控制量(模糊量)。模糊控制规则是根据操作者的经验或专家的知识,用if, then描述的一组条件语句。
4. 控制量的模糊量转化为精确量。上一步虽然通过模糊推理得到了控制量,但它是模糊形式的,而真正的执行机构不能接受模糊量,只能接受精确量,所以必须把控制量由模糊形式转化为精确形式,这一步也叫做解模糊化。
2 模糊控制器的设计过程
  2.1模糊控制器的结构设计
    模糊控制器的结构设计是指确定模糊控制器的输入变量和输出变量。模糊控制器输入变量的个数称为模糊控制器的维数,目前广泛采用的均为二维模糊控制器.在此我们也选择这一结构形式。我们设计的是液位模糊控制器,就选择液位的
误差和误差的变化作为模糊控制器的输入变量,分别记作E, Ec。模糊控制器的输出应该是用来控制液位的,液位实际上就是受流入量和流出量的影响,而流出量是根据后续工艺不停的变化,是不可控的。所以模糊控制器的输出就只有一个,作为控制流入量执行机构的控制量,记作U。对于模糊控制器的输出,可以有两种形式,一种是绝对的控制量输出,另一种是增量方式输出。在本次设计的模糊控制器中,我们选择了绝对值输出方式 。
  2.2模糊控制规则的设计
    控制规则的设计一般包括三部分内容:选择描述输入输出变量的词集,定义各模糊变量的模糊子集和建立模糊控制器的控制规则。下面就分别来进行说明:
* 选择描述输入、输出变量的词集
  对于液位误差、误差变化率及控制量我们选用相同的模糊词集,都用自然语言大、中、小来进行描述,将大、中、小再加上正、负两个方向并考虑变量的零状态,共有七个词汇,即
  {负 大 , 负 中 ,负小,零,正小,正中,正大}
  为叙述方便,用英文字头缩写表示为
  {N B ,N M , N S ,Z E, PS, PM,P B}
  其中,N=Negative, P=Positive, B=Big, M=Medium, S=Small, ZE=Zero 。
* 定义各模糊变量的模糊子集
    定义一个模糊子集,实际上就是要确定模糊子集隶属函数曲线的形状。对于输入变量误差和误差变化率,我们选用的模糊子集论域和隶属函数曲线都完全一致,所以在此就只针对误差的模糊子集的确定来进行说明。误差的模糊子集论域取[-6,6 ]之间,然后离散化,只取整数,所以它的模糊子集论域可表示为
  {-6 ,-5 ,-4,-3,-2,-1,0 ,1 ,2 ,3 ,4 ,5 ,6 }
  其中有13个元素,而模糊词集中有7个元素,基本满足了二倍的关系,可以保证不会出现失控现象。为了计算方便,将隶属函数曲线都选为三角形形式,而且根据经验,在靠近0附近,三角形的形状选的窄一些,这样有利于提高灵敏度,抑制超调。在远离0的地方,三角形的形状选的宽一些,因为这时候误差还很大,不会引起超调。至于三角形具体形状及位置的有关参数,是根据经验初步确定的,在控制器调试的时候还需要对这些进行反复的修改。

 

-6

-5

-4

-3

-2

-1

0

1

2

3

4

5

6

PB

0

0

0

0

0

0

0

0

0

0

0

0.5

1.0

PM

0

0

0

0

0

0

0

0

0

0.5

1.0

0.5

0

PS

0

0

0

0

0

0

0

0.8

0.4

0

0

0

0

ZE

0

0

0

0

0

0.1

1.0

0.1

0

0

0

0

0

NS

0

0

0

0

0.4

0.8

0

0

0

上一篇:基于十瓶保龄球的断言优化

下一篇:移动电视面对突发事件如何发挥媒体引导作用