نوشتن پروژه کنترل فازی در متلب
نوشتن پروژه کنترل فازی در متلب : آموزش عملی متلب
آموزش عملی متلب کنترل شستن ماشین لباسشویی با کنترل فازی در متلب :
گزارش کار ماشین لباسشویی:
برای انجام این پروژه کافی است توابع عضویت ورودی و خروجی را تعریف می کنیم که توابع عضویت برای این پروژه عبارتند از :
آموزش عملی متلب کلیت پروژه بصورت زیر می باشد :
[ulp id=’hAvlTccXXzt2ufny’]
توابع عضویت ورودی بصورت زیر است :
- نوع لباس ورودی سیستم (type-cloth)
- تعداد دفعات جذب آب توسط لباس (time-absorb)
- میزان غلظت آب (constrate )
آموزش عملی متلب و توابع عضویت خروجی عبارتند از:
- سطح آب ماشین لباسشویی (water level)
- زمان شستشو (wash-time)
بانک قوانین برای خروجی اول سیستم (water-level) و خروجی دوم (wash-time) که شامل ۱۲ قانون است بصورت زیر در خواهد آمد :
و شکل کلی صفحه قوانین بصورت زیر است :
و نهایتا نمایشگر قوانین بصورت زیر در می آید :
و سطح خروجی برای خروجی اول water level بصورت زیر در می آید :
و سطح خروجی برای خروجی دوم wash time بصورت زیر در می آید :آموزش عملی متلب
که نتایج دقیقا با نتایج مقاله برابر است :
وو نهایتا برنامه را در محیط سیمولینک شبیه سازی می کنیم :
برای مشاهده باید فایل فازی را در محیط workspace اکسپورت کنیم.
برای طراحی کنترلر pid سیستم ماشین لباسشویی لازم است سیستم را بصورت زیر تعریف می کنیم :
و مدل دینامیکی سیستم بصورت زیر در می آید :»
معادلات دینامیک سیستم برای تبدیل به فضای حالت بصورت زیر در می آید:
که برای تبدیل به فضای حالت بصورت زیر در می آید :
و برای تبدیل به فرم فوق ماتریس های فوق بصورت زیر است :
A=[0 -1;-K/M C/M];
B=[0;-1/M*sin(w)];
C=[-1 1];
D=[0];
و پاسخ پله سیستم حلقه باز سیستم بصورت زیر در می آید:
و پس از طراحی سیستم در فضای سیمولینک و طراحی کنترلر PID برای سیستم مورد نظر که بصورت زیر در می آید:
و پاسخ سیستم کنترل شده بصورت زیر در می آید:»
و کد متلب سیستم بصورت زیر در می آید:
M=102;
K=4000;
C=3800;
w=1200;
A=[0 -1;-K/M C/M];
B=[0;-1/M*sin(w)];
C=[-1 1];
D=[0];
[num,den]=ss2tf(A,B,C,D);
sys=tf(num,den)
step(sys)