پرینت

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

نوشته شده توسط مجتبی آیتی نیا. منتشر شده در نرم‌افزار Simulink

در ادامه ی آموزش 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

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

 

 

 

 

 

 

 

 

 

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

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

2- روي بلوك Relational Operator دوبار كليك نموده و در قسمت Relational operator عملگر =< را انتخاب كنيد

3- روي بلوك Step دوبار كليك نموده و مقدار Step time را 0 قرار دهيد

4- روي بلوك 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

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

 

 

 

 

 

 

 

 

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

1- روي بلوك Constant دوبار كليك نموده و در تب Signal Attributes نوع داده خروجی را boolean برگزینید

2- روي بلوك Clock دوبار كليك نموده و مقدار پریود آن را 0.2 قرار دهید

3- روي تمامی بلوك های Data Type Conversion دوبار كليك نموده و در قسمت Output data type نوع داده ي خروجي را double انتخاب كنيد

4- روي بلوك 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

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

 

 

 

 

 

 

 

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

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

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

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

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

5- روي بلوك Logical Operator دوبار كليك نموده و نوع عملگر آن را NOT قرار دهید سپس در قسمت Icon shape نوع نمايش را distinctive انتخاب كنيد

6- روي بلوك Logical Operator1 دوبار كليك نموده و نوع عملگر آن را NOT قرار دهید سپس در قسمت Icon shape نوع نمايش را distinctive انتخاب كنيد

7- روي بلوك If دوبار كليك نموده و مانند شکل زیر عمل کنید:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

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

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

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

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

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

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

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

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

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

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

اضافه کردن نظر