چه چیزی است کنترلکننده موتور سرو؟
تعریف کنترلکننده موتور سرو
کنترلکننده موتور سرو (یا درایور موتور سرو) به عنوان مداری تعریف میشود که برای کنترل موقعیت موتور سرو استفاده میشود.
مدار درایور موتور سرو
مدار درایور موتور سرو شامل میکروکنترلر، منبع تغذیه، پتانسیومتر و اتصالات است که باعث کنترل دقیق موتور میشود.
نقش میکروکنترلر
میکروکنترلر پالسهای PWM را در فاصلههای مشخص تولید میکند تا موقعیت دقیق موتور سرو را کنترل کند.
منبع تغذیه
طراحی منبع تغذیه برای کنترلکننده موتور سرو بستگی به تعداد موتورهای متصل دارد. موتورهای سرو معمولاً از یک منبع 4.8V تا 6V استفاده میکنند و 5V استاندارد است. افزایش ولتاژ تغذیه میتواند موتور را خراب کند. جریان مصرف شده با گشتاور متفاوت است و در حالت غیرفعال کمتر و در زمان حرکت بیشتر است. جریان مصرف شده حداکثر، که به آن جریان قفل میگویند، میتواند تا 1A برای برخی موتورها برسد.
برای کنترل یک موتور، میتوان از تنظیمکننده ولتاژ مانند LM317 با رادیاتور استفاده کرد. برای چندین موتور، نیاز به یک منبع تغذیه با کیفیت بالا و با ظرفیت جریان بیشتر است. یک SMPS (منبع تغذیه مودولاسیون شده) گزینه خوبی است.
نمودار بلوک زیر نشاندهنده اتصالات در درایور موتور سرو است

کنترل موتور سرو
موتور سرو سه ترمینال دارد.
سیگنال موقعیت (پالسهای PWM)
Vcc (از منبع تغذیه)
زمین

موقعیت زاویهای موتور سرو با اعمال پالسهای PWM با عرضهای مشخص کنترل میشود. مدت زمان پالس از حدود 0.5ms برای چرخش 0 درجه تا 2.2ms برای چرخش 180 درجه متغیر است. پالسها باید با فرکانس حدود 50Hz تا 60Hz اعمال شوند.
برای تولید موج PWM (مدولاسیون عرض پالس)، همانطور که در شکل زیر نشان داده شده است، میتوان از ماژول PWM داخلی میکروکنترلر یا تایمرها استفاده کرد. استفاده از بلوک PWM انعطافپذیری بیشتری دارد زیرا بیشتر خانوادههای میکروکنترلر این بلوک را طراحی میکنند و این بلوک بهترین گزینه برای برنامههای کاربردی مانند موتور سرو است. برای عرضهای مختلف پالسهای PWM، باید ثباتهای داخلی را به صورت متناسب برنامهریزی کرد.
حالا، ما باید به میکروکنترلر بگوییم که چقدر باید چرخاند. برای این منظور، میتوانیم از یک پتانسیومتر ساده استفاده کنیم و از یک ADC برای بدست آوردن زاویه چرخش استفاده کنیم یا برای برنامههای پیچیدهتر از یک شتابسنج استفاده کنیم.

الگوریتم برنامه
بیایید برنامه را برای کنترل یک موتور سرو طراحی کنیم و ورودی موقعیت از طریق پتانسیومتر متصل به یک پین کنترلکننده داده شود.
پینهای پورت را برای ورودی/خروجی مقداردهی اولیه کنید.
ADC را برای موقعیت مورد نظر موتور سرو بخوانید.
ثبتهای PWM را برای مقدار مورد نظر برنامهریزی کنید.
همگی که مدولاسیون PWM را فعال کنید، پین کانال PWM انتخاب شده به حالت بالا (منطق 1) میرود و بعد از رسیدن به عرض مورد نظر، دوباره به حالت پایین (منطق 0) میرود. بنابراین بعد از فعال کردن مدولاسیون PWM، باید یک تایمر با تأخیر حدود 19 ms را شروع کنید و منتظر شوید تا تایمر پر شودبه مرحله 2 بروید
مدلهای مختلف PWM موجود هستند که میتوانید بر اساس میکروکنترلر انتخابی خود از آنها استفاده کنید. بهینهسازیهایی در کد باید انجام شود تا موتور سرو کنترل شود.
اگر قصد دارید بیش از یک موتور سرو را استفاده کنید، نیاز به تعداد PWM کانالهای متناظر خواهید داشت. هر موتور میتواند به صورت متوالی سیگنال PWM دریافت کند. اما باید مطمئن شوید که نرخ تکرار پالس برای هر موتور حفظ شود. در غیر این صورت موتورها خارج از همگامی خواهند شد.