MATLAB
2.35K subscribers
202 photos
24 videos
143 files
280 links
Download Telegram
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________

دیاگرام نیکولز(قسمت اول) :
در این جلسه ابتدا به بررسی دیاگرام نیکولز و پس از آن به بررسی دوایر M و α خواهیم پرداخت.
دیاگرام نیکولز :
منظور ما از دیاگرام نیکولز دیاگرامی است که مقادیر دامنه (برحسب dB) را برحسب مقادیر فاز (برحسب درجه) نمایش دهد. برای این کار می‌توان پس از به دست آوردن مقادیر دامنه و فاز آن‌‌ها را برحسب هم رسم کرد.

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
دیاگرام دامنه برحسب فاز سیستم زیر را رسم کنید.
P(s)=(s+1)/(s^2+2s+3)
ابتدا به کمک دستور bode مقادیر دامنه و فاز را میابیم و سپس دامنه را برحسب فاز رسم میکنیم.
clc
clear
close all

num=[1 1];
den=[1 2 3];

[mag,phase]=bode(num,den);

MAG=20*log10(mag);

plot(phase,MAG)

title('Nichols Chart')
xlabel('Phase (deg)')
ylabel('Gain (dB)')

ngrid

نتیجه :


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/6oTM
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
دستور ngrid در واقع مجموعه‌ای از دوایر M و α را رسم میکند.
که در ادامه به بررسی آن‌ها خواهیم پرداخت.
دستور Nichols :
در متلب برای رسم نمودار نیکولز از دستور Nichols استفاده میکنیم.
شکل استفاده ازاین دستور به صورت‌های زیر است:
nichols(sys)
nichols(sys,w)
[mag,phase,w] = nichols(sys)
[mag,phase] = nichols(sys,w)

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
دیاگرام دامنه برحسب فاز سیستم زیر را رسم کنید.
P(s)=(s+1)/(s^2+2s+3)
clc
clear
close all

num=[1 1];
den=[1 2 3];

nichols(num,den)

ngrid % or grid

نتیجه :

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

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

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

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

num_c=10^(3/20).*[1 -1];
den_c=[1 1];

num_o=num_c;
den_o=den_c-num_c;

nichols(num_o,den_o);

ngrid
نتیجه :

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/89UT
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
همانطور که ملاحظه می‌شود تنها کمانی از دایره M=3dB رسم شد. برای رسم کامل باید قرینه آن نیز رسم شود.
clc
clear
close all

num_c=10^(3/20).*[1 -1];
den_c=[1 1];

num_o=num_c;
den_o=den_c-num_c;

nichols(num_o,den_o);

hold on

num_c=-10^(3/20).*[1 -1];
den_c=[1 1];

num_o=num_c;
den_o=den_c-num_c;

nichols(num_o,den_o);

ngrid
نتیجه :

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/B7pZ
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
دوایر α (مکان هندسی فاز ثابت) :
این مکان در واقع دیاگرام نیکولز سیستم‌هایی هستند که مقدار فاز سیستم حلقه بسته متناظر‌ آن‌ها در همه فرکانس‌ها ثابت می‌ماند.
مثلا فرض کنید بخواهیم دیاگرام نیکولز سیستمی را رسم کنیم که مقدار فاز سیستم حلقه بسته آن همواره برابر 90 درجه بماند. فرض کنیم این سیستم (تابع تبدیل حلقه بسته) به شکل زیر باشد.
G(s)= (-1)/s
همانطور که ملاحظه می‌شود مقدار فاز این سیستم همواره برابر 90 درجه می‌ماند.
حال به کمک متلب دیاگرام نیکولز سیستم را رسم میکنیم.
clc
clear
close all

num_c=-[0 1];
den_c=[1 0];

num_o=num_c;
den_o=den_c-num_c;

nichols(num_o,den_o);

ngrid

نتیجه :


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/XLPz
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
همانطور که ملاحظه می‌شود قسمتی از دایره α=90 رسم می‌شود.
کاربرد دوایر دوایر M و α :
گفتیم دوایر M و α به ترتیب دیاگرام نیکولز سیستم‌هایی با دامنه و فاز (حلقه بسته) ثابت هستند. بنابراین وقتی دیاگرام نیکولز یک سیستم را بر روی دوایر M و α رسم کنیم نقاط تقاطع دیاگرام نیکولز با این دوایر میزان دامنه و فاز سیستم حلقه بسته را در فرکانس قطع با دوایر M و α بدست می‌دهد. یعنی بدون محاسبه دامنه و فاز سیستم حلقه بسته میتوانیم از روی دیاگرام نیکولز سیستم حلقه باز مقادیر دامنه و فاز سیستم حلقه بسته را بیابیم.
مثال :
سیستم حلقه باز زیر را در نظر بگیرید.
P(s)=(-10s-1)/(s^2+2s+3)
سیستم حلقه بسته منتاظر برابر است با:
G(s)=(-10s-1)/(s^2-8s+2)

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

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

num_o=[0 -10 -1];
den_o=[1 2 3];

w=logspace(-2,3,1000);

nichols(num_o,den_o,w);

ngrid

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/t3xX
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
برای اینکه مقادیر دوایر را با دقت بیش تری مشخص کنیم از تب Edit گزینه Axes Properties را میزنیم وسپس در صفحه باز شده گزینه Ticks را بزنید. (اگر این گزینه وجود نداشت بار دیگر در همین صفحه از تب Edit گزینه Axes Properties را میزنیم) .
____________________________
#Modern_Control
#آموزش_مقدماتی
#جلسه_دوازدهم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/RqOz
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
سپس در قسمت Ticks گزینه step by را فعال کرده و step مناسب را وارد میکنیم.


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/1E6q
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
حال در دیاگرام نیکولز تعدادی از نقاط که با دوایر برخورد کرده‌اند را مشخص میکنیم :

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/F4M2
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه دوازدهم
💡 استاد : مهندس ورمقانی
____________________________
از روی نقاط فوق مشخص میشود که سیستم حلقه بسته مثلا در فرکانس 4.39 دارای دامنه 1dB است زیرا در این فرکانس دایره M=1dB را قطع میکند. همچنین در فرکانس 38.8 دارای دامنه -12dB است. و در فرکانس 8.09 دارای دامنه -1dB است همچنین در فرکانس 0.0873 دارای فاز 240 درجه است و در فرکانس 0.565 دارای فاز 330 درجه است.
صحت اعداد فوق را با رسم دیاگرام نیکولز برای سیستم حلقه بسته مشخص میکنیم:
clc
clear
close all

num_o=[0 -10 -1];
den_o=[1 2 3];

w=logspace(-2,2,1000);

num_c=num_o;
den_c=den_o+num_o;

nichols(num_c,den_c,w);

ngrid



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

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


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM