به نام خداوند بخشنده و مهربان
تنظیم بهینه ضرایب برای کنترلرPID گسسته
درس کنترل بهینه
تهیه کنندگان:
مجید عمادآبادی
مقدمه :
به دلیل اینکه PID ها ساختار ساده و قابل فهمی دارند و پارامترهای تنظیم آنها کم میباشند ( به سه پارامتر قابل تنظیم هستند )در صنعت بیسار مورد استفاده قرار میگیرند مشکل عمده این کنترل ها عدم وجود روش طراحی بهینه آنها می باشد روشهای مرسوم برای تنظیم پارامترهای PID سعی و خطا میباشند اما روشهای قابل تنظیم مانند روش خلقه باز ، روش نیکولز و… وجود دارند که به صورت تقریب این پارامترها را به دست می آورند
در این مقاله یک روش بهینه برای به دست آورن ضرایب یک PID گسسته ارایه شده است ، مسئیه به صورت کنترل بهینه با هدف مینیمم کردن وارانس خروجی تعریف شده است از آنجاییکه متغیرهای تصادفی با تابع توزیع احتمال نمایش داده میشوند اگر تابع توزیع از نوع نرمال باشد با دو عدد میانگین واریانس نمایش داده میشود به دلیل وجود نویز و تغییر پارمترها فرایند های صنعتی عملا پروسه به صورت یک فرایند اتفاقی در می آید که متغیرهای آن از جمله خروجی متغیرهای تصادفی میباشند از آنجاییکه خروجی پروسه کیفیت محصوا را نمایش میدهد باید از حدقال تغییرات برخوردار باشد یعنی در صورت نشان دادن آن با یک توزیع نرمال تغییرات خروجی (واریانس ) حول مقدار میانگین ( یا مقدار مطلوب ) کمینه باشد به این نوع کنترلر واریانس خروجی میگویند مثلا در پروسه تولید کاغذ یکی از اهدف تولید کاغذ با ضخامت ثابت میباشد یعنی ضخامت آن در طول روند کاغذ حول ضخامت مطلوب کمترین تغییرات (واریانس )را داشته باشد .
کنترلرPID بهینه آماری:
در اینجا یک سیتم کنترلی تصادفی به صورت رابطه 1 تعریف شده است :
f ترم پیش بین سیستم میباشد که قرار است در لحظه بعد محاسبه شود و در سیگنال خروجی مستقیما به عنوان ورودی کنترلر PID تعریف شده است در رابطه PID گسسته که سیگنال Ut را میسازد در مقاله لحاظ گردیده است هدف این است که برای خروجی رابطه ای بر حسب ضرایب کنترل ورودی نویز محاسبه گردد و با واریانس گرفتن از آن شرایط برای محاسبه ضرایب کنترل به دست آید
که درآن بهره تناسبی، بهره انتگرالگیرو بهره مشتقگیر میباشند.
روند به دست آوردن خروجی بر حسب ورودی و نویز و ضرایب PID به این صورت است که رابطه Y مدل سیستم 1 را تحت کنترلر PID مینویسیم و Ut و Ut-1 محاسبه و اختلاف آنها به دست آورده میشوند و رابطه دیگری به دست می آید که رابطه جدید گین های PID را برای زمانهای متفاوت yt از یکدیگر تفکیک نموده است و رابطه به دست آمده u جدید را در مدل اصلی سیستم جایگذاری نموده است در نهایت پس از ساده سازی و تعریف متغیرهای جدید به رابطه yt جدید میرسد
که درآن :
با استفاده ازمعادلات بالا،بردارهاوماتریس های زیرراتشکیل می دهیم :
وازقبل می دانیم که بردارL به صورت زیرتعریف می شود:
که ماتریس جدیدی از رابطه فوق استخراج می نماید بعد از استخراج ماتریس yt را به فرم معادلات حالت در آورده است
که درآن :
باگرفتن واریانس ازهردوطرف معادله (2) داریم:
واریانس خروجی به صورت زیرمی باشد:
وبنابراین:
یا
از روی معادلات فضای حالت واریانس خروجی را محاسبه نموده است و پس از ساده سازی و جایگذاری ماتریس چهار به عبارت رسیده است که تنها یک عبارت آن وابسته به گین های کنترلر PID است در صورتی که بتوان ضرایب که عبارت مذکور را صفر کند واریانس حداقل خواهد شد از صفر نمودن رابطه 4 برای ضرایب بهینه کنترلر به دست میاید KpوKiوKd که رابطه تکرار پذیر با حالت اولیه میباشد و در هر تکرار عملکرد اصلاحی روی ضرایب PID دارد
بنابراین بهره های بهینه کنترلرPID به صورت زیربدست می آیند:
بدینصورت که ابتدا شرایط اولیه واریانس به صورت رابطه زیر محاسبه میشود
بااستفاده ازفرمول زیرشرایط اولیه برداربهره ها بدست می آید:
ii ) با استفاده از معادله (3) ماتریس واریانس را برای تکرار بعدی بدست
می آوریم:
iii ) بااستفاده ازمعادله (4) بردار بهره را بدست می آوریم:
iv ) تکرار بین معادلات (5) و (6) را ادامه می دهیم رابطه زیر برقرار شود:
v ) ازماتریس V بالا برای محاسبه بردار بهره بهینه استفاده می کنیم.
بطور مشابه می توان ازاین روش برای محاسبه فیلترکالمن فضای حالت نیزاستفاده کرد و معادله (3) یک معادله ریکاتی می باشد.
مثال 1: سیستم زیر را درنظربگیرید
که در آن نویزسفید باواریانس می باشد.دراین سیستم
روابط زیر را ازروابط بالا بدست می آید
ماتریس های p ، q وH را تشکیل می دهیم
ماتریس V وبرداربهینه بهره بدست می آید
برای شبیه سازی م بهینه سازی ضرایب PID مثال فوق شبیه سازی شده است که شبیه سازی انجام شده در سیمولینک به شکل زیر پیاده سازی شده است .
مدل سیمولینک پیاده سازی شده در متلب :
مدل شبیه سازی شده PID Discrete در سیمولینک به شکل زیر است:
برای پیاده سازی معادلات و روش ارایه شده در مقاله با توجه به مطالبی که ارایه شد با توجه به معادلات داده شده و بهینه سازی ضرایب PID در دور برنامه متلب m.file به این صورت انجام میشود ابتدا با واریانس اولیه=2.37 δ مقادیر K0 در تابع نوشته شده در m.file با نام mycalu.m محاسبه میشود که همان ضرایب اولیه Kp وKiو Kd اولیه هستند این مقادیر بعد از محاسبه به سیمولینک شبیه سازی شده simoptimal0.mdl اعمال و خروجی برنامه که واریانس خروجی میباشد محاسبه و در workspace چاپ میشود برنامه و نتایج برنامه به شرح ذیل میباشد:
Mycalclu.m
function [V K] = mycalcu(V0,K0)
a=2.37;
D=[1;0;0;0;0;0];
G=[1 1 1 ;-1 0 2;0 0 1];
H=[-.168 0 0;.2184 -.168 0;-.02184 .2184 -.168;-.02856 -.01284 .2184;0 -.02856 -.02184;0 0 -.2856];
P=[1.908;-.908;0;0;0;0];
q=[3.208;-3.5184;1.25844;0.20632;-.15436;0];
A=[q';eye(5) zeros(5,1)]';
A1=A-(H*G*K0*D');
B=q-P-(H*G*K0);
V=A1*V0*A1'+(B*B')*a
K=(inv(G)*inv(H'*H)*H'*[(A*V*D)+((q-P)*a)])/(a+D'*V*D);
end
optimal1
clc
clear all
a=2.37;
C=[1 0 0 0 0 0];
D=[1;0;0;0;0;0];
G=[1 1 1 ;-1 0 2;0 0 1];
H=[-.168 0 0;.2184 -.168 0;-.02184 .2184 -.168;-.02856 -.01284 .2184;0 -.02856 -.02184;0 0 -.2856];
P=[1.908;-.908;0;0;0;0];
q=[3.208;-3.5184;1.25844;0.20632;-0.15436;0];
A=[q';eye(5) zeros(5,1)]';
V=[(q-P)*(q-P)']*a;
K=(inv(G)*inv(H'*H)*H'*[(A*V*D)+((q-P)*a)])/(a+D'*V*D);
K0=K
kp=K0(1,:)
ki=K0(2,:)
kd=K0(3,:)
k1=kp+ki+kd
k2=-2*kp*kd
k3=kd
simout= simset('solver','ode45','SrcWorkspace','Current','DstWorkspace','Current'); % Initialize sim op
[tout,xout,yout] = sim('simoptimal0.mdl',[0 100],simout);
var(yout)
f=500;
for j=1:f
[N M]=mycalcu(V,K);
save N M
if N==V;
j=500;
save V K;
else
V=N;K=M;j=j+1;
end
end
VV=var(V)
OV=C*V*C'+a
kp=K(1,:)
ki=K(2,:)
kd=K(3,:)
k4=kp+ki+kd
k5=-2*kp*kd
k6=kd
simout = simset('solver','ode45','SrcWorkspace','Current','DstWorkspace','Current');
[tout,xout,yout] = sim('simoptimal.mdl',[0 100],simout);
var(yout)
نتایج حاصل از اجرای برنامه برای حالت اولیه :
K0 =[-5.5298 ,-1.9288,-0.0030]
Yout= 6.4819 واریانس خروجی
* نویزسفید اعمالی به سیستم با واریانس 2.37
* سیگنال کنترلی با حضور نویز
همانطور میبینیم دامنه سیگنال کنترلی تا +200 رسیده است
* سیگنال خروجی
* مشاهده سه سیگنال با هم برای دریافت بیشتر موضوع
حال با استفاده از K0 اولیه و نویز اولیه و روش ارایه شده در مقاله از طریق m.file دوم در تکرار طوری ضرایب بهینه PID را تعیین میکنیم که تغییرات واریانس تغیرایبا نزدیک به هم باشد و پاسخ ها همگرا شودو در نهایت ضرایب به دست آمده مجددا به سیستم اعمال و نتایج مشاهده میگردد:
K=[-4.8726 -3.7494 0.0556]
واریانس خروجی Yout= 5.3212
* نویز سفید با واریانس خروجی 2.37
* سیگنال کنترلی Ut
* خروجی با عمال ضرایب بهینه کنترلی یافته شده از روش ارایه شده:
همانظور که مشاهده میشود دامنه نویز در خروجی کاهش پیدا نموده است .
با مقایسه سیگنال خروجی در حالت اعمال ضرایب K0 به سیستم و اعمال ضرایب بهینه سافته شده در شرایط یکسان اثر بهینه یابی ضرایب کاملا مشخص است و اثر نویز سفید در خروجی کاهش 1 نموده است.
جهت اجرای برنامه ها ابتدا برنامه های m.file و دو بلوک سیمولینک باز شده و فقط برنامه optimal1.m اجرا میشود برنامه ابتدا ضرایب اولیه را با برنامه mycalcu.m پیدا نموده به مدل سیمولینک اعمال میکند و در ادامه با استفاده از روش بهینه یابی ضرایب بهینه مشخص شده و به برنامه سیمولینک دیگر اعمال میشود.
…………………………………………………………………………………………………………………………………………………………
در انتها از جناب دکتر بیجامی در کمک به درک مفاهیم کنترل طی درسهای مدرن و کنترل بهینه و سمینار تشکر و قدردانی میگردد.