本帖最后由 zpc64 于 2010-10-8 10:18 编辑
& Q% ?1 q& ~ V; O- R# G
: e V! G _4 ^, S) k5 c稳定CO2焊焊接电流模糊控制器的设计与仿真 (二) 为了克服单因子自调整的不足,根据偏差的量化值的大小,提出了一个多因子自调整控制规则的算式:
8 Y/ C4 K, t2 X4 g- T3 c% h 采用带修正因子的控制规则,即使是采用五因子修正算式,α(i=1-5)值选取仍有较大的盲目性,往往是先凭经验预定出α的若干个不同的取值,再逐一对它们进行实验仿真,以选择最优值。这种方法既耗时又繁琐,而且往往选不到真正最优的α值。因此还需要设计一种修正因子自寻优的模糊控制器,它能在系统控制过程中对α进行实时自寻优,以实现控制规则的自调整和自完善,达到提高控制系统品质的目的。
. x4 C! c7 d# E# c 带修正因子自寻优的模糊控制系统结构如图1所示,其中通常是取:J=∫∞0t|e|dt为目标函数,并以目标函数的值为最小作为系统的性能指标,而且用修正因子α为寻优参数。寻优过程是针对被控过程的运行状况,根据目标函数值的大小不断地对因子α进行修正,使目标函数值逐步减小,直到系统的控制性能达到要求为止。若运行状况发生新的变化,则需重新执行寻优过程,直到调整出适合新运行状态设为修正因子。
) O/ ^) x) N1 d* C' g5 f$ \ 在对给定的输入响应求目标函数值时,由于用计算机组成的模糊控制系统是一个离散系统,故应把目标函数J化为离散算式:
# H) y! p5 {( t' j. R J=Σ〖DD(〗n〖〗i=1〖DD)〗iT|e(i)|T=Σ〖DD(〗?n〖〗i=1〖DD)〗iT2|e(i)|〖JZ)〗〖JY〗(8)3 N) _! w2 ~$ q+ @+ f
其中:T是采样周期,i是采样序号。3 v) D+ H1 g' v
如果把采样周期T看成单位时间,则可取T=1。式(8)可写为:. n/ p5 i9 |5 G0 W; T
J=Σ〖DD(〗N〖〗I=1〖DD)〗i|e(i)|〖JZ)〗〖JY〗(9)& m$ L. i$ I6 e- ^( [9 s! s; @, e4 n
这样,只要先凭经验选择一组初始修正因子α={α?1,α?2,α?3,α?4,α5},得出一组初始的控制规则来对被控对象进行控制,然后对系统响应的过度过程进行采样,即可用式(9)求出目标函数J的值。
% C/ P9 g. p3 L y 在求得系统的目标函数值后,在应用寻优算法进行修正因子α的在线自寻优,使目标函数值J?=min或达到给定值为止。此时的α={α1,α2,α3,α4,α5}为最优修正因子,系统的特性也达到了最优,其中的寻优算法可采用单纯算法(其方法在自动控制理论相关的书籍上都有介绍)。
) T3 {2 [& q8 j% v. L" ` 2.4 模糊控制表的完成
2 j& _9 s) ^3 j6 I7 q0 J$ g 当选用不同的修正因子时,根据公式(7)就会得到不同的模糊控制规则而形成不同的模糊控制表。对于弧焊电源这样一个典型的被控对象,其传递函数假定为:G(s)=1/s(s+1)。设给定的输入为单位阶跃输入信号,现采用修正因子自寻优方法对以上对象进行控制。为了得到最优的α值,首先凭经验预定出5个不同的取值α?1=0.3,α?2=0.4,α?3=0.5,α?4=0.6和α?5=0.7;再以式(9)表示的J为寻优目标,采用单纯形法作为寻优方法,经过多次调整最终找到J=min的最优修正因子为:α1=0.28,α2=0.50,α3=0.66,α4=0.79,α5=0.93。7 W6 R0 Q9 H9 G+ |: F& D
2.5 模糊控制输出量的反模糊化" m+ H2 d& U' L9 D! Q
将上面得到的控制量的论域乘以比例因子,便可得到实际的控制增量,加上原来的控制量,输出去控制被控对象。若在(4)的基础上,不对输入输出量进行量化,而对所得到的一组优化修正因子进行曲线拟合,得到修正因子的连续表达式,则可获得连续的输出量。对修正因子进行拟合运算的模糊控制系统见图1。这样可消除量化误差和调节死区。% I* b/ ]. G) s5 ]: j' C
综上所述,带修正因子的自组织模糊控制器可以抛开控制表,把模糊控制规则综合成一个简单算式,直接求取控制量,并可以根据系统的运行状态,通过调整α值,很方便地进行在线调整控制规则,以改善系统的控制性能。因此这是一种既方便又有效的自组织模糊控制器,特别适合于工程上应用。
* q& |+ P0 Q4 R1 q 3 模糊控制器的仿真和分析
) k1 F! ]+ ^) E# [% p1 x) { 由于模糊控制器的设计思想是模拟人脑的思考过程,在模糊控制器的设计过程中,对实际经验的依赖性很大,要求设计者结合实际经验,选取控制量,设计控制规则。选取的某些控制量和控制规则的效果如何,必须编制大量的程序进行仿真分析,或者是等到控制器完成以后通过实际来观察、验证。显然,这两种方法都费时费力,而且都必须通过大量实验才能确定,实际设计过程中,类似的工作往往占总工作量的大部分。针对上面的情况,本文使用MATLAB(含SIMULINK)软件进行仿真。
1 R& }2 t8 u. U, B% m! |: e# L 3.1 SIMULINK中的模型的创建方法- S# }# J0 y$ k% W9 A B
一般模型元件的创建,关键在S函数的正确编制及调用。S函数实质上是具有特殊调用格式的MATLAB函数,表征系统动态特性,能使SIMULINK有能力构造一般的仿真方框图,灵活方便的设计出用户的特殊环节。) T7 v9 P, Q6 Z2 B
实际上,SIMULINK的每一个模型都可以用输入、输出、状态三个要素进行描述:! R% e0 ~8 N `1 B+ k3 Y7 C: [8 h
function[sys,x0]=sfunc(t,x,u,flag,参数1,参数2,…)/ v$ ? S) Y# O8 `& R
其中,sfunc是用户定义的系统,t是当前时刻,x是当前状态值,x0是初始状态值,u是当前系统输出值,变量flag的值返回变量sys的信息。. T& O7 ~5 C; s1 B0 [. E' y
模糊控制原理如图1所示。其中具有调整因子的模糊控制环节,用S函数描述如下:- u: R# [0 {1 l) [
zt fuzzy.m3 n1 Z6 b! ?' N& R4 x$ p+ W
function[sys,x0]=zt fuzzy(t,x,u,flag,ke,kc,ku,a)
2 o W! R; S( a7 C) r, p if abs(flag)=3# h b# P, @# ]/ D/ o$ s
E=round(ke*u(1));6 z4 n3 w$ [' V# |" `; x# h3 a, P; C
C=round(ke*u(2));
$ m% d4 W# s! o* ? Sys=ku*(a*E (1-a)*c);5 [& C& `3 v) v. p' q
Else if flag=0' i z9 C1 B( D% T
Sys=[0;0;1;2;0;0];+ @$ ~$ T% V" Q `. c
Elae
, v6 s8 h/ Q$ e3 @# Q' h! | Sys=[];
9 w5 _0 ?! `6 j End7 n) V* P( w+ Z; P
将上述S函数进行成组(Group)和封装(Mask)处理,就得到用户创建的SIMULINK模块。在系统仿真中新模块与SIMULINK提供的标准模块功能完全一样,具有相同的仿真效率及可信度。 1 L. P0 O+ c. ]5 q, d' l# E
3.2 模糊控制器的仿真及分析
+ {4 G: R* f6 Z& _, T7 q# h 将上述S函数经过封装处理后,在SIMULINK模型库中找出与设计的系统相对应的模块,把它们拖到新模型窗口中,用线连接起来就可以创建一个如图2示的模糊系统模型图。 7 h) L* O) R5 r) l' m
& e- N. |3 Z; X" V+ `
利用该模型就可以对所设计模糊控制系统进行仿真研究。图中ZTFUZZY模块是自建的
' z4 G# n& {: l: B 模糊调节器模型,图中step是仿真时输入的阶跃信号,焊接电流的传递函数假设为:G(s)=1/s(s+1),图中的示波器scope的作用是实时的画出控制系统的输出结果曲线,也可以将数据存储到MATLAB的工作空间中,再利用绘图plot命令将输出曲线在单独窗口画出来。 K6 @$ Y# o# t0 Z# c1 [
采用多修正因子的自调整规则进行控制仿真的结果如图3所示。其中曲线3对应于五个修正因子α?1=0.3,α2=0.4,α3=0.5,α4=0.6和α5=0.7时控制系统的单位阶跃相应,曲线2应于五修正因子α1=0.28,α2?=0.50,α3=0.66,α4=0.79,α5=?0.93时控制系统的单位阶跃相应,而曲线1是系统在线调整修正因子时控制系统的相应曲线。由图可见,离线优化的因子(曲线2)的控制较未优化(曲线3)的控制效果要好,而在线调整因子(曲线1)控制效果最好,超调最小,相应时间最短。但由于在线优化给控制器增加了负担,使实时效果降低。
4 H6 T1 a# e2 {; u- f 4 结论* W3 d7 B, O( [5 H( p
1)所设计的稳定CO?2焊焊接电流模糊控制器不仅可以有效的消除电弧电压调节过程中所引起的焊接电流的偏差,而且也可以消除网络电压波动、保护气体纯度或流量以及焊炬高度变化所引起的偏差。
* _# p5 B! A( k K0 | 2)设计焊接电流的带修正函数自寻优模糊控制器的稳定性好,阶跃响应的超调小,动态响应快。 |