رفتن به مطلب

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


ارسال های توصیه شده

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

 

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

 

 

kp2cv4on1534pofxk3.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

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

 

 

 

lh7wrpnnach4vsezhp6.jpg

 

 

 

 

 

 

 

 

 

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

 

 

Simulink >> Sources >> Pulse Generator

Simulink >> Continuous >> Integrator

Simulink >> Continuous >> Derivative

Simulink >> Signal Routing >> Mux

Simulink >> Sinks >> Scope

 

 

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

 

 

 

 

 

 

 

 

yem1lgfd14t04ol16e0f.jpg

 

 

 

 

 

 

 

 

 

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

 

 

7lpn1gl5k8omkn3q3mmp.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

dsxybuqij1fh0rj7mxgj.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

خروجي اين بلوك يك پالس با اندازه 1 و دوره تناوب 1.5 ثانيه و بدون تـاْخير و با پهناي پالس معادل 50 درصد دامنه هست. (Duty Cycle =50%) به روي بلوك تسهيم كننده دوبار كليك كرده و تعداد ورودي‌هاي اون رو به 3 تغيير بديد. در تنظيمات بلوك‌هاي انتگرالگير و مشتقگير و اسكوپ تغييري ايجاد نكنيد. حال بايد بلوك‌ها رو به يكديگر متصل كنيم براي اينكار ماوس رو به سمت خروجي مولد پالس برده و زماني كه ماوس به شكل + در اومد كليك چپ رو فشار داده و بدون ول كردن آن به سمت ورودي دومي تسهيم كننده حركت كنيد و زماني كه اشاره‌گر ماوس بصورت يك بعلاوه دوخط درآمد آن را ول كنيد تا اتصال ايجاد شود اگر مي‌خواهيد از يك سيگنال انشعابي بگيريد از كليك راست ماوس بايد استفاده كنيد مثلا در مورد اتصال ورودي انتگرالگير بايد ماوس را به سمت سيگنال خروجي مولد پالس برده و با فشردن كليك راست به سمت ورودي انتگرالگير حركت كنيد و زماني كه اشاره‌گر ماوس بصورت يك بعلاوه دوخط درآمد آن را ول كنيد تا اتصال ايجاد شود باقي اتصالات را دقيقا به همين‌صورت و مطابق شكل زير انجام دهيد:

 

 

cdscot1npf9doezbz5ln.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

 

 

bdp1pte9elmmnyu0o7v.jpg

 

 

 

 

 

 

 

 

منبع : mathworks.ir

  • Like 5
لینک به دیدگاه
  • 1 ماه بعد...

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

 

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

 

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

Simulink >> Sources >> Clock

Simulink >> Sources >> Constant

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Math Function

Simulink >> Sinks >> XY Graph

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

 

 

 

 

 

 

 

 

 

 

 

 

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

  • روي بلوك Constant دوبار كليك نموده و مقدار آن را 3 قرار دهيد
     
  • روي بلوك Gain دوبار كليك نموده و مقدار آن را 2 قرار دهيد
     
  • روي بلوك Gain1 دوبار كليك نموده و مقدار آن را 3 قرار دهيد
     
  • روي بلوك Math Function دوبار كليك نموده و در پنجره تنظيمات باز شده نوع تابع را square انتخاب كنيد
     
  • روي بلوك Math Function1 دوبار كليك نموده و در پنجره تنظيمات باز شده نوع تابع را pow انتخاب كنيد
     
  • روي بلوك Sum دوبار كليك نموده و در قسمت List of signs علامت‌هاي -+-+| را وارد كنيد
     
  • روي بلوك XY Graph دوبار كليك نموده و حد پائين x را 5- و حد بالاي آن را 5 و حد پائين y را 150- و حد بالاي آن را 150 قرار دهيد

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

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

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.jpg

 

 

 

 

 

 

 

 

 

 

 

 

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

  • روي بلوك 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 كنيد:

sim13.jpg

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

 

 

 

 

 

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

Simulink >> Sources >> Constant

Simulink >> Sinks >> Display

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Algebraic Constraint

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

sim14.jpg

نكته: بلوك‌ها را مي‌توانيد به وسيله فشردن كليدهاي 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 كرده و جواب دستگاه معادلات مربوطه را مشاهده كنيد:

sim15.jpg

  • Like 6
لینک به دیدگاه
  • 1 ماه بعد...

سلام

تو سیمولینک مطلب برای کنترلر ها وقتی داریم تابع تبدیلو وارد میکنیم (من تو tranfer Fcn ضرایبو وارد میکنم درسته؟) اما تو شکل فرمول نمیاد:ws52: و وقتی run می گیرم تو نمودار شکل خوب نمی شه چه جوری میشه قسمت بندی نمودارو تنظیم کرد؟

  • Like 1
لینک به دیدگاه
:ws52:مشکل بالا حل شد اما تو کنترلر تناسبی-انتگرالی به مشکل خوردم فرم چینش ایکونا رو میدونم اما تو مقدار دههی بهره مشکل دارمکسی بلده منو رهنمایی کنه؟نمودارم به جای اینکه به صفر میل کنه نوسانی شده:banel_smiley_4:
لینک به دیدگاه
×
×
  • اضافه کردن...