MATLAB-Data-Analysis-Software-for-Keysight-InfiniiVision-and-Infiniium-Oscilloscopes

آموزش نکات پایه ای و مهم سیمولینک در نرم افزار متلب (تصویری)

همان طور که همه ما می دانیم، سیمولینک یک ابزار شبیه سازی موجود در نرم افزار MATLAB است

همان طور که همه ما می دانیم، سیمولینک یک ابزار شبیه سازی موجود در نرم افزار MATLAB است که کاربردهای عمومی و فراوانی دارد. در این پست تمام نکات پایه ای و کاملا مهم که برای یادگیری سیمیولینک نیاز دارید را بصورت تصویری به شما آموزش می دهیم. این آموزش برگرفته از وب سایت رسمی دانشگاه میشیگان آمریکا می باشد.

پس سیمولینک یک توسعه گرافیکی مطلب است که به مدلسازی و شبیه سازی سیستم ها کمک می کند. یکی از مزایای اصلی سیمولینک توانایی مدلسازی یک سیستم غیر خطی است که تابع انتقال نمی تواند آن را انجام دهد. یکی دیگر از مزیت ها توانایی در نظر گرفتن شرایط اولیه است. وقتی تابع انتقال ساخته شود، شرایط اولیه صفر در نظر گرفته می شود.

لیست مطالب:

  • راه اندازی سیمولینک
  • فایل های مدل
  • عناصر اصلی
  • مثال ساده
  • شبیه سازی های در حال اجرا
  • سیستم های سازنده

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_StartingSimulink_SimulinkLibraryBrowser.png

در سیمولینک سیستم ها به صورت نمودارهای کلی روی صفحه نمایش کشیده می شوند . بسیاری عناصر نمودارهای کلی در دسترس هستند مواردی مثل توابع انتقالی، نقاط جمع بندی، و …. همچنین ابزارهای ورودی و خروجی مجازی مثل ژنراتور ها اسیلوسکپ ها . سیمولینک با MATLAB تلفیق می شود و داده ها می توانند بین برنامه ها به راحتی انتقال پیدا کند در این برنامه های آموزشی ما سیمولینک را برای مثال هایی از برنامه آموزشی MATLAB تا مدلسازی سیستم تلفیق می شود و داده ها می توانند بین برنامه ها به راحتی انتقال پیدا کنند. در این برنامه های آموزشی ما سیمولینک را برای مثال هایی از برنامه آموزشی MATLAB تا مدلسازی سیستم ها ، ساخت کنترل کننده ها به کار می بریم و همچنین شبیه سازی سیستم ها ، سیمولینک روی یونیکس ، مکینتاش و محیط های ویندوز حمایت می شود و در نسخه ی دانش آموزی MATLAB روی کامپیوتر های شخصی گنجانده می شود.

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

همه ی عملکرد های سیمولینک باید در ویندوز های سیمولینک خودتان انجام شوند .

شروع به کار سیمولینک

سیمولینک از دستور MATLAB آغاز می شود یعنی باید دستور زیر را وارد کرد : سیمولینک شما می توانید دکمه ی سیمولینک را در بالای پنجره ی MATLAB فشار دهید همانطور که در اینجا نشان داده شده است.

نکته مهم! آشنایی مقدماتی با نرم افزار متلب برای مهندسین+ دانلود جزوه Loyola

وقتی آغاز می شود سیمولینک یک پنجره ی تکی حاصل می کند که اسم آن صفحه ی شروع سیمولینک است که در اینجا می توانید ببینید.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_StartingSimulink_SimulinkModelWindow.png

وقتی روی مدل Blank کلیک می کنید یک پنجره ی جدید ظاهر خواهد شد که در زیر نشان داده شده است.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_StartingSimulink_SimulinkModelWindow.png

فایل های مدل

در سیمو لینک یک مدل مجموعه ای ازبلوک ها است که به طور کلی یک سیستم را نمایش می دهند . علاوه بر ایجاد یک مدل از ابتدا ، مدل هایی که قبلاً ذخیره شده اند می توانند یا از منو فایل یا از دستور MATLAB بارگذاری شوند. به عنوان مثال  روی این لینک دانلود کنید وفایل را ذخیره کنید . با وارد کردن دستور زیر در پنجره دستوری MATLAB این فایل را در سیمولینک باز کنید.

پنجره ای با مدل زیر باید ظاهر شود.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_ModelFiles_Simple.png

می توان با انتخاب NEW از File یک مدل جدید ایجاد کرد.

عناصر اصلی

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

بلوک ها

چندین گروه کلی از بلوک ها در یک کتابخانه ی سیمولینک وجود دارد .

منابع : برای ایجاد سیگنال های مختلف استفاده می شوند .

سینک ها: برای نمایش یا خروجی سیگنال ها به کار می روند .

مستمر: عناصر سیستم مستمر زمانی (توابع انتقال ، مدل های فضایی ، کنترل کننده ها ی PID )

مجزا: عناصر سیستم مجزای زمانی ، خطی

عملیات ریاضی: شامل بسیاری عناصر معمول ریاضی است

خروجی ها و سیستم های فرعی: شامل بلوک های مفید برای ساخت سیستم است.

بلوک های دارای چندین خروجی صفر تا چند تایی است و همچنین خروجی های چند گانه پایانه های داده های ورودی که استفاده نشده اند توسط مثلث باز کوچک نشان داده می شود. پایانه های استفاده نشده توسط نقاط مثلثی نمایش داده می شوند . بلوک نشان داده شده دارای یک پایانه داده های ورودی سمت چپ و یک پایانه داده های استفاده نشده خروجی در سمت راست است.

خطوط

خطوط سیگنال ها را در جهت نشان داده شده توسط پیکان منتقل می کند. خطوط باید همیشه سیگنال ها را از پایانه خروجی یک بلوک که به پایانه ورودی یک بلوک دیگر منتقل می کند . یک سیگنال تقسیم سیگنال به هر کدام از بلوک های مبدأ است که در زیر نشان داده شده است.

خطوط نمی توانند یک سیگنال به خط دیگر تزریق کند، خطوط باید از طریق استفاده از یک بلوک ترکیب شود

مثل :Summing junction . سیگنال می تواند یک سیگنال مدرج یا سیگنال برداری باشد . برای سیستم های تک ورودی و تک خروجی ، سیگنال های مدرج به طور کلی استفاده می شوند.برای سیستم های چند خروجی و چند ورودی (MIMO) ، سیگنال های برداری اغلب استفاده می شوند و شامل دو یا بیش از دو سیگنال مدرج است. نوع سیگنال حمل شده توسط خط به وسیله بلوک های روی انتهای خط تعیین می شوند.

مثال ساده

مدل ساده شامل سه بلوک است : مرحله تابع انتقال و حوزه ، مرحله یک بلوک منبع است که از یک سیگنال ورودی منشاء می شود. سیگنال از طریق خط در جهت پیکان به بلوک متوالی تابع انتقال منتقل می شود. بلوک تابع انتقال سیگنال ورودی و خروجی را اصلاح می کند و یک سیگنال جدید روی خط حاصل می کند .Scop . Scope یک بلوک Sink است که برای نمایش یک سیگنال استفاده می شود که خیلی شبیه اسیلکوپ است.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_ModelFiles_Simple.png

انواع زیادی بلوک ها در سیمولینک وجود دارد، برخی از آن در بخش بعدی بحث خواهد شد اکنون ما فقط سه نوع را در مدل ساده بررسی خواهیم کرد.

بلوک های اصلاح کننده (ویرایش کننده)

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BasicElements_ModifyingBlocks_TFParameters.png

یک بلوک می تواند توسط یک دابل کلیک اصلاح شود. مثلاً اگر شما روی بلوک تابع انتقالی در مدل ساده دابل کلیک کنید، شما باکس زیر را خواهیددید.

باکس و یا گپ شامل زمینه هایی برای شمارش گروه تقسیم کننده ی تابع انتقال بلوک است . با وارد کردن یک برادر شامل ضرایب شمارش گروه تقسیم کننده ، تابع انتقال مورد نظر را می توان وارد کرد.

برای مثال برای تغییر تقسیم کننده

مورد زیر وارد حوزه ی تقسیم کنید و دکمه ی Close را بزنیدو پنجره به صورت زیر تغییر خواهد کرد که تغییر در تقسیم کننده ی تابع انتقال را منعکس می کند.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BasicElements_ModifyingBlocks_Simple2.png

بلوک Step را می توان دابل کلیک کرد و باکس دیالگ زیر را به دست آورد.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BasicElements_ModifyingBlocks_StepOptions.png

پارامتر های پیش فرض در باکس دیالگ تابعی را ایجاد می کند که در ۱ ثانیه زمان رخ می دهد، از سطح اولیه ی صفر به سطح ۱ هر کدام از این پارامتر ها را می توان تغییر داد. قبل از ادامه دادن این دیالوگ را ببندید. پیچیده ترین این سه بلوکScope است . دابل کلیک کنید و یک صفحه نمایش خالی اسیلسکوب حاصل کنید.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BasicElements_ModifyingBlocks_Scope.png

وقتی شبیه سازی انجام شود، سیگنالی که وارد Scope می شود در این پنجره نمایش داده خواهد شد عملکرد مختصر Scope در این برنامه آموزشی پوشش داده نمی شود.

حتما این پست مهم را بخوانید! آموزش مثالی ساده از برنامه نویسی در متلب (ویدیو)

شبیه سازی های اجرایی

برای اجرای شبیه سازی ما با فایل مدل زیر کار خواهیم کرد :

فایل را در سیمولینک دانلود و باز کنید وهمین دستور العمل را برای فایل دنبال کنید قبل از از شبیه سازی سیستم ، ابتدا پنجره ی Scope را با دابل کلیک روی بلوک Scope باز کنید.سپس برای آغاز شبیه سازی یا Run را از منوی شبیه سازی انتخاب کنید و یا دکمه ی Play را در بالای صفحه نمایش کلیک کنید یا ctrl-T را فشار دهید .

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_RunningSimulations_Simple2.png

شبیه سازی باید خیلی سریع اجرا شود و پنجره ی scope مانند زیر ظاهر خواهد شد.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_RunningSimulations_Start.png

اکنون پاسخ تا t=1 نباشد آغاز نمی شود .این نکته را می توان با دابل کلیک روی بلوک step تغییر داد. اکنون ما می توانیم پارامتر ها ی سیستم را تغییر دهیم . و مجدداً سیستم را شبیه سازی کنیم روی بلوک تابع انتقال دابل کلیک کنید وتقسیم کننده را تغییر دهید.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_RunningSimulations_Scope.png

شبیه سازی را مجدداً اجرا کنید و می توانید مورد زیر را در پنجره Scope ببینید . چون تابع انتقال پاسخ خیلی سریع دارد به بخش بسیار طریف پنجره ی Scope فشرده می شود. این مشکل Scope نیست بلکه مشکل خود شبیه سازی است سیمولینک سیستم را به مدت ۱۰ ثانیه شبیه سازی می کنداگر چه سیستم مدت کوتاهی بعد از یک ثانیه به حالت ثابت می رسد .

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_RunningSimulations_NewTFScope.png

برای اصلاح این امر، شما باید پارامتر های شبیه سازی را تغییر دهید. در پنجره مدل ، پارامتر های پیکربندی را از منو شبیه سازی انتخاب کنید . شما باکس دیالگ را خواهید دید.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_RunningSimulations_ConfigParameters.png

گزینه های پارامتر شبیه سازی زیادی وجود دارد، ما فقط به زمان های شروع و توقف می پردازیم ، که به سیمولینک می گوید در چه دوره ی زمانی شبیه سازی اجرا شود. زمان شروع را از ۰ تا ۸% تغییر دهید . زمان توقف را از ۱۰% تا ۲% تغییر دهید که فقط مدت کوتاهی بعد از سیستم کنترل می شود.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_RunningSimulations_Stop2Scope.png

باکس دیالگ را ببندید و شبیه سازی را مجدداً اجرا کنید. اکنون پنجره Scope باید نمایش بهتری از پاسخ Step فراهم کند که در زیر نشان داده شده است.

سیستم های سازنده

در این بخش، شما متوجه خواهید شد چگونه سیستم را در سیمولینک بسازیم و از بلوک های سازنده در کتابخانه های سیمولینک استفاده کنیم شما سیستم زیر را خواهید ساخت.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_FinalModel.png

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

مراحل زیر را د نبال کنید تا بلوک های ضروری را جمع آوری کنید.

یک مدل جدید ایجاد کنید . شما پنجره ی مدل خالی به دست خواهید آورد . روی Tools Tab کلیک کنید و سپس جستجو گر کتابخانه را انتخاب کنید .

سپس روی منابع لیست شده در کتابخانه ی سیمولینک کلیک کنید .

این امر منابع را حاصل می کند. منابع برای ایجاد سیگنال ها استفاده می شوند.

بلوک Step را از پنجره منبع به سمت چپ پنجره مدل بکشید .

روی عملیات ریاضی کلیک کنید . عملیات لیست شده در پنجره سیمولینک اصلی از این کتابخانه Sum و Gain را دارد پنجره مدل کنید و آن را سمت راست بلوک قرار دهید.

روی لینک مستمر در پنجره ی سیمولینک اصلی کلیک کنید .

ابتدا از این کتابخانه، بلوک کنترل کننده ی PID را وارد پنجره مدل کنید و آن را سمت راست بلوک Gain قرار دهید .

از همین کتابخانه تابع انتقال را به پنجره مدل انتقال دهید و آن را سمت راست بلوک کنترل کننده ی PID قرار دهید .

روی Sink ها در پنجره سیمولینک اصلی کلیک کنید.

بلوک Scop را به سمت راست پنجره مدل بکشید.

بلوک ها را ویرایش و اصلاح کنید.

این مراحل را به صورت صحیح دنبال کنید تابلوک های شما در مدلتان ویرایش شوند.

روی بلوک Sun دابل کلیک کنید چون می خواهید ورودی دوم کم شود، + – را وارد لیست علامت ها کنید باکس دیالگ را ببندید.

روی بلوک Gain دابل کلیک کنید . gain را به ۵/۲ تغییر دهید و باکس دیالوگ را ببندید.

بلوک کنترل کننده PID را دابل کلیک کنید و proportion gain را به یک و integral gain را به ۲ تغییر دهید . باکس دیالوگ را ببندید.

بلوک تابع انتقال را دابل کلیک کنید . شمارشگر را رها کنید اما تقسیم کننده را به { ۴ ۳ ۱ } تغییر دهید مدل مطابق زیر است .

اسم بلوک کنترل کننده ی PID را به کنترل کننده ی PI با دابل کلیک روی کنترل کننده PID تغییر دهید

به طور مشابه اسم بلوک تابع انتقال را به plant تغییر دهید . اکنون همه ی بلوک ها به صورت صحیح وارد می شود. مدل شماه به صورت زیر ظاهر می شود .

اتصال بلوک ها با خطوط

اکنون که بلوک ها به صورت صحیح قرار گرفته اند، اکنون آنها را به همدیگر متصل می کنید .این مراحل را دنبال کنید . موس را از پایانه خروجی بلوک Step به ورودی مثبت ورودی Sun بکشید . یک انتخاب دیگر کلیک روی Step است و سپس کنترل کلیک روی بلوک Sun جهت اتصال به همدیگر شما راید مورد زیر را مشاهده کنید .

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Phase7.png

خط حاصل باید یک سر پیکانی داشته باشد . اگر سر پیکانی باز و قرمز باشد به این معنی است که به هیچ شیء دیگری متصل نیست.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Phase8.png

شما می توانید خط سنی را ادامه دهد به عنوان پایانه خروجی . اگر می خواهید خط را مجدداً بکشید یا اگر خط به پایانه اشتباه متصل است شما باید خط را حذف کنید و آن را مجدداً بکشید . برای حذف یک خط روی آن کلیک کنید آن را انتخاب کنید و روی کلید حذف فشار دهید.

خطی را بکشید بلوک sun را به ورودی Gain متصل کنید . همچنین خطی از Gain به کنترل کننده PI بکشید . یک خط از کنترل کننده PI به Plant بکشید و خطی از Plant به Scope اکنون مورد زیر را می بینید .

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Phase9.png

خطی باقی مانده سیگنال باز خوردی است که به خروجی Plant متصل می شود و ورودی منفی بلوک Sun را دارد . این خط به دو طریق تفاوت دارد . چون این خط کوتاهترین مسیر را دنبال نمی کند پس باید در چند مرحله کشیده شود.

خطی را از بخش منفی بلوک Sun به صورت مستقیم بکشید و موس را رها کنید پس خط ناقص است .

از نقطه پایانی این خط کلیک کنید و به خط بین Plant و Scope بکشید .

در نهایت برچسب ها در مدل جای می گیرند تا سیگنال ها شناسایی می شوند. بر ای قرار دادن برچسب در هر جایی از مدل در نقطه پایانی که می خواهید برچسب بزنید دابل کلیک کنید.در بالای خط بلوک Step دابل کلیک کنید.چون یک متن خالی می گیرید با یک پیکان ویرایشگر که در زیر نشان داده شده است.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Phase10.png

لا را در این باکس تایپ کنید ، سیگنال مرجع را نامگذاری کنید و در خارج از آن کلیک کنید.

سیگنال e را نامگذاری کنید، سیگنال کنترل (u) و سیگنال خروجی (y) به همین طریق مدل نهایی به شکل زیر حاصل می شود.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Phase11.png

برای ذخیره مدلتان Save as را از منو فایل انتخاب کنید. مدل کامل شده می تواند با کلیک راست دانلود شود و سپس انتخاب Sare link .

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_FinalModel.png

شبیه سازی

اکنون مدل کامل است شما می توانید مدل را شبیه سازی کنید.Run را از منو شبیه سازی انتخاب کنید تا شبیه سازی اجرا شود . روی بلوک Scope دابل کلیک کنید تا خروجی را ببینید و شما باید مورد زیر را مشاهده کنید :

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Simulation_Scope1.png

گرفتن متغیر ها از MATLAB

در برخی موارد، پارامتر هایی مثل gain ممکن است در MATLAB محاسبه شود تا در مدل سیمولینک استفاده شود . اگر به این صورت باشد، ضروری نیست که نتیجه ی محاسبه ی MATLAB را مستقیماً وارد سیمولینک کرد. مثلا ً فرض کنید gain را در MATLAB در متغییر K محاسبه کردیم . دستور زیر را وارد کنید و به این صورت حاصل می شود. K=2.5

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Variables_GainBlock.png

این متغیر را می توان در بلوک Gain سیمولینک استفاده کرد. در مدل سیمولینک شما روی بلوک Gain دابل کلیک کنید.

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Variables_Model.png

این باکس دیالگ را ببندید . توجه کنید که بلوک Gain در مدل سیمولینک متغییر K را نشان می دهد .

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Variables_Scope1.png

اکنون می توانید شبیه سازی را اجرا کنید و خروجی را روی scope ببینید . نتیجه مطابق زیر است .

http://ctms.engin.umich.edu/CTMS/Content/Basics/figures/SimulinkBasicsTutorial_BuildingSystems_Variables_Scope2.png

اکنون اگر هر محاسبه ای در MATLAB انجام شود تا هر کدام از متغیر های استفاده شده در مدل سیمولینک تغییر پیدا کند، شبیه سازی از مقادیر جدید در دفعه ی بعدی اجرا استفاده می کند .

برای اجرای این مورد در MATLAB ، K را تغییر دهید و K=5 را وارد کنید مجدداً سیمولینک را آغاز کنید و پنجره ی Scope را باز کنید . شما خروجی زیر را خواهید دید که gain جدید و بالاتری منعکس می کند.

نکته مهم! جدیدترین نسخه نرم افزار متلب را با این پکیج فوق العاده آموشی، بصورت اصولی و حرفه ای و در مدت زمان کم بدون نیاز به کلاس یاد خواهید گرفت!!

اگر سوالی در این زمینه دارید با سریع آسان در بخش نظرات مطرح کنید تا حد امکان به آن پاسخ می دهیم.

ثبت دیدگاه