没有合适的资源?快使用搜索试试~ 我知道了~
模糊控制matlab仿真与实现入门全文.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
33 浏览量
2022-07-05
14:01:09
上传
评论
收藏 1.27MB DOC 举报
温馨提示
模糊控制matlab仿真与实现入门全文
资源推荐
资源详情
资源评论












本文将介绍模糊控制的思想,模糊控制的 matlab/simulink 2012b 仿真以及模糊控制
器的 C 语言代码导出操作.这里没有复杂的理论公式,只有简单的语言描述和具体实现过程.
在日常生活中我们常常能听到人们说诸如天气太热了或者天气太冷了这样的话.太冷,
太热这样的词是人们对温度数值高低的一种看法,如果我们细问,太冷是多少摄氏度?太热又
是多少摄氏度?我们不太可能得到一个确切的温度值,这个数值会随不同的人的看法而改变,
年轻人可能 15 摄氏度才觉得冷,而老年人可能 18 摄氏度就觉得冷了,不仅如此,实际上我们
可能根本得不到一个确切的温度数值,而只能得到一个大致的温度范围,这样冷和热这两个
词的意思就不是很明确,而是一种感觉,模模糊糊的说不清楚.
如果我们让 10 个人用冷,合适,热三个词来表达他们对 0-30 摄氏度的感觉,可能会得到
下面的图 1:
图中横轴表示温度,范围是 0-30 摄氏度,纵轴是在不同温度下感觉冷,合适,热的人数.
可以看出:
1.观察代表冷的蓝色线,在 0-9 度时所有人都认为冷,而在 9-14 度,认为冷的人数依次
减少,14 度之后没人认为冷.
2.观察代表合适的绿色线,在 9-22 度,认为温度合适的人先增后减,在 15 度左右所有人
都认为温度合适,除此之外的温度值没人认为温度合适.
3.观察代表热的红色线,只有在 17 度之后才有人认为热,且随温度升高,人数不断增加,
在 22 度之后所有人都认为热.

这张图就将人们对 0-30 度的感觉转换为了给定温度下人们对冷,合适,热这三种感觉的
认可程度.比如说在 10 度时,8 个人认为冷,2 个人认为合适,没有人认为热.类似的图我们在
后面的仿真中还会见到.下面将通过一个日常生活的例子来介绍什么是模糊控制.
我们可以通过调节火炉里火的大小来调节室内的温度,过程如下:
输入:我们通过身体感受环境的温度值,并将温度值归为冷,合适,热三种模糊的感觉.
处理的三条规则: 1.如果冷,则用大火;2.如果热则用小火;3.如果温度合适则不调节火的
大小,保持当前火的大小不变.
输出:根据上面的三条规则去调节火的大小,从而控制温度的高低.
如果我们想设计一个自动温度调节器来代替我们调节火的大小,这个调节器应该具有怎
样的结构呢?很明显,如果这个调节器能完成上面的从输入到输出的过程,那么这个调节器就
能代替人来自动调节温度.
对于输入来说,这个调节器要有温度传感器,这样才能像人一样感受外界温度的变化,但
传感器只能感受到温度的具体数值是多少,却无法得出这个数值对于人来说是冷,还是热.所
以我们需要一种将具体温度值转化为冷,合适和热的方法.而这恰恰是上面的图 1 的功能.比
如说,现在温度传感器传回来外界温度是 4 摄氏度,通过上面的图 1 可知,这时对应的感觉是
冷,如果外界的温度是 10 度,则 8 个人认为冷,2 个人认为合适,可以认为是 8 成冷和 2 成合
适.
处理的规则不变仍旧是前面的三条.现在问题又来了,如果我们告诉输出设备,输出大火
或者输出小火,输出设备是听不懂的.到底多大的火是大火,多小的火是小火?这也是模模糊糊
说不清,因此需要将大小这些模糊的词转化为具体的值进行输出.不妨假设最大的火是 10 级,
最小的是 0 级.再去问问 10 个人对 0-10 级火是大火还是小火的看法吧,可以得到下面的图
2:

可以看出,对于 0 级火,所有人都认为是小火,对于 10 级火所有人都认为是大火.随着火
的级数的增加认为是大火的人渐渐增多,觉得是小火的人渐渐减少.这样就建立起了大火,小
火这两种感觉和火的具体级数的关系,可以利用这种关系将大火,小火转变为具体的火的级
数.而输出设备是知道火的具体级数的,这是事先约定好的.
对比图 1 和图 2,可以发现这两张图横轴都是具体的数值,而纵轴则是表达了具体的数值
符合若干模糊词汇的程度.因此可以完成输入要求的具体到模糊的转化和输出要求的模糊到
具体的转化.有了图 1,图 2,控制规则和输入输出设备则可以完成自动温度调节器的设计,具
体来说就是:
1. 通过温度传感器得到当前外部环境的温度值
2. 通过图 1 将具体的温度值转化为冷,合适,热这三种感觉
3. 参照处理的三条规则得到是用大火还是用小火还是不改变火的大小
4. 参照图 2 得到要调节的火的具体级数,并通过输出设备输出
上面通过类比人调节温度的过程,总结了人调节温度的经验,并将这些经验用于设计自
动温度调节器,这种温度调节器就是一种模糊控制器,可见模糊控制器具有以下特点
1.不需要知道控制对象的具体数学模型,只要对被控对象有大体了解,并总结出控制规
则就能快速实现控制.

2.模糊控制的“模糊”体现在控制规则的提出是基于人的感觉,而这种感觉具有模糊性,如
对温度的冷,合适,热的感觉和对火的大小的感觉.这些感觉并不是精确的某一数值,而是一个
范围,不同的人会有不同的看法.所以会看到,图 1 和图 2 中不同感觉会有重合的地方.
3.模糊控制器的特异性,由于不同人对相同事物看法的不同,导致对同一被控对象,不同
的人会提出不同的控制策略.
接下来将通过电容恒流充电装置来进一步介绍模糊控制,共有四部分的内容:
一.针对特定问题,总结人解决问题的思路,得到控制规则
下面的图 3(可在 http://www.cnblogs.com/iszhang/下载)是在 simulink 里构建的
电容恒流充电仿真图.图的上半部分是电池通过 buck 电路给电容充电的电路.下半部分的控
制器通过采集实际电流和设定电流 1.2A 之差 e 以及 e 的变化率 ec,通过查表的方式给出占
空比是 0-1 之间的 10KHZ 方波给 buck 电路,从而通过调节 buck 电路的输出电压来调节
充电电流,以达到电容恒流充电的作用.关于本图更详细的解释将会在后面给出.
下面图 4 是在 0.7s 内的电容充电电流图,可见电流基本恒定在设定值 1.2A 上.

模糊控制单元呢,怎么没看见?其实 2-D Lookup Table 就是模糊控制单元的替身,是通
过测试模糊控制单元的输入输出而得到的二维数组(后面将介绍如何得到这个二维数组).这
样把较复杂的模糊运算放在运行速度快的 PC 上,而运行速度慢的嵌入式芯片就可以坐享其
成,直接使用计算好的输出数据.由于节省了计算所需的时间,使得控制的实时性得到了增强.
前面通过类比人调节温度的过程,我们制作了自动温度控制器,这里我们类比人控制电流的
方法来总结控制电容恒流充电的规则.
图三中,通过 Current Measurement1 这个电流传感器采集充电电流 i,并将设定值
1.2 与 i 相减得到误差 e,则 e = 1.2 – i.
e > 0 则表示此时电流小于 1.2
e < 0,则电流大于 1.2
e = 0,则此时电流刚好是 1.2
这时可以得出一组控制规则:
如果 e > 0,则提高电压
如果 e < 0,则减小电压
如果 e = 0,则电压不变
为了提高控制精度,还可以再考虑 e 的变化量 ec,ec 代表了电流是在变大,变小还是保
持不变.ec 的正负与(t-1 时刻的 i – t 时刻的 i)的正负相同.
ec > 0,则 t-1 时刻的 i > t 时刻的 i,说明电流在减小
ec < 0,则 t-1 时刻的 i < t 时刻的 i,说明电流在增加
剩余30页未读,继续阅读
资源评论


oligaga
- 粉丝: 26
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
