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

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

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

Simulink >> Sources >> Constant

Simulink >> Sinks >> Display

Simulink >> Math Operations >> Sum

Simulink >> Math Operations >> Gain

Simulink >> Math Operations >> Product

Simulink >> Math Operations >> Divide

Simulink >> Math Operations >> Complex to Real-Imag

Simulink >> Math Operations >> Real-Imag to Complex

Simulink >> Math Operations >> Complex to Magnitude-Angle

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

 

 

 

 

 

 

 

 

 

 

 

 

 

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

  • روي بلوك Constant دوبار كليك نموده و مقدار آن را 2+3i و نام آن را z قرار دهيد
  • روي بلوك Constant1 دوبار كليك نموده و مقدار آن را 3-6i و نام آن را z1 قرار دهيد
  • روي بلوك Gain دوبار كليك نموده و مقدار آن را 1- قرار دهيد
  • روي بلوك Sum1 دوبار كليك نموده و در قسمت List of signs علامت‌هاي -+| را وارد كنيد
  • روي بلوك‌هاي Display كليك راست نموده و از مسير Format >> Hide Name نام بلوك‌ها را پنهان كنيد

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

 

 

سپس تمامي بلوك‌ها به‌جزء بلوك‌هاي Constant و Display را انتخاب و كليك راست كنيد و از منوي باز شده Create Subsystem را انتخاب كنيد حالا مدلتان احتمالا كمي بهم‌ريخته شده است كمي آن را مرتب كنيد و بلوك Subsystem را از دو طرف بكشيد تا بزرگتر شود برخي از بلوك‌هاي Display نيز احتياج به بزرگترشدن دارند كه اين را بعد از شبيه‌سازي خواهيد فهميد.

نكته: شما مي‌توانيد با دوبار كليك كردن در هرجايي از مدلتان، متني دلخواه وارد كنيد مثلا كنار هر كدام از بلوك‌هاي Display بنويسيد كه چه عددي را قرار است نشان دهند ضمنا مي‌توانيد با دوبار كليك كردن به روي هر سيگنالي، آن را نام‌گذاري كنيد.

اكنون سيستم شما آماده شده و مي‌توانيد آن را Run كنيد:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

در اين مثال با نحوه‌ي ايجاد زيرسيستم آشنا شديد شما مي‌توانيد زير سيستم‌هاي مختلفي در يك مدل(حتي زيرسيستم‌هاي تودرتو) ايجاد كنيد زيرسيستم‌ها را معمولا براي مدل‌هاي پيچيده و شلوغ به‌كار مي‌برند و با دوبار كليك كردن به‌روي هر كدام از آنها، محتويات آن مشاهده خواهد شد.

در مثال بعدي مي‌خواهيم پاسخ پله و پاسخ ضربه يك سيستم كنترلي را مشاهده كنيم تابع تبديل سيستم به شرح زير است:

 

 

 

اين سيستم درجه 3 است و اگر پاسخ پله آن را رسم كنيم خواهيم ديد كه پاسخ زيرميرا(سينوسي ميراشونده) مي‌باشد ضمنا مي خواهيم خروجي را در دو حالت(پاسخ پله و ضربه) به فضاي كاري MATLAB انتقال دهيم.

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

Simulink >> Sources >> Step

Simulink >> Sinks >> Scope

Simulink >> Sinks >> To Workspace

Simulink >> Continuous >> Derivative

Simulink >> Continuous >> Transfer Fcn

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

 

 

 

 

 

 

 

 

 

 

 

 

 

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

  • روي بلوك Step دوبار كليك نموده و مقدار Step time را 0 قرار دهيد
  • روي بلوك Transfer Fcn دوبار كليك نموده و مقدار Denominator coefficients را [1 1 3 2] قرار دهيد
  • روي بلوك Scope دوبار كليك نموده و سپس به منوي Parameters رفته و تعداد محورها را برابر 2 قرار دهيد
  • روي بلوك To Workspace دوبار كليك نموده و در قسمت Variable name عبارت s را وارد كرده و در قسمت Save format حالت Array را انتخاب كنيد
  • روي بلوك To Workspace1 دوبار كليك نموده و در قسمت Variable name عبارت h را وارد كرده و در قسمت Save format حالت Array را انتخاب كنيد

تنظيمات مدل:

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

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

حالا Run كنيد:

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

نكته: رنك بلوك‌ها را مي‌توانيد با راست كليك كردن به روي آن‌ها و از مسير Background Color و رنگ پس‌زمينه را با راست كليك كردن به روي صفحه مدل و از مسير Screen Color تغيير دهيد.

تمامي بلوك‌ها قبلا گفته شده كه در كجا قرار دارند بجزء بلوك Reciprocal Sqrt كه آن‌هم در كتابخانه Math Operations قرار دارد.

توجه: بلوك‌هاي به رنگ قرمز، Gain و بلوك‌هاي به رنگ صورتي، Constant هستند.

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

  • روي بلوك R دوبار كليك نموده و مقدار آن را R قرار دهيد
  • روي بلوك‌هاي L دوبار كليك نموده و مقدار آن‌ها را L قرار دهيد
  • روي بلوك C دوبار كليك نموده و مقدار آن را C قرار دهيد
  • روي بلوك L/R دوبار كليك نموده و مقدار آن را L/R قرار دهيد
  • روي بلوك LC\1 دوبار كليك نموده و مقدار آن را LC\1 قرار دهيد
  • بلوك Sum هم مشخص است كه چه تنظيماتي دارد
  • روي بلوك Product دوبار كليك نموده و تعداد ورودي‌هاي آن را 3 قرار دهيد
  • روي بلوك Step دوبار كليك نموده و مقدار Step time را D و مقدار Final value را A قرار دهيد
  • روي بلوك Scope و بلوك‌هاي Display كليك راست نموده و از مسير Format >> Hide Name نام بلوك‌ها را پنهان كنيد
  • روي بلوك Scope دوبار كليك نموده و سپس به منوي Parameters رفته و تعداد محورها را برابر 2 قرار دهيد

حالا تمامي بلوك‌ها را بجزء بلوك Scope و بلوك‌هاي Display انتخاب و كليك راست كنيد و از منوي باز شده Create Subsystem را انتخاب كنيد پس اندكي مرتب كردن مدل، روي بلوك Subsystem كليك راست كرده و گزينه ...Mask Subsystem را انتخاب كنيد حالا همان‌طور كه مي‌بينيد پنجره Mask Editor به نمايش درآمده است.

تنظيمات Mask Editor:

ابتدا به تب Icon & Ports برويد و Command را در حالت image قرار داده و در قسمت Icon Drawing commands كد زير را وارد كنيد:

(('image(imread('RLC.jpg

«RLC.jpg» عكسي است كه من مي‌خواهم پس‌زمينه‌ي مدل قرار بدم توجه كنيد كه اين عكس بايد در مسير متلب باشد تا آپلود شود بعد از وارد كردن كد، Apply كرده و به تب Parameters برويد و مانند شكل زير عمل كنيد:

 

 

Apply كرده و به تب Documentation برويد و مانند شكل زير عمل كنيد:

 

 

حالا ديگر OK كنيد.

حالا اگر روي بلوك دوبار كليك كنيد، ديالوگي براي شما باز مي‌شود تا پارامترهاي مدار را وارد كنيد.

مانند شكل زير عمل كنيد:

 

سپس Run كنيد:

 

 

براي ديدن شكل موج‌ها به روي اسكوپ دوبار كليك كرده و دگمه Autoscale را بفشاريد:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

 

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

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

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

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

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

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

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


نظر ها (158)
  • قاسم
    آقا مجتبی سلام
    ضمن عرض خسته نباشید باید بگم که جزوه تا درس ارائه شده فوق العاده است و حداقل من و بسیار مشتاق برای کار کردن با سیمولینک کرد. توضیحاتتون کامل و گویا است. من می خواستم بدانم که اگر درس ها و مثال ها بیشتری دارید چگونه ما می توانیم از آنها استفاده کنیم. در ضمن من سوالات تخصصی در مورد رشته خودم داشتم که ممنون می شوم اگر بتوانید به من کمک کنید.در صورت امکان ایمیل خودتان را بما بدهید تا از طریق ایمیل سوالاتمان را مطرح کنیم
    ممنون از مطالب ارزشمندتان

    قاسم
  • majid  - thnaks dude
    hi dude you are doing nice job i saw your Elearning chapter they are nice to refresh the mind and remember old thing and i is so useful for those that start now and are new user in matlab there are huge references here about Matlab training but I believe your chapters are more practical than normal books or references please continue and manage theme as a PDF for present to all Persian Eng Students , Thanks finally and God bless you dude. I am waiting for your new chapters.
  • moj1001
    مرسي دوست عزيز
    حتما سعي مي‌كنم چند قسمت ديگه آموزش رو ادامه بدم.
  • محمد  - تشکر
    سلام
    خیلی عالیه! ممنون بخاطر زحمتی که میکشی. خدا خیرت بده! :D

    ادانه بده.
  • majid  - recorrect
    block diagram Reciprocal Sqrt dar 2009b vojod nadarad dostan az 1 divider va sqrt baraie sakhtesh mitonan estefade konan

    gain 1/lc baiad be sorat 1/(l*c) neveshte shavad
  • moj1001
    سلام دوست عزيز ممنون كه اشكالات رو گرفتي من با متلب R2010a مدل‌ها رو درست كردم ظاهرا اين بلوك تازه اضافه شده‌است طريقه ساختنش رو هم كه اشاره كردي در مورد بلوك گين هم راستش رو بخاي من هر كاري كردم نتونستم اون رو درست بنويسم البته مي‌دونستم كه دوستان منظورم را متوجه مي‌شن. :!:
  • majid
    merci mojtaba jan. bale aziz to 2010 in ezafe shode. vala inja mese iran nist shoma pol darid 2010 darid ma inja daneshgah be in azemat khodesho koshte ie 2007b kharide be maha dade. dar more gain ham bazi az dostan taze karan va baiad matlab jori bashe ke be moshkel nakhoran .albate ghabol daram ke baiad kami talash kard. amozeshat jalebe doseshon daram va daram peigiri mikonam chon ba zabone khobi dari matrah mikoni edamash bede ke bedarde kheily az dostan mikhore. moteasefane to iran kheily az daneshjohaie ma ba matlab kar nakardan, montazere edame karet hastam.
  • ناشناس  - تبدیل simulink به mfile

    :D
    سلام.لطفاٌٌ در مورد کاربرد simulink در رشته control توضیح بدید.
    آیا می شه simulink را به mfile تبدیل کرد؟
  • moj1001
    سلام دوست عزيز
    حتما سعي مي‌كنم در قسمت‌هاي بعدي آموزش سيمولينك، مطالبي رو در مورد سيستم‌هاي كنترلي بيان كنم.
    اگه منظورتون تبديل يك فايل سيمولينك به يه ام‌فايل هست كه من اطلاع ندارم(شايد بشه!) اما مي‌شه بين اون‌ها انتقال داده انجام داد و همچنين بوسيله‌ي كدنويسي مي‌توان مدل سيمولينكي ايجاد كرد.
  • محسن  - ام فایل
    میشه در مورد این انتقال داده و کد نویسی توضیح بدی و مثال بیاری ؟ متشکرم
  • مصطفی  -  معرفی کلیدهای کیبرد
    با سلام
    از اموزش خوبنو متشکرم. یه سوال هم دارم:
    چطور می توان دکمه های کیبرد رو به مطلب معرفی کرد؟ مثلا چطور میشه به مطلب فهموند که به عنوان ورودی یکی از چهار جهت کیبرد رو دریافت کند.

    با تشکر.
  • reza  - تشکر
    اقا جان سلام عرض می کنم خدمت شما بزرگوار
    من نمی دونم و با چه زبانی از آموزش فوق العاده شما تشکر کنم
    انشاءالله خدا به توفیقاتت بیفزاید
    یاعلی عزیز جان
    فقط بازم مثال داری برامون آموزش بده (مثلا شبیه سازی یک معادله دیفرانسیل)
  • moj1001
    ممنون دوست عزیز
    حتما آموزش رو ادامه می دم.
  • ناشناس
    آقا من از این چهار قسمت آموزشی شما استفاده بسیار خوبی برای پایان نامه ام کردم ، خدا عمرت بده ! ثواب کردید .
    دمتون گرم :P
  • نیما افراز  - scope
    آقا دست شما درد نکنه بخاطر آموزش ها
    واقعا کمکم کرد
    می شه لطف کنید بفرمایید چطور می شه نمودار خروجی اسکوپ رو به فضای متلب منتقل کنیم؟
    چون وقتی می خوای پرینت کنی نمودار اسکوپ رو پس زمینه سفید و خط زرد داره و دیده نمی شه
  • moj1001
    سلام دوست عزیز
    با بلوک To Workspace می تونی داده ها رو انتقال بدی و سپس هر بلایی می تونی رو داده ها بیاری
تنها کاربران عضو شده می توانند نظر ارسال کنند!
آخرین بروز رسانی در پنجشنبه, 24 آذر 1390 ساعت 21:01