در این پست می خواهیم در مورد کاربرد متلب در مهندسی کنترل صحبت کنبم و در واقع در مورد توابعی سخن بگوییم که در حوزه مهندسی کنترل کاربرد دارند، میخواهیم با استفاده از ابزار قدرمتند متلب به رسم نمودارها و انجام محاسبات در این حوزه بپردازیم.
در اولین قسمت به معرفی دستوری میپردازیم که میتوانیم با آن یک تابع انتقال را در حوزه لاپلاس رسم نماییم :
با یک مثال ساده به معرفی این تابع و طرز کار آن می پردازیم :
>> f1 = tf([1 2],[3 4 5]) f1 = s + 2 --------------- 3 s^2 + 4 s + 5 Continuous-time transfer function.
با کد ساده بالا میتوانیم یک تابع تبدیل را تعریف نماییم که اعداد ماتریس به عنوان ضرایب چند جمله ای های صورت و مخرج قرار می گیرند .
دستور دیگری مشابه دستور اول وجود دارد که تابع تبدیل را در حوزه لاپلاس نشان میکند اما با این تفاوت که ، تابع تبدیل را به صورت صفر و قطب تعریف میکند. برای استفاده از این دستور باید به صورت زیر تعریف را انجام دهیم :
این تابع دارای سه مولفه است :
مولفه اول : بردار مقادیر صفر
مولفه دوم : بردار مقادیر صفر
مولفه سوم : بهره
با یک مثال کاربرد این دستور نیز آشکار خواهد شد.
>> f2 = zpk ([-5],[5 -1],8) f2 = 8 (s+5) ----------- (s-5) (s+1) Continuous-time zero/pole/gain model.
طرز کار این تابع نیز کاملا آشکار و مشخص است .
همانگونه که از نام این تابع مشخص است، به منظور رسم پاسخ ضربه یک سیستم به کار میرود . به مثال زیر برای آشنایی با این دستور توجه نمایید :
>> impulse (f1)
با توجه به تعریف تابع f1 که در بالا آمده است نمودار زیر در خروجی رسم خواهد شد :
همانطور که در تصویر بالا مشاهده می شود پاسخ ضربه برای سیستم اول رسم شده است.
مشابه دستور قبل میتوانیم از این دستور برای رسم پاسخ پله یک سیستم استفاده نماییم:
>> step (f1)
و در خروجی داریم :
مانند قبل برای رسم نمودار اندازه و فاز bode تنها کافیست از دستور bode استفاده نماییم :
>> bode(f1)
در ادامه مبحث کاربرد متلب در مهندسی کنترل ، میتوانیم به ترسیم نمودارهای لوکاس و نیکولز بپردازیم :
برای ترسیم نمودارهای لوکاس و نیکولز می توانیم از دستورات زیر استفاده کنیم : ( توابع را نوشته و خروجی را ببینید) :
>> rlocus(f1),sgrid
>> nichols(f1),ngrid
خروجی دستور بالا را خودتان در متلب نمایش دهید
این یک ابزار طراحی برای سیستم های تک ورودی – تک خروجی است و میتوانیم با استفاده از تغییراتی را در سیستم ایجاد نماییم . برای مثال برای تابع f1 ما از این ابزار استفاده میکنیم و خروجی را مشاهده مینماییم :
>> sisotool(f1)
خروجی کد بالا به شکل زیر است :
بعد از رسم این نمودارها میتوانیم از سر برگ new plots نمودارهای مختلف و جدید را رسم نماییم برای مثال میتوانیم نمودارهای پاسخ پله، پاسخ ضربه، دیاگرام محل قرارگیری صفر و قطب ها و … را با تنظیمات دلخواه رسم نمایید . همچنین از قسمت edit architecture ساختار و نحوه چینش بلوک ها و کنترلر های سیستم را تغییر دهید و به طور همزمان نتیجه این تغییر را بر روی نمودارهای رسم شده ببینید .
در این آموزش با چند تا از مهمترین توابع در مبحث کاربرد متلب در مهندسی کنترل آشنا شدیم . این مبحث در پست های بعدی ادامه پیدا خواهد کرد . با ما همراه باشید .