سروو موتورها به طور گسترده در صنعت برای کاربردهای متعدد مورد استفاده قرار می گیرند. چگونه از لاجیک فازی برای کنترل سروو موتور استفاده می کنید؟
درک مفاهیم پشت توسعه یک لاجیک کنترلر Fuzzy (FLC) یک چیز است، اما اعمال مستقیم آن ها در یک سناریوی کنترلی خاص کاملاً چیز دیگری است.
منطق Fuzzy را می توان در سناریوهای کنترلی مختلف از جمله موتورهای سروو استفاده کرد. سروو موتورها بخش اساسی سیستم های کنترل حرکت مربوط به اتوماسیون صنعتی و کنترل فرآیند هستند. به همین دلیل، موتورهای سروو به خوبی به عنوان نمونه ای از توسعه FLC عمل می کنند.
🔹ارائه دهنده: تیم تولید محتوای میراکنترل
توسعه یک لاجیک کنترلر Fuzzy برای سروو موتور
اگر در نوشتن کد برای پیاده سازی هوش مصنوعی (AI) و کنترل موتور مجرب نباشید، اولین قدم عالی انتخاب بسته نرم افزاری برای کمک به شما است. یکی از محبوب ترین گزینه ها Mathworks Simulink است که ابزارهایی را ارائه می دهد که می توانند:
- هوش مصنوعی و کنترل ها را با هم ادغام کنید.
- شبیه سازی انجام دهید یا سخت افزار واقعی را درایو کنید.
برخی ممکن است استفاده از Mathworks Simulink را راحتتر از پایتون بدانند زیرا رویکرد بصری آن به برنامهنویسی و در دسترس بودن جعبه ابزار برای هوش مصنوعی و کنترلها است. از سوی دیگر، پایتون برای کسانی که رویکرد کدنویسی سنتیتری را ترجیح میدهند مناسب است و بسیار ارزانتر از Mathworks Simulink است.
هیچ رویکرد درست یا غلطی وجود ندارد، مشابه ترجیح دادن منطق نردبانی بر متن ساختاریافته. اما برای اساس این مقاله از Mathworks Simulink استفاده خواهیم کرد. Mathworks یک جعبه ابزار منطق فازی و یک بلاک لاجیک کنترلر Fuzzy را فراهم می کند.
Mathworks Simulink از توسعه سیستم کنترل، از جمله کنترل منطق Fuzzy پشتیبانی می کند.
مراحل اساسی برای کنترل منطق Fuzzy
FLCها یک سیستم استنتاج منطق Fuzzy در هسته خود دارند. تفاوت اصلی این است که ورودی ها و خروجی ها را تشکیل می دهند.
سیستم استنتاج Fuzzy پایه
مراحل مربوط به توسعه یک FLC برای موتور سروو را می توان به صورت زیر خلاصه کرد.
- ورودی و خروجی را تعیین کنید.
- توابع عضویت Fuzzy و شناسه های زبانی را برای ورودی ها و خروجی ها انتخاب کنید.
- عوامل عادی سازی را برای ورودی ها تعیین کنید تا مطمئن شوید که مقادیر آنها از محدوده تابع عضویت تجاوز نمی کند.
- پایه قانون Fuzzy را ایجاد کنید.
- یک روش Fuzzy سازی برای خروجی انتخاب کنید.
- یک سیستم استنتاج Fuzzy (FIS) را انتخاب کنید.
نگاشت یک FIS به یک سیستم کنترل حلقه بسته
FLC را در نظر بگیرید که برای کنترل موقعیت یک موتور سروو DC توسعه یافته است که توسط Manikandan و Arulmozhiya ساخته شده است که کنترل موقعیت بلادرنگ حلقه بسته را اجرا می کند.
تنظیمات PWM (مدولاسیون عرض پالس) معمولاً برای موتورهای سروو بر اساس خطای بین موقعیت، جریان یا سرعت مورد نظر و مقدار هدف انجام می شود. این مثال بر روی خطای موقعیت و تغییر خطای به دست آمده از طریق سنسور موقعیت نوری (انکودر) روی شفت موتور تمرکز دارد.
تعیین ورودی ها و خروجی ها
خطای واضح و تغییر واضح در خطا ورودی های FLC را تشکیل می دهند. این مقادیر واضح نرمال میشوند و سپس وارد مهندس استنتاج منطق Fuzzy میشوند، جایی که در برابر پایه قانون فازی بررسی میشوند. پس از عدم فازی شدن، خروجی موتور استنتاج فازی PWM مورد نیاز برای تنظیم موقعیت موتور خواهد بود.
توابع عضویت Fuzzy ، شناسه های زبانی، و عادی سازی
موارد زیر باید برای خطای موقعیت و تغییر در ورودی های خطای موقعیت انتخاب و پیکربندی شوند.
- عوامل عادی سازی برای اطمینان از ورودی به Fuzzy فایرها در محدوده توابع عضویت فازی قرار می گیرند.
- توابع عضویت Fuzzy و پیکربندی آن ها
- شناسه های زبانی نشان دهنده عضویت Fuzzy
ویرایشگر تابع عضویت بصری Fuzzy Logic Toolbox می تواند توابع عضویت را برای متغیرهای مختلف سفارشی کند (ویرایشگرهای خط فرمان نیز در دسترس هستند).
به جز یک ضریب عادی سازی، موارد مشابه باید برای خروجی PWM انتخاب و پیکربندی شوند. توجه داشته باشید که Manikandan و Arulmozhiya توابع عضویت مثلثی را با شناسههای زبانی برای ورودیها و تغییر خطا و همچنین خروجی PWM با استفاده از همان برچسبها پیادهسازی کردند:
- NL منفی کمی
- NM متوسط منفی
- NS منفی کوچک
- Z صفر
- PS مثبت کوچک
- PM متوسط مثبت
- PL — مثبت بزرگ
ایجاد پایه قوانین Fuzzy
قوانین Fuzzy ، که پایه قوانین فازی را تشکیل می دهند، باید برای کنترل کننده ایجاد شوند. پس از Fuzzy شدن، این قوانین را می توان از داده های عملکرد موجود با استفاده از ورودی ها و خروجی های مشابه استخراج کرد. هر قانون نیاز به درجه ای از اطمینان دارد.
جدول قوانین Fuzzy ، زمانی که تعداد محدودی ورودی و خروجی وجود دارد، می تواند مفید باشد. در شکل زیر، دو ورودی “خطا” و “تغییر در خطا” هستند.
ستونهای جدول نشاندهنده برچسبهای زبانی مورد استفاده برای خطا هستند، در حالی که ردیفها نشاندهنده برچسبهایی هستند که برای تغییر خطا استفاده میشوند. مقادیر در مرکز جدول شکل Fuzzy خروجی PWM هستند.
نمونه ای از جدول قوانین Fuzzy برای کنترل سروو موتور با دو ورودی (خطا و تغییر خطا) و یک خروجی (PWM).
جعبه ابزار منطق Matlab یک ویرایشگر قوانین Fuzzy ارائه می دهد که به خوبی با جدول قوانین Fuzzy کار می کند. بعلاوه، قوانین را می توان به دو روش تجسم کرد: (1) نمایش گرافیکی دوبعدی از تمام قوانین موجود در پایه قوانین معروف به Rule Viewer، و (2) یک نمایشگر سطحی که نشان می دهد چگونه نقشه برداری برای پایه قوانین انجام می شود.
Fuzzy زدایی
چندین گزینه برای Fuzzy سازی وجود دارد و Matlab از پنج نوع در جعبه ابزار منطق Fuzzy خود پشتیبانی می کند.
- نقطه مرکزی
- نیمساز
- وسط حداکثر (MOM)
- کوچکترین حداکثر (SOM)
- بزرگترین حداکثر (LOM)
روش مرکز به عنوان یک دیفازیفایر همه منظوره ثابت شده است و زمانی که توابع عضویت با هم تداخل دارند، یک مدل خروجی پیوسته ارائه می دهد. با این حال، از نظر محاسباتی کارآمدترین رویکرد برای Fuzzy سازی نیست.
روشهای دیگری نیز در دسترس هستند – برخی به دلیل تداوم ویژگیهای کنترلکننده خروجی و پیوسته، با برنامههای کنترل حلقه بسته بهتر سازگار هستند. اینها شامل مرکز مبالغ و مرکز حداکثر است. جعبه ابزار منطق Fuzzy به کاربران اجازه می دهد تا روتین های Fuzzy سازی را پیاده سازی کنند. بنابراین می توان از این نوع دیفازیفایرها استفاده کرد.
با این حال، به خاطر داشته باشید که پس از ساخت FIS، دیفازیفایر را می توان تغییر داد تا ببیند آیا نوع دیگری بهتر کار می کند یا خیر. در جعبه ابزار منطق Fuzzy ، این یک موضوع ساده برای تغییر نوع دیفازیفایر و آزمایش مجدد سیستم کنترل Fuzzy برای تعیین دقت و عملکرد آن است.
سیستم های استنتاجFuzzy (FIS)
در مرحله بعد، نوع FIS مورد استفاده برای نگاشت ورودی های Fuzzyبه خروجی Fuzzyباید انتخاب شود. به گزارش Mathworks، سیستم استنتاج از جمله سیستم های پذیرفته شده است. استفاده از آن شهودی است و برای انسان به راحتی می تواند با آن ارتباط برقرار کند، زیرا مبنای قانون «تفسیر آسان» آن است. با این حال، معمولاً برای برنامه های کنترلر خوب کار نمی کند زیرا سطح خروجی حاصل می تواند ناپیوسته باشد.
نحوه تولید خروجی Sugeno FIS
از سوی دیگر، (Takagi-Sugeno-Kang) FIS Sugeno در سیستم های کنترل سازگارتر است زیرا منجر به یک سطح خروجی پیوسته می شود و به دلیل استفاده نکردن از تابع عضویت خروجی Fuzzyاز نظر محاسباتی کارآمدتر است.
FLC ها به خوبی با موتورهای سروو کار می کنند. چنین کنترلکنندههایی برای پیادهسازی نسبتاً ساده هستند، عمدتاً زمانی که با ابزاری مانند Matlab Simulink و جعبهابزارهای آن برای منطق Fuzzyو سیستمهای کنترل استفاده میشوند.
برای سفارش و یا خرید انواع محصولات ابزار دقیق و همچنین کسب اطلاعات بیشتر و مشاوره رایگان با شماره های 88341674-021 | 88341172-021 تماس حاصل فرمایید.
منبع: