آخرين ارسالهاي تالار

موضوع هاي بيشتر »

آموزش سیمولینک (قسمت پنجم) مشاهده در قالب PDF چاپ فرستادن به ایمیل
نوشته شده توسط مجتبی آیتی نیا   
چهارشنبه, 22 دی 1389 ساعت 17:43

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

حال پنجره‌ای جدید باز کرده و بلوک‌های زیر را وارد آن کنید:

 

Simulink >> Sources >> Step

Simulink >> Sources >> Clock

Simulink >> Sinks >> Stop Simulation

Simulink >> Sinks >> Scope

Simulink >> Continuous >> Transfer Fcn

Simulink >> Sources >> Constant

Simulink >> Sinks >> Display

Simulink >> Logic and Bit Operations >> Relational Operator

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

  • روي بلوك Constant دوبار كليك نموده و مقدار آن را  قرار دهيد
  • روي بلوك Relational Operator دوبار كليك نموده و در قسمت Relational operator عملگر =< را انتخاب كنيد
  • روي بلوك Step دوبار كليك نموده و مقدار Step time را 0 قرار دهيد
  • روي بلوك Transfer Fcn دوبار كليك نموده و مقدار Denominator coefficients را [6.748 1] قرار دهيد

تنظيمات مدل:

  • مقدار Max step size را 0.001  قرار دهید

حال می‌توانید مدلتان را Run کنید:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

توضیح مدل:

در واقع ما خروجی این سیستم را با مقدار مقایسه کرده‌ایم و  هرگاه که خروجی به این مقدار رسید، خروجی بلوک مقایسه‌گر 1 شده و بلوک Stop Simulation شبیه‌سازی را متوقف می‌کند. حال قطعا مقدار زمان شبیه‌سازی، برابر مقدار ثابت‌زمانی سیستم خواهد بود.

در مثال بعدی می‌خواهم یک مدار مقسم فرکانس با فلیپ فلاپ T ایجاد کنم. آنطوری که من در کتابخانه سیمولینک گشتم، این FF وجود نداشت. پس مجبوریم از فلیپ فلاپ JK استفاده و دو پایه آن را به‌هم وصل کنیم. در این مدار ما از چهار عدد FF استفاده کرده‌ایم در نتیجه در خروجی FFها به‌ترتیب سیگنال‌هایی با فرکانس‌های 2/1 ، 4/1 ، 8/1 و 16/1 فرکانس ورودی خواهیم داشت.

بلوک‌ها:

Simulink >> Sinks >> Scope

Simulink >> Sinks >> Terminator

Simulink >> Sources >> Constant

Simulink >> Signal Attributes >> Data Type Conversion

Simulink >> Simulink Extras >> Flip Flops >> Clock

Simulink >> Simulink Extras >> Flip Flops >> J-K Flip-Flop

حال بلوک‌ها را مانند شکل مرتب کرده و سیم‌کشی کنید و تنظیمات لازمه را بر مبنای آنچه که در ادامه آمده است، اعمال کنید:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

  • روي بلوك Constant دوبار كليك نموده و در تب Signal Attributes نوع داده خروجی را boolean برگزینید
  • روي بلوك Clock دوبار كليك نموده و مقدار پریود آن را 0.2 قرار دهید
  • روي تمامی بلوك‌های Data Type Conversion دوبار كليك نموده و در قسمت Output data type نوع داده‌ي خروجي را double انتخاب كنيد
  • روي بلوك Scope دوبار كليك نموده و سپس به منوي Parameters رفته و تعداد محورها را برابر 5 قرار دهيد

اینک می‌توانید مدلتان را اجرا کنید:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

توجه:

جهت اینکه نمودارها را بطور کامل و واضح ببینید، روی تمامی نمودارها راست کلیک کرده و گزینه Axes properties را انتخاب و سپس تغییرات شکل زیر اعمال کنید:

 

 

 

 

 

 

 

 

 

در مثال بعدی می‌خواهم یک مالتی پلکسر 4 به 1 را با استفاده از بلوک‌های شرطی، پیاده‌سازی کنم. همان‌طور که می‌دانید این عنصر(مالتی پلکسر 4 به 1) دارای دو پایه کنترلی می‌باشد که بسته به وضعیت منطقی این دو پایه، یکی از 4 سیگنال ورودی، در خروجی قرار می‌گیرد. آنطوری که من کتابخانه سیمولینک را جستجو کردم، بلوکی با نام مالتی‌پلکسر و با خصوصیات مذکور پیدا نکردم.

بلوک‌ها:

Simulink >> Sources >> Constant

Simulink >> Sources >> Ground

Simulink >> Sinks >> Display

Simulink >> Math Operations >> Sum

Simulink >> Signal Routing >> Manual Switch

Simulink >> Logic and Bit Operations >> Logical Operator

Simulink >> Ports & Subsystems >> If

Simulink >> Ports & Subsystems >> If Action Subsystem

حال بلوک‌ها را مانند شکل مرتب کرده و سیم‌کشی کنید و تنظیمات لازمه را بر مبنای آنچه که در ادامه آمده است، اعمال کنید:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

  • روي بلوك Constant1 دوبار كليك نموده و مقدار آن را 2 قرار دهيد
  • روي بلوك Constant2 دوبار كليك نموده و مقدار آن را 3 قرار دهيد
  • روي بلوك Constant3 دوبار كليك نموده و مقدار آن را 4 قرار دهيد
  • روي بلوك Sum دوبار كليك نموده و در قسمت List of signs علامت‌هاي ++++| را وارد كنيد
  • روي بلوك Logical Operator دوبار كليك نموده و نوع عملگر آن را NOT قرار دهید سپس در قسمت Icon shape نوع نمايش را distinctive انتخاب كنيد
  • روي بلوك Logical Operator1 دوبار كليك نموده و نوع عملگر آن را NOT قرار دهید سپس در قسمت Icon shape نوع نمايش را distinctive انتخاب كنيد
  • روي بلوك If دوبار كليك نموده و مانند شکل زیر عمل کنید:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

حال می‌توانید مدلتان را اجرا کنید:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

آموزش سيمولينك (قسمت ششم)

 

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

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

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

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

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

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

آموزش سيمولينك (قسمت ششم)


نظر ها (70)
  • وحید  - تشکر
    خیلی ممنون از آموزشتون ، مفید بود
    باز هم منتظر کارای بیشترتون هستم..
  • ناشناس
    سلام من میخواستم برای اینکه سیم کسی مدارم شلوغ نشه خروجی رو به یک بلوک بدم وسپس شبیه اون خروجی رو در جای دیگه بعنوان ورودی استفاده کنم
  • ناشناس
    من یک منبع موج مثلثی رو از کجا می تونم پیدا کنم :cry:
  • moj1001
    سلام
    مي توني از شكل مربعي مشتق بگيري يا تو متلب مثلثي درست كني و به سيمولينك انتقال بدي و ...
  • ali  - سوال
    با سلام و تشکر از مطالب خوبتون
    می خواستم بپرسم که میشه با سیمولینک معادلات با مشتقات جزئی حل کرد یا نه؟
    دوم اینکه جایی نوشته بود، اگه دنبال حل کردن سیستم های معادلات دیفرانسیل هستین دنبال سیمولینک نرین که خیلی کنده، آیا حرفش درسته؟
  • ناشناس
    سلام ممنون خوشحالم که بالا خره یه سایت فارسی به درد بخور پیدا کردم
  • mazhor_66
    سلام به همه كسي ميتونه منو كمك كنه ؟
    يه مثال ساده ميخام تا بتونم از كنترلر فازي تو سيمولينك خروجي بگيرم .من ورودي و خروجيهارو وارد ميكنم و استنتاج و همه كاراشو انجام ميدم ولي نميدونم تو سيمولينك چجوري ازش استفاده كنم :cry:
  • حبیب
    با سلام
    بایستی ابتدا به تولباکس فازی بری و پروژه فازی خودتو ابتدا export to workspace کنی و با همان نامی که در سیمولینک نامگذاری کرده ای ذخیره کنی. حالا در محیط سیمولینک اون رو میشناسه و می تونی ازش استفاده کنی
  • shaya
    سلام بعضی از این pdf ها باز نمیشه :cry:
  • moj1001
    سلام بعضي از كدوم pdfها باز نمي‌شه :?:
  • ناشناس
    optocoupler چگونه در متلب شبیه سازی می شود؟ ساختار آن یک دیود نوری است که به یک BJT فرمان روشن شدن می دهد.
    ترانزیستور BJT در متلب وجود دارد؟
  • moj1001
    سلام
    توي كتابخانه‌ي simscape مي‌تونيد bjt و op-amp و عناصر مختلف ديگري رو از قطعات الكترونيك بيابيد.
  • میلاد  - تشکر
    سلام . واقعا خسته نباشین .عالییی بووود .بعد از کولی گشت زدن بالاخره یک سایت ایرانییی خوب پیدا شد.مئفق باشین :D
  • ناشناس
    مجید!دلبندم!اون موفقه!موفق!نه مئفق!
  • alireza
    سلام
    یک دنیا سپاس . میتونید در مورد robot toolbox و یا Embeded function و طرز کار با اونها یکم اطلاعات بهم بدین.
    در هر صورت تشکر.
  • moj1001
    سلام
    ممنون
    سعي مي‌كنم در قسمت‌هاي بعدي، همين مباحث رو آموزش بدم.
تنها کاربران عضو شده می توانند نظر ارسال کنند!
آخرین بروز رسانی در یکشنبه, 04 تیر 1396 ساعت 04:17
 
logo-samandehi