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

در اين قسمت از آموزش سيمولينك، ابتدا با نحوه ي درون يابي و برون يابي(Interpolation-Extrapolation) در محيط Simulink آشنا مي شويم. فرض كنيد در آزمايشگاه، سيستمي(سيستمي الكتريكي، مكانيكي و يا هر سيستم ديگري) با يك ورودي را مورد آزمايش قرار داده ايد و با دادن ورودي هاي مختلف، خروجي هاي متناظر را بدست آورده ايد بصورت زير:

[X = [1 , 1.5 , 1.8 , 2.2 , 2.7 , 3.3 , 3.9

[y = [ 2.434 , 2.667 , 2.738 , 2.956 , 2.904 , 2.819 , 2.708

حال مي خواهيد منحني تغييرات اين سيستم را به ازاي بازه اي پيوسته از ورودي، با كمك درون يابي و برون يابي بدست آوريد. بصورت زير عمل كنيد:

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

Simulink >> Sources >> Clock

Simulink >> Lookup Tables >> Lookup Table

Simulink >> Sinks >> Scope

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

1- روي بلوك Lookup Table دوبار كليك كرده و در قسمت Vector of input values بردار x و در قسمت Table data بردار y را قرار داده و OK كنيد. حال بايد نمودار داده ها را روي بلوك مشاهده كنيد.

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

در نحوه ي تنظيمات، احتمالا متوجه شده ايد كه مي خواهيم منحني را در بازه [5 0] رسم كنيم و براي افزايش تعداد نقاط منحني، از حداكثر گام 0.01 استفاده كرده ايم.

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

خروجي به صورت زير است:

اگر سيستم شما دو ورودي داشته باشد، از بلوك (Lookup Table (2-D و در صورت داشتن بيش از دو ورودي، مي توانيد از بلوكي به نام (Lookup Table (n-D استفاده كنيد. همچنين براي ويرايش نمودن، تغيير نوع و رسم نمودار داده ها، مي توانيد با كليك كردن به روي Edit در پنجره ي تنظيمات اين بلوك ها، به پنجره ي Lookup Table Editor وارد شويد.

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

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

Simulink >> Sources >> Clock

Simulink >> Sources >> Constant

حتما بخوانید  ایجاد مدل آموزش شبیه سازی در متلب MATLAB

Simulink >> Sources >> Sine Wave

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Product

Simulink >> Continuous >> Derivative

Simulink >> Math Operations >> Math Function

Simulink >> Signal Routing >> Mux

Simulink >> Signal Attributes >> Data Type Conversion

Simulink >> Logic and Bit Operations >> Relational Operator

Simulink >> Logic and Bit Operations >> Logical Operator

Signal Processing Blockset >> Signal Management >> Switches and Counters >> Counter

Simulink >> Sinks >> Display

Simulink >> Sinks >> Scope

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

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

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

2- روي بلوك Sine Wave دوبار كليك نموده و مقدار فركانس آن را 20*pi قرار دهيد

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

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

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

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

7- روي بلوك Relational Operator2 دوبار كليك نموده و در قسمت Relational operator عملگر > را انتخاب كنيد

8- روي بلوك Relational Operator3 دوبار كليك نموده و در قسمت Relational operator عملگر > را انتخاب كنيد

9- روي بلوك Logical Operator دوبار كليك نموده و در قسمت Icon shape نوع نمايش را distinctive انتخاب كنيد

10- روي بلوك Logical Operator1 دوبار كليك نموده و در قسمت Icon shape نوع نمايش را distinctive انتخاب كنيد

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

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

13- روي بلوك Counter دوبار كليك نموده و در قسمت Maximum count عدد 1e100 و در قسمت Output حالت Count و Reset input را غيرفعال كنيد

14- روي بلوك Counter1 دوبار كليك نموده و در قسمت Maximum count عدد 1e100 و در قسمت Output حالت Count و Reset input را غيرفعال كنيد

حتما بخوانید  آموزش سیمولینک simulink متلب MATLAB

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

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

در شكل زير همان طور كه مشاهده مي كنيد نمودار زرد رنگ، تابع ورودي و نمودار صورتي رنگ، آشكارساز پيك مثبت مي باشد.

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

توجه: در صورتي كه بخواهيد فركانس موج ورودي را تا حد زيادي(مثلا 1GHz) افزايش دهيد، حتما بايد حداكثر گام حركت را كاهش دهيد كه در غير اين صورت جواب نادرست خواهيد گرفت.(چرا؟)

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

براي شروع كار ابتدا بلوك هاي زير را در يك مدل قرار دهيد:

Simulink >> Sinks >> Scope

Simulink >> Sinks >> Display

Simulink >> Math Operations >> Sum

Simulink >> Logic and Bit Operations >> Relational Operator

Simulink >> Logic and Bit Operations >> Logical Operator

Simulink >> Sources >> Ground

Simulink >> Sources >> Constant

Simulink >> Sources >> Signal Generator

Simulink >> Signal Routing >> Switch

ابتدا بايد سيگنال ورودي را به 16 قسمت مساوي تقسيم كنيم در نتيجه به بعضي از پارامترهاي سيگنال ورودي احتياج داريم(البته شايد بتوان به روش هايي اين پارامترها را محاسبه كرد ولي در اين مثال هدف چيز ديگري است). مثلا فرض كنيد كه دامنه پيك تا پيك و همچنين مينيمم سيگنال را داريم حالا بايد از مقدار مينيمم شروع كرده و به نسبت A/15 به مقدار مينيمم اضافه كرده تا به مقدار ماكزيمم سيگنال برسيم اين مقادير را بصورت پارامتري، درون 16 عدد بلوك Constant قرار مي دهيم سپس سيگنال ورودي را به 17 قسمت مساوي تقسيم مي كنيم تا بتوانيم از عملگرهاي مقايسه اي استفاده كنيم(براي تشخيص لحظه اي دامنه سيگنال ورودي) پس از آن از مقدار مينيمم شروع كرده و به نسبت A/16 به مقدار مينيمم اضافه كرده تا به مقدار ماكزيمم سيگنال برسيم اين مقادير را بصورت پارامتري، درون 17 عدد بلوك Constant قرار مي دهيم.

حتما بخوانید  آموزش طرز تهیه جوجه لیمویی با سس قارچ

تنظيمات تمام بلوك هاي سوئيچ را بصورت زير قرار مي دهيم:

حال بصورت زير عمل مي كنيم:

زماني كه خروجي بلوك عملگر رابطه اي، 1 باشد(دامنه سيگنال از مقدار P+A/16 كمتر باشد) بلوك سوئيچ، عدد P (مقدار اوليه) و در غير اين صورت اين بلوك مقدار صفر را عبور مي دهد.

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

در اين شكل همان طور كه ملاحظه مي شود، زماني كه دامنه سيگنال ورودي از مقدار P+(2*A)/16 كوچكتر و بزرگتر و يا مساوي مقدار P+A/16 باشد، خروجي بلوك AND يك شده و بلوك سوئيچ مقدار P+A/15 را از خود عبور مي دهد و در ديگر حالات زمين در مسير خروجي قرار مي گيرد.

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

نكته: مي توان يك سيگنال ژنراتور و يك زمين به كار برد و براي استفاده در مكان هاي ديگر از آن ها انشعاب گرفت(درواقع هيچ گونه اثر بارگذاري روي يكديگر ندارند).

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

مدل نهايي با اندكي تغييرات اضافي بصورت زير است:

حال مدل را به ازاي يك ورودي سينوسي با فركانس 1KHz و دامنه 1 و مقدار dc برابر 0 شبيه سازي مي كنيم(مقدار مينيمم سيگنال 1- و دامنه پيك تا پيك آن برابر 2 است)

خروجي بصورت زير است:

نوشته شده توسط مجتبی آیتی نیا.

منبع سایت universityporoject.ir

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

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

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

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