آموزش جامع شبیه سازی با نرم افزار سیمیولینک Simulink
نرم افزار سیمیولینک (Simulink) یکی از بخش های مهم و کاربردی بسته نرم افزاری متلب (MATLAB) است که امکان شبیه سازی انواع سیستم ها از طریق طراحی گرافیکی مدل ها فراهم می کند. در واقع، سیمیولینک یک محیط برنامه نویسی بصری است که با استفاده از موتور محاسباتی متلب، امکان شبیه سازی آسان انواع مختلف سیستم ها در آن ایجاد شده است.
سیمیولینک کاربردهای متنوعی در رشته های مختلف مهندسی و علوم دارد و یکی از کارآمدترین نرم افزارها در زمینه شبیه سازی و مدل سازی سیستم ها محسوب می شود. بخش مهمی از امکانات این نرم افزار، در قالب بلاکست های پایه (مجموعه عناصر پایه) پیاده سازی شده اند. اما زمینه های کاربردی و تخصصی تر، در قالب بلاک ست های جنبی ارائه شده اند، که حیطه وسیعی از کاربردها را، پوشش می دهد.
سیمیولینک – یک ابزار شبیه سازی همه منظوره
نرم افزار سیمیولینک (Simulink) یکی از بخش های مهم و کاربردی بسته نرم افزاری متلب (MATLAB) است که امکان شبیه سازی انواع سیستم ها از طریق طراحی گرافیکی مدل ها فراهم می کند. در واقع، سیمیولینک یک محیط برنامه نویسی بصری است که با استفاده از موتور محاسباتی متلب، امکان شبیه سازی آسان انواع مختلف سیستم ها در آن ایجاد شده است.
سیمیولینک کاربردهای متنوعی در رشته های مختلف مهندسی و علوم دارد و یکی از کارآمدترین نرم افزارها در زمینه شبیه سازی و مدل سازی سیستم ها محسوب می شود. بخش مهمی از امکانات این نرم افزار، در قالب بلاکست های پایه (مجموعه عناصر پایه) پیاده سازی شده اند. اما زمینه های کاربردی و تخصصی تر، در قالب بلاک ست های جنبی ارائه شده اند، که حیطه وسیعی از کاربردها را، پوشش می دهد.
کاربردهای سیمیولینک
از جمله زمینه های کاربردی نرم افزار سیمیولینک، می توان به این موارد اشاره نمود:
- پیاده سازی و شبیه سازی سیستم های استاتیک
- پیاده سازی مدل های دینامیکی با استفاده از بلاک ست های مشترک و پایه
- شبیه سازی، تحلیل و پیاده سازی سیستم های کنترل
- شبیه سازی سیستم های الکتریکی در قالب مدل های فیزیکی
- شبیه سازی مدارهای الکترونیکی و مدارهای فرکانس بالا
- شبیه سازی سیستم های قدرت و ماشین های الکتریکی
- شبیه سازی انواع سیستم های مکانیکی در قالب مدل های فیزیکی
- شبیه سازی سیستم های الکترومکانیکی در قالب مدل های فیزیکی
- شبیه سازی سیستم های هیدرولیکی و پنوماتیکی در قالب سیستم های فیزیکی
- شبیه سازی مدل های گسسته پیشاد یا DES
- شبیه سازی سیستم های با حالات محدود
- شبیه سازی و تحلیل شبکه های کامپیوتری
- شبیه سازی سیستم های مبتنی بر نظریه صف
- طراحی و تحلیل سیستم های دیجیتال با استفاده از VHDL
- شبیه سازی سیستم ها در حالت بلادرنگ و آنی (Real-Time)
- شبیه سازی و تحلیل سیستم های زیستی
یکی از مهم ترین ویژگی های سیمیولینک، سازگاری کامل و امکان اتصال به زبان برنامه نویسی متلب و سایر بسته های نرم افزاری و تولباکس های مبتنی بر متلب است. از این رو، حتی اگر امکان به خصوصی در نرم افزار سیمیولینک وجود نداشته باشد، به واسط قدرت برنامه نویسی متلب، امکان ایجاد و شبیه سازی آن، وجود خواهد داشت.
آنچه در این فرادرس خواهید دید
با توجه به اهمیت فراوان و کاربردهای وسیع نرم افزار سیمیولینک در رشته های مختلف فنی و علوم پایه، مجموعه فرادرس های «آموزش جامع شبیه سازی با نرم افزار سیمیولینک» با رویکردی کاملا عملی و با اتکا به مبانی تئوری شبیه سازی کامپیوتری، ارائه شده است و سعی بر این بوده است که نیاز روزافزون قشر وسیعی از دانشجویان و پژوهشگران، برآورده شود. مطالب این دوره آموزشی، توسط دکتر سیدمصطفی کلامی هریس (دکترای تخصصی مهندسی کنترل، دانشگاه صنعتی خواجه نصیرالدین طوسی) ارائه شده اند.
یکی از مهم ترین ویژگی های این دوره آموزشی، مرور کامل مبانی سیستم های دینامیکی به صورت ضمنی همراه با آموزش است و سعی شده است مخاطبان این آموزش، علاوه بر یادگیری توانایی استفاده از نرم افزار سیمیولینک، به درک صحیح و کاملی از سیستم های دینامیکی و شبیه سازی آن ها، دست پیدا کنند.
علاوه بر کاربردهای عمومی و مشترک نرم افزار سیمیولنیک، در این مجموعه آموزشی، مثال های متنوعی از طراحی، تحلیل و شبیه سازی سیستم های الکتریکی، مکانیکی، الکترومکانیکی، کنترل کننده ها و سیستم های کاربردی دیگر، در دستور کار قرار گرفته اند و از این طریق، توانایی های مورد نیاز در رشته های مختلف نیز، مورد بحث واقع شده اند.
به عنوان یک مبحث بسیار مهم در کار با نرم افزار سیمیولینک، در خصوص برقرار ارتباط میان متلب و نرم افزار سیمیولینک، و اجرای برنامه های متلب در محیط سیمیولینک و فراخوانی مدل های سیمیولینک در متلب، مطالب جامعی ارائه شده اند که در پیاده سازی پروژه های پژوهشی و صنعتی، یکی از نیازهای حیاتی دانشجویان و پژوهشگران است.
آموزش جامع شبیه سازی با نرم افزار سیمیولینک Simulink — کلیک کنید (+)
فهرست سرفصل ها و مهم ترین مطالب مطرح شده در این مجموعه آموزش، در ادامه آمده است:
- درس یکم: مقدمه ای بر شبیه سازی کامپیوتری
- مبانی شبیه سازی کامپیوتری
- ضرورت ها و اهمیت انجام شبیه سازی کامپیوتری
- انواع شبیه سازی کامپیوتری
- ابزارهای شبیه سازی کامپیوتری
- آشنایی با سیمیولینک
- پیاده سازی نخستین پروژه با سیمیولینک
- درس دوم: آشنایی با محیط سیمیولینک
- نحوه فراخوانی سیمیولینک
- کتابخانه عناصر و المان های سیمیولینک
- محیط طراحی سیمیولینک
- مجموعه بلوک های استاندارد (بلاکست های استاندارد)
- پیاده سازی چند مثال پایه ای برای آشنایی با المان های استاندارد
- نحوه اتصال سریع بلوک ها
- تنظیم نمایش مناسب مدل ها و طرح ها
- تنظیم مدت زمان اجرای شبیه سازی
- تنظیمات شبیه سازی
- زمان آغاز و پایان شبیه سازی
- گام زمانی شبیه سازی و اهمیت آن
- درس سوم: مجموعه بلوک های استاندارد (الف)
- نام گذاری سیگنال ها
- منابع و ورودی های
- ورودی های معروف و شناخته شده (ثابت، پله و شیب)
- ورودی زمانی
- تولید کننده های سیگنال های ورودی خاص
- سیگنال های تصادفی
- سازنده سیگنال یا Signal Builder
- مصرف کننده های سیگنال
- اسکوپ یا نمایش دهنده
- نمایشگر عددی
- گراف دو بعدی یا XY Graph
- بهره یا Gain
- انتگرال گیر یا Integrator
- مشتق گیر یا Derivative
- بلوک جمع کننده و تنظیمات آن
- پیاده سازی سیستم های خطی با استفاده از بلوک های استاندارد
- شبیه سازی چند مثال از کاربرد عناصر پایه
- تبادل داده با متلب و فایل ها
- ذخیره سازی اطلاعات خروجی در فضای کاری متلب
- ذخیره سازی اطلاعات خروجی در فایل ها
- فراخوانی اطلاعات از فضای کاری متلب
- فراخوانی اطلاعات از فایل ها
- درس چهارم: مجموعه بلوک های استاندارد (ب)
- بلوک ضرب کننده و تنظیمات آن
- پیاده سازی نمونه ای از سیستم های غیر خطی
- سیستم های پیوسته زمان
- بلوک تابع تبدیل یا Transfer Function
- بلوک صفر-قطب یا Zero-Pole
- مدل های فضای حالت یا State Space
- کنترل کننده PID
- سیستم های گسسته زمان
- تاخیر زمانی
- بلوک حافظه
- انتگرال گیر و مشتق گیر گسسته زمان
- مدل های خطی گسسته زمان
- بلوک تابع تبدیل یا Transfer Function
- بلوک صفر-قطب یا Zero-Pole
- مدل های فضای حالت یا State Space
- کنترل کننده PID
- بلوک های انتقال سیگنال
- سازنده باس یا Bus Creator
- انتخاب کننده باس یا Bus Selector
- بلوک مالتی پلکسر یا Mux
- بلوک دی مالتی پلکسر یا Demux
- درس پنجم: کارگاه پیاده سازی مثال های کاربردی و عملی
- حل عددی معادلات دیفرانسیل خطی با سیمیولنیک
- حل عددی معادلات دیفرانسیل غیر خطی با سیمیولنیک
- شبیه سازی سیستم های الکتریکی و بررسی نتایج به دست آمده
- شبیه سازی سیستم های مکانیکی و بررسی نتایج به دست آمده
- درس ششم: نگاهی عمیق تر به انتگرال گیرها
- سیستم های هایبرید یا هیبرید (Hybrid)
- شبیه سازی سیستم های هایبرید یا تلفیقی
- شرایط اول انتگرال گیر
- شرایط اشباع انتگرال گیر
- شبیه سازی توپ برخورد کننده با زمین، به عنوان یک سیستم هایبرید
- شبیه سازی با انتگرال یگانه (دو بلوک انتگرال گیر)
- شبیه سازی با انتگرال گیر دوگانه (یک بلوک انتگرال گیر)
- درس هفتم: زیر سیستم ها و سوئیچ ها
- لزوم استفاده از زیر سیستم یا Subsystem
- پورت ها و زیر سیستم ها
- نحوه ساخت زیر سیستم ها
- روش مستقیم
- روش انتخاب و تبدیل
- فرمت بندی و سفارشی سازی زیر سیستم ها
- شبیه سازی چند مثال با استفاده از زیر سیستم
- بلوک سوئیچ یا Switch و کاربردهای آن
- درس هشتم: بازگشت به سیستم های کنترل خطی
- مدل های مبتنی بر تابع تبدیل
- مدل های مبتنی بر قطب و صفر
- مدل های فضای حالت
- کنترل کننده PID و کنترل کننده های مرتبط با آن
- کنترل کننده تناسبی یا P
- کنترل کننده تناسبی-انتگرالی یا PI
- کنترل کننده تناسبی-مشتقی یا PD
- طراحی و تنظیم ضرایب کنترل کننده PID و موارد مرتبط
- پیاده سازی چند مثال از سیستم های کنترل خطی
- درس نهم: المان های غیر خطی و جداول ارجاع
- عناصر غیر خطی معمول و کاربردهای آن ها
- عنصر اشباع یا Saturation
- عنصر ناحیه مرده یا Dead Zone
- عنصر لقی یا Backlash
- عنصر کوانتایزر یا Quantizer
- عنصر رله یا Relay
- عنصر هیسترزیس یا Hysteresis
- جدول ارجاع یا Lookup Table
- کاربرد جدول ارجاع در مدل سازی غیر خطی
- انواع جدول ارجاع
- جدول ارجاع یک بعدی
- جدول ارجاع دو بعدی
- جدول ارجاع با ابعاد بالاتر
- جدول ارجاع مستقیم
- -استفاده از توابع متلب برای پیاده سازی عناصر سفارشی
- عناصر غیر خطی معمول و کاربردهای آن ها
- درس دهم: پوشش، ماسک یا Mask
- مشکلات و محدودیت های زیر سیستم
- آشنایی با پوشش یا Mask
- نحوه ایجاد Mask
- تبدیل زیر سیستم به Mask
- معرفی پارامترها و ویژگی های ماسک (پوشش)
- کاربرد محیط طراحی ماسک ها و ویژگی های آن ها
- سفارشی سازی ماسک ها
- استفاده از ماسک برای ایجاد بلوک های کاربردی
- درس یازدهم: فراخوانی سیمیولنیک از درون متلب (الف)
- آشنایی با تابع sim برای فراخوانی و شبیه سازی مدل های سیمیولینک از متلب
- فراخوانی سیستم با استفاده از تابع load_system
- بازکردن سیستم با استفاده از تابع open_system
- بستن سیستم با استفاده از تابع close_system
- بررسی پارامترها و تنظیمات تابع sim برای شبیه سازی مدل ها
- تنظیمات نوع و نحوه خروجی مدل سیمیولینک
- اجرای شبیه سازی سیمیولینک از محیط متلب
- درس دوازدهم: فراخوانی سیمیولنیک از درون متلب (ب)
- آشنایی با تابع simset برای تنظیم نحوه شبیه سازی از متلب
- فضای کاری مدل های سیمیولینک
- دریافت فضای کاری مدل سیمیولینک با تابع get_param
- آشنایی با کلاس Simulink.ModelWorkspace
- کار با فضای کاری مدل
- خواندن متغیرها
- نوشتن متغیرها
- ارزیابی دستورها
- قرار دادن شبیه سازی در حلقه
- درس سیزدهم: شبیه سازی در حلقه
- شبیه سازی یک سیستم پارامتریک و مقایسه نتایج
- بهینه سازی و طراحی با استفاده از شبیه سازی در حلقه
- کاربرد شبیه سازی در حلقه برای مدل سازی و شناسایی سیستم
- طراحی کنترل کننده با استفاده از رویکرد شبیه سازی در حلقه
- محاسبه پاسخ فرکانسی سیستم دینامیکی با شبیه سازی در حلقه
- درس چهاردهم: کارگاه طراحی کنترل کننده های خطی
- مدل سازی سیستم
- پیاده سازی مدل با استفاده از سیمیولینک
- شبیه سازی سیستم حلقه باز
- شبیه سازی سیستم حلقه بسته
- با فرض فیدبک واحد و کنترل کننده تناسبی
- با فرض فیدبک واحد و کنترل کننده PID
- با فرض فیدبک حالت کامل
- درس پانزدهم: مدل سازی فیزیکی و SimScape
- آشنایی با سیم اسکیپ (SimScape) و مدل سازی فیزیکی (Physical Modeling)
- مرور بخش های مختلف SimScape
- کتابخانه بلوک های پایه یا Foundation Library
- سیگنال فیزیکی و تفاوت آن با سیگنال سیمیولینک
- سیستم های الکتریکی یا Electrical
- سیستم های مغناطیسی یا Magnetic
- سیستم های مکانیکی یا Mechanical
- سیستم های هیدرولیکی یا Hydraulic
- سیستم های پنوماتیکی یا Pneumatic
- سیستم های حرارتی (ترمال) یا Thermal
- سیستم های حرارتی سیال یا Thermal Liquid
- بلاکست های تخصصی تر
- مجموعه بلوک های SimElectronics
- مجموعه بلوک های SimPowerSystems
- مجموعه بلوک های SimDriveline
- مجموعه بلوک های SimMechanics
- مجموعه بلوک های SimHydraulics
- آشنایی با ابزارهای مشترک یا Utilities
- بلوک حل کننده یا Solver
- مبدل های سیگنال فیزیکی به سیگنال سیمیولینک و بر عکس
- درس شانزدهم: شبیه سازی سیستم های الکتریکی با استفاده از SimScape
- آشنایی با عناصر الکتریکی
- آشنایی با منابع الکتریکی (منابع ولتاژ و جریان)
- آشنایی با سنسورها و ابزارهای سنجش الکتریکی (ولت متر و آمپرمتر)
- پیاده سازی مدارهای الکتریکی با استفاده از SimScape در سیمیولینک
- ایجاد ولت متر و آمپر متر و اتصال آن ها به اسکوپ
- ایجاد ورودی از سیگنال های سیمیولینک
- ترکیب مدل سیمیولینک با مدل های فیزیکی
- شبیه سازی چند مدار الکتریکی کاربردی
- درس هفدهم: شبیه سازی سیستم های مکانیکی با استفاده از SimScape
- آشنایی با عناصر مکانیکی انتقالی و دورانی
- آشنایی با منابع مکانیکی (منابع سرعت و نیرو)
- آشنایی با مکانیزم های مکانیکی
- جعبه دنده یا Gear Box
- اهرم یا Lever
- چرخ و محور یا Wheel and Axle
- آشنایی با سنسورها و ابزارهای سنجش مکانیکی (حسگر نیر، گشتاور و حرکت دورانی و انتقالی)
- پیاده سازی سیستم های مکانیکی با استفاده از SimScape در سیمیولینک
- تبدیل میان سیگنال های سیمیولینک و سیگنال فیزیکی مکانیکی
- ترکیب مدل های فیزیکی مکانیکی و مدل های سیمیولینک
- شبیه سازی چند سیستم مکانیکی کاربردی
مجموعه: سته بندی مستقل, سیمیولینک, مهندسی برق, مهندسی قدرت, مهندسی کنترل, مهندسی مکانیک برچسب ها: Backlash, Blockset, Calling Simulink from MATLAB, Capacitor, Computer Modeling, Computer Simulation, Current Source, Damper, Dead Zone, Derivative Block, Dynamic System Simulation, Electrical System, Electrical System Simulation, Electromechanical System, Feedback Controller Design, Force Source, Gear Box, Hybrid Systems, Hysteresis, Inductor, Initial Condition, Integrator Block, Lever, Linear Systems in Simulink, Lookup Table, Mask, Mask Model, Mass, Matlab, Mechanical System, Mechanical System Simulation, Nonlinear Elements, Nonlinear System in Simulink, Nonlinearity, Physical Modeling, Physical Signal, PID Controller, Product Block, Quantizer, Relay, Resistor, Rotational Element, Saturation, Scope, Signal, SimScape, Simulation in MATLAB, Simulation in the Loop, Simulink, Spring, Static System Simulation, Subsystem, Sum Block, System, Torque, Translational Element, Velocity Source, Visual Programming, Voltage Source, Wheel and Axle, آمپر متر, آمپرمتر, اسکوپ, اشباع, اشباع خروجی انتگرال گیر, المان های غیر خطی, اهرم, برنامه نویسی بصری, برنامه نویسی دیداری, بلاک ست, بلاکست, بلوک انتگرال گیر, بلوک جمع کننده, بلوک ضرب کننده, بلوک مشتق گیر, پوشش, جدول ارجاع, جرم, جعبه دنده, چرخ دنده, چرخ و محور, حل عددی معادلات دیفرانسیل خطی با سیمیولنیک, حل عددی معادلات دیفرانسیل غیر خطی با سیمیولنیک, خازن, دمپر, رله, زیر سیستم, سلف, سنجش جابجایی, سنجش گشتاور, سنجش نیرو, سیستم, سیستم الکترومکانیکی, سیستم الکتریکی, سیستم مکانیکی, سیستم های ترکیبی, سیستم های تلفیقی, سیستم های خطی در سیمیولینک, سیستم های غیر خطی در سیمیولینک, سیستم های هایبرید, سیستم های هیبرید, سیستم های هیبریدی, سیگنال, سیگنال فیزیکی, سیم اسکیپ, سیمولینک, سیمیولینک, شبیه سازی در حلقه, شبیه سازی در سیمیولینک, شبیه سازی در متلب, شبیه سازی سیستم های استاتیک در سیمیولینک, شبیه سازی سیستم های الکتریکی, شبیه سازی سیستم های دینامیکی در سیمیولینک, شبیه سازی سیستم های مکانیکی, شبیه سازی کامپیوتری, شرایط اولیه انتگرال گیر, طراحی سیستم های کنترل, طراحی کنترل کننده, عناصر غیر خطی, فراخوانی سیمیولنیک از درون متلب, فنر, کنترل کننده PID, کوانتایزر, لقی, ماسک, متلب, مجموعه بلوک, مدل پوششی, مدل سازی فیزیکی, مدل سازی کامپیوتری, مقاومت, منبع جریان, منبع سرعت, منبع نیرو, منبع ولتاژ, میراگر, ناحیه مرده, نرم افزار سیمیولینک, نمایش دهنده سیگنال, هیسترزیس, ولت متر