模糊PID控制器的设计与仿真——设计步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模糊PID控制器的设计与仿真
设计模糊PID控制器时,首先要将精确量转换为模糊量,并且要把转换后的模糊量映射到模糊控制论域当中,这个过程就是精确量模糊化的过程。模糊化的主要功能就是将输入量精确值转换成为一个模糊变量的值,最终形成一个模糊集合。
本次设计系统的精确量包括以下变量:变化量e,变化量的变化速率ec还有参数整定过程中的输出量△ K P,△ K D,△ K,在设计模糊PID的过程中,需要将这些精确量转换成为模糊论域上的模糊值。本系统的误差与误差变化率的模糊论域与基本论域为:E=[-6,-4,-2,0,2,4,6];Ec=[-6,-4,-2,0,2,4,6] 。
模糊PID控制器的设计选用二维模糊控制器。以给定值的偏差e和偏差
变化ec为输入;△ K P,△ K D,△ K为输出的自适应模糊PID控制器,见图1。
图1模糊PID控制器
(1) 模糊变量选取
输入变量E和EC的模糊化将一定范围(基本论域)的输入变量映射到离散区
间(论域)需要先验知识来确定输入变量的范围。就本系统而言,设置语言变量取
七个,分别为NB, NM NS ZQ PS, PM PB
(2) 语言变量及隶属函数
根据控制要求,对各个输入,输出变量作如下划定:
e,ec 论域:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}
△心,△ K D,△ K 论域:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6} 应用模糊合成推理PID参数的整定算法。第k个采样时间的整定为
K p(k)二K p。:K p(k) , Kdk)二K I。水心),K°(k)二K D。 *D(k).
式中K P0,K|0,K D0为经典PID控制器的初始参数
设置输入变量隶属度函数如图2所示,输出变量隶属度函数如图 3所示 Membership Function Editor; fuzzyl File Edit View
Current Van able
Current Membershiip Function (click on MF to select) Name e Name zo
Type
input TyP® gLaussmf v
Range
[-6 6]
Params [0.B493 OJ
Display Range [-6 &]
Ready
图2输入变量隶属度函
Membership Function Editor: fuz2y1
File Edit View
图3输出变量隶属度函
(3) 编辑模糊规则库
的控制规则如下所示:
FIS v^riable& ki
kcl
Membership fuitctlon plots- otat oonis : 181
FIS vulablas ec ki
w htemi 祐活術p funaBon pkk 憎 “刃m ■肝咏 101
根据以上各输出参数的模糊规则表,可以归纳出49条控制逻辑规则,具体
1. If (e is NB) and (ec is NB) then (kp is NB)(ki is PB)(kd is NS)(1)
2. If (e is NB) and (ec is NM) then (kp is NB)(ki is PB)(kd is PS)(1)
3. If (e is NB) and (ec is NS) then (kp is NM)(ki is PM)(kd is PB)(1)
4. If (e is NB) and (ec is ZO) then (kp is NM)(ki is PM)(kd is PB)(1)
5. If (e is NB) and (ec is PS) then (kp is NS)(ki is PS)(kd is PB)(1)
6. If (e is NB) and (ec is PM) then (kp is ZO)(ki is ZO)(kd is PM)(1)
7. If (e is NB) and (ec is PB) then (kp is ZO)(ki is ZO)(kd is NS)(1)
8. If (e is NM) and (ec is NB) then (kp is NB)(ki is PB)(kd is NS)(1)
9. If (e is NM) and (ec is NM) then (kp is NB)(ki is PB)(kd is PS)(1)
10. If (e is NM) and (ec is NS) then (kp is NM)(ki is PM)(kd is PB)(1)
11. If (e is NM) and (ec is ZO) then (kp is NS)(ki is PS)(kd is PM)(1)
12. If (e is NM) and (ec is PS) then (kp is NS)(ki is PS)(kd is PM)(1)
13. If (e is NM) and (ec is PM) then (kp is ZO)(ki is ZO)(kd is PS)(1)
14. If (e is NM) and (ec is PB) then (kp is PS)(ki is ZO)(kd is ZO)(1)
15. If (e is NS) and (ec is NB) then (kp is NM)(ki is PB)(kd is ZO)(1)
16. If (e is NS) and (ec is NM) then (kp is NM)(ki is PM)(kd is PS)(1)
17. If (e is NS) and (ec is NS) then (kp is NM)(ki is PS)(kd is PM)(1)
18. If (e is NS) and (ec is ZO) then (kp is NS)(ki is PS)(kd is PM)(1)
19. If (e is NS) and (ec is PS) then (kp is ZO)(ki is ZO)(kd is PS)(1)
20. If (e is NS) and (ec is PM) then (kp is PS)(ki is NS)(kd is PS)(1)
21. If (e is NS) and (ec is PB) then (kp is PS)(ki is NS)(kd is ZO)(1)
22. If (e is ZO) and (ec is NB) then (kp is NM)(ki is PM)(kd is ZO)(1)
23. If (e is ZO) and (ec is NM) then (kp is NM)(ki is PM)(kd is PS)(1)
24. If (e is ZO) and (ec is NS) then (kp is NS)(ki is PS)(kd is PS)(1)
25. If (e is ZO) and (ec is ZO) then (kp is ZO)(ki is ZO)(kd is PS)(1)
26. If (e is ZO) and (ec is PS) then (kp is PS)(ki is NS)(kd is PS)(1)
27. If (e is ZO) and (ec is PM) then (kp is PM)(ki is NM)(kd is PS)(1)
28. If (e is ZO) and (ec is PB) then (kp is PM)(ki is NM)(kd is ZO)(1)
29. If (e is PS) and (ec is NB) then (kp is NS)(ki is PM)(kd is ZO)(1)
30. If (e is PS) and (ec is NM) then (kp is NS)(ki is PS)(kd is ZO)(1)
31. If (e is PS) and (ec is NS) then (kp is ZO)(ki is ZO)(kd is ZO)(1)
32. If (e is PS) and (ec is ZO) then (kp is PS)(ki is NS)(kd is ZO)(1)
33. If (e is PS) and (ec is PS) then (kp is PS)(ki is NS)(kd is ZO)(1)
34. If (e is PS) and (ec is PM) then (kp is PM)(ki is NM)(kd is ZO)(1)
35. If (e is PS) and (ec is PB) then (kp is PM)(ki is NB)(kd is ZO)(1)