در دیاگرام زیر یک سیستم کنترل حرکت کامل نشان داده شده است، البته نیازی نیست که تمامی این قطعات در یک سیستم کنترل حرکت وجود داشته باشد.
1- یک کنترلکننده (عموما یک میکروکنترلر) سیگنالها را به کنترلکنندهی حرکت ارسال میکند.
۲- بر اساس سیگنال ورودی یک کنترلکنندهی حرکت دستورات را به تقویتکننده به منظور کنترل سرعت و موقعیت ارسال میکند.
۳- یک تقویتکننده، دستورات را از یک کنترلکنندهی حرکت دریافت کرده و جریان لازم برای حرکت محرک را تامین میکند.
۴- زمانی که انرژی الکتریکی تامین میشود، محرک آن را به انرژی مکانیکی تبدیل کرده و گشتاور ایجاد میکند.
۵- قسمتهای مکانیکی متصل به محرک حرکتی را با استفاده از گشتاور تولید شده ایجاد میکنند (معمولاً خطی یا چرخشی).
۶- مدار فیدبک، بازخوردی را ( مانند موقعیت سرعت نیرو و غیره) به واحد کنترلکننده فرستاده و چرخه را کامل میکند.
مهمترین جنبه کنترل حرکت، کنترل موتور میباشد، چرا که اغلب رباتهای متحرک دارای موتور هستند.
کنترلکنندههای موتور
کنترل موتور شامل کنترل سرعت، گشتاور، شروع کار و اتمام، جهت (رو به جلو یا برعکس) و غیره است. که میتواند به صورت اتوماتیک از راه دور کنترل شود یا به صورت دستی انجام گیرد. سیگنالهای کنترلی نیز میتوانند آنالوگ و دیجیتال باشند.
روشن و خاموش کردن موتورها
در موتورهای با ولتاژ پایین و کوچک روشن و خاموش کردن به سادگی بهوسیلهی اتصال سرهای موتور به منبع تغذیه از طریق یک سوئیچ یا یک مدار ساده صورت میگیرد؛ با این وجود موتورهای بزرگ نیازمند یک قطعکننده یا کنتاکتور (contactor) برای عمل کردن هستند. برای ساخت انواع رباتهای کوچک و متوسط میتوانیم در محدودهی سوئیچ ها یا مدارات کنترلی فعالیت کنیم.
کنترل عملیات
کنترل عملیات موتور میتواند به دو دسته تقسیم شود:
- کنترل سرعت
- کنترل فیدبک
کنترل سرعت: هدف از کنترل سرعت دریافت دستورها از کنترلر و به حرکت درآوردن موتور با سرعت موردنظر است. آنها میتوانند صرفا سیگنالها را برای عملکرد در سرعت مشخص ارسال میکنند و قادر به اندازهگیری یا تضمین اینکه موتور با سرعت خاصی کار کند، نیستند.
کنترل فیدبک: تایید میکند که موتور در سرعت مشخص و یا موقعیت دلخواه هدایت میشود یا نه.
انواع مختلفی از موتورهای DC و در نتیجه انواع مختلفی از کنترلرها وجود دارند. در بخش بعدی انواع تکنیکهای کنترل سرعت و در بخش بعد از آن انواع مختلف مکانیزم فیدبک مورد استفاده را خواهیم آموخت.
کنترل سرعت موتور
کنترل موتور DC براش
گشتاور در یک موتور DC براش به طور مستقیم متناسب با جریان ورودی میباشد. بهمنظور کنترل سرعت یک موتور DC گشتاور آن با استفاده از SCR (یکسوکننده کنترلشده بهوسیله سیلیکون) یا PWM (مدولاسیون عرض پالس) مدوله میشود. متد SCR و دیگر متدها به ندرت در رباتها بهکار می روند و تکنیک مرسوم جهت کنترل سرعت PWM میباشد. PWM را به عنوان سوئیچ روشن و خاموش یک کلید با سرعت خیلی زیاد تصور کنید، هرچه که سوئیچ بیشتر روشن باشد ولتاژ بیشتری به گیرنده خواهد رسید و در نتیجه سرعت بالاتری تولید خواهد شد. شکل یک نمایش گرافیکی از PWM را نشان میدهد.
پل H
کنترل یک موتور، شامل کنترل سرعت و جهت چرخش (ساعتگرد یا پادساعتگرد) است. برای موتورهای DC کنترل مستقیم با استفاده از پل H که موتور را به هر جهت هدایت میکند، صورت میگیرد. البته راههای دیگری نیز وجود دارد ولی ما شناختهشدهترین متد را معرفی خواهیم کرد.
یک پل H، شامل حداقل ۴ کلید مکانیکی میباشد. نمایش گرافیکی پل H شبیه به حرف انگلیسی H است که به همین دلیل با نام پل H شناخته میشود.
مدار سادهی نشان داده شده در بالا میتواند برای هدایت موتور به جلو عقب ترمز یا کارهای آزاد دیگر با سوئیچ S1، S2، S3 و S4 مطابق با جدول زیر استفاده شود.
S1 | S2 | S3 | S4 | Motor |
1 | 0 | 0 | 1 | ساعتگرد(جلو) |
0 | 1 | 1 | 0 | پادساعتگرد(معکوس) |
0 | 0 | 0 | 0 | فعالیت آزاد |
0 | 1 | 0 | 1 | ترمز |
1 | 0 | 1 | 0 | ترمز |
در رباتهای کوچک شما میتوانید یک پل H را با استفاده از ترکیبی از ترانزیستورهای PNP و NPN بسازید، یا یک پکیج مشابه L293x IC تهیه کنید. انواع مختلفی از پکیجهای پل H با اجزای اضافی مطابق با نیاز در دسترس هستند.
کنترل سروو موتور
چرخش یک سروو موتور با ارسال پالسهای متفاوت به کنترلکنندهی سروو کنترل میشود. یک سروو موتور معمولی با استفاده از سه سیم، تغذیه، زمین و کنترل کنترل میشود. هر ۲۰ میلیثانیه یک پالس به سرور ارسال میشود و یک پالس بسیار فعال که معمولاً بین ۱ و ۲ میلی ثانیه میباشد، موقعیت زاویه موتور را تعیین میکند. در نمایش گرافیکی، حد پایین به صورت صفر درجه و حد بالا ۱۸۰ درجه نشان داده میشود. مطابق با نظر تولیدکنندگان حد بالا میتواند، ۹۰درجه، ۱۲۰درجه، ۱۳۵درجه و غیره باشد. صرف نظر از طراحی، موقعیت مرکزی تقریباً همیشه بهوسیلهی ارسال یک پالس با پهنای یک و نیم میلیون ثانیه به دست میآید.
طراحی منحصر به فرد سروو موتورها به کنترل موقعیت و جهت موتور کمک میکند.
کنترل استپر موتور
موتور پلهای شامل چند آهنربای الکترومغناطیسی میباشد که شفت موتور را به چرخش درمیآورد. با ارسال پالسهای مورد نظر به این آهنرباهای الکترومغناطیسی، جهت و سرعت موتور پلهای قابل کنترل است. در شکل زیر چهار آهنربای الکترومغناطیسی که چرخش روتور را کنترل میکنند، نشان داده شده است. با فعال شدن هر کدام از آنها به نحو دلخواه، شفت موتور به موقعیت مشخصی حرکت میکند. سرعتی که پالس ها با آن تغییر میکنند، سرعت موتور را تعیین میکند و ترکیب تغذیهی آهنرباها، جهت روتر را مشخص میکند.
کنترل کنندههای موتور فقط میتوانند سیگنالهایی را برای کنترل سرعت موتور ارسال کنند، اما نمیتوانند اطمینان حاصل کنند که موتور دقیقاً با همان سرعت کار می کند.
مقایسه مدار کنترل حلقهباز با حلقهبسته
دو روش کلی برای کنترل موتور وجود دارد: حلقهباز و حلقهبسته. در حلقهباز، وظیفهی سیستم ارسال سیگنالهای الکتریکی به محرک به منظور عملکردی خاص میباشد. اگرچه سیگنالها و دستورات دقیق ارسال میشوند، هیچ راهی وجود ندارد تا تایید کند که آیا محرک در موقعیت و سرعت مناسب قرار دارد. در صورتی که سیستم شامل عملگری باشد که بتواند به طور پیوسته فیدبک در مورد موقعیت و سرعت محرک فراهم کند، در این صورت سیستم کنترل موتور، یک حلقهبسته خواهد بود. فیدبک میتواند حاوی اطلاعاتی از تعداد لرزشها در دقیقه، زاویهی شفت و غیره باشد. ترکیب کنترل عملیاتی و کنترل فیدبک، یک سیستم کنترل حرکت کامل میباشد.
نمایش گرافیکی زیر تفاوت بین حلقهباز و بسته را نشان میدهد.
کنترلکنندههای موتور همچنین میتوانند سیگنالها را برای کنترل سرعت موتور ارسال کنند، اما نمیتوانند از اینکه موتور در همان سرعت مشخص کار میکند اطمینان حاصل کنند. در قسمت بعدی راههای مختلف تشخیص اینکه آیا موتور در سرعت مورد انتظار کار میکند را بررسی خواهیم کرد.