Mehdi.Aref 26780 اشتراک گذاری ارسال شده در 10 آذر، ۱۳۸۸ یک عملگر ساده در سیستم های کنترل موتور DC است. این موتور مستقیما حرکت چرخشی رو تامین می کنه و علاوه بر این می تونه حرکت انتقالی هم داشته باشه .در شکل زیر مدار الکتریکی آرمیچر و دیاگرام میدانی روتور نمایش داده شده. برای این مثال ، ما مقادیر زیر را برای پارامتر های فیزیکی فرض کردیم. (این مقادیر از یک آزمایش بر روی یک موتور واقعی بدست آمده است) گشتاور موتور( T ) با یک ضریب ثابت ( Kt ) وابسته به جریان آرمیچر ( i ) است .نیروی محرکه معکوس (e) به صورت زیر به سرعت چرخشی وابسته است. در استاندارد SI ، ثابت آرمیچر (Kt) برابر با (Ke) ثابت موتور است. با استفاده از شکل بالا و ترکیبی از قوانین نیوتون و کیرشهف می تونیم روابط زیر رو بنویسیم : تابع انتقال: به وسیله تبدیل لاپلاس مدل روابط بالا رو می تونیم به شکل زیر پیاده کنیم: با حذف کردن (I(s می تونیم تابع انتقال حلقه باز رو به صورت زیر بدست بیاریم ، به طوری که سرعت دورانی در خروجی و ولتاژ در ورودی است. فضای حالت: در فرم فضای حالت ، رابطه بالا رو میتونیم با انتخاب سرعت دورانی و جریان الکتریکی به عنوان متغیرهای حالت و ولتاز به عنوان ورودی بنویسیم . همچنین سرعت دورانی به عنوان خروجی انتخاب شده است. احتیاجات طراحی : ابتدا موتور ما با یک ورودی ولتاژ 1 ولت فقط می تواند 0.1 (rad/sec) بچرخد ( این با پاسخ مدار حلقه باز شیبه سازی شده اثبات می شود.) بعد از اینکه احتیاجات لازم و پایه موتور داده شد ، موتور باید با سرعت مورد انتظار بچرخد. خطای حالت دائمی سرعت موتور باید کمتر از 1% باشد. برای ادامه کار لازم است که موتور به سرعت دائمی برسد. در این حالت زمان آن را روی 2 ثانبه تنظیم می کنیم. چون سرعت بیشتر به تجهیزات آسیب می رساند. اورشوت هم کمتر از 5% باشد. نمایش در مطلب : ما می تونیم تابع انتقال بالا رو به صورت صورت و مخرج در مطلب نمایش بدیم: یک m-file باز کنید و اطلاعات زیر را وارد کنید: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام حالا ببینیم سیستم حلقه باز اصلی چطوری اجرا میشه . اطلاعات بدست آمده زیر را به انتهای m-file اضافه کرده و برنامه را اجرا کنید.( پاسخ پله= Step ) step(num,den,0:0.1:3) title('Step Response for the Open Loop System') شما باید یک همچین شکلی رو بدست آورده باشید : این عکس کوچک شده است برای مشاهده ی سایز اصلی کلیک کنید از روی شکل می بینیم که وقتی 1 ولت به سیستم اعمال میشه ماکزیمم سرعت موتور فقط 0.1 (rad/sec) است. 10 برابر کمتر از سرعت مطلوب ما.همچنین موتور در 3 ثانیه به سرعت دائمی می رسد. این یعنی که زمان 2 ثانیه ای که ما در نظر گرفتیم خوب نبوده است. فضای حالت: ما همچنین می تونیم سیستم رو با روابط فضای حالت نمایش بدیم . اطلاعات زیر رو در یک m-file جدید وارد کنید: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام این m-file را در مطلب اجرا کنید . شما باید خروجی ای مشابه با شکل بالا بدست بیارین. 2 لینک به دیدگاه
Mehdi.Aref 26780 مالک اشتراک گذاری ارسال شده در 10 آذر، ۱۳۸۸ شبیه سازی موتور DC در مطلب همون طور که قبلا قول دادم تو این پست روش سیمولینک مثال بالا رو آموزش می دیم. فقط لازم به ذکره که در نسخه های جدید مطلب گزینه ها تغییر داده یا جابه جا شده اند در صورت لزوم بگین تا راهنماییتون کنم.مثلا اگر زیرمجموعه Linear block را پیدا نکردید . بلوک ها را در Commonly Used blocks بیابید. همچنین دوباره میگم که در بعضی فرمان ها پرانتز ها یا سمیکالن ها جاباه جا شده اگر کپی پیست می کنید مراقب باشین. این سیستم با اضافه کردن عمل گشتاور روی اینرسی روتور مدل می شود. و انتگرال شتاب به ما سرعت را می دهد. همچنین قانون کیرشهف بر روی مدار آرمیچر اعمال شده است. سیمولینک را باز کرده و یک پنجره مدلسازی جدید باز کنید. ابتدا ما می خواهیم تا انتگرال های شتاب دورانی و نیز میزان تغییرات جریان آرمیچر را مدل کنیم. یک بلوک انتگرال گیر وارد کنید. ( از Linear block library) و خطوط ورودی و خروجی را رسم کنید. برچسب خط ورودی با "(d2/dt2(theta" و برچسب خط خروجی با"(d/dt(theta" در شکل مشخص شده است.( برای نوشتن برچسب فقط بر روی یک قسمت خالی بالای خط دابل کلیک کنید.) یک انتگرال گیر دیگر وارد کنید و خطوط ورودی و خروجی را مشخص کنید. برچسب ورودی"(d/dt(i" است و برچسب خروجی " i " است. سپس ما مدل کردن قوانین نیتون و کیرشهف را شروع می کنیم.این قوانین اعمال شده بر روی سیستم موتور روابط زیر را به ما می دهند: مشتق دوم شتاب زاویه ای برابر است با ضرب 1/J در مجموع دو جمله ( یکی مثبت ، یکی منفی ) و همچنین مشتق جریان برابر است با ضرب 1/L در مجموع سه جمله ( یکی مثبت ، دو تا منفی ). - یک بلوک مثلثی بهره (Gain) وارد کنید (از Linear block library ) و هر کدام را با خط به انتگرال گیرها متصل کنید. - بر روی بلوک بهره دابل کلیک کنید و مطابق با شتاب زاویه ای مقدار آن را "1/J" قرار دهید. ( به برچسب ها دقت کنید) - برچسب نوشته شده زیر گین را به "inertia" یعنی اینرسی تغییر دادیم تا مشخص شود. - مقدار بلوک گین دیگر را هم به "1/L" تغییر داده و بر چسب آن را "Inductance" قرار دهید. - دو بلوک جمع (Sum) وارد کنید (از Linear block library ) و با خط آنها را به بلوک های گین متصل کنید. - علامت های یک بلوک جمع را به "+ -" ( یکی مثبت ، یکی منفی ) و بلوک دیگر را به "- + -" ( یکی مثبت ، دو تا منفی ) تغییر دهید.( مطابق با روابط کیرشهف و دقت کنید هر بلوک به گین و انتگرال گیر خودش متصل باشد) حالا ما گشتاوری که در رابطه نیوتون نمایش دادیم را اضافه می کنیم. ابتدا گشتاور استهلاک را اضافه می کنیم. - یک بلوک گین زیر بلوک اینرسی وارد کنید ، سپس با یک تک کلیک آن را انتخاب کرده و از منوی Format گزینه Flip را انتخاب کنید ( یا Ctrl-F- در نسخه های جدید Ctrl-I ) . نوک بلوک از راست به چپ برمی گردد. - مقدار بلوک را "b" تعیین کرده و برچسب آن را "damping" ، استهلاک ، نام گذاری کنید. - از وسط خط خروجی انتگرال گیر تــتا یک انشعاب گرفته ( Ctrl را نگه دارید و رسم کنید) و آن را به ورودی بلوک گین "damping" وصل کنید. - از خروجی گین به سر منفی بلوک جمع (Sum) تــتا وصل کنید. حالا گشتاور آرمیچر را اضافه می کنیم: - یک بلوک گین وارد کنید مقدار آن را "K" ( نمایش دهنده ثابت موتور ) و برچسب آنرا "Kt" تعیین کنید و سپس آن را به ورودی مثبت بلوک جمع تــتا وصل کنید. - خروجی انتگرال گیر جریان را به سمت ورودی بلوک "Kt" هدایت کنید. - حالا ما شرایط ولتاژ را که در رابطه کیرشهف نشان داده شده را وارد می کنیم ، ابتدا افت ولتاژ روی مقاومت بوبین را اضافه می کنیم. - یک بلوک گین در بالای بلوک اندوکتانس وارد کنید و آن را از راست به چپ بر گردانید. - مقدار این بلوک را "R" و برچسب آنرا "Resistance"تعیین کنید. - یک انشعاب از خروجی انتگرال گیر جریان گرفته ( Ctrl را نگه دارید و رسم کنید) و آنرا به ورودی بلوک بهره مقاومت وصل کنید. - یک خط از خروجی گین مقاومت به علامت منفی بالایی بلوک Sum معادله جریان وصل کنید. حالا نیروی محرکه معکوس موتور را اضافه می کنیم. - یک بلوک گین وارد کرده و آنر ا به سر منفی پایینی بلوک Sum معادله جریان وصل کنید . - مقدار آن را "K" نشان دهنده ثابت موتور و برچسب آنرا "Ke" تعیین کنید. - یک انشعاب از خروجی انتگرال گیر تــتا ( معادله دوران ) گرفته و به بلوک "Ke" وصل کنید. شرایط دیگر ولتاژ در رابطه کیرشهف ، کنترل ورودی است(V) ما یک ورودی پله را اعمال می کنیم. - یک بلوک پله (Step) وارد کنید ( از Sources block library) و آنرا به ورودی مثبت بلوک Sum معادله جریان وصل کنید. - برای مشاهده سرعت خروجی یک اسکوپ وارد کنید(از Sinks block library ) و آن را به خروجی انتگرال گیر معادله دوران وصل کنید. - برای تنظیم کردن یک ورودی پله مناسب در t = 0 ، بر روی بلوک پله ورودی دابل کلیک کرده و Step time را "0" تعیین کنید. شما می توانید فایل مدلسازی شده کامل را از برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام دانلود کنید. پاسخ حلقه باز برای سیمولینک این سیستم ، ابتدا باید زمان شبیه سازی مناسب را مشخص کرد. گزینه Parameters را از منوی Simulation انتخاب کرده و در فیلد Stop time عدد "3" را وارد کنید. سه ثانیه برای مشاهده پایخ مدار باز کافی است. حالا باید پارامترهای فیزیکی را مشخص کنیم. در پنجره Command Window مطلب فرامین زیر را وارد کنید : برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام شبیه ساز را اجرا کنید (Ctrl-t یا انتخاب Start از منوی Simulation ). وقتی که شبیه سازی به پایان رسید ، بر روی اسکوپ دابل کلیک کرده و دکمه autoscale را فشار دهید. حالا خروجی زیر را خواید دید. بدست آوردن مدل خطی از داخل مطلب: از روی مدل شبیه سازی شده می توان مدل خطی ( به شکل فضای حالت یا تابع انتقال ) را در داخل مطلب بدست آورد( استخراج کرد) این کار را می توانیم با بلوک های اتصال ورودی و خروجی و نیز فرمان Linmod انجام بدیم. ابتدا بلوک پله ورودی را با یک بلوک In و بلوک اسکوپ خروجی را با یک بلوک Out تعویض کنید. ( آنها را از Connections block یا Commonly Used Block بیابید.) این تعریف های ورودی و خروجی سیستم به منظور فرایند استخراج است. خب حالا فایل مدل را با نام motormod.mdl ذخیره کنید. مطلب مدل خطی را از فایل مدل ذخیره شده استخراج خواهد کرد ، نه در خود پنجره باز مدل. در پنجره Command Window مطلب فرمان های زیر را یکی یکی وارد کرده و اجرا کنید . برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام با اجرای فرمان اول ، مطلب ماتریس های فضای حالت (SS) و با اجرای فرمان دوم ، مطلب صورت و مخرج تابع انتقال (TF) را خواهد داد.( فضای حالت را به تابع انتقال تبدیل می کند) برای بررسی صحت مدل استخراج شده ، ما پاسخ حلقه باز تابع انتقال استخراج شده در مطلب را بدست می آوریم. فرمان زیر را در پنجره مطلب وارد کرده و اجرا کنید : برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 2 لینک به دیدگاه
ارسال های توصیه شده