کنترل موتور با کنترل فازی و PID در سیمولینک متلب
بدلیل عدم وجود اطلاعات اولیه مقادیر پارامترها وهمین طور مشکل شبیه سازی یک موتورفرکانس متغیر و ولتاژ متغیر برای راحتی کار فرض کردیم که موتور DC است و فقط ولتاژآن قابل تغییر است.دراین نوع موتورها باتغییر سطح ولتاژ میتوان دور موتور را تغییرداد.ازطرفی چون مقدارفشارخروجی متناسب با دورموتور است تغییرات دورموتوریعنی تغییر فشار هیدرولیک.بنابراین اگر سرعت موتور را کنترل کرد مثل این است که فشارخروجی کنترل شده است.باتوجه به به مقاله ای که درپیوست آورده شده است تابع تبدیل یک موتور DC بصورت خلاصه آورده شده است.یعنی بجای موتور میتوان از یک تابع تبدیل موتورفرضی استفاده کرد.
درشکل زیر نقشه این مدار در متلب نمایش داده شده است که هم از کنترل فازی استفاده شده است و هم کنترل PIDویک مقایسه کوچک کارایی خیلی خوب کنترل فازی به همراه PID نمایش داده شده است.
شکل 1
نمودار خروجی
همانطور که میبینید کارایی بسیارخوبی داشته است و اوورشوت بسیارکمتراز مقدار اوورشوت بروش کنترلر فقط PID میباشد،دراینجا برای کنترلر فازی شکل ورودی وخروجی مثل زیر تغییر کرد،یعنی ورودی ها بجای مثلثی از گوسین استفاده شد.
وخروجی ها
1-KP
2-KI
3:Kd
همانطور که در شکل 1 میبینیم درمسیرهای مختلف ضرایب مختلف جهت کنترل دقیق مقدارخروجی درنظر گرفته شده است که باعث کنترل بهتری روی خروجی میشود.
همچنین برای کارایی بهتر میتوان از تعداد توابع عضویت را افزایش داد .همانطور که قبلا توضیح داده شد یک فرم کلی کنترلر کننده های PID است که ضرایب Kp ,Ki,Kd بوسیله کنترل کننده فازی قابل تغییر است .همانطور که درگزارش قبلی عرض شد دراین مقاله از یک روش کنترل دیگری نیز استفاده شده است بنام immune که باتوجه به اینکه تابحال هیچ مباحثی دراین باره تدریس نشده است از اجرای آن دراین گزارش خودداری شد.
کنترل موتور با کنترل فازی و PID در سیمولینک متلب
سلام خسته نباشید،دو تا سوال داشتم:
اول اینکه بلوک نگهدار مرتبه صفر دقیقا اینجا چکار انجام میده؟
دوم اینکه فرض کنید ما در یک موتور (سوئیچ رلوکتانسی) خطای سرعت و تغییرات خطای سرعت را به عنوان ورودی به سیستم منطق فازی بدهیم و در خروجی بخواهیم دیوتی سایکل لازم (عددی بین صفر و یک) را برای اعمال به یک کنترل PWM جریان بسازیم. (خروجی کنترل کننده جریان، سیگنالهای سوئیچبگ لازم برای اعمال به مبدل میشه.). اینجا اگه فرکانس کریر کنترلر PWM عددی مثلا 5000 باشه،آیا لازمه فرکانس دیوتی سایکل بدست آمده برای اعمال به کنترلر جریان با اون هم فرکانس بشه و اگه بله از کدام بلوک باید استفاده کنیم؟
ممنون میشم در حد وسع منو راهنمایی کنید.
سلام خسته نباشید،یه سوال داشتم:
اول اینکه بلوک نگهدار مرتبه صفر دقیقا اینجا چکار انجام میده؟
دوم اینکه فرض کنید ما در یک موتور (سوئیچ رلوکتانسی) خطای سرعت و تغییرات خطای سرعت را به عنوان ورودی به سیستم منطق فازی بدهیم و در خروجی بخواهیم دیوتی سایکل لازم (عددی بین صفر و یک) را برای اعمال به یک کنترل PWM جریان بسازیم. (خروجی کنترل کننده جریان، سیگنالهای سوئیچبگ لازم برای اعمال به مبدل میشه.). اینجا اگه فرکانس کریر کنترلر PWM عددی مثلا 5000 باشه،آیا لازمه فرکانس دیوتی سایکل بدست آمده برای اعمال به کنترلر جریان با اون هم فرکانس بشه و اگه بله از کدام بلوک باید استفاده کنیم؟
ممنون میشم در حد وسع منو راهنمایی کنید.