课程设计(论文)基于单片机的液位模糊控制器的设计.doc

上传人:仙人指路1688 文档编号:3993491 上传时间:2023-03-30 格式:DOC 页数:15 大小:124.50KB
返回 下载 相关 举报
课程设计(论文)基于单片机的液位模糊控制器的设计.doc_第1页
第1页 / 共15页
课程设计(论文)基于单片机的液位模糊控制器的设计.doc_第2页
第2页 / 共15页
课程设计(论文)基于单片机的液位模糊控制器的设计.doc_第3页
第3页 / 共15页
课程设计(论文)基于单片机的液位模糊控制器的设计.doc_第4页
第4页 / 共15页
课程设计(论文)基于单片机的液位模糊控制器的设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《课程设计(论文)基于单片机的液位模糊控制器的设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于单片机的液位模糊控制器的设计.doc(15页珍藏版)》请在三一办公上搜索。

1、目 录摘要11.模糊控制简介31.1模糊控制的历史背景31.2模糊控制的基本原理41.3模糊算法的四个步骤42.基于单片机的液位模糊控制器的设计52.1设计的基本原理52.2设计的基本步骤52.3.设计的基本内容62.3.1模糊控制器的结构设计62.3.2模糊控制规则的设计72.3.3模糊推理及其模糊量的非模糊化方法92.4模糊控制器的程序实现102.5程序编写中的几点说明113.程序流程图124.液位控制部分135.设计小结13参考文献14摘要随着科技的不断进步,工业生产过程已经向大型化、精细化、现代化以及复杂性发展,一般的常规控制方法已经不能满足实际生产的需求。智能型控制算法应运而生,在众

2、多的算法中,模糊控制算法利用计算机来实现人的控制经验,是模糊理论与计算机技术、自动化技术相结合的产物,由于其良好的控制特性而得到了广泛应用。本报告对模糊控制基于单片机对液位的控制理论及其智能优化控制策略和方法上作出详尽的研究,建立了一种控制系统。在系统的构建中,应用单片机89C51做为核心控制部分,采用模糊控制算法进行控制。控制系统根据设定值将得到的实际位置和偏差变化率进行模糊化,建立模糊控制规则表,将优化后的参数变化量,在模糊控制器的控制下实现转动控制。通过对常规控制器、纯模糊控制器和具有自整定功能的模糊控制器进行仿真对比。关键词:模糊控制、自动化技术、优化控制。AbstractThe ab

3、stract 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 development, the general convention control method already could not satisfy the actual production the demand.The intelligen

4、ce control algorithm arises at the historic moment, in the multitudinous algorithms, controls the algorithm to realize humans control experience fuzzily using the computer, is product which the fuzzy theory and the computer technology, the automated technology unify, obtained the widespread applicat

5、ion 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 control theory and in the intelligent optimization control strategy and the method, has established one kind of control s

6、ystem.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 control system the physical location and the deviation rate of change which obtains according to the setting value carries on th

7、e 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.Through to the conventional controller, the pure fuzzy controller and has the self regulating to decide the function the fuzzy

8、 controller to carry on the simulation contrast.Key word: Fuzzy control, automated technology, optimized control.1.模糊控制简介1.1模糊控制的历史背景 1965年美国自动控制理论专家L A Zadeh首次提出了模糊集合,1974年英国E H Mamdani首先将模糊控制应用于锅炉和蒸汽机的自动控制。目前,模糊控制作为20 世纪90年代的高新技术,得到非常广泛的应用,被公认为简单而有效的控制技术。模糊控制技术是近代控制理论中的一种高级策略和新颖技术。模糊控制技术基于模糊数学理论,通

9、过模拟人的近似推理和综合决策过程,使控制算法的可控性、适应性和合理性提高,成为智能控制技术的一个重要分支。 在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键,系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种方法来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系统,则显得无能为力了。因此便尝试着以模糊数学来处理这些控制问题。模糊控制是一种以模糊数学为基础的计算机数字控制。模糊控制系统的组成内同于一般的数

10、字控制系统。在现实世界中,随着工业过程H益走向大型化、连续化、复杂化,很多系统极其复杂,具有高度的非线性、强耦合性、不确定性、信息不完全性和大时滞等特性,并存在苛刻的约束条件,使常规控制无法得到满意的控制效果。由此,先进的工业控制技术也就应运而生。先进控制的目标就是为了解决那些采用常规控制效果不佳甚至无法对付的复杂工业过程控制问题。先进控制的实现通常需要足够的计算能力作为支持,其主要技术内容有:过程辨识技术;过程变量的采集、处理和软测量技术;先进控制算法,如传统的串级、比值、前馈控制等和发展中的鲁棒控制、神经网络控制、模糊控制等以及过程的故障检测、预报、诊断和处理。1.2模糊控制的基本原理 模

11、糊控制属于智能控制的范畴,它是以模糊数学和模糊逻辑唯理论基础、模仿人的思维方式而统筹考虑的一种控制方式。它是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数学控制。模糊控制模仿人的思维方式。计算控制量时并不需要参数的精确量,而是以参数的模糊信息的模糊形式,然后再经过饭模糊化处理输出具体的控制量。器控制方框图如下:传感器被控对象执行机构A/DD/A计算变量模糊化模糊推理反模糊化图1 模糊控制原理图1.3模糊算法的四个步骤1.根据本次采样得到的系统输出值,计算所选择的系统的输入变量;2.价格输入变量的精确值变为模糊量;3.根据输入变量(模糊量)及模糊控制规则,按模糊推理合成规则计算控制

12、量(模糊);4.有上述所得到的控制量(模糊量)计算精确的控制量。2.基于单片机的液位模糊控制器的设计2.1设计的基本原理液面控制由于其应用及其普遍,种类繁多,其中不乏一些大型的复杂系统,譬如在石油化工等工业生产中。它主要有以下几个特点:1. 时滞性很大。在大型、复杂的液位控制系统中当改变进出容器的液体流量来控制液位时,控制效果在较长的时间后才可以体现,这会使得最后的稳态误差较大,液位在期望值附近波动。2. 时变性。液位控制一般是控制液体的流入量的大小来控制液位的,流出量是根据后续工艺生产的需求而调节的,这种需求的数量和速度是不断变化的。3. 非线性。容器内液体流出量不仅随后续工艺生产需求变化,

13、即使在控制阀门保持不变的情况下,实际的流出量也随着液位高度的变化而发生一种非线性的变化。这几个特点需要将智能控制方法引入到液位的控制系统中来。2.2设计的基本步骤第一步:在采样时刻,采样系统的输出值,然后根据所选择的系统的输入变量来进行计算,得到输入变量的具体值。一般系统通常选择误差及误差的变化情况作为输入变量。第二步:将输入变量的精确值变为模糊量。当然,在这之前需要先确定模糊变量的基本论域、模糊子集论域、模糊词集及隶属函数,系统中输入变量的实际变化范围称为变量的基本论域,对于模糊控制输入所要求的变化范围称为它们的模糊子集论域。模糊子集论域的确定和下一步的模糊推理中需要的模糊值有关。模糊值可用

14、模糊词集来表示,人们对数值的模糊表示一般可用大、中、小加以区别,再加上正负模糊词集就可表示为:负大,负中,负小,零,正小,正中,正大一般系统的输入变量的模糊子集论域所含的元素个数应为词集总数的两倍以上,这样才能确保模糊词集能较好地覆盖模糊子集论域,避免出现失控现象。针对上面选用的模糊词集,模糊子集论域可选择为:-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6 对于一个模糊控制系统,它的控制器输入变量的实际范围一般不会正好和模糊子集论域一致,这时就需要进行转化.假如基本论域为a,b,模糊子集论域为m,n,则将一个精确输入量x转化到模糊子集论域中的变量y是通过以下公式来实现的:y=(

15、n-m)*x-(b-a)/2/(b-a) (1)模糊子集论域和模糊词集之间是通过隶属函数来联系的。模糊变量的隶属函数就和普通变量的特征函数一样,但它的取值范围并不是单纯的0或1,而是在0,1之间连续变化。隶属函数的形状常采用梯形、三角形、钟形、高斯形等。在实际应用中,为方便起见,采用三角形的较多。这一步的工作可以用下图表示:隶属函数公式1输入变量精确值 模糊子集论域中的变量 输入变量模糊值第三步:根据上一步得到的输入变量(模糊量)及模糊控制规则,按模糊推理合成规则计算控制量(模糊量)。模糊控制规则是根据操作者的经验或专家的知识,用if,then描述的一组条件语句。第四步:控制量的模糊量转化为精

16、确量。上一步虽然通过模糊推理得到了控制量,但它是模糊形式的,而真正的执行机构不能接受模糊量,只能接受精确量,所以必须把控制量由模糊形式转化为精确形式,这一步也叫做解模糊化。2.3.设计的基本内容2.3.1模糊控制器的结构设计 模糊控制器的结构设计是指确定模糊控制器的输入变量和输出变量。模糊控制器输入变量的个数称为模糊控制器的维数,目前广泛采用的均为二维模糊控制器。在此我们也选择这一结构形式。我们设计的是液位模糊控制器,就选择液位的误差和误差的变化作为模糊控制器的输入变量,分别记作E,Ec。模糊控制器的输出应该是用来控制液位的,液位实际上就是受流入量和流出量的影响,而流出量是根据后续工艺不停的变

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

18、零,正小,正中,正大为叙述方便,用英文字头缩写表示为: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

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

20、.80.40000ZE000000.11.00.100000NS00000.40.80000000NM00.51.00.5000000000NB1.00.500000000000表1 误差的模糊变量的赋值表对于模糊控制器的输出量,虽然它是执行机构的控制量,但还需经过D/A的转换。因为计算机输出的是数字量,而执行机构只能接受模拟量。在本次设计中,我们用了AD420来实现这样的功能,所以说模糊控制器的输出实际上是作为AD420的输入。虽然AD420的输入是16位的数字量,但在设计过程中,我们先采用8位的方式来进行处理,所以它的范围基于CAN总线的液位模糊控制系统的设计及研究是0-FFH,这就是输出

21、量的模糊子集论域。模糊词集也取7个,如下所示 负大,负中,负小,零,正小,正中,正大即 N B,N M,N S,Z E,P S,PM,P B对于输出量有关参数也是根据经验初步确定。3.建立模糊控制器的控制规则 根据实际控制经验,建立如表2所示模糊控制规则:NBNMNSZEPSPMPBNBNBNBNBNMNSNSZENMNBNBNMNSNSZEPSNSNBNMNSNSZEPSPSZENMNSNSZEPSPSPMPSNSNSZEPSPSPMPBPMNSZEPSPSPMPBPBPBZEPSPSPMPBPBPB表2 模糊控制规则表2.3.3模糊推理及其模糊量的非模糊化方法 模糊推理是从一些模糊前提条件

22、推导出某一结论,目前模糊推理有十几种方法,大致分为直接法和间接法二大类。其中的MIN-MAX合成法属于直接推理法,应用的比较多,我们在此也应用这种推理方法。这种方法也叫做Mamdani推理法,其具体推理过程如下:假如有输入变量E,E c的值分别是x,y ,对应的n条规则为:If E=A and Ec=B then u=C其中Ai、Bi、Ci、分别表示E、Ec、U的某一个模糊词集元素。则每个规则推出的结果为:最终的推理出的输出变量模糊集为C,隶属度表示如下:对于解模糊化,采用重心法,具体计算公式如2所示: (2)由于在本次设计的液位模糊控制器中,在程序实现时采用的是查表的方法,所以在此根据公式2

23、计算出模糊控制查询表如表3所示 :-6-5-4-3-2-10123456-6303030333445556A7271787B80-5303030373B485E6C71747A8084-43030303B44506A6A7276808588-333373B4E576470767B80898B8E-2343B4457606A707880848E8E8E-1454850646A727480888A9594950555E6A707074808C909095A1AA16A6C6A7678808C8D959CB2BEC227271727B80889095A2AAC2CEDA371747680848A90

24、9CAAB5CFD4DA4787A80898E9595B2C2CFE0E0E057880858B8E94A1BECED4E0E0E068084888E8E95AAC2DADAE0E0E0表3 模糊控制查询表2.4模糊控制器的程序实现对于模糊控制算法的软件实现,可以根据输入变量和模糊控制规则进行实时计算,也可以先离线计算好,然后在控制时直接查表来得到控制量。对于AT89C51,它本身的中断资源就比较少,为了节省这些资源,按键输入采用I/O口查询的方式,中断资源分配情况如下:外部中断0 INT0 CAN总线接收定时器0 T0 设置为50ms的定时器,用来产生程序中所需要的有关时间及采样周期定时器1

25、 T1 为串行口的通讯产生时钟,控制波特率串行口中断 SERI 应用于RS232的接受和发送外部中断1 INT1 备用对于内部RAM的分配,将60H7FH之间的单元分配给堆栈使用,总共有32个单元,因为在中断中要用到堆栈,而中断是随机的,所以这部分单元不能再做它用。20H27H共8个单元作为位标志区,存放程序中的一些状态标志。剩下的29H59H单元,除个别单元固定分配给少许的全局变量外,大多数进行动态的分配,这样可提高其利用效率。AT89C51液面检测电路水流检测电路工作指示保护电路水流控制电路键盘 显示接口电路 检测电路 处理器芯片 I/O接口 外围电路 A/D转换 传感器 A/D转换 传感

26、器图 :硬件设计连接图2.5程序编写中的几点说明 a. 在程序的起始部分,加了一个大约100ms的延时是因为单片机系统的一些外围芯片在上电时有一个上电复位过程,如果这些芯片复位还未完全结束时就对其进行操作会得到错误的结果.b.我们采用的单片机AT89C51是8位机,所以在制做模糊控制查询表时其 中 的 输出值也为8位.但数/模转换器件AD420是16位的,在编程中将 查 表得到的值作为高8位,低8位按0进行输出 .c. 为了使系统开机工作时能保持和上次关机前相 同的工作状态,就需要将有关的参数存储起来,譬如液位的设定值等,这里选用的存储芯片是AT24C01. d.为了防止对液位值进行采样时受干

27、扰而得到不正确的值,采取了连续采样10次,剔除最大最小值,然后进行平均的方法 .3.程序流程图 YN计数器+1保护参数采样周期到?恢复现场有关参数查询模糊控制 表输出控制量中断返回将输入值转换到模糊子集论域读取液位实际值计算误差及变化率计数器清零在主程序中主要完成有关的初始化操作,按键扫描和显示刷新,程序流程图见图4实现控制功能是通过T0中断计时,累计达到3秒时在中断程序中实现的,程序流程图见图5。开 始相应的初始化操作读取上次的有关数据开 中 断扫 描 键 盘刷新显示延 时图4 主程序流程图 图5 T0中断服务流程图4.液位控制部分4.1 液位测试部分容器上的WMY型液位变送器的输出为4-2

28、0mA模拟信号,首先婴将传感器测得的液位模拟量变为数字量。然厉送入单片机进行相应的处理,模数转换的部分采用ADC0809芯片。该芯片的输入量为0-5V的电抓量。冈此需先将液位变送器的输出电流信号转换为电压信号。即在芯片采集信号端加入一个250欧的转换电阻,将电流转换为1-5V的电压值。该电压值在ADC0809的输入范俐内。这里用AT89C51的P3.7 U作为A/D转换的启动信号。 5.设计小结经过两个星期的实习,过程曲折可谓一语难尽。在此期间我们也失落过,也曾一度热情高涨。从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。生活就是这样,汗水预示着结果也见证了收获。劳动是人

29、类生存生活永恒不变的话题。通过实习,我才真正领略到“艰苦奋斗”这一词的真正含义,我才意识到老一辈电子设计为我们的社会付出。我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以,而且设计也是一个团队的任务,一起的工作可以让我们有说有笑,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里一年的相处还赶不上这十来天的合作,我感觉我和同学们之间的距离更加近了。同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。某个人的离群都可能导致整项工作的失败。实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个

30、人的错误,就有可能导致整个工作失败。团结协作是我们实习成功的一项非常重要的保证。而这次实习也正好锻炼我们这一点,这也是非常宝贵的。对我们而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常美好的回忆!这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!参考文献1.电气与电子信息工程学院.单片机实验指导书 2.熊静琪.计算机控制技术.北京:电子工业出版社,2003.3.黄忠霖.控制系统MATIAB计算及仿真.北京:国防工业出版社, 2004.4.王建华 . 计算机控制技术 北京:高等教育出版社. 2008.25.袁秀英. 组态控制技术 北京:电子工业出版社. 2007.76.薛迎成. 工控机及组态控制技术原理与应用 北京:中国电力出版社. 2007.77.于海生. 计算机控制技术 北京:机械工业出版社. 2007.128.施宝华. 计算机控制技术 武汉:华中科技大学出版社. 2007.3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号