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

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

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

subplot(2,1,1)
plot(w,20*log10(mag))
grid on
subplot(2,1,2)
plot(w,phase)
grid on

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ePij
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
رابطه بین منحنی فاز و منحنی دامنه در سیستم های مینیمم فاز:
در سیستم های مینیمم فاز با مشخص بودن نمودار اندازه در همه فرکانس ها میتوان نمودار فرکانس را هم به دست آورد و برعکس. در سیستم های مینیمم فاز مقدار زاویه فاز در فرکانس بینهایت برابر است با -90(q-p) که q و p به ترتیب درجه مخرج و صورت تابع تبدیل حلقه باز سیستم است.
در همه سیستم ها چه مینیمم فاز و چه نامینیمم فاز شیب نمودار لگاریتم اندازه برابر -20(q-p) است.
مثال :
P(s)=(s+1)/(s^2+2s+3)

clc
clear
close all

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

bode(num,den);
grid on

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/hLmn
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
در مثال فوق q=2 و p=1 بنابراین مقدار فاز نهایی باید برابر با -90(q-p)=-90 درجه باشد که از دیاگرام بود مشخص است.
همچنین مقدار شیب در فرکانس‌های نهایی برابر -20(q-p)=-2 dB/dec که از نمودار بود مشخص است.
در واقع اگر نمودار بود یک سیستم را داشته باشیم به کمک روابط اخیر میتوانیم درجه صورت و مخرج تابع تبدیل متناظرش را بیابیم. کافی است یک دستگاه دو معادله دو مجهول را حل کنیم.
ارتباط بین نمودار بود و نوع سیستم :
برای تعیین نوع(تیپ) سیستم به شیب نمودار اندازه در حوالی صفر توجه میکنیم برای سیستم با تیپ n این شیب برابر -20n میباشد.


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

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

s=tf('s');
sys=(s+1)/(s^2)/(s^2+2*s+3);

w=logspace(-3,1,100);

bode(sys,w);
grid on

نتیجه :

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/F1DV
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
همانطور که از شکل فوق مشخص است شیب در حوالی فرکانس صفر برابر با 40 dB/dec است. که نشان میدهد سیستم از تیپ 2 میباشد.
در مثال فوق چون هدف تعیین تیپ سیستم بود بنابراین بردار w را به گونه‌ای انتخاب کردیم تا مقادیر دقیق‌تری در حوالی صفر داشته باشیم. یعنی فرکانس‌ها را از 0.001 تا 10 در نظر گرفتیم.
رابطه دیاگرام بود با ثابت خطای مکان، سرعت و شتاب :
با توجه به تیپ سیستم (شیب منحنی اندازه حوالی صفر) میتوان برای سیستم های نوع صفر k_p و برای سیستم های نوع یک k_v و برای سیستم های نوع دو k_a را بدست آوریم. برای سیستم نوع صفر دیاگرام اندازه با یک خط افقی شروع میشود و محل برخورد این خط با محور اندازه برابر 20 log⁡〖k_p 〗 میباشد. برای سیستم با تیپ یک خط اولیه با شیب 20- را امتداد میدهیم عرض نقطه برخورد این خط با خط ω=1 برابر 20 log⁡〖k_v 〗 میباشد. برای سیستم با تیپ دو خط اولیه با شیب 40- را امتداد میدهیم عرض نقطه برخورد این خط با خط ω=1 برابر 20 log⁡〖k_a 〗 میباشد.

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
مثال:
G(s)=1/(1+0.2s+0.04s^2 )(1+0.1s)
همانطور که مشخص است سیستم از تیپ 0 می‌باشد. به صورت تحلیلی داریم:
(k_p=lim)┬(s→0)⁡〖1/(1+0.2s+0.04s^2 )(1+0.1s) 〗=1
حال دیاگرام بود را رسم میکنیم:
clc
clear
close all

s=tf('s');
sys=1/(1+0.2*s+0.04*s^2)/(1+0.1*s);

w=logspace(-3,1,100);

bode(sys,w);
grid on


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/ZiIg
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
بنابراین:
20 log⁡〖k_p 〗=0 و بنابراین k_p=1 میباشد.
که همان نتیجه عملیات تحلیلی می‌باشد.
مثال :
G(s)=1/s(1+0.2s+0.04s^2 )(1+0.1s)
همانطور که مشخص است سیستم از تیپ 1 می‌باشد. به صورت تحلیلی داریم:
〖(k_v=lim⁡)┬(s→0) s〗⁡〖1/s(1+0.2s+0.04s^2 )(1+0.1s) 〗=1
حال به کمک دیاگرام بود :

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
یک خط اولیه با شیب 20- را امتداد میدهیم عرض نقطه برخورد این خط با خط ω=1 برابر 20 log⁡〖k_v 〗 میباشد. این کار را توسط برنامه زیر انجام میدهیم:
clc
clear
close all
w=logspace(-1,2,1000);

s=tf('s');
sys=1/s/(1+0.2*s+0.04*s^2)/(1+0.1*s);

[MAG,phase,W]=bode(sys,w);

MAG_dB=20*log10(MAG);

for i=1:numel(MAG)
mag(1,i)=MAG_dB(1,1,i);
end

semilogx(W,mag)
grid on
hold on
slope=(mag(10)-mag(1))/(log10(w(10))-log10(w(1)))
l=slope.*(log10(w)-log10(w(1)))+mag(1);
plot(w,l)
plot([1,1],[-200,50])


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
در این برنامه پس از محاسبه مقدار اندازه و تبدیل آن برحسب dB مقادیر را در یک بردار به نام mag قرار می‌دهیم. سپس باید در فرکانس‌های پایین یک خط بر نمودار اندازه مماس کنیم و عرض نقطه برخورد این خط با خط ω=1 را محاسبه کنیم. بنابراین ابتدا شیب خط مماس را بدست می‌آوریم (این شیب باید نزدیک به 20- باشد) سپس خط مورد نظر را رسم می‌کنیم. و در نهایت با رسم خط w=1 محل برخورد این دو خط را بدست می‌آوریم.


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/myjy
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
20 log⁡〖k_v 〗=0.007689
k_v=1.0008856
که همان نتیجه حاصل از روش تحلیلی است.
مثال :
G(s)=1/(s^2 (1+0.2s)(2+0.1s) )
همانطور که مشخص است سیستم از تیپ 2 می‌باشد. به صورت تحلیلی داریم:
ka=lim⁡s→0s21/(s^2 (1+0.2s)(2+0.1s) )=0.5

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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
حال به کمک دیاگرام بود :
خط اولیه با شیب 40- را امتداد میدهیم عرض نقطه برخورد این خط با خط ω=1 برابر 20 log⁡〖k_a 〗 میباشد.
همان برنامه فوق را اجرا می‌کنیم فقط با تابع تبدیل جدید:
clc
clear
close all
w=logspace(-1,2,1000);

s=tf('s');
sys=1/s^2/(1+0.2*s)/(2+0.1*s);

[MAG,phase,W]=bode(sys,w);

MAG_dB=20*log10(MAG);

for i=1:numel(MAG)
mag(1,i)=MAG_dB(1,1,i);
end

semilogx(W,mag)
grid on
hold on
slope=(mag(10)-mag(1))/(log10(w(10))-log10(w(1)))
l=slope.*(log10(w)-log10(w(1)))+mag(1);
plot(w,l)
plot([1,1],[-200,50])



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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
http://yon.ir/tm7z
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
20 log⁡〖k_a 〗=-6.031
k_a=0.4994
که همان نتیجه حاصل از روش تحلیلی میباشد.
روش دیگر برای بدست آوردن k_v و k_a
همچنین برای بدست آوردن k_v و k_a میتوان محل برخورد خط اولیه یا امتداد آن را با 0db به دست آورد و این فرکانس از نظر عددی برای سیستم مرتبه یک برابر k_v و برای سیستم مرتبه دو، برابر ریشه دوم k_a میباشد.
مثال :
G(s)=1/(s^2 (1+0.2s)(2+0.1s) )
سیستم از نوع (تیپ) 2 می‌باشد و برای آن ثابت خطای شتاب برابر 0.5 است.(طبق محاسبات مثال قبل)


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀 آموزش کاربرد متلب در کنترل خطی و کنترل مدرن 🍀🍀
____________________________
💡 جلسه یازدهم
💡 استاد : مهندس ورمقانی
____________________________
برنامه زیر که بسیار شبیه به برنامه قبلی است به کمک روش اخیر مقدار ثابت خطای شتاب (k_a) بدست می‌دهد.
clc
clear
close all
w=logspace(-1,2,10000);

s=tf('s');
sys=1/s^2/(1+0.2*s)/(2+0.1*s);

[MAG,phase,W]=bode(sys,w);

MAG_dB=20*log10(MAG);

for i=1:numel(MAG)
mag(1,i)=MAG_dB(1,1,i);
end

semilogx(W,mag)
grid on
hold on
slope=(mag(10)-mag(1))/(log10(w(10))-log10(w(1)))
l=slope.*(log10(w)-log10(w(1)))+mag(1);
plot(w,l)
plot([0.1,100],[0,0])




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

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

همانطور که ملاحظه شد تنها تفاوت این است که خط مماس را به جای قطع با x=0 با y=0 قطع می‌دهیم.
k_a=〖(0.7065)〗^2=0.49914
یک برنامه کلی برای بدست آوردن ثابت های خطا :
برنامه زیر که یک برنامه کلی است میتواند ثابت های خطا را با توجه نوع سیستم برای هر سیستم دلخواه به دست آورد همچنین k_v و k_a را با هر دو روش به دست می آورد.
clc
clear
close all
num=[1];
den=[0.02 0.5 2 0 0];
w=logspace(-3,2,1000);
[mag phase w]=bode(num,den,w);
slope=(20*log10(mag(50))-20*log10(mag(10)))/(log10(w(50))-log10(w(10)));
K=slope*(log10(1)-log10(w(10)))+20*log10(mag(10));

k=10^(K/20);
if den(length(den))==0 && den(length(den)-1)==0;
disp('type of system=2');disp('ba raveshe ghat ba w=1')
ka=k
end
if den(length(den))==0 && den(length(den)-1)~=0;
disp('type of system=1');disp('ba raveshe ghat ba w=1')
kv=k
end
if den(length(den))~=0;
disp('type of system=0')
kp=k
end

kk=10^(((0-20*log10(mag(10)))/slope)+log10(w(10)));
if den(length(den))==0 && den(length(den)-1)==0;
disp('ba raveshe ghat ba 0db')
ka=kk^2
end
if den(length(den))==0 && den(length(den)-1)~=0;
disp('ba raveshe ghat ba 0db')
kv=kk
end


نتیجه :
type of system=2
ba raveshe ghat ba w=1

ka =

0.5000

ba raveshe ghat ba 0db

ka =

0.5000

____________________________
#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
🍀🍀آموزش سیمولینک🍀🍀
____________________________
💡 جلسه اول
💡 استاد : مهندس فرجی
____________________________
با عرض سلام خدمت دوستان عزيز
قصد دارم در چند قسمت، نحوه كاركردن با Simulink رو به شما آموزش بدم پس اگه تا حالا با Simulink كار نكرديد و يا مشكلاتي در كاركردن با اون داريد مي‌تونيد با من همراه باشيد


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
🍀🍀آموزش سیمولینک🍀🍀
____________________________
💡 جلسه اول
💡 استاد : مهندس فرجی
____________________________
سيمولينك نرم افزاريه كه شما براي شبيه‌سازي سيستم‌هاي ديناميكي، مي‌تونيد از اون استفاده كنيد اين نرم‌افزار زيرمجموعه نرم‌افزار متلبه كه داراي كتابخانه‌هاي زيادي در زمينه رشته‌هاي مختلف از جمله برق و مكانيكه. اگه ما نرم‌افزار متلب رو فصل مشترك رشته‌هاي مهندسي در محاسبات عددي بدونيم نرم‌افزار سيمولينك رو مي‌تونيم فصل مشترك رشته‌هاي مهندسي در زمينه نرم‌افزارهاي شبيه‌ساز قرار بديم.
براي شروع كار با سيموليك ابتدا از مسير File » New » Model يك مدل جديد ايجاد كنيد. اين مدل رو در شكل زير مشاهده مي‌كنيد.


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

© @MATLAB_tutorial
© @MATLAB_files
____________________________
yon.ir/4J9S