MATLAB
2.35K subscribers
202 photos
24 videos
143 files
280 links
Download Telegram
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
دیاگرام نیکولز (قسمت دوم):
در این جلسه به بررسی کاربرد عملی دوایر M و α خواهیم پرداخت.
کاربرد عملی دوایر M و α :
کاربرد عملی این دوایر در بدست آوردن مقادیر دامنه و فاز سیستم حلقه بسته نیست !
در واقع باید مسیر عکس را پیمود!
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
در عمل پاسخ فرکانسی سیستم حلقه بسته در دسترس است (این اطلاعات می‌تواند مثلا به کمک دادن ورودی های سیسنوسی با دامنه و فاز متفاوت به سیستم و مشاهده پاسخ حاصل شود.) سپس برای بررسی پایداری و عملکرد سیستم لازم است مقادیر دامنه و فاز سیستم حلقه باز را داشته باشیم تا با رسم دیاگرام نیکولز و یا نایکویست و یا بوده به بررسی پایداری و عملکرد سیستم حلقه بسته بپردازیم. بنابراین با داشتن پاسخ فرکانسی سیستم حلقه بسته به رسم دیاگرام نیکولز سیستم حلقه باز و یا در واقع به بدست آوردن پاسخ فرکانسی سیستم حلقه باز می‌پردازیم.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
برای این کار فرض کنیم مقادیر متناظر دامنه و فاز در یک نقطه برای سیستم حلقه بسته برابر با m و ph باشند در این صورت نقطه حاصل از تقاطع دایره M=m و دایره α=ph یک نقطه از دیاگرام نیکولز سیستم حلقه باز خواهد بود. و به همین ترتیب برای تمامی نقاط رسم می‌کنیم و با وصل کردن این نقاط به ترتیب فرکانس به هم دیاگرام نیکولز حاصل می‌شود حال به کمک آن عملکرد سیستم را بررسی می‌کنیم.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
نمونه‌ای از دیاگرام نیکولز (در اینجا منظورمان صفحه حاصل از رسم دوایر M و α است.) در شکل زیر آمده است.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/XWlg
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
رسم دوایر M :
دو راه کار وجود دارد راه اول این است که مانند آنچه در مثال جلسه قبل انجام دادیم دیاگرام نیکولز را برای سیستم حلقه باز متناظر با سیستم زیر رسم کنیم.
G(s)=〖10〗^(m/20) (s-1)/(s+1)
که m مقادیر مورد نظر است.
اما راه ساده تر این است که معادلات حاکم بر نمودارها را بیابیم و آن‌ها را رسم کنیم.

____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
فرض کنیم تابع تبدیل حلقه باز به صورت زیر باشد.
P(jω)=NUM(jω)/DEN(jω) =X+jY
بنابراین تابع تبدیل حلقه بسته به صورت زیر خواهد بود:
G(jω)=P(jω)/(1+P(jω) )=NUM(jω)/(DEN(jω)+NUM(jω) )=(X+jY)/(1+X+jY)
بنابراین خواهیم داشت:
M≝|G(jω)|=|(X+jY)/(1+X+jY)|
پس داریم :
M^2=(X^2+Y^2)/((1+X)^2+Y^2 )
اگر M=1 معادله قوق به شکل زیر تبدیل می‌شود:
X=-1/2

____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
با فرض M≠1 معادله فوق را میتوان به شکل زیر نوشت:
〖(X+M^2/(M^2-1))〗^2+Y^2=M^2/((〖M^2-1)〗^2 )
که نشان دهنده یک دایره به مرکز (-M^2/(M^2-1) ,0) و شعاع |M/(M^2-1)| در صفحه X-Y می‌باشد. حال اگر بخواهیم آن را در صفحه نیکولز یعنی دامنه بر حسب فاز رسم کنیم کافی است دامنه و فاز مربوط به سیستم حلقه باز یعنی
P(jω)=NUM(jω)/DEN(jω) =X+jY
را بیابیم.
mag=20 log⁡√(X^2+Y^2 )
phase=tan^(-1)⁡〖Y/X〗


____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
مثال :
دوایر M را برای مقادیر -20 تا 10 دسیبل با گام‌های 0.25 dB رسم کنید.
برنامه متلب زیر دوایر مورد نظر را رسم می‌کند:
clc
clear
close all

ngrid on

t=0:0.01:2*pi;

m=-20:0.25:10;

for m=m

M=10^(m/20);

if M~=1

x=abs(M/(M^2-1))*cos(t)-M^2/(M^2-1);
y=abs(M/(M^2-1))*sin(t);

mag=20*log10(sqrt(x.^2+y.^2));
phase=atan2(y,x)*180/pi;

for i=1:numel(t)
if phase(i)>360
phase(i)=phase(i)-360;
elseif phase(i)<0
phase(i)=phase(i)+360;
end
end

hold on
plot(phase,mag)

end

end
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
نتیجه :
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/hrko
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
رسم دوایر α :
P(jω)=NUM(jω)/DEN(jω) =X+jY
بنابراین تابع تبدیل حلقه بسته به صورت زیر خواهد بود:
G(jω)=P(jω)/(1+P(jω) )=NUM(jω)/(DEN(jω)+NUM(jω) )=(X+jY)/(1+X+jY)
بنابراین خواهیم داشت:
α=∡G(jω)=tan^(-1)⁡〖Y/X〗-tan^(-1)⁡〖Y/(1+X)=tan^(-1)⁡〖(Y/X-Y/(1+X))/(1+Y/X Y/(1+X))〗 〗
بنابراین :
tan⁡α=Y/(X^2+X+Y^2 )
معادله فوق را می‌توان به شکل زیر نوشت:
(X+1/2)^2+(Y-1/(2 tan⁡α ))^2=1/(4〖sin〗^2 (α) )
معادله فوق بیانگر یک دایره به مرکز (-1/2 , 1/(2 tan⁡α )) و شعاع |1/(2sin⁡(α))| می‌باشد.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
مثال :
دوایر α را برای مقادیر 0 تا 360 درجه با گام‌های 5 درجه رسم کنید.
clc
clear
close all

ngrid on

t=0:0.001:2*pi;

alpha=0:5:360;

for alpha=alpha

if alpha~=180;

x=abs(1/(2*sind(alpha)))*cos(t)-0.5;
y=abs(1/(2*sind(alpha)))*sin(t)+1/(2*tand(alpha));

mag=20*log10(sqrt(x.^2+y.^2));
phase=atan2(y,x)*180/pi;

for i=1:numel(t)
if phase(i)>360
phase(i)=phase(i)-360;
elseif phase(i)<0
phase(i)=phase(i)+360;
end
end

hold on
plot(phase,mag)
end

end

axis([0 360 -30 40])


____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
نتیجه:
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/8t1Q
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
بدست آوردن دیاگرام نیکولز سیستم از روی پاسخ فرکانسی حلقه بسته:
مثال :
فرض کنید پس از دادن ورودی‌های مختلف سینوسی اطلاعات زیر را راجع به پاسخ فرکانسی سیستم حلقه بسته بدست آورده باشیم. دیاگرام نیکولز سیستم را رسم کنید.(طبیعتا منظور دیاگرام نیکولز سیستم حلقه باز متناظر است

____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/Hju4
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
مطابق آنچه گفته شد باید دوایر M و α را با هم قطع بدهیم در واقع برای مقادیر فوق دوایر M و α را در یک صفحه رسم کرده و سپس نقاط تقاطع دوایر M و α متناظر، یک نقطه از دیاگرام نیکولز مورد نظر است.
باید تمام دوایر مورد نظر که مقادیر آن‌ها در جدول فوق آمده است را رسم کنیم و سپس مثلا نقطه برخورد دایره M=-7.9462 و α=-0.57809 یک نقطه از دیاگرام نیکولز است که فرکانس متناظر با آن نیز برابر 0.1 است. و به این ترتیب به تعداد12 نقطه از دیاگرام نیکولز بدست می‌آید که با وصل کردن آن‌ها به هم دیاگرام تقریبی نیکولز سیستم حلقه باز رسم می‌شود.

____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
اگر بخواهیم این کار را دستی انجام دهیم کار ساده خواهد بود اما می‌خواهیم این کا را متلب انجام دهد برنامه زیر این کار را انجام می‌دهد:
clc
clear
close all

m=[-7.9462 -7.6628 -6.9897 -6.4836 -6.4681 -7.513 -8.0986 -8.7283 -11.222 -15.068 -19.797 -21.44];

Alpha=[-0.57809 -3.4893 -10.305 -21.701 -28.558 -48.122 -53.282 -57.653 -69.075 -78.294 -83.784 -84.942];

t=-pi:0.001:pi;

for i=1:numel(m)

M=10^(m(i)/20);
alpha=Alpha(i);

x=abs(M/(M^2-1))*cos(t)-M^2/(M^2-1);
y=abs(M/(M^2-1))*sin(t);

mag_M=20*log10(sqrt(x.^2+y.^2));
phase_M=atan2(y,x)*180/pi;

for j=1:numel(t)
if phase_M(j)>180
phase_M(j)=phase_M(j)-360;
elseif phase_M(j)<-180
phase_M(j)=phase_M(j)+360;
end
end


plot(phase_M,mag_M,'.')
hold on

x=abs(1/(2*sind(alpha)))*cos(t)-0.5;
y=abs(1/(2*sind(alpha)))*sin(t)+1/(2*tand(alpha));

mag_a=20*log10(sqrt(x.^2+y.^2));
phase_a=atan2(y,x)*180/pi;

for j=1:numel(t)
if phase_a(j)>180
phase_a(j)=phase_a(j)-360;
elseif phase_a(j)<-180
phase_a(j)=phase_a(j)+360;
end
end

plot(phase_a,mag_a,'.')

xlim([-180 180])

hold off

[PHASE(i),MAG(i)]=ginput(1);


end

plot(PHASE(:),MAG(:))


____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
در برنامه فوق به ترتیب دوایر M و α منتاظر رسم می‌شود و سپس کاربر نقطه تقاطع را به کمک ماوس مشخص میکند برنامه همه این نقاط را درخود نگه داشته و سرانجام آن‌ها را رسم می‌کند.
ممکن است دو نقطه تقاطع داشته باشیم در این صورت آن نقطه را که به نقطه انتخابی قبلی نزدیک تر بوده و هموار بودن نمودار حاصل را تضمین کند انتخاب می‌کنیم.
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/8zks
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
پس از انتخاب نقاط تقاطع نتیجه به صورت زیر خواهد بود:
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/7pUc
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
نتیجه گیری :
داده‌های داده شده در جدول مثال فوق مربوط به پاسخ فرکانسی سیستم زیر بود:
G(s)=(s+2)/(s^2+3s+5)
بنابراین حلقه باز آن به صورت زیر خواهد بود:
P(s)=(s+2)/(s^2+2s+3)
حال پس از اجرای برنامه فوق با اجرای برنامه زیر دیاگرام نیکولز واقعی را هم رسم می‌کنیم:
hold on
num=[0 1 2];
den=[1 2 3];
nichols(num,den,'r')


____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/pp83
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه سیزدهم
💡 استاد : مهندس ورمقانی
____________________________
همانطورکه ملاحظه می‌شود دیاگرام تقریبی که با روش فوق بدست آوردیم تقریبا بر دیاگرام واقعی منطبق است
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_سیزدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________