درایور موتور
درایور موتور چیست
یک برد الکترونیکی واسط بین میکروکنترلر و موتور است. درایور موتور برای تبدیل فرامین برنامه نویسی شده به سیگنال قابل فهم برای موتورها طراحی شده است. درایور موتور انواع مختلفی دارد. هر موتور الکتریکی به درایور موتور مرتبط با خودش نیاز دارد. درایور موتورها براساس ولتاژ و جریان کاری که دارند دسته بندی میشوند. به طور کلی درایور موتور یک برد یا قطعه الکترونیک است که بین پردازنده اصلی و موتورها قرار میگیرد. درایور موتور دارای ورودی و خروجی است. ورودی آن از میکروکنترلر و یا همان پردازنده اصلی سیگنال را دریافت میکند. سپس در خروجی سیگنال مربوطه را به موتور الکترونیکی انتقال میدهد. در اثر این تبادل موتور الکتریکی فرایند مربوطه را انجام میدهد. از آنجایی که راه اندازی موتورهای مختلف نیاز به تامین جریان و ولتاژ مجزا دارد، برای مدیریت موتور Motor هم نیاز به تراشه و مدار کنترل موتور Motor Driver میباشد. همانطور که توضیح داده شد، بر اساس جریان عبوری و ولتاژ قابل عبور توسط ماژول دسته بندی میشوند. درایور موتور Motor Driver یا راه انداز موتور برای به حرکت در آوردن موتور به کار میروند. این نوع مدارها به ازای اطلاعات دریافتی از میکرو و یا کنترل کننده، ولتاژ مورد نیاز موتور را تامین میکنند.
درایور موتور dc چیست
نوعی درایوری که برای موتورهای DC طراحی شده است. درایور موتور DC با ولتاژ مستقیم کار میکند و دارای قطب مثبت و منفی است. انواع درایورهای موتور DC براساس تعداد کانال خروجی، ولتاژ کاری و میزان جریان خروجی دسته بندی میشوند. درایور موتور DC بین میکروکنترلر، بخش تغذیه و موتورها قرار میگیرد. برای راه اندازی حتما به تغذیه مناسب با موتور مورد استفاده دارند. به عنوان مثال برای کنترل یک ربات با موتور گیربکس 12 ولت DC بایستی تغذیه 12V به ورودی درایور موتور DC متصل شود. سپس سیگنالها کنترلی از میکروکنترلر به آن اعمال شود.
درایور موتور براشلس
نوعی درایور موتور که منحصرا برای موتورهای براشلس طراحی شده است. این نوع موتورها معمولا برای رباتیک پروازی کاربردی هستند. موتور براشلس روش راه اندازی متفاوتی نسبت به موتورهای معمولی دارد. از اینرو برای کنترل کردن آن توسط یک میکروکنترلر به درایور مخصوص خودش هم نیاز است. درایور موتور براشلس بر اساس جریان قابل تحمل دسته بندی میشوند.
تفاوت درایور موتور L298 و شیلد درایور L293
این دو مدل از پرکاربردترین درایور موتورها برای کنترل موتور DC هستند. درایور موتور L293 به دو حالت شیلد و ماژول طراحی و تولید شدهاند. این ماژول قابلیت کنترل موتور DC و سرو موتور را دارند. درایور L293D از یک مدار یکپارچه با ولتاژ و جریان بالا با درایور ۴ کاناله تشکیل شده است. درایور L293D به عنوان مدار H Bridge شناخته میشود.
شیلد درایور L293D
مدار پل H، به ولتاژ اجازه میدهد در مسیر بار Load در خروجی به صورت ساعتگرد و پادساعتگرد حرکت کند. تراشه L293D توانایی درایو موتور تا ۳۶ ولت را خواهد داشت. توسط این تراشه هر کانال درایور موتور تا ۶۰۰ میلی آمپر جریان دهی خواهد داشت. از ویژگیهای این شیلد میتوان به داشتن ۲ کانکتور + ۵ ولت Dc اشاره کرد. همچنین دارای ۴ رابط کانکتور برای اتصال استپر موتور Stepper Motor و موتور ( ۲ استپر موتور + ۲ موتور DC) است. شیلد درایور موتور L293 دارای ۶ پین برای اتصال دو سرو موتور Servo Motor است که با نام های SER1 و SERVO – ۲ بر روی شیلد مشخص شده است. یک کلید ریست Reset پایین شیلد قرار گرفته شده است. ولتاژ ورودی شیلد درایور موتور ۴٫۵ تا ۱۲ ولت DC است. این شیلد قابلیت راه اندازی با میکروکنترل های آردوینو Arduino UNO و آردوینو Arduino Mega2560 را دارد. ابعاد شیلد درایور موتور ۶۹ * ۵۳ * ۱۴٫۳ میلی متر است.
ماژول درایور موتور L298
درایور موتور L298N از تراشه دوبل L298 یک رگولاتور داخلی ۵ ولت ۷۸M05 تشکلیل شده است. در ساختار این درایور موتور از مدار H Bridge یا همان پل H استفاده شده است. این مدار توانایی درایور و کنترل جریان را دارد که توسط پایه PWM کنترل میشود. پایه PWM یا همان مدولاسیون پهنای باند کنترل مدت زمان یک پالس را انجام میدهد و در نتیجه ولتاژ خروجی را کنترل خواهد کرد. ولتاژ کاری درایور موتور L298 بین ۵ تا ۳۵ ولت DC است. جریان کاری این درایور بین ۰ تا ۳۶ میلی آمپر متغیر است و هر درایور حداکثر تا ۲ آمپر جریان میکشد. بر روی این درایور موتور ۴ پین هدر برای ورودی و اتصال به دو موتور DC قرار گرفته شده است. دو پین هدر دوبل برای فعال سازی پایه سیگنال PWM هر دو موتور قرار دارد. این بورد دارای ۳ ترمینال Terminal برای تغذیه است. تغذیه ۱۲ ولت برای اتصال ولتاژ خروجی مانند باتری، آداپتور و ولتاژ ۵ ولت ورودی برای اتصال به میکروکنترلر و در نهایت تغذیه GND است. بر روی برود ۴ خروجی با نام های OUT1، OUT2، OUT3 و OUT4 برای اتصال موتور DC قرار گرفته شده است.
مفهوم پل اچ H bridge در درایور L293 و L298
پُل اِچ به انگلیسی: H bridge نوعی مبدل است که در مدارات الکترونیکی یا الکترونیک قدرت مورد استفاده قرار میگیرد. پل H مداری است که در ابتدا برای کنترل موتور ها مورد استفاده قرار می گیرد. آن ها اجازه حرکت به جلو و عقب موتور ها را می دهند. بنابراین، موتور می تواند با قابلیت دو طرفه خود مورد استفاده قرار گیرد. برای ساخت پل H تنها راه استفاده از تراشه IC برای H-Bridge نیست، میتوانید آن را با اجزای ساده ای مانند ترانزیستور و مقاومت بسازید. اما در اینجا میخواهیم H Bridge با دو ماژول بسیار مهم و کاربردی را توضیح دهیم. درایور L293D از یک مدار یکپارچه با ولتاژ و جریان بالا با درایور ۴ کاناله تشکیل شده است. درایور L293D به عنوان مدار H Bridge شناخته میشود. مدار پل H، به ولتاژ اجازه میدهد در مسیر بار Load در خروجی به صورت ساعتگرد و پادساعتگرد حرکت کند. شماتیک مدار H Bridge به صورت زیر است:
به عنوان مثال در تصویر بالا با فعال بودن ماسفت (کلید) Q1 و Q4 موتور فعال شده و به سمت راست حرکت میکند. همچنین با فعال شدن ماسفت Q2 و Q3 موتور فعال شده و در جهت چپ (معکوس) حرکت خواهد کرد. با فعال شدن همزمان کلید Q1 و Q2 و یا Q3 و Q4 اتصال کوتاه در ولتاژ ورودی به وجود خواهد آمد. با غیر فعال شدن تمامی کلیدها موتور آزاد شده و ثابت خواهد بود. تراشه L293D توانایی درایو موتور تا ۳۶ ولت را خواهد داشت. توسط این تراشه هر کانال درایور موتور تا ۶۰۰ میلی آمپر جریان دهی خواهد داشت. از ویژگیهای این شیلد میتوان به داشتن ۲ کانکتور + ۵ ولت Dc اشاره کرد. همچنین دارای ۴ رابط کانکتور برای اتصال استپر موتور Stepper Motor و موتور ( ۲ استپر موتور + ۲ موتور DC) است. شیلد درایور موتور دارای ۶ پین برای اتصال دو سرو موتور Servo Motor است که با نام های SER1 و SERVO – 2 بر روی شیلد مشخص شده است. یک کلید ریست Reset پایین شیلد قرار گرفته شده است. ولتاژ ورودی شیلد درایور موتور ۴٫۵ تا ۱۲ ولت DC است. این شیلد قابلیت راه اندازی با میکروکنترلر آردوینو Arduino UNO و Arduino Mega2560 را دارد.
اتصال L298 به آردوینو
پایه IN1 ماژول درایور موتور L298 را به پایه ۹ دیجیتال آردوینو Arduino اتصال دهید.
پایه IN2 ماژول درایور موتور L298 را به پایه ۸ دیجیتال آردوینو Arduino اتصال دهید.
پایه Enable A ماژول درایور موتور L298 را به پایه ۱۰ دیجیتال آردوینو Arduino اتصال دهید.
پایه IN3 ماژول درایور موتور L298 را به پایه ۷ دیجیتال آردوینو Arduino اتصال دهید.
پایه IN4 ماژول درایور موتور L298 را به پایه ۶ دیجیتال آردوینو Arduino اتصال دهید.
پایه Enable B ماژول درایور موتور L298 را به پایه ۵ دیجیتال آردوینو Arduino اتصال دهید.
اتصال موتور DC به درایور L298
یک قطب موتور A را به خروجی OUT1 درایور موتور L298 اتصال دهید.
قطب دیگر موتور A را به خروجی OUT2 درایور موتور L298 اتصال دهید.
یک قطب موتور B را به خروجی OUT3 درایور موتور L298 اتصال دهید.
قطب دیگر موتور B را به خروجی OUT4 درایور موتور L298 اتصال دهید.