最近有一个任务是写一篇关于离子源控制的专利,领导希望我从整体的离子源写。然后阅读了一下《ECR离子源主要参数对离子束流影响的研究》这篇论文,大概对影响离子源的两个参数有所理解,一个是微波功率,一个是腔体的真空度,当然其他的影响因素还是有的,但是这两个起主要作用吧。
然后我想把整个系统看做一个黑箱,因为离子源点火以及束流稳定的影响因素很多,所以用模糊控制不用建立系统的数学模型,还是很方便的。
首先,我理解的模糊控制大概就是如下:
1,把采集的数据给映射到论域里,一个离散域,公式就是如图所示
2.确定他属于哪个隶属函数,基本上就是哪个隶属度大就属于哪个
3确定模糊规则,基本凭借经验或者你的输入输出确定
4输出反模糊化
然后事先声明,我的这次失败了,不知道为啥结果是负的,只是记录一下在这过程中的模糊控制已备忘。
整个都是在学堂在线上听的智能控制导论里学到的,不过他的实验是做的控制信号的跟踪。因为我没有系统,所以直接用系统的输入和输出来仿真。
模糊控制的步骤为:
(1)模糊控制器的结构
(2)定义输入输出模糊集
(3)定义输入输出隶属函数
(4)建立模糊控制规则
(5)建立模糊控制表
(6)模糊推理
(7)反模糊化
其中的2到7都可以用MATLAB simulink里的fuzzy模块完成,还是很方便的。
调用出fuzzy工具箱,
在这里设置论域,隶属函数,输出的反模糊方法,模糊规则等等,基本就是全包了。后文是为了确定模糊规则。
首先,确定输入输出,建立仿真的结构
然后,需要把来自传感器的实时信号模糊化。
- 将微波功率离散到论域{-4,4}
微波功率的范围是360-800,则kw为2*4/800-360=0.0182
则模糊控制器的微波输入为
原输入 |
360 |
400 |
480 |
500 |
600 |
650 |
707 |
750 |
800 |
输入 |
-4 |
-3 |
-2 |
-1 |
0 |
1 |
2 |
3 |
4 |
- 将真空度离散到论域{-8,8}
真空度的范围是1.6-5.9,则kp=2*8/5.9-1.6
则模糊控制器的真空度输入为
原输入 |
1.6 |
1.7 |
2.1 |
2.2 |
2.3 |
2.4 |
2.5 |
2.6 |
2.7 |
2.7 |
2.9 |
3.0 |
3.2 |
3.7 |
5.3 |
5.9 |
|
输入 |
-8 |
-8 |
-6 |
-6 |
-5 |
-5 |
-5 |
-4 |
-4 |
-4 |
-3 |
-3 |
-2 |
0 |
6 |
8 |
|
- 控制量也就是束流离散到论域{-12,12}
取值范围是12.4-4,则ku=12.4-4/2*12
则模糊控制器的控制量输出为
原输出 |
10.4 |
10.5 |
10.6 |
12 |
12.2 |
12.3 |
12.4 |
12.1 |
8.9 |
11.2 |
11 |
输出 |
6 |
7 |
7 |
11 |
11 |
12 |
12 |
11 |
2 |
9 |
8 |
原输出 |
10.2 |