历史上的今天
今天是:2024年10月20日(星期日)
2018年10月20日 | 用STM32F407玩控制—复合模糊控制
2018-10-20 来源:eefocus
个人觉得,控制理论可以说都是数学,并且是一种专门的数学,或者说是一种应用数学,模糊控制也不例外,它是建立在模糊集合论基础上的,模糊集合可以看成是普通集合的拓展,那什么是集合,对不起,没有定义,集合属于初始概念,是不定义的概念,对不定义概念的理解,可以借助于公理,公理可以看成是初始概念的定义,扯远了,回到集合,那怎么理解集合,集合大致可以看成是有相同属性事物的总和,什么是模糊集合,这么说吧,比如我们描述一个人,其属性可以有美丑、气质,也可以有高矮、胖瘦、年老等等,那颜值究竟有多高,那气质究竟有多好,在模糊集合中就用隶属度来表示,比如,定义一个胖子集合A,大胖子a1,属于A的隶属度为1.0,中胖子a2,属于A的隶属度为0.8,小胖子a3,属于A的隶属度为0.65,,体重正常者a4,属于A的隶属度为0.5,...,超级瘦子an,属于A的隶属度为0,这样模糊集合A可以表示为:A=1.0/a1+0.8/a2+0.65/a3+0.5/a4+...+0.0/an,在模糊集合基础上,发展出模糊关系和模糊推理等等运算。
模糊控制原理如图1所示(参见易继锴《智能控制技术》),大致工作过程是:计算偏差变化率,将偏差和偏差变化率变换成模糊量,根据一定的模糊规则推理出模糊控制量,模糊控制量清晰化作为实际输出去控制被控对象,整个过程的细节如图2所示(参见孙增圻《智能控制》)。
实现模糊控制的步骤如下:
1.确定语言变量x、y和z的隶属度函数,这个一般用表格来表示。
2.确定模糊控制规则表。
3.根据1和2计算控制表。1-3点具体可参见前面博文《用MATLAB玩控制-模糊控制输出表》。
4.根据被控对象的先验知识或经验确定量化因子k1、k2、k3值,但要说明,k1、k2、k3值的调整如同pid参数整定一般,不是一件容易的事,如果应用最优化理论,则可以获得最佳参数,甚至于模糊控制输出表也可用最优化理论来优化,以后,或许会写一篇最优化理论在控制中应用专题,这里且按下不表。
5.在C语言中,模糊控制输出表可以用一个两维数组Fuzzy来表示,STM32F407中有足够多(变量)内存空间可供使用,所以,可以直接定义为float或double类型,x0、y0定义为int类型,然后,由Fuzzy[x0][y0]就可获得模糊控制输出,这个值乘于k3就得到实际控制量u,u是实型数。
复合模糊控制是在模糊控制基础上,加上一个pid控制器,如图3所示,当大偏差时是模糊控制,而小偏差时用pid控制,我们在STM32F407上实现的复合模糊控制,其控制效果如图4所示,从图中可以看出,被控对象是一个大纯滞后系统,其控制效果相当不错,这还是在没有仔细调整量化因子k1、k2、k3和pid参数的情况下取得的。




史海拾趣
|
无线宽带视频会议系统是架构于无线宽带网络上的视频会议系统,以其先进的技术、优异的性价比,极大地降低了沟通成本,提高了办公效率,必将逐步在各行业中发挥出重要的作用,成为企事业单位的“杀手级”办公“武器”,以应对日益严峻的竞争和挑战。 ...… 查看全部问答> |
|
CE50下,要怎么办才能使系统支持DIRECTDRAW?移植CE50下的DIRECTDRAW的例子到S3C2440+WINCE50系统上老是不成功,为什么?S3C2440的显示驱动程序要做什么样的修改才能让DIRECTDRAW的例子程序跑起来?目前我们没做什么修改,除了支持的像素外.… 查看全部问答> |
|
最近使用Renesas公司H8SX/1664 MCU做一个LED点阵显示屏,由于此MCU支持USB2.0,所以希望能够通过USB PORT自动读取U盘中文件内的信息,然后将图案显示在LED点阵屏上。U盘中的文件是不是应该经过特定的格式转换?MCU端又该如何编程呢?不知哪位大侠能 ...… 查看全部问答> |
|
美国国家半导体推出业界首款集成噪声抑制技术的模拟音频子系统 采用这款PowerWise子系统的手机可以抑制背景噪声,确保传送的语音更清晰自然,而且系统功耗极低 美国国家半导体 时间:2010年07月30日 字 体: 大 中 小 关键词:模拟音频子系 ...… 查看全部问答> |




