مدل سازی در سیمولینک: ( سیستم قطار ) در سیمولینک، میشه یک مدل یا سیستم فیزیکی رو نمایش داد .به طور کلی یک سیستم دینامیکی می تونه فقط با قوانین پایه فیزیک ساخته بشه. ما می خوایم اینو با یک مثال ثابت کنیم.
در این مثال ، ما می خوایم یه قطار اسباب بازی که شامل یک لوکوموتیو و یک واگن هست رو بررسی کنیم. فرض می کنیم که قطار فقط در یک جهت سفر می کند. ما می خوایم کنترل رو بر روی قطار اعمال کنیم چون که قطار آغاز حرکت ( راه اندازی ) و توقف آرام و روانی داره به علاوه یک سرعت حرکت ثابت نمایش می دهیم.
جرم لوکوموتیو و واگن را به ترتیب با M1 و M2 این دو با یک فنر در کنار هم نگه داشته شده اند ؛ و ضریب سختی فنر را با K ، نیروی به کار برده شده توسط لوکوموتیو با F و اصطکاک بین چرخ ها و ریل را با حرف یونانی میو ( که ما آن را با u نمایش می دهیم ) نشان می دهیم.
نمودار ایستایی و قانون نیوتون
این سیستم را می توانیم با نمودار ایستایی زیر نمایش بدیم:
از قانون نیوتون ، شما می دانید که مجموع نیروهای فعال روی یک جرم برابر است با جرم ضربدر شتاب. در این حالت ، نیروهای وارد بر M1 ، نیروی فنر ، اصطکاک و نیروی به کار گرفته شده در لوکوموتیو هستند. نیروهای وارد بر M2 نیز نیروی فنر و اصطکاک است. در جهت عمودی هم نیروی گرانش به وسیله نیروی قائم زمین از بین می رود ، برای اینکه در جهت عمودی هیچ شتابی وجود نخواهد داشت. ما شروع به ساختن مدل حقیقی می کنیم با این عبارات:
Sum(forces_on_M1)=M1*x1”
Sum(forces_on_M1)=M1*x1”
ساختن مدل
این روابط چیده شده سیستم می توانند به صورت گرافیکی نمایش داده شوند ، بدون دستکاری اضافی. ابتدا ما دو نسخه ( هر جرم یکی) برای عبارات sum-F=Ma یا a=1/M*sum-F خواهیم ساخت .
یک پنجره مدل جدید باز کنید و دو بلوک جمع وارد کنید. برچسب یکی را “Sum_F1″ و دیگری را “Sum_F2″ انتخاب کنید.
خروجی هر کدام از بلوک های جمع نشان دهنده مجموع نیروهای وارد شده به آن جرم است ، لذا با ضرب کردن آن در 1/M شتاب را بدست خواهیم آورد. دو بلوک گین وارد کنید و با خط آنها را به خروجی بلوک جمع وصل کنید. بر روی گین بالایی دابل کلیک کرده و مقدار آن را 1/M1 تعیین کنید. مقدار 1/M2 را هم برای گین پایینی وارد کنید.
( مقادیر عددی M1 و M2 را بعدا می توان در محیط مطلب وارد کرد. )
حالا مشاهده می کنید که مقادیری که وارد کردیم در داخل گین ها ظاهر شده است. اگر به جای مقادیر نوشته شده ، مقدار “-K-” دیده می شود گوشه مثلث گین را گرفته و آن را بزرگ کنید.
برچسب گین بالایی را a1 و دیگری را a2 تعیین کنید. خروجی این بلوک های گین ، شتاب هر جرم است.
بد نیست حالا که شتاب ها را داریم ، سرعت و مکان هر جرم را هم داشته باشیم .پس به طریق زیر عمل می کنیم:
می دانیم که سرعت انتگرال شتاب است و مکان انتگرال سرعت. لذا با وارد کردن بلوک های انتگرال گیر پارامترهای مذکور را بدست می آوریم.
مطابق شکل ، 4 بلوک انتگرال گیر وارد کنید و دو تا دو تا پشت هم قرار دهید و با خط به هم وصل کنید. خروجی گین a1 ( یا شتاب اول) را به یک دسته دو تایی انتگرال گیر وصل کنید . با a2 نیز همین کار را انجام دهید. برچسب های انتگرال گیرها را نیز “v1″, “x1″, “v2″, and “x2″ انتخاب کنید ( مطابق شکل ) ، چون اینها پارامترهایی هستند که این انتگرال گیرها تولید خواهند کرد.
حالا دو تا اسکوپ وارد کنید و به خروجی انتگرال گیرها متصل کنید. برچسب آنها را “View_x1″ و “View_x2″ انتخاب کردیم.
حالا ما آماده ایم که نیروهای وارد بر هر جرم را اضافه کنیم. ابتدا ما باید ورودی های هر بلوک مجموع را تنظیم کنیم تا نشان دهنده علامت مناسب نیروها باشد.( تا بعدا نگران علامت عددها نباشیم )
خب در M1 مجموع سه نیروی وارد شونده داریم ، پس روی بلوک جمع آن دابل کلیک کرده و در فیلد مربوطه یک علامت جمع دیگر اضافه کنید. +++
و در M2 دو نیروی فعال ، پس لازم نیست کار اضافه ای انجام بدهیم.
اولین نیروی فعال در M1 ، نیروی وارده F است. یک سیگنال ژنراتور (از Sources library) وارد کرده و به بالاترین ورودی Sum_F1 وصل کنید. برچسب آن را F قرار دهید.
نیروی دیگر فعال روی M1 ، اصطکاک است. این نیرو معادل است با :
F_friction_1=mu*g*M1*v1
برای ساختن این نیرو ، می توانیم از ضرب پارامتر سرعت V1 در گین mu*g*M1 استفاده کنیم. یک بلوک گین وارد کنید. از خروجی انتگرال گیر V1 که معادل سرعت است یک خط به ورودی گینی که وارد کردیم وصل می کنیم . خروجی گین را به دومین ورودی بلوک Sum_F1 وصل کنید. بهره این بلوک را به صورت زیر تغییر دهید:
mu*g*M1
برچسب آن را نیز Friction_1 برگزیدیم.
این نیرو در جهت منفی x1 عمل می کند و لذا ما باید آن را به ورودی ای از Sum_F1 اعمال کنیم که علامت منفی داشته باشد.
لیست علامت های Sum_F1 را به + – + تغییر دهید.
آخرین نیروی فعال روی جرم M1 نیروی فنر بین جرم هاست که معادل عبارت زیر است :
k*(x1-x2)
ابتدا ما لازم داریم که x1-x2 را بسازیم و بعد آنرا در k ضرب کنیم تا نیروی مورد نظر ساخته شود. یک بلوک جمع در فضای خالی مدل خود وارد کرده و برچسب آنرا “(x1-x2)” تعیین کنید و لیست علامت های آن را به ” – +” تغییر دهید..
بلوک را از راست به چپ بچرخانید ، برای این کار گزینه Flip را از منوی Format انتخاب کنید.. ( Ctrl+F یا در نسخه های جدید تر Ctrl+i )
حالا یک انشعاب از x2 به سر منفی بلوک جمع “(x1-x2)” و یک انشعاب از x1 به سر مثبت آن وصل کنید. .
حالا ما این تفاضل مکان ها را در ثابت فنر ضرب می کنیم تا نیروی فنر بدست آید. یک بلوک گین دیگر وارد می کنیم ، مقدار آن را “k” تعیین کرده و برچسب آنرا “spring” می نامیم. خروجی بلوک “(x1-x2)” را به ورودی گین فنر وصل کرده و خروجی گین فنر را به سومین ورودی Sum_F1 وصل می کنیم. علامت سوم نیز باید منفی شود. (+ – -)
حالا نیروهای فعال بر M2 را اعمال می کنیم. برای نیروی اول ، ما نیروی فنر را مشابه با نیرویی که به M1 اعمال کردیم به M2 نیز اعمال می کنیم به جز اینکه آن را با علامت مثبت اضافه می کنیم. از خروجی بلوک فنر یک انشعاب دیگر گرفته و آن را به ورودی مثبت بلوک Sum_F2 وصل کنید.
آخرین نیرویی که اضافه می کنیم اصطکاک روی M2 است. این کار مشابه با اعمال اصطکاک بر روی M1 است. از V2 انشعاب بگیرید آن را در بلوک گین mu*g*M2 ضرب کنید و با علامت منفی آن را به Sum_F2 اضفه کنید. بعد از ساختن اینها شما باید چنین شکلی داشته باشید.
حالا مدل کامل است . واضح است که ما به یک منبع ورودی مناسب نیاز داریم تا یک خروجی مناسب مشاهده کنیم. ورودی سیستم نیروی Fای است که توسط لوکوموتیو فراهم می شود. ما قبلا یک سیگنال ژنراتور در ورودی قرار دادیم. خروجی سیستم ، سرعت موتور خواهد بود. یک بلوک اسکوپ وارد کنید. یک انشعاب از خروجی انتگرال گیر V1 گرفته و به آن وصل کنید.این اسکوپی است که خروجی را در آن مشاهده می کنیم. برچسب اسکوپ را “View_v1″ نام گذاری کنید..
|