کنترل موتور dc با کمک الگوریتم aco در سیمولینک متلب
کنترل موتور dc با کمک الگوریتم aco در سیمولینک متلب : پروژه متلب
پروژه متلب :
کنترل سرعت موتور DC
عمل کنترل سرعت موتور DC از طریق درایور موتور DC انجام میگیرد. در حدود ۹۰ درصد موتورهای دیسی موجود در بازار از نوع براش هستند که از این نظر میتوانند با درایورهای دیسی براش تغییر سرعت دهند.
درایور DC چیست و چگونه کار میکند
پروژه متلب :درایور موتور دیسی که انواع مختلفی هم دارد با روشن و خاموش کردن های متعدد موتور با فرکانس بالا (که این فرکانس برای انسان قابل حس نیست) موتور را کترل دور میکند.
انتخاب درایور مناسب برای موتور دیسی
برای اینکه بتوانیم به درستی انتخاب کنیم که کدام درایور برای کنترل دور موتور مناسب است باید چند فاکتور را در هنگام خرید درایور موتور DC در نظر بگیریم، این فاکتورها در ادامه تشریح شده اند که به بررسی هر یک میپردازیم.
رنج ولتاژ درایور DC
اولین فاکتوری که باید به آن دقت شود این است که رنج ولتاژی که درایور دیسی میتواند در آن کار میکند چه بازه ای است، مثلا ممکن است یک درایور محدوده ولتاژ ۱۲ تا ۳۶ ولت را ساپورت بکند، در دیتاشیت و کتابچه راهنمای موتور دیسی این اعداد ذکر شده. البته هر درایور یک ولتاژ مناسب برای کار کردن دارد که خیلی از مواقع آن عدد روی درایور نوشته میشود.
جریان نامی و لحظه ای
پروژه متلب : علاوه بر رنج ولتاژ ، باید به حداکثر جریان نامی و لحظه ای هم توجه شود، مثلا ممکن است یک درایور دارای حداکثر جریان دائم کار (نامی) ۳۰ آمپر باشد اما همان درایور میتواند تا ۵۰ آمپر را نیز تحمل کند یعنی اگر موتور تا ۵۰ آمپر هم به صورت لحظه ای (منظور از لحظه ای تا حدود ۱ دقیقه است) داشته باشد، درایور میتواند این جریان را تحمل کرده و کنترل دور را انجام دهد.
نحوه کنترل دور موتور DC
فاکتور بعدی که باید مورد توجه قرار گیرد این است که نحوه کنترل دور موتور دیسی به چه صورت است. نحوه کنترل به ۳ صورت امکان پذیر است:
- به صورت کاملا دستی، مثلا کم و زیاد کردن سرعت از طریق یک دکمه ولوم از مینیمم تا ماکزیمم
- توسط ولتاژ آنالوگ که به درایور می آید
- از طریق پالس که یک plc یا میکروکنترلر میتواند منبع آن باشد
میتوان فرمان کنترل سرعت را به درایور منتقل کرد.
قابلیت soft starter
فاکتور بعدی این است که ممکن است بخواهیم از درایورهای دیسی به روش soft starter استفاده کنیم. در این روش وقتی درایور در جریان ماکزیمم قرار میگیرد، سرعت موتور را به صورت یک شیب یکنواخت افزایش میدهد و سرعت به صورت آنی بالا نمیرود. این کار باعث میشود که هم تجهیزات الکتریکال و هم تجهیزات مکانیکال عمر و دوام بیشتری داشته باشند.
معمولا روی درایورهای دیسی دیپ سوئیچ هایی وجود دارد و معمولا برای تنظیمات داخل درایور مورد استفاده قرار میگیرند. برای اطلاع از نحوه تنظیم روی این درایورها به چه صورت است باید حتما به دیتا شیت و کاتالوگ درایور مراجعه شود.
لینک اکسترنال
پروژه متلب : ممکن است درایوری در بازار دیده شود که علاوه بر کلیدهای دستی برای اعمال تغییرات، لینک های خارجی هم داشته باشد. کاربرد این لینک های خارجی به این صورت است که اگر شما یک پتانسیومتر خارجی داشته باشید و بخواهید درایور را داخل تابلو نصب بکنید و پتانسیومتر خارجی را بر روی در تابلو نصب کنید.
بهینهسازی گروه مورچهها یا ACO همانطور که میدانیم مسئله یافتن کوتاهترین مسیر، یک مسئله بهینه سازیست که گاه حل آن بسیار دشوار است و گاه نیز بسیار زمانبر. برای مثال مسئله فروشنده دوره گرد را نیز میتوان مطرح کرد. در این روش(ACo)، مورچههای مصنوعی بهوسیلهٔ حرکت بر روی نمودار مسئله و با باقی گذاشتن نشانههایی بر روی نمودار، همچون مورچههای واقعی که در مسیر حرکت خود نشانههای باقی میگذارند، باعث میشوند که مورچههای مصنوعی بعدی بتوانند راهحلهای بهتری را برای مسئله فراهم نمایند. همچنین در این روش میتوان توسط مسائل محاسباتی-عددی بر مبنای علم احتمالات بهترین مسیر را در یک نمودار یافت.
روش که از رفتار مورچهها در یافتن مسیر بین محل لانه و غذا الهام گرفته شده؛ اولین بار در ۱۹۹۲ توسط مارکو دوریگو (Marco Dorigo) در پایان نامهٔ دکترایش مطرح شد…
پروژه متلب : الگوریتم کلونی مورچه الهام گرفته شده از مطالعات و مشاهدات روی کلونی مورچه هاست. این مطالعات نشان داده که مورچهها حشراتی اجتماعی هستند که در کلونیها زندگی میکنند و رفتار آنها بیشتر در جهت بقاء کلونی است تا در جهت بقاء یک جزء از آن. یکی از مهمترین و جالبترین رفتار مورچهها، رفتار آنها برای یافتن غذا است و به ویژه چگونگی پیدا کردن کوتاهترین مسیر میان منابع غذایی و آشیانه. این نوع رفتار مورچهها دارای نوعی هوشمندی تودهای است که اخیراً مورد توجه دانشمندان قرار گرفتهاست در دنیای واقعی مورچهها ابتدا بهطور تصادفی به این سو و آن سو میروند تا غذا بیابند. سپس به لانه بر میگردند و ردّی از فرومون (Pheromone) به جا میگذارند. چنین ردهایی پس از باران به رنگ سفید در میآیند و قابل رویت اند. مورچههای دیگر وقتی این مسیر را مییابند، گاه پرسه زدن را رها کرده و آن را دنبال میکنند. سپس اگر به غذا برسند به خانه بر میگردند و رد دیگری از خود در کنار رد قبل میگذارند؛ و به عبارتی مسیر قبل را تقویت میکنند. فرومون به مرور تبخیر میشود که از سه جهت مفید است:
- باعث میشود مسیر جذابیت کمتری برای مورچههای بعدی داشته باشد. از آنجا که یک مورچه در زمان دراز راههای کوتاهتر را بیش تر میپیماید و تقویت میکند هر راهی بین خانه و غذا که کوتاهتر (بهتر) باشد بیشتر تقویت میشود و آنکه دورتر است کمتر.
- اگر فرومون اصلاً تبخیر نمیشد، مسیرهایی که چند بار طی میشدند، چنان بیش از حد جذّاب میشدند که جستجوی تصادفی برای غذا را بسیار محدود میکردند.
- وقتی غذای انتهای یک مسیر جذاب تمام میشد رد باقی میماند.
پروژه متلب : لذا وقتی یک مورچه مسیر کوتاهی (خوبی) را از خانه تا غذا بیابد بقیهٔ مورچهها به احتمال زیادی همان مسیر را دنبال میکنند و با تقویت مداوم آن مسیر و تبخیر ردهای دیگر، به مرور همهٔ مورچهها هم مسیر میشوند. هدف الگوریتم مورچهها تقلید این رفتار توسط مورچههایی مصنوعی ست که روی نمودار در حال حرکت اند. مسئله یافتن کوتاهترین مسیر است و حلالش این مورچههای مصنوعی اند.
از کابردهای این الگوریتم، رسیدن به راه حل تقریباً بهینه در مسئله فروشنده دورهگرد است. به طوری که انواع الگوریتم مورچهها برای حل این مسئله تهیه شده. زیرا این روش عددی نسبت به روشهای تحلیلی و genetic در مواردی که نمودار مدام با زمان تغییر کند یک مزیت دارد؛ و آن این که الگوریتمی ست با قابلیت تکرار؛ و لذا با گذر زمان میتواند جواب را بهطور زنده تغییر دهد؛ که این خاصیت در روتینگ شبکههای کامپیوتری و سامانه حمل و نقل شهری مهم است.
در مسئله فروشنده دوره گرد باید از یک شهر شروع کرده، به شهرهای دیگر برود و سپس به شهر مبدأ بازگردد بطوریکه از هر شهر فقط یکبار عبور کند و کوتاهترین مسیر را نیز طی کرده باشد. اگر تعداد این شهرها n باشد در حالت کلی این مسئله از مرتبه (n-1)! است که برای فقط ۲۱ شهر زمان واقعاً زیادی میبرد:
روز۱۰۱۳*۷/۱ = S۱۰۱۶*۴۳۳/۲ = ms۱۰*۱۰۱۸*۴۳۳/۲ =!۲۰
با انجام یک الگوریتم برنامه سازی پویا برای این مسئله، زمان از مرتبه نمایی بدست میآید که آن هم مناسب نیست. البته الگوریتمهای دیگری نیز ارائه شده ولی هیچکدام کارایی مناسبی ندارند. ACO الگوریتم کامل و مناسبی برای حل مسئله TSP است.
مزیتهای ACO
<تبخیر شدن فرومون> و <احتمال-تصادف>به مورچهها امکان پیدا کردن کوتاهترین مسیر را میدهد. این دو ویژگی باعث ایجاد انعطاف در حل هرگونه مسئله بهینهسازی میشوند. مثلاً در گراف شهرهای مسئله فروشنده دوره گرد، اگر یکی از یالها (یا گرهها) حذف شود الگوریتم این توانایی را دارد تا به سرعت مسیر بهینه را با توجه به شرایط جدید پیدا کند. به این ترتیب که اگر یال (یا گرهای) حذف شود دیگر لازم نیست که الگوریتم از ابتدا مسئله را حل کند بلکه از جایی که مسئله حل شده تا محل حذف یال (یا گره) هنوز بهترین مسیر را داریم، از این به بعد مورچهها میتوانند پس از مدت کوتاهی مسیر بهینه (کوتاهترین) را بیابند.
کاربردهای ACO
از کاربردهای ACO میتوان به بهینه کردن هر مسئلهای که نیاز به یافتن کوتاهترین مسیر دارد، اشاره نمود:
۱. مسیر یابی داخل شهری و بین شهری.
۲. مسیر یابی بین پستهای شبکههای توزیع برق ولتاژ بالا.
۳. مسیر یابی شبکههای کامپیوتری.
۴. استفاده ازوب.
۵. استفاده ازACOدربهینه سازی شبکههای توزیع آب
۶. لبه یابی تصاویر
و…
الگوریتم
پروژه متلب : پروسهٔ پیدا کردن کوتاهترین مسیر توسط مورچهها، ویژگیهای بسیار جالبی دارد، اول از همه قابلیت تعمیم زیاد و خود- سازمانده بودن آن است. در ضمن هیچ مکانیزم کنترل مرکزی ای وجود ندارد. ویژگی دوم قدرت زیاد آن است. سیستم شامل تعداد زیادی از عواملی است که به تنهایی بیاهمیت هستند بنابراین حتی تلفات یک عامل مهم، تأثیر زیادی روی کارایی سیستم ندارد. سومین ویژگی این است که، پروسه یک فرایند تطبیقی است. از آنجا که رفتار هیچکدام از مورچهها معین نیست و تعدادی از مورچهها همچنان مسیر طولانیتر را انتخاب میکنند، سیستم میتواند خود را با تغییرات محیط منطبق کند و ویژگی آخر اینکه این پروسه قابل توسعه است و میتواند به اندازهٔ دلخواه بزرگ شود. همین ویژگیها الهام بخش طراحی الگوریتمهایی شدهاند که در مسائلی که نیازمند این ویژگیها هستند کاربرد دارند. اولین الگوریتمی که بر این اساس معرفی شد، الگوریتم ABC بود. چند نمونه دیگر از این الگوریتمها عبارتند از: AntNet,ARA,PERA,AntHocNet.
انواع مختلف الگوریتم بهینهسازی مورچگان
پروژه متلب : در پایین تعدادی از انواع شناخته شده از الگوریتم بهینهسازی مورچگان را معرفی میکنیم:
۱- سیستم مورچه نخبگان: در این روش بهترین راه حل کلی در هر تکرار فرمون آزاد میکند. همچنین این روش برای تمام مورچههای مصنوعی باید انجام شود.
۲- سیستم مورچه ماکسیموم – مینیمم: یک مقدار کمینه و بیشینه برای فرمون تعیین کرده و فقط در هر مرحله بهترین جواب این مقدار را آزاد میکند و تمام گرههای مجاور ان به مقدار فرمون بیشینه مقدار دهی اولیه میشوند.
۳- سیستم کلونی مورچه: که در بالا توضیحات کافی داده شدهاست.
۴- سیستم مورچه بر اساس رتبه: تمام راه حلهای بدست آماده بر اساس طول جواب رتبهبندی میشوند و بر اساس همین رتبهبندی مقدار فرمون آزاد سازی شده توسط آنها مشخص خواهد شد و راه حل با طول کمتر از راه حل دیگر با طول بیشتر مقدار فرمون بیشتری آزاد میکند.
۵ – سیستم مورچه متعامد مداوم: در این روش مکانیزم تولید فرمون به مورچه اجازه میدهد تا برای رسیدن به جواب بهتر و مشترک با بقیه مورچهها جستجو انجام دهد با استفاده از روش طراحی متعامد مورچه میتواند در دامنه تعریف شده خود به صورت مداوم برای بدست آوردن بهترین جواب جستجو کند که این عمل به هدف رسیدن به جواب بهینه و صحیح ما را نزدیک میکند. روش طراحی متعامد میتواند به دیگر روشهای جستجو دیگر گسترش پیدا کنند تا به مزیتهای این روشهای جستجو اضافه کند.
خروجی متلب :
دیدگاه ها