آموزش سیمولینک متلب _ matlab simulink

آموزش سیمولینک متلب _ matlab simulink

Click this bar to view the full image.

سلام دوستان در این تاپیک قصد دارم آموزش سیمولینک متلب رو که توسط یکی از دوستان ارائه شده قرار بدم . امیدوارم مفید واقع بشه . همونطور که میدونید نرم افزار matlab واسه یک رشته خاص طراحی نشده پس همه میتونن از این آموزش استفاده کنند .

SIMULINK
سیمولینک یکی از متعلقات MATLAB می باشد که امکان ایجاد سریع و دقیق مدل کامپیوتری سیستمهای دینامیکی را با استفاده از نمودار بلوکی برای مهندسین فراهم می سازد. سیستمهای غیر خطی پیچیده را می توان توسط آن بسادگی مدل نمود. تحلیل و طراحی سیستمهای کنترل توسط آن براحتی امکانپذیر است.

Click this bar to view the full image.

نحوه کارکردن با Simulink رو به شما آموزش بدم پس اگه تا حالا با Simulink کار نکردید و یا مشکلاتی در کارکردن با اون دارید میتونید با من همراه باشید .

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

برای شروع کار با سیمولیک ابتدا از مسیر File >> New >> Model یک مدل جدید ایجاد کنید. این مدل رو در شکل زیر مشاهده میکنید.

Click this bar to view the full image.


حالا شما باید در این مدل برحسب مسالهای که میخواهید حل کنید عناصر مورد احتیاج رو از کتابخانه سیمولینک به مدل مورد نظر انتقال دهید. برای بازکردن کتابخانه سیمولینک، رو صفحه متلب عبارت simulink رو وارد کنید و یا به روی دگمه نشان داده شده در شکل زیر که هم در صفحه اصلی متلب و هم در مدل ایجاد شده قرار دارد کلیک کنید.


همونطور که در کتابخانه سیمونیک مشاهده میکنید کتابخانههای زیادی وجود داره که هرکس بنا به رشتهای که داره با این کتابخانهها کار میکنه مثلا کسی که مکانیک خونده با قسمت مخابرات اون کاری نداره ولی آنچه که مشترک بین کلیه کاربران هستش یادگیری بلوکهای کتابخانه اصلی سیمولیکه که من تا جائیکه بتونم سعی میکنم با مثالهای متنوع، بلوکهایی رو که بیشتر به کار میان برای شما شرح بدم.

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

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

Simulink >> Sources >> Pulse Generator

Simulink >> Continuous >> Integrator

Simulink >> Continuous >> Derivative

Simulink >> Signal Routing >> Mux

Simulink >> Sinks >> Scope


نحوه آوردن بلوکها هم بسیار سادس شما میتونید روی بلوک مورد نظر کلیک چپ کرده و بدون رها کردن آن، موس رو به درون مدل مربوطه ببرید و در جائیکه میخواهید بلوک رو قرار دهید، موس رو رها کنید(Drag and Drop) و یا اینکه روی بلوک مورد نظر کلیک راست کرده و گزینه Add to untitled رو انتخاب کنید بهصورت زیر:


در واقع untitled نام پیش فرض مدل شماست که میتونید اون رو تغییر بدهید. پس از اینکه تمامی بلوکها رو به مدل خودتون اضافه کردید بلوکها رو بهصورت زیر دربیارید:

Click this bar to view the full image.


برای مرتب کردن بلوکها، هم با موس میتونید جای اونها رو عوض کنید هم با کیبورد به این صورت که بلوک موردنظر رو انتخاب میکنید و با کلیدهای جهتی بر روی کیبورد، جای بلوک رو تغییر میدید. برای بزرگ کردن اندازه بلوکها از کلید R و برای کوچک کردن آنها از کلید V استفاده کنید.

حالا باید تنظیمات لازم رو بر بلوکها انجام دهیم به روی بلوک مولد پالس دوبار کلیک کنید و مانند شکل زیر تغییرات لازم رو اعمال کنید:

Click this bar to view the full image.


خروجی این بلوک یک پالس با اندازه 1 و دوره تناوب 1.5 ثانیه و بدون تـاْخیر و با پهنای پالس معادل 50 درصد دامنه هست.

(Duty Cycle =50%)

به روی بلوک تسهیم کننده دوبار کلیک کرده و تعداد ورودیهای اون رو به 3 تغییر بدید.

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

حال باید بلوکها رو به یکدیگر متصل کنیم برای اینکار ماوس رو به سمت خروجی مولد پالس برده و زمانی که ماوس به شکل + در اومد کلیک چپ رو فشار داده و بدون ول کردن آن به سمت ورودی دومی تسهیم کننده حرکت کنید و زمانی که اشارهگر ماوس بصورت یک بعلاوه دوخط درآمد آن را ول کنید تا اتصال ایجاد شود اگر میخواهید از یک سیگنال انشعابی بگیرید از کلیک راست ماوس باید استفاده کنید مثلا در مورد اتصال ورودی انتگرالگیر باید ماوس را به سمت سیگنال خروجی مولد پالس برده و با فشردن کلیک راست به سمت ورودی انتگرالگیر حرکت کنید و زمانی که اشارهگر ماوس بصورت یک بعلاوه دوخط درآمد آن را ول کنید تا اتصال ایجاد شود باقی اتصالات را دقیقا به همینصورت و مطابق شکل زیر انجام دهید:

Click this bar to view the full image.


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

(یادتان باشد که حتما روی دگمه Autoscale کلیک کنید تا شکل موجها را کامل ببینید)

Click this bar to view the full image.


آوردن قطعات از کتابخانه، اتصال قطعات به یکدیگر و در نهایت شبیهسازی مدل مورد نظر بیان شد. اکنون در قسمت دوم با ذکر چند مثال کاربردی، آموزش Simulink رو ادامه میدهیم. در این قسمت فرض برآن است که دوستان یا قسمت اول آموزش را خواندهاند و یا اینکه اطلاعات اولیه را دارند پس از ذکر جزئیات صرفه میکنیم.

مثال اول را میخواهیم با رسم نمودار یک تابع آغاز کنیم ضابطه این تابع به صورت زیر است:


ابتدا یک پنجره جدید را باز کرده و بلوکهای مورد نیاز را از مسیرهای زیر وارد میکنید:

Simulink >> Sources >> Clock

Simulink >> Sources >> Constant

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Math Function

Simulink >> Sinks >> XY Graph


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

Click this bar to view the full image.


حالا تنظیمات زیر را انجام دهید:

روی بلوک Constant دوبار کلیک نموده و مقدار آن را 3 قرار دهید

روی بلوک Gain دوبار کلیک نموده و مقدار آن را 2 قرار دهید

روی بلوک Gain1 دوبار کلیک نموده و مقدار آن را 3 قرار دهید

روی بلوک Math Function دوبار کلیک نموده و در پنجره تنظیمات باز شده نوع تابع را square انتخاب کنید

روی بلوک Math Function1 دوبار کلیک نموده و در پنجره تنظیمات باز شده نوع تابع را pow انتخاب کنید

روی بلوک Sum دوبار کلیک نموده و در قسمت List of signs علامتهای -+-+| را وارد کنید

روی بلوک XY Graph دوبار کلیک نموده و حد پائین x را 5- و حد بالای آن را 5 و حد پائین y را 150- و حد بالای آن را 150 قرار دهید

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

Click this bar to view the full image.


این کلاکی که میبینید در واقع همان زمان شبیهسازی شماست که اینجا نقش متغییر x را بازی میکند و از این جهت است که به اولین ورودی بلوک XY Graph(محور افقی صفحه مختصات) وصل شده است خروجی جمع کننده نیز برابر با متغییر y است که به دومین ورودی بلوک XY Graph(محور عمودی صفحه مختصات) وصل شده است نقش باقی بلوکها را اگر به صورت معادله توجه کنید خواهید فهمید.

احتمالا میدانید که زمان شبیهسازی سیمولینک از صفر تا ده ثانیه(بطور پیش فرض) میباشد پس اگر ما بخواهیم تابع را در بازه [5 5-] رسم کنیم، باید بازه زمانی شبیهسازی را تغییر دهیم. برای این منظور از مسیر ...Simulation >> Configuration Parameters وارد تنظیمات مدل خود میشوید حالا مانند شکل زیر، زمان شروع و پایان شبیهسازی را وارد کنید:

Click this bar to view the full image.


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

Click this bar to view the full image.


برای مثال دوم میخواهیم یک معادله غیرخطی را حل کنیم صورت معادله به شرح زیر است:


بلوکهای مورد نیاز برای حل این معادله را از مسیرهای زیر وارد یک مدل جدید کنید:

Simulink >> Sources >> Constant

Simulink >> Sinks >> Display

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Math Function

Simulink >> Math Operations >> Algebraic Constraint

Simulink >> Math Operations >> Trigonometric Function

Simulink >> Math Operations >> Product

Simulink >> Math Operations >> Abs


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

Click this bar to view the full image.


تنظیمات بلوکها:

روی بلوک Constant1 دوبار کلیک نموده و مقدار آن را 3 قرار دهید

روی بلوک Constant2 دوبار کلیک نموده و مقدار آن را 3 قرار دهید

روی بلوک Gain دوبار کلیک نموده و مقدار آن را 5 قرار دهید

روی بلوک Gain1 دوبار کلیک نموده و مقدار آن را 2 قرار دهید

روی بلوک Math Function1 دوبار کلیک نموده و در پنجره تنظیمات باز شده نوع تابع را pow انتخاب کنید

روی بلوک Trigonometric Function دوبار کلیک نموده و در پنجره تنظیمات باز شده نوع تابع را cos انتخاب کنید

روی بلوک Sum (توجه کنید که نام بلوک Sum بطور پیش فرض مخفی است و شما میتوانید روی بلوک راست کلیک کرده و از مسیر Format >> Show Name نام بلوک را آشکار کنید) دوبار کلیک نموده و در قسمت List of signs علامت های --+--| را وارد کنید و در قسمت Icon shape نوع نمایش را rectangular برگزینید

روی بلوک Sum1 دوبار کلیک نموده و در قسمت List of signs علامتهای -+| را وارد کنید

حالا مانند شکل زیر بلوکها را به یکدیگر متصل کرده و Run کنید:

Click this bar to view the full image.


توجه کنید که ورودی بلوک Algebraic Constraint تابع و خروجی آن مقداری است که به ازای آن تابع ورودی صفر خواهد شد و به همین دلیل است که از خروجی این بلوک برای تغذیه آرگومانهای تابع ورودی استفاده شده است.

برای مثال آخر در قسمت دوم آموزش میخواهیم دستگاه معادلات زیر را حل کنیم:


بلوکهای مورد نیاز:

Simulink >> Sources >> Constant

Simulink >> Sinks >> Display

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Algebraic Constraint


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

Click this bar to view the full image.


نکته: بلوکها را میتوانید به وسیله فشردن کلیدهای Ctrl+R بچرخانید.



تنظیمات بلوکها:

روی بلوک Constant دوبار کلیک نموده و مقدار آن را 3 قرار دهید

روی بلوک Constant1 دوبار کلیک نموده و مقدار آن را 2 قرار دهید

روی بلوک Gain دوبار کلیک نموده و مقدار آن را 2 قرار دهید

روی بلوک Gain1 دوبار کلیک نموده و مقدار آن را 3 قرار دهید

روی بلوک Gain2 دوبار کلیک نموده و مقدار آن را 7 قرار دهید

روی بلوک Gain3 دوبار کلیک نموده و مقدار آن را 5 قرار دهید

روی بلوک Gain4 دوبار کلیک نموده و مقدار آن را 3 قرار دهید

روی بلوک Gain5 دوبار کلیک نموده و مقدار آن را 4 قرار دهید

روی بلوک Gain6 دوبار کلیک نموده و مقدار آن را 4 قرار دهید

روی بلوک Sum دوبار کلیک نموده و در قسمت List of signs علامت های ++-+| را وارد کنید

روی بلوک Sum1 دوبار کلیک نموده و در قسمت List of signs علامت های ++--| را وارد کنید

روی بلوک Sum2 دوبار کلیک نموده و در قسمت List of signs علامت های ++--| را وارد کنید

اگر میخواهید خروجی را با دقت بالاتری ببینید، روی بلوکهای Display دوبار کلیک کرده و فرمت نمایش آنها را long انتخاب کنید

حالا میتوانید مدلتان را Run کرده و جواب دستگاه معادلات مربوطه را مشاهده کنید:

Click this bar to view the full image. مثالی از اعداد مختلط شروع می‌کنیم می‌خواهیم سیستمی طراحی کنیم که دو عدد مختلط را گرفته و چهار عمل اصلی ریاضی(جمع، تفریق، ‌ضرب، تقسیم) را روی آن دو انجام دهد و همچنین قسمت حقیقی، قسمت موهومی،‌ اندازه، فاز و مزدوج یکی از آن دو عدد را محاسبه کند توجه داشته باشید که هدف از این مثال یادگیری کار با اعداد مختلط و نحوه ایجاد زیر سیستم است.

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

Simulink >> Sources >> Constant

Simulink >> Sinks >> Display

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Product

Simulink >> Math Operations >> Divide

Simulink >> Math Operations >> Complex to Real-Imag

Simulink >> Math Operations >> Real-Imag to Complex

Simulink >> Math Operations >> Complex to Magnitude-Angle

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

Click this bar to view the full image.

تنظیمات بلوک‌ها:

روی بلوک Constant دوبار کلیک نموده و مقدار آن را 2+3i و نام آن را z قرار دهید

روی بلوک Constant1 دوبار کلیک نموده و مقدار آن را 3-6i و نام آن را z1 قرار دهید

روی بلوک Gain دوبار کلیک نموده و مقدار آن را 1- قرار دهید

روی بلوک Sum1 دوبار کلیک نموده و در قسمت List of signs علامت‌های -+| را وارد کنید

روی بلوک‌های Display کلیک راست نموده و از مسیر Format >> Hide Name نام بلوک‌ها را پنهان کنید

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

Click this bar to view the full image.

سپس تمامی بلوک‌ها به‌جزء بلوک‌های Constant و Display را انتخاب و کلیک راست کنید و از منوی باز شده Create Subsystem را انتخاب کنید حالا مدلتان احتمالا کمی بهم‌ریخته شده است کمی آن را مرتب کنید و بلوک Subsystem را از دو طرف بکشید تا بزرگتر شود برخی از بلوک‌های Display نیز احتیاج به بزرگترشدن دارند که این را بعد از شبیه‌سازی خواهید فهمید.

نکته: شما می‌توانید با دوبار کلیک کردن در هرجایی از مدلتان، متنی دلخواه وارد کنید مثلا کنار هر کدام از بلوک‌های Display بنویسید که چه عددی را قرار است نشان دهند ضمنا می‌توانید با دوبار کلیک کردن به روی هر سیگنالی، آن را نام‌گذاری کنید.

اکنون سیستم شما آماده شده و می‌توانید آن را Run کنید:

Click this bar to view the full image.

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

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


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

بلوک‌های مورد نیاز:

Simulink >> Sources >> Step

Simulink >> Sinks >> Scope

Simulink >> Sinks >> To Workspace

Simulink >> Continuous >> Derivative

Simulink >> Continuous >> Transfer Fcn

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

Click this bar to view the full image.

تنظیمات بلوک‌ها:

روی بلوک Step دوبار کلیک نموده و مقدار Step time را 0 قرار دهید

روی بلوک Transfer Fcn دوبار کلیک نموده و مقدار Denominator coefficients را [1 1 3 2] قرار دهید

روی بلوک Scope دوبار کلیک نموده و سپس به منوی Parameters رفته و تعداد محورها را برابر 2 قرار دهید

روی بلوک To Workspace دوبار کلیک نموده و در قسمت Variable name عبارت s را وارد کرده و در قسمت Save format حالت Array را انتخاب کنید

روی بلوک To Workspace1 دوبار کلیک نموده و در قسمت Variable name عبارت h را وارد کرده و در قسمت Save format حالت Array را انتخاب کنید

تنظیمات مدل:

با فشردن کلید Ctrl+E به صفحه تنظیمات رفته و مانند شکل زیر عمل کنید:

Click this bar to view the full image.

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

Click this bar to view the full image.

حالا Run کنید:

Click this bar to view the full image.

یادتان باشد که حتما روی دگمه Autoscale کلیک کنید تا شکل موج‌ها را کامل ببینید.

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

Click this bar to view the full image.

نکته: رنک بلوک‌ها را می‌توانید با راست کلیک کردن به روی آن‌ها و از مسیر Background Color و رنگ پس‌زمینه را با راست کلیک کردن به روی صفحه مدل و از مسیر Screen Color تغییر
/ 9 نظر / 1729 بازدید
ساسان

بسیار بسیار مفید بود. با تشکر

Arash

خیلی ممنون از زحمات نویسنده.

زهرا

سلام ممنون میشمفایل این متن رو واسه من بفرستید

امین

سلام مطالبتون در مورد simulink عالیه ولی تصاویرش load نمیشه اگه فایلشو برام به ادرس aminsharifi123@yahoo.com ایمیل کنی ممنونت میشم.

مریم

عالیییییییییییییییی

الهام

ممنون

فاطمه

سلام مرسی از راهنمایی هاتون من می خوام یک برنامه بنویسم که صفرو یک طول خاص تعیین کنم بعد کد کد باینری رو با یک موج سینوسی ضرب کنم .من نمی دونم چگونه یک و صف را چگونه تعیین کنم

sami

من میخوام جبرانساز tcsc رو در سیمولینک شبیه سازی کنم ولی بلوک هاش رو پیدا نمی کنم لطفا کمکم کنید.ممنون

مهدی

عالی بود