آموزش ساخت ربات مسیریاب (درایور)

سلام!

علت تعدد سیمهای استپر موتور رو فهمیدیم و دونستیم چطور باید این سیمها ۰ و ۱ بفرستیم تا باعث حرکت موتور بشیم. همچنین در قسمتهای اولیه آموزش ساخت ربات (میکروکنترلر) فهمیدیم که میکرو دارای تعدادی پورت هستش که هر کدوم از این پورتها از ۸ تا بیت تشکیل شده و میشه این بیتها رو تغییر داد (۰ و ۱ کرد). خوب حالا حتما فکر می کنید میشه چهارتا سیم موتور رو به چهارتا پین از یه پورت (دلخواه) میکرو وصل کنیم و با تغییر متناوب بیتها (۰۰۰۱ ، ۰۰۱۰ و...) می تونیم باعث چرخش موتورمون بشیم.
اما واقعیت اینه که کمتر مصرف کننده ای رو میشه به صورت مستقیم به پایه های میکرو وصل کرد. علتش هم اینه که شایه های میکرو نمی تونن بیشتر از ۲۰ میلی آمپر رو سینک کنند (عبور بدن).

برای مثال فرض کنید یک LED داریم با آمپراژ مصرفی 50mA ، اگر سر مثبت اون رو به ولتاژ وصل کنیم و سر منفی اون رو به یه پین از میکرو وصل کنیم و اون پین رو صفر کنیم (به معنی GND کردن اون) باعث سوختن حداقل همون پین میکرومون میشیم. این بخاطر جریان کشیدن بیش از توان میکرو هستش، برای همین باید بین پین و پایه منفی LED یا پایه LED و سر مثبت منبع یه مقاومت مناسب قرار بدم. همین اتفاق در مورد استپر موتور صادقه فقط با مقیاس بزرگتر که دیگه جای شبه ای باقی نمیزاره به سوسک شدن میکروتون .

 برای جلوگیری از این پدیده از آیسی های رابط مخصوصی استفاده می کنند که اصتلاحا درایور نام دارند. باوجود تنوع زیاد درایور ها من از مدل ULN2803 که فکر می کنم یکی از رایجترین نوع برای ساخت ربات مسیریاب هستش استفاده می کنم. این درایور دارای ۱۸ پایه هستش. همونطور که در شماتیک درونی IC مشاهده می کنید پایه ۹ سر gnd و پایه ۱۰ سر vcc هستش و پایه های ۱ تا ۸ ورودی (در اینجا از میکرو) و پایه های ۱۱ تا ۱۸ خروجی (در اینجا به موتور) این آی سی هستند. در شکل نحوه رابط قرار دادن این آی سی بین ۴ پایه میکرو و ۴ سیم موتور رو مشاهده می کنید. راستی در این IC، پایه ۱۸ خروجی پایه ۱، پایه ۱۷ خروجی ۲، ۱۶ خروجی ۳ و... می باشد.

البته همونطور که در قسمت کنترل استپ موتور اشاره کردم بیت های ارائه شده در جدولهای پست قبل باید به صورت نقیض به موتور ارسال بشن. مثلا ۰۰۰۱ که از میکرو میاد باید به صورت ۱۱۱۱۰ به موتور ارسال بشه، چون می خواهیم سیمهای استپر رو به ترتیب ۱ های جدول GND کنیم و صفر به معنی GND هست نه ۱ (قبلا کفته بودم) !!!   یکی از کارهای مهم این IC هم همین هستش و خروجی های میکروی مارو که طبق جدول های پست قبل هست نقیض (NOT) میکنه و به موتور میفرسته.در ضمن از اونجایی که این درایور ۸ تا ورودی و ۸ تا خروجی داره، ما میتونیم هر دوتا موتورمون رو (برا مسیریاب ۲ تا استپر موتور لازم داریم) فقط با یه درایور راه بندازیم. ۴ تا ورودی و ۴ تا خروجی برای ۱ موتور و یه جفت ۴ تایی باقی مونده هم برای موتور دوم. مثل شکل قبل.

 

 ایشالله از جلسات بعد با میکرو کار خواهیم کرد. پس فعلا بای