نوشته‌ها

شبیه سازی با متلب

آموزش سیمولینک (قسمت دوم)

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

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

eqs2

 

ابتدا يك پنجره جديد را باز كرده و بلوك هاي مورد نياز را از مسيرهاي زير وارد مي كنيد:

Simulink >> Sources >> Clock

Simulink >> Sources >> Constant

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Math Function

Simulink >> Sinks >> XY Graph

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

sim8

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

1- روي بلوك Constant دوبار كليك نموده و مقدار آن را 3 قرار دهيد

2- روي بلوك Gain دوبار كليك نموده و مقدار آن را 2 قرار دهيد

3- روي بلوك Gain1 دوبار كليك نموده و مقدار آن را 3 قرار دهيد

4- روي بلوك Math Function دوبار كليك نموده و در پنجره تنظيمات باز شده نوع تابع را square انتخاب كنيد

5- روي بلوك Math Function1 دوبار كليك نموده و در پنجره تنظيمات باز شده نوع تابع را pow انتخاب كنيد

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

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

اكنون بقيه بلوك ها را مانند شكل زير به يكديگر وصل كنيد:

sim9

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

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

sim10

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

sim11

 

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

eqs2

بلوك هاي مورد نياز براي حل اين معادله را از مسيرهاي زير وارد يك مدل جديد كنيد:

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

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

sim12

تنظيمات بلوك ها:

1- روي بلوك Constant1 دوبار كليك نموده و مقدار آن را 3 قرار دهيد

2- روي بلوك Constant2 دوبار كليك نموده و مقدار آن را 3 قرار دهيد

3- روي بلوك Gain دوبار كليك نموده و مقدار آن را 5 قرار دهيد

4- روي بلوك Gain1 دوبار كليك نموده و مقدار آن را 2 قرار دهيد

5- روي بلوك Math Function1 دوبار كليك نموده و در پنجره تنظيمات باز شده نوع تابع را pow انتخاب كنيد

6- روي بلوك Trigonometric Function دوبار كليك نموده و در پنجره تنظيمات باز شده نوع تابع را cos انتخاب كنيد

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

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

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

sim13

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

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

eqs5

بلوك هاي مورد نياز:

 

Simulink >> Sources >> Constant

Simulink >> Sinks >> Display

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Algebraic Constraint

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

sim14

 

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

تنظيمات بلوك ها:

1- روي بلوك Constant دوبار كليك نموده و مقدار آن را 3 قرار دهيد

2- روي بلوك Constant1 دوبار كليك نموده و مقدار آن را 2 قرار دهيد

3- روي بلوك Gain دوبار كليك نموده و مقدار آن را 2 قرار دهيد

4- روي بلوك Gain1 دوبار كليك نموده و مقدار آن را 3 قرار دهيد

5- روي بلوك Gain2 دوبار كليك نموده و مقدار آن را 7 قرار دهيد

6- روي بلوك Gain3 دوبار كليك نموده و مقدار آن را 5 قرار دهيد

7- روي بلوك Gain4 دوبار كليك نموده و مقدار آن را 3 قرار دهيد

8- روي بلوك Gain5 دوبار كليك نموده و مقدار آن را 4 قرار دهيد

9- روي بلوك Gain6 دوبار كليك نموده و مقدار آن را 4 قرار دهيد

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

11- روي بلوك Sum1 دوبار كليك نموده و در قسمت List of signs علامت هاي ++–| را وارد كنيد

12- روي بلوك Sum2 دوبار كليك نموده و در قسمت List of signs علامت هاي ++–| را وارد كنيد

13- اگر مي خواهيد خروجي را با دقت بالاتري ببينيد، روي بلوك هاي Display دوبار كليك كرده و فرمت نمايش آنها را long انتخاب كنيد

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

sim15

اگر سؤالي داشتيد در بخش نظرات آن را مطرح كنيد.

شبیه سازی با متلب

آموزش سیمولینک (قسمت اول)

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

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

سیمولینک متلب

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

آموزش سیمولینک

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

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

اين بلوك‌ها را در مسيرهاي زير مي‌تونيد بيابيد:

Simulink >> Sources >> Pulse Generator

Simulink >> Continuous >> Integrator

Simulink >> Continuous >> Derivative

Simulink >> Signal Routing >> Mux

Simulink >> Sinks >> Scope

 

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

 sim3

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

sim4

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

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

آموزش سیمولینک

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

(Duty Cycle =50%)

به روي بلوك تسهيم كننده دوبار كليك كرده و تعداد ورودي‌هاي اون رو به 3 تغيير بديد.

در تنظيمات بلوك‌هاي انتگرالگير و مشتقگير و اسكوپ تغييري ايجاد نكنيد.

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

sim6

 حالا مدل شما آماده شده و مي‌تونيد اون رو اجرا كنيد البته قبل از اجرا كردن بايد تنظيمات شبيه‌سازي(زمان اجرا، گام حركت، نوع حلگر و …) رو انجام بديد كه فعلا براي اين مثال نيازي نيست پس مدلتون رو با فشاردادن دگمه استارت، ران كنيد سپس به روي اسكوپ دوبار كليك كنيد شما قاعدتا بايد شكل موج‌هاي زير رو ببينيد:

(يادتان باشد كه حتما روي دگمه Autoscale كليك كنيد تا شكل موج‌ها را كامل ببينيد)

آموزش سیمولینک

اگر سؤالي داشتيد در بخش نظرات آن را مطرح كنيد.