课程设计(论文)基于单片机的液位模糊控制器的设计_第1页
课程设计(论文)基于单片机的液位模糊控制器的设计_第2页
课程设计(论文)基于单片机的液位模糊控制器的设计_第3页
课程设计(论文)基于单片机的液位模糊控制器的设计_第4页
课程设计(论文)基于单片机的液位模糊控制器的设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目目 录录 摘要摘要.1 1.1.模糊控制简介模糊控制简介.3 1.1 模糊控制的历史背景.3 1.2 模糊控制的基本原理.4 1.3 模糊算法的四个步骤.4 2.2.基于单片机的液位模糊控制器的设计基于单片机的液位模糊控制器的设计.5 2.1 设计的基本原理.5 2.2 设计的基本步骤.5 2.3.设计的基本内容.6 2.3.1 模糊控制器的结构设计.6 2.3.2 模糊控制规则的设计.7 2.3.3 模糊推理及其模糊量的非模糊化方法.9 2.4 模糊控制器的程序实现.10 2.5 程序编写中的几点说明.11 3.3.程序流程图程序流程图.12 4.4.液位控制部分液位控制部分.13 5.5

2、.设计小结设计小结.13 参考文献参考文献.14 摘要 随着科技的不断进步,工业生产过程已经向大型化、精细化、现代化以及复杂 性发展,一般的常规控制方法已经不能满足实际生产的需求。智能型控制算法应 运而生,在众多的算法中,模糊控制算法利用计算机来实现人的控制经验,是模 糊理论与计算机技术、自动化技术相结合的产物,由于其良好的控制特性而得到 了广泛应用。本报告对模糊控制基于单片机对液位的控制理论及其智能优化控制 策略和方法上作出详尽的研究,建立了一种控制系统。 在系统的构建中,应用单片机 89c51 做为核心控制部分,采用模糊控制算法进 行控制。控制系统根据设定值将得到的实际位置和偏差变化率进行

3、模糊化,建立 模糊控制规则表,将优化后的参数变化量,在模糊控制器的控制下实现转动控制。 通过对常规控制器、纯模糊控制器和具有自整定功能的模糊控制器进行仿真对比。 关键词:关键词:模糊控制、自动化技术、优化控制。 abstract the abstract along with the technical unceasing progress, the industrial production process already to the large scale, the fine refinement, the modernization as well as the complex dev

4、elopment, the general convention control method already could not satisfy the actual production the demand.the intelligence control algorithm arises at the historic moment, in the multitudinous algorithms, controls the algorithm to realize humans control experience fuzzily using the computer, is pro

5、duct which the fuzzy theory and the computer technology, the automated technology unify, obtained the widespread application as a result of its good control characteristic.this report makes the exhaustive research to the fuzzy control based on the monolithic integrated circuit to the fluid position

6、control theory and in the intelligent optimization control strategy and the method, has established one kind of control system. in the system construction, does using monolithic integrated circuit 89c51 for the core control section, uses the fuzzy control algorithm to carry on the control.the contro

7、l system the physical location and the deviation rate of change which obtains according to the setting value carries on the fuzzy, establishes the fuzzy control rule table, will optimize after the parameter change quantity, will realize the rotation control in under the fuzzy controller control.thro

8、ugh to the conventional controller, the pure fuzzy controller and has the self regulating to decide the function the fuzzy controller to carry on the simulation contrast. key word: fuzzy control, automated technology, optimized control. 1.模糊控制简介 1.1 模糊控制的历史背景 1965 年美国自动控制理论专家 l a zadeh 首次提出了模糊集合,197

9、4 年英国 e h mamdani 首先将模糊控制应用于锅炉和蒸汽机的自动控制。目前,模糊控制作 为 20 世纪 90 年代的高新技术,得到非常广泛的应用,被公认为简单而有效的 控制技术。 模糊控制技术是近代控制理论中的一种高级策略和新颖技术。模糊控制技术基 于模糊数学理论,通过模拟人的近似推理和综合决策过程,使控制算法的可控性、 适应性和合理性提高,成为智能控制技术的一个重要分支。 在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要 关键,系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的 系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种

10、 方法来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制 理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系 统,则显得无能为力了。因此便尝试着以模糊数学来处理这些控制问题。 模糊控制是一种以模糊数学为基础的计算机数字控制。模糊控制系统的组成 内同于一般的数字控制系统。 在现实世界中,随着工业过程 h 益走向大型化、连续化、复杂化,很多系统 极其复杂,具有高度的非线性、强耦合性、不确定性、信息不完全性和大时滞等 特性,并存在苛刻的约束条件,使常规控制无法得到满意的控制效果。由此,先 进的工业控制技术也就应运而生。先进控制的目标就是为了解决那些采用常规控 制效

11、果不佳甚至无法对付的复杂工业过程控制问题。先进控制的实现通常需要足 够的计算能力作为支持,其主要技术内容有:过程辨识技术;过程变量的采集、 处理和软测量技术;先进控制算法,如传统的串级、比值、前馈控制等和发展中 的鲁棒控制、神经网络控制、模糊控制等以及过程的故障检测、预报、诊断和处 理。 1.2 模糊控制的基本原理 模糊控制属于智能控制的范畴,它是以模糊数学和模糊逻辑唯理论基础、模 仿人的思维方式而统筹考虑的一种控制方式。它是以模糊集合论、模糊语言变量 和模糊逻辑推理为基础的一种计算机数学控制。模糊控制模仿人的思维方式。计 算控制量时并不需要参数的精确量,而是以参数的模糊信息的模糊形式,然后再

12、 经过饭模糊化处理输出具体的控制量。器控制方框图如下: 1.3 模糊算法的四个步骤 1.根据本次采样得到的系统输出值,计算所选择的系统的输入变量; 2.价格输入变量的精确值变为模糊量; 3.根据输入变量(模糊量)及模糊控制规则,按模糊推理合成规则计算控制量 (模糊) ; 4.有上述所得到的控制量(模糊量)计算精确的控制量。 传感器被控对象执行机构 a/dd/a计算变量模糊化模糊推理反模糊化 图 1 模糊控制原理图 2.基于单片机的液位模糊控制器的设计 2.1 设计的基本原理 液面控制由于其应用及其普遍,种类繁多,其中不乏一些大型的复杂系统, 譬如在石油化工等工业生产中。它主要有以下几个特点:

13、1. 时滞性很大。在大型、复杂的液位控制系统中当改变进出容器的液体流量来控 制液位时,控制效果在较长的时间后才可以体现,这会使得最后的稳态误差较 大,液位在期望值附近波动。 2. 时变性。液位控制一般是控制液体的流入量的大小来控制液位的,流出量是根 据后续工艺生产的需求而调节的,这种需求的数量和速度是不断变化的。 3. 非线性。容器内液体流出量不仅随后续工艺生产需求变化,即使在控制阀门保 持不变的情况下,实际的流出量也随着液位高度的变化而发生一种非线性的变 化。这几个特点需要将智能控制方法引入到液位的控制系统中来。 2.2 设计的基本步骤 第一步:在采样时刻,采样系统的输出值,然后根据所选择的

14、系统的输入变量来 进行计算,得到输入变量的具体值。一般系统通常选择误差及误差的变 化情况作为输入变量。 第二步:将输入变量的精确值变为模糊量。当然,在这之前需要先确定模糊变量 的基本论域、模糊子集论域、模糊词集及隶属函数,系统中输入变量的 实际变化范围称为变量的基本论域,对于模糊控制输入所要求的变化范 围称为它们的模糊子集论域。模糊子集论域的确定和下一步的模糊推理 中需要的模糊值有关。模糊值可用模糊词集来表示,人们对数值的模糊 表示一般可用大、中、小加以区别,再加上正负模糊词集就可表示为: 负大,负中,负小,零,正小,正中,正大 公式 1隶属函数 一般系统的输入变量的模糊子集论域所含的元素个数

15、应为词集总数 的两倍以上,这样才能确保模糊词集能较好地覆盖模糊子集论域,避免 出现失控现象。针对上面选用的模糊词集,模糊子集论域可选择为: -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) 模糊子集论域和模糊词集之间是通过隶属函数来联系的。模糊变量 的隶属函数就和普通变量的特征函数一样,但它的取

16、值范围并不是单纯 的 0 或 1,而是在0,1之间连续变化。隶属函数的形状常采用梯形、 三角形、钟形、高斯形等。 在实际应用中,为方便起见,采用三角形的较多。这一步的工作可 以用下图表示: 输入变量精确值 模糊子集论域中的变量 输入变量模糊值 第三步:根据上一步得到的输入变量(模糊量)及模糊控制规则,按模糊推理合成 规则计算控制量(模糊量)。模糊控制规则是根据操作者的经验或专家的 知识,用 if,then 描述的一组条件语句。 第四步:控制量的模糊量转化为精确量。上一步虽然通过模糊推理得到了控制量, 但它是模糊形式的,而真正的执行机构不能接受模糊量,只能接受精确 量,所以必须把控制量由模糊形式

17、转化为精确形式,这一步也叫做解模 糊化。 2.3.设计的基本内容 2.3.1 模糊控制器的结构设计模糊控制器的结构设计 模糊控制器的结构设计是指确定模糊控制器的输入变量和输出变量。模糊控 制器输入变量的个数称为模糊控制器的维数,目前广泛采用的均为二维模糊控制 器。在此我们也选择这一结构形式。我们设计的是液位模糊控制器,就选择液位 的误差和误差的变化作为模糊控制器的输入变量,分别记作 e,ec。模糊控制器 的输出应该是用来控制液位的,液位实际上就是受流入量和流出量的影响,而流 出量是根据后续工艺不停的变化,是不可控的。所以模糊控制器的输出就只有一 个,作为控制流入量执行机构的控制量,记作 u。对

18、于模糊控制器的输出,可以 有两种形式,一种是绝对的控制量输出,另一种是增量方式输出。在本次设计的 模糊控制器中,我们选择了绝对值输出方式 . 2.3.2 模糊控制规则的设计模糊控制规则的设计 控制规则的设计一般包括三部分内容:选择描述输入输出变量的词集,定义 各模糊变量的模糊子集和建立模糊控制器的控制规则。下面就分别来进行说明: 1.选择描述输入、输出变量的词集 对于液位误差,误差变化率及控制量我们选用相同的模糊词集,都用自然语 言大、中、小来进行描述,将大、中、小再加上正、负两个方向并考虑变量的 零状态,共有七个词汇,即: 负大,负中,负小,零,正小,正中,正大 为叙述方便,用英文字头缩写表

19、示为: n b,n m ,n s,z e,ps,pm,p b 其中,n=negative,p=positive,b=big,m=medium,s=small,ze=zero 。 2.定义各模糊变量的模糊子集 定义一个模糊子集,实际上就是要确定模糊子集隶属函数曲线的形状。对 于输入变量误差和误差变化率,我们选用的模糊子集论域和隶属函数曲线都完 全一致,所以在此就只针对误差的模糊子集的确定来进行说明。 误差的模糊子集论域取-6,6 之间,然后离散化,只取整数,所以它的模糊 子集论域可表示为: -6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6 其中有 13 个元素,而模糊词集中有 7

20、个元素,基本满足了二倍的关系,可以 保证不会出现失控现象。 为了计算方便,将隶属函数曲线都选为三角形形式,而且根据经验,在靠近 0 附近,三角形的形状选的窄一些,这样有利于提高灵敏度,抑制超调。在远 离 0 的地方,三角形的形状选的宽一些,因为这时候误差还很大,不会引起超 调。至于三角形具体形状及位置的有关参数,是根据经验初步确定的,在控制 器调试的时候还需要对这些进行反复的修改。根据隶属函数可以得出模糊子集 元素对各模糊词集的隶属程度,具体如表 1 所示: -6-5-4-3-2-10123456 pb000000000000.51.0 pm0000000000.51.00.50 ps0000

21、0000.80.40000 ze000000.11.00.100000 ns00000.40.80000000 nm00.51.00.5000000000 nb1.00.500000000000 表 1 误差的模糊变量的赋值表 对于模糊控制器的输出量,虽然它是执行机构的控制量,但还需经过 d/a 的转换。因为计算机输出的是数字量,而执行机构只能接受模拟量。在本次设 计中,我们用了 ad420 来实现这样的功能,所以说模糊控制器的输出实际上是 作为 ad420 的输入。虽然 ad420 的输入是 16 位的数字量,但在设计过程中, 我们先采用 8 位的方式来进行处理,所以它的范围基于 can 总

22、线的液位模糊控 制系统的设计及研究是 0-ffh,这就是输出量的模糊子集论域。模糊词集也取 7 个,如下所示 负大,负中,负小,零,正小,正中,正大 即 n b,n m,n s,z e,p s,pm,p b 对于输出量有关参数也是根据经验初步确定。 3.建立模糊控制器的控制规则 根据实际控制经验,建立如表 2 所示模糊控制规则: nbnmnszepspmpb nbnbnbnbnmnsnsze nmnbnbnmnsnszeps nsnbnmnsnszepsps zenmnsnszepspspm psnsnszepspspmpb pmnszepspspmpbpb pbzepspspmpbpbpb

23、表 2 模糊控制规则表 2.3.3 模糊推理及其模糊量的非模糊化方法模糊推理及其模糊量的非模糊化方法 模糊推理是从一些模糊前提条件推导出某一结论,目前模糊推理有十几种方 法,大致分为直接法和间接法二大类。其中的 min-max 合成法属于直接推理法, 应用的比较多,我们在此也应用这种推理方法。这种方法也叫做 mamdani 推理法, 其具体推理过程如下: 假如有输入变量 e,e c 的值分别是 x,y ,对应的 n 条规则为: if e=a and ec=b then u=c 其中 ai、bi、ci、分别表示 e、ec、u 的某一个模糊词集元素。则每个规则推出 的结果为: ( )( )( )(

24、 ) iiii zxyz cabc uuuu = 最终的推理出的输出变量模糊集为 c,隶属度表示如下: ( )( )( )( )( ) 123n c zxyzz cccc uuuuu = 对于解模糊化,采用重心法,具体计算公式如 2 所示: (2) ( ) ( ) 1 0 1 n iii i n i i u u uu z u = = = 由于在本次设计的液位模糊控制器中,在程序实现时采用的是查表的方法,所 以在此根据公式 2 计算出模糊控制查询表如表 3 所示 : -6-5-4-3-2-10123456 -6303030333445556a7271787b80 -5303030373b485e

25、6c71747a8084 -43030303b44506a6a7276808588 -333373b4e576470767b80898b8e -2343b4457606a707880848e8e8e -1454850646a727480888a959495 0555e6a707074808c909095a1aa 16a6c6a7678808c8d959cb2bec2 27271727b80889095a2aac2ceda 371747680848a909caab5cfd4da 4787a80898e9595b2c2cfe0e0e0 57880858b8e94a1beced4e0e0e0 680

26、84888e8e95aac2dadae0e0e0 表 3 模糊控制查询表 2.4 模糊控制器的程序实现 对于模糊控制算法的软件实现,可以根据输入变量和模糊控制规则进行实时计 算,也可以先离线计算好,然后在控制时直接查表来得到控制量。 对于 at89c51,它本身的中断资源就比较少,为了节省这些资源,按键输入 采用 i/o 口查询的方式,中断资源分配情况如下: at89c51 液面检测 电路 水流检测 电路工作指示保护 电路 水流控制电路 键盘 显示接 口电路 外部中断 0 int0 can 总线接收 定时器 0 t0 设置为 50ms 的定时器,用来产生程序中所需要的有关 时间及采样周期 定时

27、器 1 t1 为串行口的通讯产生时钟,控制波特率 串行口中断 seri 应用于 rs232 的接受和发送 外部中断 1 int1 备用 对于内部 ram 的分配,将 60h7fh 之间的单元分配给堆栈使用,总共有 32 个单元,因为在中断中要用到堆栈,而中断是随机的,所以这部分单元不能再 做它用。20h27h 共 8 个单元作为位标志区,存放程序中的一些状态标志。剩 下的 29h59h 单元,除个别单元固定分配给少许的全局变量外,大多数进行动 态的分配,这样可提高其利用效率。 检测电路 处理器芯片 i/o 接口 外围电路 a/d 转换 传感器 a/d 转换 传感器 图 :硬件设计连接图 2.5

28、 程序编写中的几点说明 a. 在程序的起始部分,加了一个大约 100ms 的延时是因为单片机系统的一些外围 芯片在上电时有一个上电复位过程,如果这些芯片复位还未完全结束时就对其进 行操作会得到错误的结果. b.我们采用的单片机 at89c51 是 8 位机,所以在制做模糊控制查询表时其 中 的 输出值也为 8 位.但数/模转换器件 ad420 是 16 位的,在编程中将 查 表得到的 y n 计数器+1 保护参数 采样周期到? 恢复现场有关参数 查询模糊控制 表输 出控制量 中断返回 将输入值转换到模糊 子集论域 读取液位实际值计算 误差及变化率 计数器清零 值作为高 8 位,低 8 位按 0

29、 进行输出 . c. 为了使系统开机工作时能保持和上次关机前相 同的工作状态,就需要将有关的 参数存储起来,譬如液位的设定值等,这里选用的存储芯片是 at24c01. d.为了防止对液位值进行采样时受干扰而得到不正确的值,采取了连续采样 10 次, 剔除最大最小值,然后进行平均的方法 . 3.程序流程图 在主程序中主要完成有关的初始化操作,按键扫描和显示刷新,程序流程图 见图 4 实现控制功能是通过 t0 中断计时,累计达到 3 秒时在中断程序中实现的, 程序流程图见图 5。 图 4 主程序流程图 开 始 相应的初始化操作 读取上次的有关数据 开 中 断 扫 描 键 盘 刷新显示 延 时 图 5 t0 中断服务流程图 4.液位控制部分 4.1 液位测试部分 容器上的 wmy 型液位变送器的输出为 4-20ma 模拟信号,首先婴将传感器测得 的液位模拟量变为数字量。然厉送入单片机进行相应的处理,模数转换的部分采 用 adc0809 芯片。该芯片的输入量为 0-5v 的电抓量。冈此需先将液位变送器的输 出电流信号转换为电压信号。即在芯片采集信号端加入一个 250 欧的转换电阻, 将电流转换为 1-5v 的电压值。该电压值在 adc0809 的输入范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论