智能车制作
标题:
基于单片机的模糊控制系统
[打印本页]
作者:
m254366401
时间:
2011-4-24 12:03
标题:
基于单片机的模糊控制系统
也是发现别人的,希望能对不清楚模糊控制的兄弟姐妹们有点帮助~
模糊控制(Fuzzy Control)是目前自动控制研究中活跃而富有成果的领域之一,模糊理论是当前能用来对信息进行软处理的最新技术,可以将人的定性思维和判断方法定量化 为适合计算机处理的过程,使计算机能判断像“大概”、“轻”这样的模糊信息。采用传统控制理论,不管是用经典控制理论还是用现代控制理论来设计一个控制系 统,都需要事先知道被控对象的精确数学模型。然而,在许多情况下被控对象(或生产过程)的精确数学模型很难建立;像建材工业生产中的水泥窑、玻璃窑,化学 生产中的化学反应过程,食品生产中的发酵过程,还有众多炉类的热处理过程。诸如此类过程具有变量多,各种参数存在不同程度的时变性;且过程具有非线性,强 耦合,较大的随机干扰、过程机理错终复杂、存在各种不确定性以及现场测量手段不完善等特点。这些特点使得建立这一类过程的精确数学模型的难度很大,或甚至 根本办不到。
模糊控制是基于规则的智能控制方式,它不依赖于被控对象的精确数学模型,特别适合对具有多输入一多输出的强耦合性、参数的时变性、严 重非线性与不确定性的复杂系统或过程的控制,且控制方法简单,鲁棒性好[1][2]。将模糊控制技术应用于一般的电子产品在国外已是很普遍的现象,单片机 常用的控制器件,把二者结合起来,可使控制器的性能指标达到最优的目的。本文就是通过利用单片机作为平台,围绕模糊控制规则,以模糊推理算法作为控制系统 核心,开发出具有自校正能力的通用的模糊控制器。最后以一个温度监控系统为实例介绍了系统的软硬件设计。
模糊控制器是模糊控制系统的核心部分,也是和其它控制器最大区别环节。模糊控制器有四个基本部分组成:
(1)模糊化。把输入信号映射到相应域上的一个点后,将其转化为该论域上的一个模糊子集,即把输入的精确量转化为模糊量。
(2)知识库。知识库包含了具体应用领域中的知识和要求的目标,通常由数据库和模糊规则库两部分组成。数据库主要包含各语言变量的隶属函数,尺度变换因子和模糊空间的分级数等;规则库包含了用模糊语言变量表示的一系列控制规则,他们反映了控制专家的知识和经验。
(3)模糊推理。模糊推理是模糊控制的核心,它具有模拟人的模糊推理的能力。该推理过程是基于模糊逻辑中的蕴含关系及推理规则来进行的。
(4)清晰化。清晰化又称为解模糊化,作用是将模糊推理得到的控制量(模糊量)变换为实际的可用于被控对象的精确量。它包括两部分的内容:一是将模糊的控制量经解模糊化变换变成表示在论域范围的精确量;二是将表示在论域范围的精确量转换成实际的控制量。
模糊控制系统的基本工作原理
模糊控制系统通常由计算机实现(包括PC机、单片机、单板机以及DSP等),一般设计思想是:
1.以误差e和误差变化率ec作为模糊控制器输入量,u为输出控制量。定义误差e和误差变化率ec及输出变量u的模糊集及论域。
例如:
e和ec的模糊集为{NB,NM,NS,O,PS,PM,PB}
u的模糊集为{NB,NM,NS,NO,O,PO,PS,PM,PB}
e的论域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}
ec的论域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}
u的论域{-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}
其中:NB,NM,NS,NO,O,PO,PS,PM,PB分别代表负大,负中,负小,负零,零,正零,正小,正中, 正大这样的模糊语言变量。
2.确定模糊规则R(模糊关系)。
例如:
if e=NB or NM and △e=NB or NM,then u=PB
or
if e=NB or NM and △e=NS or O, then u=PB
3.模糊语言变量确定隶属函数,即对模糊变量进行赋值。
4.计算机经过采样和A/D转换获得被控量的精确值,然后将此量与给定值比较得到误差信号e和ec。把e和ec模糊量化,得到e和ec的模糊子集(实际是模糊向量e和ec)。
5.根据模糊向量e、ec和模糊控制规则R,按推理合成规则进行模
糊决策,得到控制量(模糊向量u)。
软件设计
整个系统的硬件电路设计相对简单。在本系统中采用增量型PID控制算法,即:
△u(k)=u(k)-u(k-1)=KP[e(k)一e(k-1)]+Ki(k)+Kd[e(k)一2e(k-1) +e(k-2)]
式中,△u(k)为控制增量;KP为比例参数;Ki为积分参数;Kd为微分参数;e(k)为系统偏差。先根据KP、 Ki 、Kd的值,计算出输出U的初值,再根据操作人员的给定值得到偏差e和偏差变化率ec,然后通过模糊规则表推导出KP'、 Ki' 、Kd'的值,再计算出△u。
由于增量型的算法不需要累加量,控制增量△u仅仅与最近的采样次数有关,所以误动作时的影响小,而且比较容易通过加权处理获得比较好的控制效果。这也是本系统采用增量型的PID控制算法作为Fuzzy PID控制器中的PID调节器部分算法的原因。
模糊控制器的关键是总结操作人员和技术人员的实际操作经验和技术知识,并建立合适的模糊规则表,并将模糊规则表通过程序编写人单片机ATmega8中的EEPROM中去,在线时通过查询得到合适的PID参数。
控 制器的控制范围为整个测量系统的测量范围,各个隶属函数的论域范围既要满足覆盖的原则,又不要使规则过多。根据多次实验,在本系统中,偏差e和偏差变化率 ec的变化范围为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}。其模糊子集为e、ec= {NB,NM,NS,O,PS,PM,PB},分别代表负大,负中,负小,零,正小,正中,正大。在本系统中,所设定的偏差e和偏差变化率ec以及KP、 Ki 、Kd的各个子集均采用正态分布。
PS:小女子对电机目标速度给定这块不是很理解怎样给定,觉得不应该只给固定值那么简单。希望各位无保留交流的同胞们交流一下。谢谢各位了!~小女子是摄像头组
作者:
jiangsbcc
时间:
2011-5-5 11:03
好!
作者:
机控狂人
时间:
2011-5-6 23:32
难度态大了,看不懂。
作者:
夏欢
时间:
2011-5-10 17:24
好!
作者:
dongyunlong
时间:
2012-4-6 16:50
呵呵 ,看了你的解释后理解了不少,顶一个
作者:
moonlight831
时间:
2012-5-31 14:35
懂了不少,要是关于后面的P,I,D推算有个例子就更好了·~学习
作者:
七彩人生
时间:
2012-9-17 21:39
不是太明白
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2