توضیحات
کنترل سطح آب مخزن با منطق فازی در متلب
کنترل سطح آب داخل مخزن است. سیستم از یک حسگر ارتفاع آب, یک شیر کنترلی و یک کنترل کننده تشکیل می شود.
کنترل سطح آب مخزن با منطق فازی در متلب
فایل های زیر تهیه شده است:
- فایل های sldemo_tanksfun.m و sldemo_tankgui.m که جهت ایجاد صفحات گرافیکی مربوط به تانک و ایجاد انیمیشن مورد استفاده قرا می گیرند.
- فایل سیمولینک sldemo_tank.mdl که سیستم کنترل فازی را بر روی تانک پیاده سازی کرده و عمل کنترل فازی سطح آب در آن انجام می شود.
- فایل ساختار کنترل کننده فازی Fuzzy_Controller.fis که توسط anfisedit طراحی شده و در محیط سیمولینک به عنوان کنترل کننده مورد استفاده قرار می گیرد.
فایل ها در متلب نسخه 2011b آماده شده اند و برای اجرا بهتر است در همین نسخه متلب اجرا شوند.
برای اجرای فایل ها مطابق فیلم آموزشی موجود در فولدر Report استفاده شود.
تشریح فایل سیمولینک
نمای این فایل در شکل 1 نشان داده شده است.
در بلوک سبز تابع sldemo_tanksfun.m فراخوانی می شود و در این تابع به کمک تابع sldemo_tankgui.m صفحه گرافیکی شکل 2 ایجاد شده و به صورت انیمیشن نمایش داده می شود.
در واقع ورودی های این بلوک وضعیت شیر ورودی, ارتفاع آب و وضعیت شیر خروجی هستند که با تغییر آنها در سیستم در صفحه گرافیکی منعکس می شوند.
شکل 1: فایل سیمولینک
شکل 2: صفحه گرافیکی تانک و شیرهای ورودی و خروجی
در بلوک tank dynamics معادلات دینامیکی تانک به صورت روابط 1 پیاده سازی شده اند.
…
محتویات این بلوک در شکل 3 نشان داده شده اند که با معادلات 1 هماهنگی دارند.
شکل 3: بلوک tank dynamics
همچنین روابط مربوط به شیرهای ورودی و خروجی در بلوک های inlet valve و outlet valve پیاده سازی شده اند.
معمولا در سیستم های واقعی اینترلاک هایی وجود دارد (سوئیچ های ایمنی ) که اگر ارتفاع آب از یک سطحی بیشتر باشد شیر ورودی را کاملا ببندد یا اگر ارتفاع آب از یک سطحی کمتر باشد شیر خروجی را ببندد.
این اینترلاک ها در فایل سیمولینک در بلوک های قرمز رنگ قرار داده شده اند تا در صورت سرریز تانک یا تخلیه بیش از حد تانک شیرهای ورودی و خروجی را ببندد.
سیستم کنترل فازی در بلوک نارنجی رنگ پیاده سازی شده است.
این بلوک سیگنال مرجع ارتفاع و سیگنال ارتفاع اندازه گیری شده را دریافت نموده و سیگنال کنترلی را محاسبه می کند.
شکل 4: کنترل کننده فازی—hr سیگنال مرجع است
محتوای بلوک کنترل کننده در شکل 5 نشان داده شده است.
این بلوک ابتدا خطا و مشتق آن را محاسبه نموده و در اختیار کنترل کننده فازی قرار می دهد.
کنترل کننده فازی از نوع sugeno بوده و duty cycle مربوط به باز و بستن شده سلنوئید ولو روی تانک را تغییر می دهد تا ارتفاع آب تانک با باز و بسته شده این شیر به حد مطلوب برسد.
شکل 5 : ساختار کنترل کننده فازی
ساختار کنترل کننده فازی در فایل Fuzzy_Controller.fis ذخیره شده است.
برای مشاهده و تغییر این فایل ابتدا در command window عبارت anfisedit را تایپ کرده تا صفحه زیر مشاهده شود.
سپس از منوی
Fileimportfrom fileFuzzy_Controller.fis
کنترل کننده را بارگذاری کنید. پس از انجام این کار شکل 6 نشان داده می شود.
شکل 6: ساختار کنترل کننده فازی
با دابل کلیک کردن روی توابع عضویت و یا قواعد فازی می توانید آنها را مشاهده و تغییر دهید.
فایل sldemo_tanksfunc
این فایل مربوط به متحرک سازی گرافیک تانک می باشد.
…
در این تابع inflow فلوی آب ورودی, outflow فلوی آب خروجی, متغیر lolim حد پایین آب, hilim حد بالای آب است که در صفحه گرافیکی می توانید بعضی از آنها را تغییر دهید.
متغیر flag یک متغیر داخلی بوده و مورد استفاده خود تابع است.
سیگنال مرجع ارتفاع تانک به صورت مربعی در نظر گرفته شده است که بین 4 و 8 تغییر می کند.
با اجرای فایل سیمولینک نمودار شکل زیر بدست می آید که نشان از ردیابی صحیح خروجی است.
شبیه سازی کنترل سطح آب مخزن با منطق فازی در متلب
توسط کارشناسان سایت متلبی پیاده سازی گردیده و به تعداد محدودی قابل فروش می باشد.
سفارش انجام پروژه مشابه
درصورتیکه این محصول دقیقا مطابق خواسته شما نمی باشد،. با کلیک بر روی کلید زیر پروژه دلخواه خود را سفارش دهید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.