MATLAB
2.35K subscribers
202 photos
24 videos
143 files
280 links
Download Telegram
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
# جلسه دوم :
# کاربرد متلب در کنترل خطی و کنترل مدرن
در این جلسه یاد خواهیم گرفت که با داشتن نمودار بلوک دیاگرام یک سیستم کنترلی چگونه با سری و موازی کردن و ساده کردن حلقه های موجود آن را به یک تابع تبدیل واحد تبدیل کنیم.
ابتدا یاد میگیریم که با داشتن صورت و مخرج تابع تبدیل و یا با داشتن فرم فضای حالت یک تابع تبدیل چگونه آن را به شکل قابل قبول برای متلب تبدیل کنیم.
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
دستور tf :

با داشتن صورت و مخرج یک تابع تبدیل میتوان از دستور tf برای بدست آوردن تابع تبدیل آن استفاده نمود.

num=[1 1];
den=[1 5 6];
G=tf(num,den)

G=
(s+1)/(s^2+5*s+6)

Continuous-time transfer function.

یک روش دیگر می تواند به صورت زیر باشد:

» s=tf('s');
G=(s+1)/(s^2+5*s+6)

Transfer function:
s + 1
—---------—
s^2 + 5 s + 6
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
دستور ss :

اگر مدل فضای حالت سیستم را داشته باشیم از این دستور برای تبدیل این ماتریس ها به فرم قابل استفاده در متلب استفاده میکنیم:

» A=[-5 -6;1 0];
B=[1;0];
C=[1 1];
D=0;
G=ss(A,B,C,D)

a =
x1 x2
x1 -5 -6
x2 1 0

b =
u1
x1 1
x2 0

c =
x1 x2
y1 1 1

d =
u1
y1 0

Continuous-time state-space model.
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

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

کاربرد دیگر دستور ss تبدیل فرم تابع تبدیل به مدل فضای حالت می باشد:
» s=tf('s');
G=(s+1)/(s^2+5*s+6)

Gss=ss(G)

Transfer function:
s + 1
—---------—
s^2 + 5 s + 6


a =
x1 x2
x1 -5 -3
x2 2 0

b =
u1
x1 1
x2 0

c =
x1 x2
y1 1 0.5

d =
u1
y1 0

Continuous-time state-space model.
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

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

کاربرد دیگر دستور ss تبدیل فرم تابع تبدیل به مدل فضای حالت می باشد:
» s=tf('s');
G=(s+1)/(s^2+5*s+6)

Gss=ss(G)

Transfer function:
s + 1
—---------—
s^2 + 5 s + 6


a =
x1 x2
x1 -5 -3
x2 2 0

b =
u1
x1 1
x2 0

c =
x1 x2
y1 1 0.5

d =
u1
y1 0

Continuous-time state-space model.
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
همچنین از دستور tf میتوان برای تبدیل فرم فضای حالت به فرم تابع تبدیل نیز استفاده کرد:
» A=[-5 -6;1 0];
B=[1;0];
C=[1 1];
D=0;
G=ss(A,B,C,D)

Gsys=tf(G)

a =
x1 x2
x1 -5 -6
x2 1 0

b =
u1
x1 1
x2 0

c =
x1 x2
y1 1 1

d =
u1
y1 0

Continuous-time state-space model.

Transfer function:
s + 1
—---------—
s^2 + 5 s + 6

»
http://goo.gl/Bgeqoi
___________________________________________

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

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
» num1=[1 1];
den1=[1 5 6];
num2=[1 2];
den2=[1 5];
G1=tf(num1,den1);
G2=tf(num2,den2);

G=series(G1,G2)

Transfer function:
s^2 + 3 s + 2
—----------------------
s^3 + 10 s^2 + 31 s + 30
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
همانطور که می بینیم دستور series عامل های مشترک صورت و مخرج را حذف نمیکند برای ساده کردن تابع تبدیل از دستور mineral استفاده می‌کنیم.

Gmin=minreal(G)

» Gmin=minreal(G)

Transfer function:
s + 1
—------------
s^2 + 8 s + 15


هم چنین ورودی های تابع series می‌تواند صورت و مخرج توابع تبدیل باشد :
num1=[1 1];
den1=[1 5 6];
num2=[1 2];
den2=[1 5];

[num,den]=series(num1,den1,num2,den2
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
پس از آن میتوان از دستور tf استفاده کرد:

» [num,den]=series(num1,den1,num2,den2);
G=tf(num,den);
Gmin=minreal(G)

Transfer function:
s + 1
—------------
s^2 + 8 s + 15
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

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

موازی کردن بلوک ها:
دو بلوک را موازی گوییم اگر ورودی آن ها یکی بوده و خروجیشان با هم جمع شود.
در متلب برای محاسبه سیستم حاصل از موازی شدن دو بلوک از دستور parallel استفاده میکنیم.

http://goo.gl/cFpNwl
___________________________________________
#Modern_control
#آموزش_مقدماتی
#جلسه_دوم
#ورمقانی
#کنترل_مدرن
#مثال

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

» num1=[1 1];
den1=[1 5 6];
num2=[1 2];
den2=[1 5];
sys1=tf(num1,den1);
sys2=tf(num2,den2);

sys=parallel(sys1,sys2)

Transfer function:
s^3 + 8 s^2 + 22 s + 17
—----------------------
s^3 + 10 s^2 + 31 s + 30

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

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
هم چنین ورودی های تابع parallel می‌تواند صورت و مخرج توابع تبدیل باشد :
» num1=[1 1];
den1=[1 5 6];
num2=[1 2];
den2=[1 5];

[num,den]=parallel(num1,den1,num2,den2);
sys=tf(num,den)

Transfer function:
s^3 + 8 s^2 + 22 s + 17
—----------------------
s^3 + 10 s^2 + 31 s + 30



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

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

توجه کنید که اگر بلوک های موازی شده از هم کم شوند کافی است که منفی را به تابع تبدیل متناظر منتقل کنیم :

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

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
http://goo.gl/e75jC2
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
» num1=[1 1];
den1=[1 5 6];
num2=[1 2];
den2=[1 5];

sys1=tf(num1,den1)
sys2=tf(num2,den2)

sys=parallel(sys1,-sys2)

Transfer function:
s + 1
—---------—
s^2 + 5 s + 6


Transfer function:
s + 2
—---
s + 5


Transfer function:
-s^3 - 6 s^2 - 10 s - 7
—----------------------
s^3 + 10 s^2 + 31 s + 30


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

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
اتصال فیدبک بلوک ها :
اتصال فیدبک دار در شکل زیر نشان داده شده است


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

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
http://goo.gl/17bLV7
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
در متلب برای ساده سازی اتصال فیدبک دار از دستور feedback استفاده می‌کنیم
» num1=[1 1];
den1=[1 5 6];
num2=[1 2];
den2=[1 5];

sys1=tf(num1,den1);
sys2=tf(num2,den2);

sys= feedback(sys1,sys2)

Transfer function:
s^2 + 6 s + 5
—----------------------
s^3 + 11 s^2 + 34 s + 32


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

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

همچنین میتوان به صورت زیر نیز استفاده کرد:

» num1=[1 1];
den1=[1 5 6];
num2=[1 2];
den2=[1 5];

[num,den]=feedback(num1,den1,num2,den2);
sys=tf(num,den)

Transfer function:
s^2 + 6 s + 5
—----------------------
s^3 + 11 s^2 + 34 s + 32


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

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

پیش فرض متلب در محاسبه فیدبک ، فیدبک منفی است اگر بخواهیم فیدبک مثبت را ساده کنیم باید ورودی سومی برای تابع feedback در نظر گرفته شود این ورودی عدد 1+ میباشد:
» num1=[1 1];
den1=[1 5 6];
num2=[1 2];
den2=[1 5];

sys1=tf(num1,den1);
sys2=tf(num2,den2);

sys= feedback(sys1,sys2,+1)

Transfer function:
s^2 + 6 s + 5
—---------------------
s^3 + 9 s^2 + 28 s + 28


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

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
___________________________________________
💡 جلسه دوم
💡 استاد : مهندس ورمقانی
___________________________________________
همچنین میتوانیم منفی بودن فیدبک را به تابع تبدیل مسیر فیدبک انتقال دهیم:
» sys= feedback(sys1,-sys2)

Transfer function:
s^2 + 6 s + 5
—---------------------
s^3 + 9 s^2 + 28 s + 28


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

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

اگر فیدبک واحد داریم از دستور زیر استفاده میکنیم:
sys= feedback(sys1,[1])



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

© @MATLAB_tutorial
© @MATLAB_files
___________________________________________
http://goo.gl/rRafyg