طراحی کنترلر موتور DC با تولباکس Matlab
در قسمت های قبل تولباکس Control System Tuning و قسمت های مختلف آن شرح داده شد. در این قسمت نحوه طراحی کنترلر موتور DC را با این تولباکس آموزش می دهیم. بدین منظور ساختار کنترلی زیر را در نظر بگیرید:
توجه کنید که در بعضی از کاربردها استفاده از یک حلقه کنترلی کافی نمی باشد و نمی تواند نیازهای کنترلی را پاسخ دهد بدین منظور از چند حلقه کنترلی استفاده می شود.
ساختار کنترلی بالا زاویه موتور DC را کنترل می کند. همان طور که مشخص است یک انتگرال گیر به حلقه خارجی اضافه شده است.
هدف از طراحی برای این مثال کمینه کردن زمان نشت حلقه بسته برای ورودی پله می باشد بطوری که حلقه داخلی دارای بهره فاز (Phase Margin) حداقل 65 درجه و حداکثر پهنای باند باشد.
برای طراحی طراحی کنترلر موتور DC در این مثال باید بترتیب زیر عمل کنیم:
-
بدست آوردن مدل ریاضی موتور DC
-
انتخاب ساختار مناسب و وارد کردن مدل در تولباکس
-
طراحی حلقه داخلی
-
تنظیم حلقه خارجی
-
ارزیابی طراحی بمنظور برآورده شدن نیازهای آن
بدست آوردن مدل ریاضی موتور DC :
همان طور که در مطالب قبلی اشاره شد معادلات موتور DC بصورت زیر می باشد:
توجه کنید چون ورودی سیستم را ولتاژ آرمیچر و خروجی آن را سرعت چرخش در نظر گرفته ایم پس تابع انتقال سیستم بصورت زیر محاسبه می شود:
برای ساختن مدل موتور DC در متلب ابتدا بوسیله دستورات زیر در Command Windows پارامترهای موتور را تعریف می کنیم:
R = 2.0; % Ohms L = 0.5; % Henrys Km = 0.1; Kb = 0.1; % Torque and back emf constants B = 0.2; % Nms J = 0.02; % kg.m^2/s^2
حال بوسیله دستورات زیر تابع تبدیل سیستم را تعریف می کنیم:
h1 = tf(Km,[L,R]); % Armature h2 = tf(1,[J, Kf]); % Equation of motion dcm = ss(h2) *h1; % w = h2 cascaded with h1 dcm = feedback(dcm, Kb, 1, 1);% Closes back emf loop
چون ساختار کنترلی بالا در تولباکس موجود نمی باشد ساختار زیر را که شبیه ساختار بالا می باشد انتخاب می کنیم:
همان طور که مشخص است چون این دو ساختار با هم متفاوت است می توانیم با ایجاد تغییراتی شکل اصلی را متناسب با یکی از این ساختارها دستکاری کنیم. بدین منظور بلوک کنترلی زیر را در نظر می گیریم:
همان طور که مشخص است برای ایجاد این ساختار کافی است که به تابع انتقال سیستم یک انتگرال گیر و همچنین یک مشتق گیر خالص نیز به حلقه داخلی اضافه شود. بدین منظور دستورات زیر را در متلب وارد می کنیم:
G = dcm*tf(1,[1,0]); % Motor with integrator; output is theta C2 = tf('s'); % Differentiator
تا اینجا مدل ریاضی موتور DC را در محیط متلب تعریف کرده ایم.
انتخاب ساختار مناسب و وارد کردن مدل در تولباکس:
با اجرای دستور زیر وارد محیط تولباکس طراحی کنترل کننده می شویم:
sisotool
با وارد شدن به قسمت Control Architecture مطابق شکل زیر ساختار مناسب را انتخاب می کنیم:
حال باید مدل های ساخته شده را وارد محیط تولباکس کنیم. بدین منظور از قسمت System Data توابع G و C2 را از محیط workspace وارد می کنیم:
اگر توابع را صحیح وارد کنید پنجره زیر نمایش داده می شود:
حال به تب Graphical Tuning رفته و مطابق شکل زیر نمودارهای روت لوکاس و بود را انتخاب می کنیم:
اگر بر روی گزینه Show Design Plot کلیک کنید محیط گرافیکی زیر نمایش داده می شود:
طراحی حلقه داخلی:
توجه کنید که همیشه باید ابتدا حلقه های داخلی را طراحی کنید و سپس به طراحی حلقه های خارجی بپردازید.
برای طراحی حلقه داخلی به تب Architecture رفته تا اثر حلقه خارجی را حذف کنیم. بدین منظور :
1) بر روی Loop Configuration کلیک کنید.
2) گزینه Open-Loop Output of C2 را انتخاب کنید تا تاثیر کنترل کننده C1 حذف شود.
3) روی گزینه Highlight feedback loop کلیک کنید تا ساختار کنترلی زیر نمایش داده شود:
همان طور که مشخص است حلقه خارجی که بصورت خاکستری نشان داده شده است حذف شده است.
حال مطابق شکل زیر به پنجره SISO Design Graphical editor رفته و با استفاده از منحنی Bode مقدار بهره را افزایش داده تا به حاشیه فاز 65 درجه برسیم:
در این حالت مقدار بهره برای C2 حدود 16.1 می شود و طراحی حلقه داخلی تمام می شود.
تنظیم حلقه خارجی:
هدف از تنظیم حلقه خارجی کمینه کردن زمان نشت می باشد. توجه داشته باشید چون حلقه خارجی حلقه داخلی را نیز دربرمی گیرد بنابراین تنظیم آن بر کل سیستم تاثیرگذار می باشد.
برای طراحی حلقه خارجی بصورت زیر عمل می کنیم:
1) به تب Analysis Plot رفته و گزینه Closed-Loop r to y را انتخاب کنید.
2) گزینه Step را از قسمت Plot 1 انتخاب کنید.
3) در صفحه باز شده راست کلیک کرده و از قسمت Characteristics گزینه Settling Time را انتخاب کنید تا زمان نشت مانند شکل زیر نشان داده شود:
همان طور که مشخص است زمان نشت تقریباً حدود 79 ثانیه می باشد که خیلی زیاد است.
به قسمت SISO Design Graphical editor بروید و مقدار بهره کنترل کننده C1 را از نمودار روت لوکاس افزایش دهید. در بهره حدود 90.2 جفت قطب مختلط بسمت کند کردن ثابت زمانی و قطب سوم به سمت سریع کردن آن حرکت می کنند. همان طور که مشخص است با تغییر بهره پاسخ حلقه بسته نیز تغییر می کند که باید مبادله ای بین آنها ایجاد کرد که بنظر بهره 90.2 مناسب ترین بهره میان زمان جهش و زمان نشت می باشد:
بررسی طراحی بمنظور برآورده شدن نیازهای آن:
در این قسمت باید طراحی انجام شده مورد ارزیابی قرار بگیرد. بدین منظور اگر به منحنی پاسخ پله برگردیم مشاهده می کنیم که زمان نشت 0.783 ثانیه می باشد که خیلی کمتر از مقدار 78.9 ثانیه اولیه می باشد:
چون زمان نشت حدود 0.8 ثانیه و حاشیه فاز حلقه داخلی 65 درجه می باشد پس طراحی انجام شده مناسب و قابل قبول می باشد.
برای دریافت فایل شبیه سازی شده بر روی عکس زیر کلیک کنید.
10 Comments
alireza
درباره10 سال agoبا سلام در مورد درایو موتور های القایی نیز کار کنید چون اسم سایتون هم موتودرایو است می خواستم در مورد درایو های موتورهای القایی کار کنید و یک شبیه سازی هم داشته باشید . ممنون
پاسخAdmin
درباره10 سال agoدر لینک زیر کنترل V/f شرح داده شده است:
https://motodrive.ir/%D8%B1%D9%88%D8%B4-%D9%87%D8%A7%DB%8C-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%D9%85%D9%88%D8%AA%D9%88%D8%B1-%D8%A7%D9%84%D9%82%D8%A7%DB%8C%DB%8C-%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84/
در لینک زیر نیز کنترل برداری موتور القایی توضیح داده شده است:
https://motodrive.ir/%D8%B1%D9%88%D8%B4-%D9%87%D8%A7%DB%8C-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%D9%85%D9%88%D8%AA%D9%88%D8%B1-%D8%A7%D9%84%D9%82%D8%A7%DB%8C%DB%8C-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85/
پاسخalireza
درباره10 سال agoبا سلام برای شبیه سازی درایو های موتور القایی از چه منبعی استفاده کرده اید منظورم کتابی مشخص دارد یا نه و سوال دیگر: پارامترهای مورد نیاز درایو های موتور القایی را نیز از کجا بدست می آوریم ؟
پاسخAdmin
درباره10 سال agoلطفاً سوالات خود را در پست مربوط بهمان موضوع طرح کنید
بهترین کتاب برای درایو موتورهای القایی کتاب Sensorless Vector and Direct Torque Control نوشته Peter Vas می باشد
پاسخابوطالب دیلم
درباره10 سال agoبا سلام واحترام شما زحمت می کشیدکنترلهارا انجام میدهید.اگر بتوانید کارتون رابا بهینه سازی این کنترل ها انجام دهید مثل الگوریتم بهینه سازی والگوریتم های دیگر خیلی جالب می شودالبته به همراه آموزش باتشکر
پاسخAdmin
درباره10 سال agoالگوریتم های بهینه سازی خودش مبحث جدایی را می طلبد.در پست های آینده علاوه بر آموزش این الگوریتم ها نحوه کاربردشان در تنظیم کنترل کننده ها را نیز آموزش می دهیم.
پاسخپرویز
درباره9 سال agoبا سلام مقاومت متغیر پیوسته در حالت سه فاز را چگونه در متلب شبیه سازی کنم. از بریکر نمی خوام استفاده کنم لطفا جوابو به ایمیلم بفرستین با تشکر
پاسخAdmin
درباره9 سال agoدر کتابخانه simpower مقاومت رئوستا وجود ندارد. برای حل این مشکل دو راه وجود دارد: یا معادلات سیستم مورد نظرتان را باید تبدیل به بلوک دیاگرام کنید و یا از کتابخانه simelectronic استفاده کنید که آن هم مشکلات خاص خودش را دارد.
پاسخahura
درباره7 سال agoسلام. دانلودش کردم ولی فقط یه دیتاست اکسس توش بود
پاسخAdmin
درباره7 سال agoاین فایل مخصوص همان تولباکس می باشد و باید از طریق تولباکس مربوطه آن را باز کنید.
پاسخ