چگونه با MATLAB Simulink سیستم‌های دینامیکی را شبیه‌سازی کنیم؟

برای شبیه‌سازی سیستم‌های دینامیکی در MATLAB Simulink، مراحل مختلفی وجود دارد که می‌توانید برای مدلسازی و تحلیل رفتار دینامیکی سیستم‌های مختلف (مانند سیستم‌های مکانیکی، الکتریکی، شیمیایی و ...) از آن‌ها استفاده کنید. در ادامه، نحوه شبیه‌سازی این سیستم‌ها در Simulink را توضیح می‌دهم:

1. آشنایی با Simulink

Simulink یک محیط گرافیکی است که در آن می‌توانید سیستم‌های دینامیکی را از طریق مدل‌سازی بلوکی بسازید. این محیط به‌ویژه برای شبیه‌سازی سیستم‌های مهندسی و فیزیکی که رفتارشان تابعی از زمان است مناسب است.

2. ساخت مدل در Simulink

برای شبیه‌سازی سیستم‌های دینامیکی، ابتدا باید مدل سیستم خود را در Simulink بسازید. در اینجا مراحل ابتدایی ساخت مدل آورده شده است:

مرحله 1: ایجاد یک مدل جدید

  1. MATLAB را باز کنید.

  2. در MATLAB، دستور simulink را وارد کنید یا از منوی Home گزینه Simulink را انتخاب کنید.

  3. یک مدل جدید ایجاد کنید (با انتخاب Blank Model یا استفاده از New).

مرحله 2: اضافه کردن بلوک‌ها

برای شبیه‌سازی سیستم دینامیکی، باید از بلوک‌هایی که در Simulink موجود هستند استفاده کنید:

  • بلوک‌های ورودی مانند Step، Sine Wave، یا Constant برای وارد کردن سیگنال‌های ورودی به مدل.

  • بلوک‌های پردازش مانند Gain، Transfer Function، یا Sum برای مدلسازی روابط ریاضی سیستم.

  • بلوک‌های خروجی مانند Scope برای نمایش نتایج شبیه‌سازی و To Workspace برای ذخیره نتایج در محیط MATLAB.

مرحله 3: اتصال بلوک‌ها

بلوک‌ها را به هم متصل کنید تا مدل سیستم دینامیکی خود را ایجاد کنید. برای مثال، اگر شما یک سیستم مکانیکی دارید، می‌توانید از بلوک‌هایی مانند Mass، Damper، و Spring برای شبیه‌سازی یک سیستم فنری-مرده استفاده کنید.

مرحله 4: تعریف پارامترها

برای هر بلوک، باید پارامترهای مناسب را تعریف کنید. به عنوان مثال:

  • در بلوک Transfer Function، ضرایب تابع انتقال را وارد کنید.

  • در بلوک Gain، مقدار گین (تقویت‌کننده) را تعیین کنید.

  • در بلوک Step، مقدار و زمان تغییر را تعریف کنید.

مرحله 5: اجرای شبیه‌سازی

  1. پس از تکمیل مدل، روی دکمه Run (یا Simulation در بالا) کلیک کنید.

  2. نتایج به‌طور خودکار در بلوک‌هایی مانند Scope نمایش داده می‌شوند.

  3. می‌توانید به تحلیل نتایج پرداخته و مدل را بر اساس نیاز خود اصلاح کنید.

3. نمونه شبیه‌سازی سیستم دینامیکی

در اینجا یک نمونه ساده از شبیه‌سازی سیستم دینامیکی Mason-Damper-Spring آورده شده است:

مدل سیستم مکانیکی فنری-مرده:

  1. بلوک‌های Mass, Damper, Spring را از Simscape > Foundation به مدل اضافه کنید.

  2. بلوک Force برای وارد کردن نیروی خارجی و بلوک Scope برای نمایش نتایج.

  3. برای ورودی، از بلوک Step یا Sine Wave استفاده کنید تا یک سیگنال ورودی به مدل بدهید.

  4. پس از اتصال تمامی بلوک‌ها، شبیه‌سازی را اجرا کنید تا پاسخ سیستم را مشاهده کنید.

کد مثال:

در این مثال یک سیستم ساده تابع انتقال را برای شبیه‌سازی استفاده می‌کنیم:

  1. ایجاد مدل سیستم مکانیکی (انتقال نیرو به جرم).

  2. تنظیم تابع انتقال

    که در آن mm جرم، bb ضرایب مقاومت، و kk ثابت فنر است.

  3. تنظیم ورودی: برای مثال، استفاده از سیگنال Step.

  4. مشاهده خروجی سیستم در Scope.

4. شبیه‌سازی و تحلیل نتایج

بعد از اجرای شبیه‌سازی، Simulink به شما این امکان را می‌دهد که به راحتی نتایج را تحلیل کنید:

  • Scope برای مشاهده پاسخ سیستم در برابر ورودی‌ها.

  • To Workspace برای ذخیره نتایج در فضای کاری MATLAB به‌منظور پردازش و تحلیل بیشتر.

  • استفاده از FFT در MATLAB برای تحلیل فرکانس و بررسی پاسخ‌های فرکانسی سیستم.

5. پارامترها و تحلیل حساسیت

برای بررسی رفتار سیستم تحت شرایط مختلف، می‌توانید پارامترهای مختلف را تغییر داده و تاثیر آن‌ها را مشاهده کنید. برای مثال:

  • تاثیر تغییرات ضریب فنر یا مقاومت دمایی در سیستم.

  • اعمال تحلیل حساسیت بر روی مدل برای بررسی پایداری و قابلیت اطمینان.

6. استفاده از Solvers برای حل معادلات پیچیده

Simulink از Solvers مختلفی برای حل معادلات دیفرانسیل استفاده می‌کند. بسته به پیچیدگی مدل و نیازهای دقت، می‌توانید از ode45، ode23 یا سایر solvers موجود در MATLAB برای حل معادلات استفاده کنید.

نتیجه‌گیری:

شبیه‌سازی سیستم‌های دینامیکی در MATLAB Simulink از طریق یک محیط گرافیکی و بلوکی، فرآیندی بسیار ساده و شهودی است. این نرم‌افزار به شما امکان می‌دهد که سیستم‌های پیچیده را شبیه‌سازی کرده، نتایج را تحلیل کنید و بهینه‌سازی‌های لازم را انجام دهید. با استفاده از مدل‌های مختلف، می‌توانید رفتار سیستم‌های دینامیکی را در شرایط مختلف شبیه‌سازی کنید و به‌راحتی به تحلیل‌های پیچیده دست یابید.