نمایش سیستم های دینامیکی با متلب — از صفر تا صد (+ دانلود فیلم آموزش رایگان)

۱۹۰۴ بازدید
آخرین به‌روزرسانی: ۲۳ اردیبهشت ۱۴۰۲
زمان مطالعه: ۲۵ دقیقه
نمایش سیستم های دینامیکی با متلب — از صفر تا صد (+ دانلود فیلم آموزش رایگان)

در آموزش قبلی، مدل‌سازی سیستم‌های دینامیکی را در قالب نمایش فضای حالت و تابع تبدیل توضیح دادیم. در این آموزش، مثال‌هایی از مدل‌سازی سیستم‌های مکانیکی و الکتریکی را بررسی خواهیم کرد. همچنین، نحوه نمایش این سیستم‌ها را در نرم‌افزار متلب (MATLAB) بیان می‌کنیم.

فیلم آموزشی نمایش سیستم‌های دینامیکی با MATLAB

دانلود ویدیو

سیستم‌های مکانیکی

پایه تحلیل سیستم‌های مکانیکی، قانون نیوتن است. قانون دوم نیوتن (رابطه (۱))، بیان می‌کند که مجموع نیروهای وارد بر یک جسم، برابر با حاصل‌ضرب جرم جسم در شتاب آن است. قانون سوم نیوتن نیز بیان می‌کند وقتی دو جسم در تماس با هم هستند، نیروهایی با بزرگی یکسان و جهت مخالف به هم وارد می‌کنند.

رابطه (۱)
رابطه (۱)

هنگام اعمال رابطه بالا، بهترین کار این است که نمودار جسم آزاد (free-body diagram) یا FBD سیستم را رسم کنیم.

مثال: سیستم جرم-فنر-دمپر

شکل زیر، سیستم جرم-فنر-دمپر را نشان می‌دهد:

جرم-فنر-دمپر
سیستم جرم-فنر-دمپر

نمودار جسم آزاد سیستم در شکل زیر آورده شده است. نیروی فنر با جابجایی $$x$$ جرم رابطه مستقیم دارد و نیروی میرایی لَخت با سرعت جسم رابطه تناسبی دارد ($$v=\dot{x}$$). هر دو نیرو در جهت عکس حرکت و منفی محور $$x$$ هستند. لازم به ذکر است که $$x=0$$ متناظر با موقعیت جسم در حالتی است که فنر کشیده نشده است.

نمودار جسم آزاد
نمودار جسم آزاد سیستم جرم-فنر-دمپر

اکنون، با جمع نیروها در هر جهت و اعمال قانون دوم نیوتن (رابطه (۱))، می‌توانیم معادله دینامیکی سیستم را به دست آوریم (در این‌جا نیروها فقط در جهت محور $$x$$ هستند):

رابطه (۲)
رابطه (۲)

رابطه بالا، معادله حاکم (governing equation) نامیده می‌شود و دینامیک سیستم را نشان می‌دهد. با این معادله می‌توانیم پاسخ سیستم به هر ورودی $$F(t)$$ را به دست آوریم. همچنین می توانیم پایداری و عملکرد آن را بررسی کنیم.

برای محاسبه نمایش فضای حالت سیستم، باید معادله حاکم مرتبه دوم را به مجموعه معادلات دیفرانسیل مرتبه اول تبدیل کنیم. برای این منظور، موقعیت و سرعت را به عنوان متغیرهای حالت در نظر می‌گیریم.

رابطه (۳)
رابطه (۳)

متغیر موقعیت، انرژی پتانسیل ذخیره شده در فنر را نشان می‌دهد و متغیر سرعت، نمایان‌گر انرژی جنبشی ذخیره شده در فنر است. دمپر فقط انرژی تلف می‌کند و آن را ذخیره نمی‌کند. هنگام انتخاب متغیرهای حالت، پیدا کردن متغیرهایی که انرژی ذخیره می‌کنند مفید خواهد بود.

با این اوصاف، معادله حالت به صورت زیر است:

رابطه (۴)
رابطه (۴)

اگر بخواهیم موقعیت جسم را مشاهده کنیم، معادله خروجی به صورت زیر خواهد بود:

$$y = [ 1 \;\;\;0] \begin{bmatrix} x \\ \dot {x} \end {bmatrix} $$

رابطه (۵)

تعریف مدل فضای حالت در متلب

در این‌جا، چگونگی تعریف معادلات بالا را در m-file متلب توضیح می‌دهیم. ابتدا مقادیر عددی متغیرهای زیر را در نظر می‌گیریم:

  %m                mass                                     1.0 kg
  %k                spring constant                          1.0 N/m  
  %b                damping constant                         0.2 Ns/m   
  %F                input force                              1.0 N

یک m-file جدید ایجاد کرده و مقادیر زیر را در آن وارد می‌کنیم:

1m = 1;
2k = 1;
3b = 0.2;
4F = 1;
5
6A = [0 1; -k/m -b/m];
7B = [0 1/m]';
8C = [1 0];
9D = [0];
10
11sys = ss(A,B,C,D)

پاسخ به صورت زیر خواهد بود:

1sys =
2 
3  A = 
4         x1    x2
5   x1     0     1
6   x2    -1  -0.2
7 
8  B = 
9       u1
10   x1   0
11   x2   1
12 
13  C = 
14       x1  x2
15   y1   1   0
16 
17  D = 
18       u1
19   y1   0
20 
21Continuous-time state-space model.

تبدیلا لاپلاس سیستم، با فرض شرایط اولیه صفر برابر با رابطه زیر است:

رابطه (۶)
رابطه (۶)

و تابع تبدیل ورودی نیرو به خروجی جابجایی به صورت زیر خواهد بود:

رابطه (۷)
رابطه (۷)

اکنون می‌خواهیم تابع تبدیل را در متلب تعریف کنیم. بدین منظور، دستورهای زیر را در m-file متلب می‌نویسیم:

1s = tf('s');
2sys = 1/(m*s^2+b*s+k)

که پاسخ آن به صورت زیر است:

1sys =
2 
3         1
4  ---------------
5  s^2 + 0.2 s + 1
6 
7Continuous-time transfer function.

در کد بالا، از متغیر نمادین s برای تعریف مدل تابع تبدیل استفاده کردیم. اغلب همین کار برای تعریف تابع تبدیل پیشنهاد می‌شود، اما در برخی شرایط به خاطر نسخه‌های متلب یا مواقعی که با سیمولینک (SIMULINK) کار می‌کنیم، ممکن است بخواهیم تابع تبدیل را با ضرایب چندجمله‌ای صورت و مخرج تعریف کنیم. در این موارد، از دستورهای زیر استفاده می‌کنیم:

1num = [1];
2den = [m b k];
3sys = tf(num,den)

که پاسخ آن به صورت زیر خواهد بود:

1sys =
2 
3         1
4  ---------------
5  s^2 + 0.2 s + 1
6 
7Continuous-time transfer function.

سیستم‌های الکتریکی

مشابه قوانین نیوتن برای سیستم‌های مکانیکی، قوانین مداری کیرشهف ابزار اساسی مدل‌سازی مدارهای الکتریکی هستند. قانون جریان کیرشهف (KCL) بیان می‌کند که مجموع جریان‌های وارد شده به یک گره، برابر با مجموع جریان‌های خارج شده از آن است. قانون ولتاژ کیرشهف (KVL) بیان می‌کند مجموع اختلاف ولتاژهای هر حلقه بسته در مدار صفر است. وقتی از KVL استفاده می‌کنیم، اختلاف ولتاژ منابع ولتاژ مثبت و اختلاف ولتاژ بارها را منفی در نظر می‌گیریم.

مثال: مدار RLC

اکنون یک مدار RLC‌ ساده را در نظر می‌گیریم که در آن، سه عنصر پسیو مقاومت، سلف و خازن با هم سری شده‌اند.

مدار RLC سری
مدار RLC سری

با اعمال KVL در حلقه، به معادله حاکم زیر می‌رسیم:

رابطه (۸)
رابطه (۸)

این رابطه به نوعی شبیه سیستم جر- فنر-دمپر است. به طور خاص، این دو سیستم، مرتبه دوم هستند که بار الکتریکی (انتگرال جریان)، اندوکتانس سلف، مقاومت و به ترتیب متناظر با جابجایی، جرم و میرایی لخت هستند.

با انتخاب بار خازن و جریان سلف به عنوان متغیرهای حالت، می‌توان نوشت:

رابطه (۹)
رابطه (۹)

که در آن،

رابطه (۱۰)
رابطه (۱۰)

در نتیجه، معادله حالت به صورت زیر خواهد بود:

رابطه (۱۱)
رابطه (۱۱)

جریان را به عنوان خروجی در نظر می‌گیریم. پس داریم:

رابطه (۱۲)
رابطه (۱۲)

تابع تبدیل سیستم را می‌توان با استفاده از تبدیل لاپلاس یا رابطه زیر پیدا کرد:

رابطه (۱۳)
رابطه (۱۳)
رابطه (۱۴)
رابطه (۱۴)

مدل فضای حالت و تابع تبدیل مدار RLC‌ را می‌توان به صورت مشابه در متلب تعریف کرد.

^^

بر اساس رای ۱۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
(Control Tutorials for MATLAB and Simulink (CTMS
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *