آشنایی با محیط سیمولینک متلب ( بخش نهم )دوشنبه 01, ژوئن 2020
آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
سیمولینک در متلب
در این مثال مدار بلوکی بسیار جالبی را برایتان توضیح می دهیم .به وسیله این مدار قادر خواهید بود , میزان تغییرات گام زمانی حل گر سیمولینک را مشاهده کنید. همانطور که احتمالا می دانید , سیمولینک دو نوع حل گر گام ثابت و گام متغیر دارد که پیش فرض آن بر روی گام متغییر قرار داده شده است . هر کدام از ین حل گر ها در جای خودشان کاربرد دارند , اما برای اکثر مدل ها پیشنهاد میشوند که از حل گر گام متغیر استفاده شود . این حل گر بنا به نیاز , میزان گام زمانی را به طور اتوماتیک تغییر می دهد.
اکنون برای پیاده سازی این مدار به صورت زیر عمل کنید:
حال بلوک ها را مانند شکل زیر مرتب نمایید و بعد از اعمال نمودن تنظیمات لازم سپس سیم کشی را انجام دهید.
تنظیمات بلوک ها:
- بر روی بلوک Sum دو مرتبه کلیک نمایید و در قسمت List of signs علامت های |-+ را وارد نمایید . حال مدلتان را Run نمایید
همانطور که مشاهده می شود, حل گر سیمولینک این مدل را با گام زمانی ثابت ۰٫۲ حل کرده است, در حالی که نوع حل گر در حالت گام متغیر قرار دارد. اکنون با فشردن کلید Ctrl+E به صفحه تنظیمات مدل رفته و نوع حل گر را گام ثابت انتخاب نمایید و مقدار Fixed – step size را برابر ۰٫۰۰۵ قرار دهید و سپس OK کنید.
اکنون مجددا مدلتان را Run نمایید.
بله از این حالت از همان ابتدا تا انتها, گام زمانی ثابت و برابر ۰٫۰۰۵ می باشد .
در مثال بعدی مدار یک اسیلاتور موج مربعی را طراحی می نماییم که نام دیگر آن نیز نوسان ساز حلقوی می باشد ring Osillator البته هدف من از معرفی این مدار تولید موج مربعی نیست.چرا که همانطور که می دانید مولد های متنوعی در کتابخانه سورس سیمولینک وجود دارد که در واقع نکته ای که در این مدار هست فهمیدنش خالی از لطف نیست.
بلوک ها :
تنظیمات بلوک ها در سیمولینک متلب:
بر روی بلوک ها Logical operator دو مرتبه کلیک نمایید و نوع عملگر را Not انتخاب نمایید و سپس در قسمت Icon shape نوع نمایش را distinctive انتخاب کنید.
حال بلوک ها را مانند شکل زیر مرتب کرده و سیم کشی کنید.
مدلتان را Run کنید:
توضیح مدل:
اگر تعداد فرد گیت معکوس کننده را پشت سر هم ببندیم و خروجی آخرین گیت را ورودی اولین گیت وصل کنیم, یک تناقض منطقی به وجود می آید . این تناقض منطقی سبب ناپایداری مدار شده و مدار شروع به نوسان می کند. فرکانس نوسانات این مدار بستگی به تاخیر در انتشار گیتها دارد که مسلما هر چه این تاخیر بالاتر باشد , فرکانس پایین تر است . اما گیت های Not موجود در سیمولینک , تاخیر ندارند و باید تاخیر بیرونی به مدار اعمال شود . در غیر این صورت سیمولینک نمی تواند مدل را حل نماید.
در آخرین مثال شما را با بلوکی آشنا می کنیم که به راحتی بتوانید آن را با کد های متلب برنامه ریزی نمایید. این بلوک مانند یک بلوک FPGA است که با یک زبان توصیف سخت افزاری مثل VHDL پیکر بندی می شود. بدین معنی که شما با وجود این بلوک به گسترهی عظیم توابع متلب دسترسی پیدا خواهید کرد. این مثال یک مدولاسیون AM می باشد. می خواهیم با داشتن دو موج پیام و حامل موج مدوله شده AM را به دست آوریم.
بلوک ها:
تنظیمات بلوک ها:
- بر روی بلوک Constant1 دو مرتبه کلیک نمایید و مقدار آن را ۰٫۵ قرار دهید.
- بر روی بلوک signal Generator دو مرتبه کلیک نمایید و مقدار فرکانس آن را ۱۰۰۰ هرتز وارد نمایید.
- بر روی بلوک Signal Generator1 دو مرتبه کلیک نمایید و مقدار فرکانس آن را ۱۰۰۰۰ هرتز وارد نمایید.
- بر روی بلوک Scope دو مرتبه کلیک نمایید و سپس منوی Parameters رفته و تعداد محورها را برابر ۳ قرار دهید.
- بر روی بلوک Embedded Matlab Function دو مرتبه کلیک نمایید و در ویرایشگر باز شده , کد زیر را وارد نمایید.
تنظیمات مدل:
- مقدار Stop time را ۰٫۱ میلی ثانیه قرار دهید.
- مقدار Max step size را ۰٫۱ میکرو ثانیه قرار دهید
حال بلوک ها را مانند شکل زیر مرتب نمایید و سپس سیم کشی کنید:
سپس Run کنید:
در اینجا آشنایی با محیط متلب بخش سی و هشتم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
دیدگاهتان را بنویسید