مدلسازی سیستم – به زبان ساده

مرضیه آقایی
مرضیه آقایی
۱۴۰۲/۰۲/۲۴
۲۰ دقیقه
۱۰۱۶۱
آموزش متنی جامع

مدلسازی سیستم‌های دینامیکی، مکانیکی و الکتریکی اولین گام در فرایند طراحی کنترل‌کننده محسوب می‌شود. در مدلسازی سیستم، تلاش می‌شود تا یک مدل ریاضی مناسب برای توصیف عملکرد یک سیستم به دست آید و سپس با توجه به آن کنترل‌کننده را طراحی کرد. در مدلسازی سیستم، مدل ریاضی مربوط به آن را می‌توان یا با استفاده از قوانینی فیزیکی (Physical Laws) و یا با استفاده از داده‌های تجربی (Experimental Data) به دست آورد. در این مطلب قصد داریم به بیان نمایش تابع انتقال سیستم و نیز نمایش فضای حالت یک سیستم بپردازیم. در هر بخش چند مثال بسیار ساده برای مدلسازی سیستم مکانیکی و الکتریکی را حل می‌کنیم و در نهایت نحوه ایجاد این مدل‌ها را در نرم‌افزار متلب نشان می‌دهیم. مهم‌ترین دستورات متلب که در این مطلب مورد استفاده قرار می‌گیرند، ss و tf هستند.

مدلسازی سیستم – به زبان ساده
997696

مدلسازی سیستم دینامیکی

سیستم‌های دینامیکی سیستم‌هایی هستند که با گذر زمان و بر اساس یک قانون ثابت، دچار تغییر و یا تکامل می‌شوند. برای بسیاری از سیستم‌های فیزیکی، این قانون می‌تواند بر اساس مجموعه‌ای از معادلات دیفرانسیل مرتبه اول به صورت زیر بیان شود:

x˙=dxdt=f(x(t),u(t),t)\dot{\text x} = \frac{\text{d}x}{\text{d}t} = f(\text x(t), \text u(t), t)

در معادله بالا، x(t)x(t) بردار حالت نامیده می‌شود که مجموعه‌ای از متغیرهای تشکیل دهنده دینامیک سیستم در زمان tt را در خود دارد.

u(t)u(t) بردار ورودی‌های خارجی یا بیرونی سیستم در زمان tt است و ff تابعی (شاید غیرخطی) است که مشتق زمانی (نرخ تغییرات) بردار حالت را مشخص می‌کند.
بردار حالت x(t1)x(t_1) را در هر زمان آینده می‌توان به‌ صورت دقیق تعیین کرد. برای این کار به داشتن مقدار اولیه x(t0)x(t_0) و ورودی‌های گذشته نیاز داریم و با اعمال انتگرال از t0t_0 تا t1t_1 روی معادله بالا مقدار خروجی در هر لحظه به صورت دقیق به دست می‌آید.

اگرچه متغیرهای حالت، منحصر به‌ فرد نیستند، اما باید تعداد حداقل nn متغیر وجود داشته باشد که بتوان با آن‌ها حالت سیستم را بررسی و رفتار آینده آن را پیش‌بینی کرد. nn، مرتبه سیستم (System Order) نامیده می‌شود و بُعد فضای حالت را مشخص می‌کند. مرتبه سیستم، معمولاً با تعداد عناصر ذخیره‌کننده انرژی در سیستم متناظر است.

مدلسازی سیستم با نمایش فضای حالت سیستم

نمایش بلوک دیاگرامی یک سیستم با کنترل‌کننده فیدبک در شکل زیر نشان داده شده است.

بلوک دیاگرامی یک سیستم با کنترل‌کننده فیدبک
بلوک دیاگرامی یک سیستم با کنترل‌کننده فیدبک

در شکل بالا، مقادیر را می‌توان به صورت زیر نام‌گذاری کرد:

  • RR: ورودی سیستم
  • YY: خروجی سیستم
  • CC: بلوک کنترلی
  • PP یا P~\tilde{P}: بلوک پلنت یا سیستم مورد نظر
  • FF: حلقه فیدبک
در این قسمت می‌خواهیم یکی از روش‌های توصیف دینامیک و مدلسازی سیستم را معرفی کنیم که به مدل فضای حالت (State Space Model) معروف است. قصد داریم با بیان چند مثال، این روش را بیان کنیم.

مثال ۱ از مدلسازی سیستم

سیستم جرم و فنر زیر را در نظر بگیرید.

سیستم جرم و فنر
سیستم جرم و فنر

معادله دیفرانسیل توصیف کننده سیستم بالا را به دست آوردید و برای مدلسازی سیستم سپس به فرم ماتریسی بازنویسی کنید.

حل:

برای این کار باید معادلات دیفرانسیل یا ODE را به مجموعه‌ای از معادلات دیفرانسیل درجه یک تبدیل کرد. توجه کنید که متغیر x در این سیستم برابر با جابه‌جایی فنر از موقعیت اولیه یا x=0x=0 در نظر می‌شود، نه فاصله آن از دیوار؛ زیرا فنر می‌تواند هم فشرده شود و هم دچار کشش شود.

با توجه به قانون دوم نیوتون، مجموع نیرو برابر با حاصل ضرب جرم در شتاب است. بنابراین در این سیستم داریم:

F=maF = m a

در فرمول بالا، نیروی FF برابر با مجموع نیروی فنر و اصطکاک و نیروی خارجی در نظر گرفته می‌شود. همچنین با استفاده از قانون هوک (Hooke's Law)، نیروی فنر (Spring Force) را به صورت زیر می‌توان به دست آورد:

spring  force=−kxspring \; force = - kx

با توجه به قانون استوک (Stokes' Law)، نیروی اصطکاک (Friction Force) برابر است با:

friction  force=−ρx˙friction \; force = -\rho \dot { x }

بنابراین در نهایت معادله زیر برای این سیستم به دست می‌آید:

−kx−ρx˙+u=mx¨.\begin{align*} { -kx - \rho \dot{x} + u = m\ddot{x} }. \end{align*}

می‌توانیم مقادیر x˙\dot{x}، xx و x¨\ddot{x} را به یک سمت از معادله منتقل کنیم و متغیر uu در سمت دیگر از معادله باقی بماند. سپس ضرایب معادله را نرمالیزه می‌کنیم:

x¨+ρmx˙+kmx=um.\begin{align*} \ddot{x} + \frac{\rho}{m}\dot{x} + \frac{k}{m}x = \frac{u}{m}. \end{align*}

فرمول بالا، یک معادله دیفرانسیل مرتبه دو را در اختیار ما قرار می‌دهد. با بازنویسی این معادله در فرم کانونی خود، می‌توان آن را به مجموعه‌ای از معادلات دیفرانسیل درجه اول تبدیل کرد. متغیر سرعت (Velocity) را برابر با v=x˙v = \dot{x} در نظر می‌گیریم و دستگاه معادلات زیر را به دست می‌آوریم:

{x˙=vv˙=(−km)x+(−ρm)v+(1m)u.\begin{align*} \left\{ \begin{array}{lrrrrr} \dot{x} = & v & \\ \dot{v} =& (- \frac{k}{m})x &+ &(- \frac{\rho}{m})v &+& (\frac{1}{m})u \end{array} \right. . \end{align*}

برای مشاهده واضح‌تر فرم ماتریسی معادله ۱، می‌توان آن را به صورت زیر بازنویسی کرد:

{x˙=(0)x+(1)v+(0)uv˙=(−km)x+(−ρm)v+(1m)u.\begin{align*} \left\{ \begin{array}{lrrrrr} \dot{x} =& (0)x &+ &(1) v &+& (0) u \\ \dot{v} =& (- \frac{k}{m})x &+ &(- \frac{\rho}{m})v &+& (\frac{1}{m})u \end{array} \right. . \end{align*}

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

(x˙v˙)=(01−km−ρm)(xv)+(01m)u.\begin{align*} \left(\begin{matrix} \dot{x} \\ \dot{v} \end{matrix}\right) &= \left( \begin{matrix} 0 & 1 \\ -\frac{k}{m} & -\frac{\rho}{m} \end{matrix}\right) \left(\begin{matrix} x \\ v\end{matrix}\right) + \left(\begin{matrix} 0 \\ \frac{1}{m} \end{matrix}\right)u. \end{align*}

مثال ۲ از مدلسازی سیستم

مدار RL فرضی مانند شکل زیر را در نظر بگیرید.

مدار RL
مدار RL

معادله دیفرانسیل متناظر با این سیستم را به دست آورید و سپس با کاهش درجه معادلات دیفرانسیل به مرتبه یک، فرم ماتریسی آن را بنویسید.

حل:

در حالت کلی، نحوه انجام این کار بسیار شبیه به مثال یک است، اما در این شرایط باید از قانون ولتاژ کیرشهف (Kirchhoff’s Voltage Law) استفاده کنیم و جمع جبری افت ولتاژ در طول مدار را برابر با صفر قرار دهیم:

−VS+VR+VL=0- V_S + V_R + V_L = 0

افت ولتاژ در طول مقاومت را می‌توان از قانون اهم (Ohm's Law) به دست آورد:

VR=RIV_R = RI

همچنین با اعمال قانون فارادی (Faraday's Law) افت ولتاژ در طول سلف را می‌توان به صورت زیر محاسبه کرد:

VL=LI˙V_L = L\dot{I}

بنابراین در حالت کلی می‌توان نوشت:

−VS+RI+LI˙=0{-V_S + RI + L\dot{I} = 0}

پس داریم:

I˙=−RLI+1LVS.\begin{align*} \dot{I} = -\frac{R}{L}I + \frac{1}{L}V_S. \end{align*}

این معادله درجه یک، توصیف کننده سیستم مثال ۲ است. بنابراین با استفاده از فضای حالت، می‌توان مدلسازی سیستم الکتریکی و مکانیکی را انجام داد.

مدلسازی سیستم با فضای حالت n بعدی

با توجه به مثال‌های ۱ و ۲، برای سیستمی با n حالت (State) و m ورودی (Input) نیز می‌توان نوشت:

state x=(x1⋮xn)∈Rn,input u=(u1⋮um)∈Rm,\begin{align*} \text{state } x = \left( \begin{matrix} x_1 \\ \vdots \\ x_n \end{matrix}\right) \in R^n, \qquad \text{input } u = \left( \begin{matrix} u_1 \\ \vdots \\ u_m \end{matrix}\right) \in R^m, \end{align*}

نمایش فضای حالت خطی، برابر با مجموعه‌ای از معادلات دیفرانسیل در فرم ماتریسی است. پس سیستم را می‌توان به صورت زیر در فرم ماتریسی نوشت:

(x˙1⋮x˙n)=(An×nmatrix)(x1⋮xn)+(Bn×mmatrix)(u1⋮um).\begin{align*} \left( \begin{matrix} \dot{x}_1 \\ \vdots \\ \dot{x}_n \end{matrix}\right) = \left( \begin{matrix} {\Huge A} \\ \\ {\text{$n \times n$}\atop\text{matrix}}\end{matrix}\right) \left(\begin{matrix} x_1 \\ \vdots \\ x_n \end{matrix}\right) + \left( \begin{matrix} {\Huge B} \\ \\ {\text{$n \times m$}\atop\text{matrix}}\end{matrix}\right) \left(\begin{matrix} u_1 \\ \vdots \\ u_m \end{matrix}\right). \end{align*}

معادله بالا را می‌توان به صورت زیر خلاصه کرد:

x˙=An×nx+Bn×mu.\dot{x} = A_{n\times n}x + B_{n \times m}u.

در نمایش فضای حالت، فرمول بالا را معادله دینامیک (Dynamics Equation) سیستم می‌گویند. می‌توانیم به معادله دینامیک بالا، معادله خروجی را نیز اضافه کنیم. خروجی‌های PP را به صورت بردار yy نشان می‌دهیم و داریم:

output y=(y1⋮yp)∈Rp,y=Cx,\begin{align*} \text{output } y &= \left( \begin{matrix} y_1 \\ \vdots \\ y_p \end{matrix}\right) \in R^p, \qquad y = Cx, \end{align*}

در این فرمول، CC برابر با یک ماتریس P×nP \times n است. به عنوان مثال، اگر فقط حالت x1x_1 مورد نظر باشد، می‌توانیم فقط آن را اندازه بگیریم و بنویسیم:

y=x1=(10…0)(x1x2⋮xn).\begin{align*} y = x_1 = \left( \begin{matrix} 1 & 0 & \ldots & 0 \end{matrix} \right)\left( \begin{matrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{matrix}\right). \end{align*}

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

x˙=Ax+Bu,y=Cx.\begin{align*}\dot{x} &= Ax + Bu,\\ y &= Cx. \end{align*}

مدلسازی سیستم بر اساس نمایش فضای حالت، برای انواع مختلف سیستم‌ها مفید و کاربردی است. از مثال متداول پاندول ساده برای توضیح بیشتر کار با مدل فضای حالت استفاده می‌کنیم.

مثال ۳ از مدلسازی سیستم

یک سیستم پاندول ساده را مطابق شکل زیر در نظر بگیرید.

سیستم پاندول
سیستم پاندول

معادلات دیفرانسیل توصیف‌کننده سیستم را بنویسید و سپس مدل فضای حالت آن را به دست آوردید.

حل

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

T=JαT = J \alpha

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

pendulum torque=−mgsin⁡θ⏟force×ℓ⏟lever arm,moment of inertia J=mℓ2.\begin{align*} \text{pendulum torque} &= \underbrace{-m {\rm g} \sin \theta}_{\text{force}} \times \underbrace{\ell}_{\text{lever arm}},\\ \text{moment of inertia } J &= m\ell^2. \end{align*}

پس از جایگذاری داریم:

$$ \begin{align} \label{d2_eq2}<br /> \ddot{\theta} &= - \frac{{\rm g}}{\ell}\sin \theta + \frac{1}{m\ell^2}T_{\rm e}.<br /> \end{align} $$

مطالب مجله فرادرس را در جستجوی گوگل سریع‌تر ببینید

بر اساس رای ۲۲ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
Illinois UniversityCTMS
PDF
مطالب مرتبط
نظر شما چیست؟

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