[آموزش 02] سیمولینک (Simulink) در متلب

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
فهرست مطالب این تاپیک:

  1. سیمولینک (SIMULINK) در متلب
  2. مقداردهی به پارامترهای یک مدل سیمولینک، از طریق اجرای دستورات در پنجره command متلب
  3. تعریف یک زیرسیستم (Subsystem)، با بلوک Subsystem در سیمولینک متلب
  4. استفاده از سیمولینک (simulink) نرم افزار متلب برای تحلیل مدارهای الکتریکی (مناسب برای دانشجویان برق، مخصوصا درس مدار 1 و مدار 2)
  5. تولید یک سیگنال سینوسی و نمایش آن سیگنال، در سیمولینک (Simulink) نرم افزار متلب



منبع: kelidestan.com


تاپیک های مشابه:
[h=1][آموزش 01] سیمولینک (Simulink) در متلب[/h]
 
آخرین ویرایش:

P O U R I A

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

سیمولینک (SIMULINK) در متلب

در نرم افزار متلب، برای باز کردن پنجره مربوط به سیمولینک (SIMULINK)، در پنجره Command ، دستور simulink را نوشته و سپس کلید enter از کیبورد را فشار بدهید. پنجره Simulink Library Browser باز می شود که به شکل زیر می باشد :


matlab41.jpg
از منوی File ، گزینه New و سپس گزینه Model را انتخاب کنید. یک پنجره خالی به شکل زیر باز می شود :


matlab42.jpg


این پنجره را پنجره Model می نامیم. آنچه که از این به بعد باید انجام دهیم، این است که بلوک هایی (blocks) را که می خواهیم، از library های سیمولینک انتخاب کنیم و آنها را در پنجره Model کپی کنیم.
در ادامه، مثال مطرح شده در بخش سیمولینک کتاب زیر را برای شما شرح خواهم داد :
A Guide to MATLAB for Beginners and and Experienced Users

فرض کنید بخواهیم معادله دیفرانسیل زیر را در سیمولینک نرم افزار متلب، مدل سازی کنیم :
Untitled.jpg

چون متغیر زمان به صورت پیوسته می باشد، بنابراین از پنجره Simulink Library Browser ، گزینه Continuous را انتخاب می کنیم. بلوک های library Continuous ، به صورت شکل زیر نمایش داده می شوند :


Untitled.jpg
 
آخرین ویرایش:

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
برای انتخاب بلوک های مورد نظرمان، باید دقت داشته باشیم که u را می توانیم با انتگرال گیری از 'u به دست آوریم و 'u را می توانیم با انتگرال گیری از ''u به دست آوریم. بنابراین به دو بلوک انتگرال گیر نیاز داریم. برای قرار دادن بلوک انتگرال گیر در پنجره Model ، ابتدا در پنجره Simulink Library Browser ، بر روی بلوک انتگرال گیر (integrator)، با موس کلیک کنید (کلیک سمت چپ) و بدون رها کردن کلید موس، موس را بر روی محلی در پنجره model ببرید و سپس کلید موس را رها کنید. یک بلوک انتگرال گیر، در پنجره Model ، نمایش داده خواهد شد. به همین روش، یک بلوک انتگرال گیر دیگر را در پنجره model رسم کنید. بنابراین شکل زیر را خواهیم داشت :
matlab45.gif
حال برای آنکه دو بلوک را به یکدیگر متصل کنیم، باید ابتدا بر روی خروجی بلوک اول، با موس کلیک کنیم (کلیک سمت چپ) و بدون رها کردن کلید موس، موس را بر روی ورودی بلوک دوم ببریم و سپس کلید موس را رها کنیم. یک فلش بین دو بلوک رسم خواهد شد که نشان دهنده اتصال دو بلوک به یکدیگر می باشد. البته برای اتصال دو بلوک به یکدیگر، روش دیگری نیز وجود دارد و آن این است که ابتدا بلوک منبع (source block) را با موس انتخاب کنیم و سپس کلید Ctrl از کیبورد را پایین نگه داریم و سپس بر روی بلوک مقصد (destination block) با موس کلیک کنیم (کلیک سمت چپ). پس از اتصال، شکل بلوک ها به صورت زیر خواهد بود :

matlab46.gif

همچنین اگر دقت کنید، نام هر بلوک، در زیر آن نوشته شده است، می توانیم بر روی نام هر بلوک کلیک کنیم و نام آن را تغییر بدهیم. بنابراین نام هر بلوک را به صورت شکل زیر تغییر می دهیم :
matlab47.gif

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


Untitled.jpg
 
آخرین ویرایش:

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
بنابراین، به 3 بلوک بهره (Gain) و یک بلوک جمع (Sum) نیاز داریم که آنها را می توانیم در Math Operations Library بیابیم. با ترسیم آنها، شکل بلوک ها به صورت زیر در می آید :
matlab49.gif
اما اگر در شکل بالا دقت کنید، متوجه می شوید که میزان بهره بلوک های بهره، برابر 1 می باشد و مقدار بهره آنها را باید تغییر بدهیم. برای این منظور، باید بر روی هر کدام از بلوک های بهره، دو بار کلیک (دابل کلیک) کنیم تا پنجره Function Block Parameters باز شود. این پنجره به شکل زیر می باشد :

matlab50.jpg
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
در این پنجره، مقدار بهره مورد نظر خود را باید در قسمت Gain بنویسید. بنابراین مقدار بهره بلوک Gain را برابر 5 ، مقدار بهره بلوک Gain1 را برابر 1- و مقدار بهره بلوک Gain2 را برابر 2 قرار می دهیم. مشاهده خواهید کرد که مقدار بهره ها، درون هر بلوک، نمایش داده می شود :

matlab51.gif
حال باید خروجی بلوک انتگرال گیر 'u را به ورودی بلوک Gain2 متصل کنیم، اما چون بلوک انتگرال گیر، تنها یک خروجی دارد، باید یک انشعاب از خروجی بلوک انتگرال گیر بگیریم. برای این منظور، موس را بر روی وسط فلشی که دو بلوک انتگرال گیر را به هم متصل کرده است می بریم و سپس کلید Ctrl از کیبورد را فشار داده و پایین نگه می داریم، آنگاه با موس کلیک می کنیم (کلیک سمت چپ) و همان طور که کلید موس را نگه داشته ایم، نشانگر موس را بر روی ورودی بلوک Gain2 می بریم و آنگاه کلید موس را رها می کنیم. یک فلش در بین بلوک انتگرال گیر و بلوک Gain2 ساخته خواهد شد. شکل بلوک ها به صورت زیر در می آید :

matlab52.gif

بلوک های لازم برای مدل سازی معادله دیفرانسیل را در پنجره Model قرار دادیم، اما اکنون به بلوکی نیاز داریم تا خروجی را با آن مشاهده کنیم. برای این منظور، از Sinks Library بلوک Scope را انتخاب کرده و آن را در پنجره مدل قرار می دهیم :

matlab53.gif
دقت داشته باشید که اگر بلوکی را اضافه کردید و مشاهده کردید که ساختار شکلتان زیادی فشرده است و بلوک جدید در جای مناسبی قرار نگرفته است، می توانید هر بلوک دلخواه را با موس جابجا کنید تا در محل مناسبتری قرار بگیرد.
اکنون زیرنویس بلوک های مختلف را تغییر می دهیم تا نقش هر بخش مدل، به طور دقیق، مشخص باشد. چنانچه تمایل داشته باشید عبارتی را در زیر یک فلش بنویسید، تنها کافی است که بر روی آن فلش، با موس دو بار کلیک (دابل کلیک) کنید و کادری نمایش داده خواهد شد که در آن می توانید عبارت مورد نظر خود را بنویسید.
شکل نهایی بلوک ها به صورت زیر می شود :

matlab54.gif

حال برای مشاهده نتیجه، ابتدا باید مدل ساخته شده را Save کنیم. از منوی File گزینه Save را انتخاب کنید و سپس با نامی دلخواه، مدل ساخته شده را در محل مورد نظرتان Save کنید.
ممکن است بخواهیم برای معادله دیفرانسیل، شرایط اولیه تعریف کنیم. مثلا فرض کنید شرایط اولیه زیر را برای معادله دیفرانسیل داشته باشیم :

Untitled.jpg
که با این شرایط اولیه، پاسخ معادله دیفرانسیل به صورت زیر خواهد بود :



Untitled.jpg
 
آخرین ویرایش:

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
برای اعمال شرایط اولیه ذکر شده، ابتدا بر روی بلوک انتگرال گیر اول، که مربوط به u' می باشد، با موس، دو بار کلیک (دابل کلیک) کنید و سپس در پنجره ای که باز می شود، مقدار نوشته شده در زیر Initial condition را به مقدار 5 تغییر بدهید. سپس بر روی بلوک انتگرال گیر دوم، که مربوط به u می باشد، با موس، دو بار کلیک (دابل کلیک) کنید و سپس در پنجره ای که باز می شود، مقدار نوشته شده در زیر Initial condition را به مقدار 1 تغییر بدهید.
برای آنکه بتوانید مشاهده کنید که در حین شبیه سازی، چه اتفاقاتی می افتد، باید قبل از شبیه سازی، بر روی بلوک Scope ، با موس، دو بار کلیک کنید تا پنجره نمایش آن باز شود. در این پنجره، پس از شبیه سازی، مقدار u به صورت تابعی از t رسم خواهد شد. این پنجره به شکل زیر می باشد :

matlab57.jpg
حال برای مشاهده شبیه سازی، از منوی Simulation ، گزینه Start را انتخاب کنید. شبیه سازی انجام می شود و مقدار u به صورت تابعی از t ، به صورت شکل زیر، نمایش داده می شود :

matlab58.jpg

این شکل، نمایش پاسخ معادله دیفرانسیل، با شرایط اولیه ذکر شده، می باشد. در پنجره Scope ، بر روی گزینه Autoscale ، کلیک کنید تا مقادیر پاسخ در شکل، به طور دقیق نمایش داده شود:matlab59.jpg
 
آخرین ویرایش:

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
مقداردهی به پارامترهای یک مدل سیمولینک، از طریق اجرای دستورات در پنجره command متلب

مقداردهی به پارامترهای یک مدل سیمولینک، از طریق اجرای دستورات در پنجره command متلب

در مدل های سیمولینک، معمولا پارامترهای مختلفی را تعریف می کنیم. ممکن است بخواهیم که پارامترها را در مدل سیمولینک تعریف کرده، ولی مقدار آنها را از طریق اجرای دستور در پنجره command تعریف نماییم. در این مبحث، قصد داریم نحوه این اجرای این عمل را آموزش بدهیم.ابتدا دستور زیر را اجرا می کنیم تا پنجره Simulink Library Browser در متلب باز شود :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]simulink[/FONT]
[/FONT][/COLOR]
پنجره Simulink Library Browser به شکل زیر باز می شود :

http://www.www.www.iran-eng.ir/attachment.php?attachmentid=245638&d=1436093227

ابتدا باید یک مدل ساده بسازیم. برای این منظور، به بلوک های زیر نیاز داریم :
Constant
Gain
Display
برای یافتن سه بلوکی که نام بردیم، تنها کافی است که در همان پنجره Simulink Library Browser ، نام آنها را در قسمت جستجو وارد کنید تا نمایش داده شوند :

matlab-261.jpg
بر روی دکمه New model که در شکل بالا نمایش داده ایم، کلیک می کنیم تا یک مدل جدید ایجاد شود و سپس بلوک ها را به صورت زیر در آن به هم متصل می کنیم و آن را با نام simulink_1.mdl ذخیره می کنیم :


matlab-262.jpg

بر روی بلوک Gain ، با موس، دابل کلیک می کنیم تا پنجره مربوط به آن باز شود :


matlab-263.jpg
همان طور که مشاهده می کنید، مقدار Gain برابر 1 قرار داده شده است، ما این مقدار را پاک کرده و نماد K را به جای آن می نویسیم. پس از ذخیره تنظیمات جدید، مدل سیمولینک به شکل زیر نمایش داده می شود :



matlab-264.jpg

اما ما مقداری برای K تعیین نکرده ایم. بنابراین قبل از اینکه مدل سیمولینک را شبیه سازی کنیم (اجرا کنیم)، باید دستور زیر را در پنجره Command نرم افزار متلب اجرا کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]K = [COLOR=#3333FF]5[/COLOR];[/FONT]
[/FONT][/COLOR]
بنابراین مقدار متغیر K برابر 5 خواهد بود. مدل سیمولینک را شبیه سازی می کنیم. مقدار 5 در بلوک Display نمایش داده می شود :

matlab-265.jpg
اکنون می توانیم مقدار دیگری برای متغیر K تعیین کنیم و دوباره مدل سیمولینک را شبیه سازی نماییم.
مدل سیمولینک را می توانید از لینک زیر دانلود کنید :
 

پیوست ها

  • simulink_1.zip
    6.7 کیلوبایت · بازدیدها: 3

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تعریف یک زیرسیستم (Subsystem)، با بلوک Subsystem در سیمولینک متلب

تعریف یک زیرسیستم (Subsystem)، با بلوک Subsystem در سیمولینک متلب

همان طور که می دانید، سیمولینک متلب، در بسیاری از شرکت های بزرگ، برای شبیه سازی ساختارهای وسیع و پیچیده به کار می رود. مسلما تعداد بلوک های لازم برای شبیه سازی این سیستم ها و ساختارها، بسیار زیاد خواهد بود. بنابراین باید به دنبال راه حلی برای ساده تر شدن شکل کلی سیمولینک برای ساختار مورد نظرمان باشیم. یک راه حل مناسب، استفاده از زیرسیستم ها (Subsystem) می باشد. ما بخش های مختلف سیستم را در زیرسیستم های مختلف شبیه سازی می کنیم و سپس در فایل سیمولینک، تنها آن بلوک های زیرسیستم (Subsystem) را به هم متصل می کنیم. اگر بخواهیم جزئیات یک زیرسیستم (Subsystem) را ببینیم، می توانیم بر روی آن، با موس، دابل کلیک کنیم تا بلوک های آن و جزئیات مربوط به آن بلوک ها، نمایش داده شود.
اکنون مختصری در مورد نحوه استفاده از زیرسیستم ها(Subsystem) در سیمولینک متلب، توضیح می دهیم.
ابتدا دستور زیر را اجرا می کنیم تا پنجره Simulink Library Browser در متلب باز شود :


کد:
simulink
پنجره Simulink Library Browser به شکل زیر باز می شود :

http://www.www.www.iran-eng.ir/attachment.php?attachmentid=245638&d=1436093227


در پنجره Simulink Library Browser ، در قسمت جستجو، عبارت Subsystem را برای جستجو وارد می کنیم تا بلوک Subsystem در نتایج جستجو نمایش داده شود :




matlab-267.jpg
بر روی گزینه New model کلیک می کنیم تا یک مدل سیمولینک جدید باز شود. درون آن، یک بلوک Subsystem قرار می دهیم :

matlab-268.jpg

این زیرسیستم، دارای یک ورودی با نا In1 و یک خروجی با نام Out1 است و با این دو، به سایر بخش های مدل کلی، متصل خواهد شد. برای اینکه اجزای این زیر سیستم را طراحی کنیم، بر روی آن، با موس، دابل کلیک می کنیم تا پنجره زیر باز شود :


matlab-269.jpg

همان طور که مشاهده می کنید، پنجره باز شده، خود یک صفحه جدید برای مدل سازی است که در آن می توانیم بلوک های مختلف سیمولینک را قرار بدهیم. در ابتدا ورودی In1 به طور مستقیم به خروجی Out1 متصل است که باعث می شود که زیرسیستم، فقط ورودی و خروجی را به هم وصل کند و عملا هیچ اثری در مدل کلی نداشته باشد. اکنون شما باید بر اساس ساختار زیرسیستم خود، بلوک های سیمولینک مورد نظرتان را بین ورودی و خروجی زیرسیستم قرار بدهید.
 

P O U R I A

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

استفاده از سیمولینک (simulink) نرم افزار متلب برای تحلیل مدارهای الکتریکی

استفاده از سیمولینک (simulink) نرم افزار متلب برای تحلیل مدارهای الکتریکی
(مناسب برای دانشجویان برق، مخصوصا درس مدار 1 و مدار 2)


1 - ابتدا وارد محیط متلب شوید، سپس عبارت simulink را تایپ کنید و enter بزنید، پس از حدود یک دقیقه پنجره زیر باز میشود :




matlab-272.jpg
2- در قسمت labraries (لیست سمت چپ پنجره بالا) به دنبال پوشه simscape بگردید، پوشه را باز کنید، سپس به قسمت foundation رفته و electrical را انتخاب کنید. حالا سه تا مجموعه است : elements (المانهای مدار) ، sensors (ولتمتر و ...) و sources (منابع)

تمام چیزهایی که برای بستن مدار نیاز است در این مجموعه ها وجود دارد :

matlab-273.jpg

3- در پنجره ای که در مرحله قبل باز کردید، حالا بر روی new model کلیک کنید (گوشه بالا سمت چپ) تا پنجره زیر نیز باز شود :


matlab-274.jpg

قطعات مدار را با چپ کلیک بکشید و در پنجره بالا قرار بدهید.

4- حالا باید مدار را ببندیم و مقادیر مقاومت و ... را تعیین کنیم. برای تعیین مقادیر بر روی هر قطعه که خواستید دوبار کلیک کنید و اطلاعات را وارد کنید. برای اتصال قطعات نیز از سر هر قطعه، چپ کلیک را بگیرید و تا قطعه مورد نظر ادامه دهید تا بهم وصل شوند، برای چرخاندن قطعات نیز بر روی آنها راست کلیک کنید و Rotate را انتخاب کنید.


matlab-275.jpg

5- حالا باید مدار را حل کنیم. ابتدا باید ببینیم که چه چیزی سوال ما است. در شکل بالا مثلا من ولتاژ دو سر خازن را میخواهم، پس دو سر خازن را ولتمتر میگذارم. در مرحله بعد باید ولتاژ را روی یک صفحه رسم کنم. برای ادامه کار به سه المان دیگر نیاز دارم که دوتای آنها، solver configuration و ps-simulink converter می باشند که در شاخه utilities وجود دارند. (این شاخه در زیر مجموعه simscape است)
matlab-276.jpg

همچنین به scope نیاز داریم که برای پیدا کردن آن کافی است در قسمت جستجو آن را تایپ کنیم تا پیدا شود :

matlab-277.jpg

Solver configuration را به مدار وصل کنید (مهم نیست به کجای مدار). ولتمتر (یا هر دستگاه اندازه گیری دیگری که بسته اید) را به ps-simulink converter وصل کنید.
Ps-simulink converter را به scope وصل کنید :

matlab-278.jpgحالا run را انتخاب کنید (فلش سبز بالا وسط).


روی scope دو بار کلیک کنید تا شکل نمایش داده شود :

matlab-279.jpg

چند نکته :
1. حتما برای مدار، زمین تعریف کنید.
2. اگر با خطا روبرو شدید، متن اصلی خطا در صفحه اصلی متلب را نیز حتما نگاه کنید.
3. برای اینکه کل نمودار را در scope ببینید، بر روی دکمه autoscale کلیک کنید.
4. درون Solver configuration تنظیماتی است که وقتی حرفه ای تر شدید میتوانید با تغییر آنها، روش حل مدار را تغییر دهید.
5. اگر پس از حل مدار با خطایی مواجه شدید که گفته کد را تغییر دهید، باید در پنجره ای که مدار را رسم کرده اید بر روی model configuration parameters کلیک کنید، سپس جلوی قسمت solver: (خط دوم) کدی که مورد نیاز است (معمولا در صفحه اصلی متلب درون متن خطا، کد مورد نظر را گفته است) را انتخاب کنید.
 

P O U R I A

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

تولید یک سیگنال سینوسی و نمایش آن سیگنال، در سیمولینک (Simulink) نرم افزار متلب

در این مبحث قصد داریم چگونگی تولید یک سیگنال سینوسی و نمایش آن سیگنال، در سیمولینک (Simulink) نرم افزار متلب را شرح بدهیم.ابتدا دستور زیر را در متلب اجرا می کنیم تا پنجره مربوط به سیمولینک (Simulink) نرم افزار متلب نمایش داده شود :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]simulink[/FONT]
[/FONT][/COLOR]
پنجره Simulink Library Browser نمایش داده می شود :
http://www.www.www.iran-eng.ir/attachment.php?attachmentid=245638&d=1436093227


از منوی File ، گزینه New و سپس گزینه Model را انتخاب می کنیم :

1034.png

پنجره ای به شکل زیر باز می شود که در آن می توانیم مدل (model) سیمولینک مورد نظرمان را طراحی کنیم :

1035.jpg

اکنون باید بلوک های مورد نظرمان را در پنجره Simulink Library Browser پیدا کرده و آنها را با موس گرفته و به درون پنجره مربوط به ساخت مدل ببریم (و سپس موس را رها کنیم).
بهتر است که در همین ابتدا، مدل را در یک فایل ذخیره کنید.
اکنون باید بلوکی برای تولید موج سینوسی بیابیم. برای این منظور، بلوک Sine Wave از بخش Sources از DSP System Toolbox را انتخاب می کنیم :

1036.jpg

همچنین باید بلوکی برای نمایش موج مورد نظر بیابیم. برای این منظور، بلوک Time Scope از بخش Sinks از DSP System Toolbox را انتخاب می کنیم :




1037.jpg

این دو بلوک را در مدل قرار داده و آنها را به هم وصل می کنیم (ابتدا بلوک Sine Wave را با موس انتخاب کرده، سپس دکمه Ctrl از کیبورد را نگه می داریم و بر روی بلوک Time Scope با موس کلیک می کنیم تا دو بلوک به هم وصل شوند) :
1038.jpg

بر روی بلوک Sine Wave ، با موس، دابل کلیک (دو بار کلیک) می کنیم تا تنظیمات آن نمایش داده شود :

1039.jpg

مقدار نوشته شده در قسمت Frequency را به عدد 2 تغییر داده و سپس بر روی دکمه OK کلیک می کنیم (فرکانس موج سینوسی به 2 هرتز تغییر داده می شود).کل مدل را ذخیره (Save) کرده و سپس بر روی دکمه مربوط به اجرای مدل سیمولینک (دکمه Run) کلیک می کنیم تا مدل شبیه سازی شود :

1040.jpg

نتیجه شبیه سازی، در یک پنجره جدید نمایش داده می شود (خروجی Time Scope) :

1041.jpg

مدل سیمولینک ساخته شده را می توانید از لینک زیر دریافت نمایید :
 

پیوست ها

  • 100.zip
    11.9 کیلوبایت · بازدیدها: 3
آخرین ویرایش:

a.n.a

عضو جدید
سلام
میشه راهنماییم کنین بگین این دو تا خطی که گذاشتم چیه و چه بلوکی تو سیمولینک باید براشون انتخاب کنم

these wind disturbances are modeled by square waves having velocities (30; 45; 60 )deg/s, with a frequency of 0.1 Hz


 
بالا