معماری
خانه / آموزش مجازی / رباتیک / دوره آموزشی ربات مسیریاب / جلسه LF,3.3 : بررسی مدار بخش بورد اصلی

جلسه LF,3.3 : بررسی مدار بخش بورد اصلی

بورد اصلی یا Main board اصلی ترین بخش ربات مسیریاب ما می باشد که وظیفه ی ان دریافت اطلاعات از سنسور ها، پردازش اطلاعات و در نهایت کنترل موتور ها می باشد.

بخش های مختلف مین بوردرا میتوان به صورت زیر تقسیم کرد:

۱- بخش دریافت اطلاعت آنالوگ از سنسورها و تبدیل آن به دیجیتال

۲- بخش پردازش اطلاعات و کنترل ربات

۳- بخش راه اندازی و کنترل موتورها

دریافت اطلاعات آنالوگ

تبدیل اطلاعات آنالوگ دریافتی از هریک سنسورها و تبدیل آن به دیجیتال توسط بافر انجام می گیرد. به شکل زیر دقت کنید:

 

همانطور که در جلسه ی قبل گفته شد دو حالت برای سنسور S اتفاق می افتد:

۱-حالتی که مقاومت S افزایش می یابد: در این حالت چون مقاومت S افزایش یافته است و مصرف کننده ای در مدار وجود ندارد ولتاژ Vcc به طور کامل وارد بافر می شود. در این مدار ولتاژ Vcc به طور کامل ۵v نمی باشد(دارای مقادیری نزدیک به ۵)، در چنین مواقعی وظیفه بافر رساندن ولتاژهای بالای ۳٫۲v به ۵v کامل است چرا که در میکروکنترلر دستور یک تنها با دریافت ۵v کامل مهیا می شود.

۲-حالتی که مقاومت S کاهش می یابد: در این حالت چون مقاومت S کاهش یافته است، این قسمت از مدار به منزله ی اتصال کوتاه در مدار خواهد شد که باعث بازگشت مقدار زیادی از ولتاژ Vccبه منبع تغذیه،از طریق GND خواهد شد. در چنین مواقعی ولتاژ اندکی به بافر وارد خواهد رسید.بافر ولتاژ های کمتر از ۳٫۲v را به ۰v تبدیل می کند که نتیجه ی آن دریافت دستور صفر توسط میکروکنترلر خواهد شد.

برای اطمینان از سالم بودن هر یک از سنسورها از قطعه ی بارگراف(BAR GRAF) استفاده خواهیم کرد. این قطعه از هشت LED تشکیل شده است. در شکل زیر یک قطعه بار گراف را مشاهده می کنید:

ربات ما متشکل از۲۴سنسور می باشد که ما با استفاده از سه عدد بارگراف می توانیم وضیعت تمام سنسور ها را در دست داشته باشیم.در بورد اصلی، بافر و بارگراف به طور سری به همدیگر متصل شده اند یعنی خروجی بافر به ورودی بارگراف وصل می شود اما از آنجایی که LED های به کارگرفته شده در بارگراف با ورود ولتاژ ۵vآسیب می بینند، به همین منظور از رسیستور پک بعد از بارگراف استفاده می کنیم تا هم از آسیب به آن جلوگیری کنیم و هم اینکه از از اتصال مستقیمپایه های میکروکنترلر به پایه منفی جلوگیری کنیم به شکل زیر دقت کنید:

در شکل بالا، خروجی بافر یا دارای ولتاژ ۵v و یا ۰v می باشد.اگر ولتاژ ۵ باشد LED ما روشن می شود و ولتاژ ما به اندازه ی جریانLED ضربدر مقاومت آن کاهش می یابد (v=5-ir) این به معناست که پایه هایی از میکروکنترلر که به سنسور ها اختصاص یافته و ولتاژ آنها را دریافت می کند، در این مدار مقدار”v=5-ir” را دریافت می کند و این مقدار برای میکروکنترلر تداعی کننده ی دستور یک خواهد بود. در حالت دوم به دلیل خروجی ۰v بافر، LED روشن نشده و همچنین میکروکنترلر ولتاژ ۰ دریافت خواهد کرد که همان دستور صفر خواهد بود.تاکنون بخش دریافت اطلاعات از سنسورها توسط میکروکنترلر را بررسی کردیم.

تغذیه

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

برای استفاده از ولتاژ دریافتی از باتری ها، ابتدا باید آنرا به ولتاژ مورد نیاز قطعات در بخش های مختلف تبدیل کنیم. بیشترین ولتاژ مورد استفاده ما در این مدار ولتاژ ۵v یا همان Vcc خواهد بود. برای تامین این ولتاژ از رگولاتور mp1584 استفاده خواهیم کرد.

شکلی که مشاهده می کنید مربوط به شماتیک و شمای فنی رگولاتور مورد نظر ما می باشد. رگولاتور ولتاژ مورد نیاز سنسور ها،بافر،رسیستور پک،بارگراف،میکروکنترلر،درایور موتور،ولت متر،… را در مدار ما تامین خواهد کرد. ولتاژ Vee، ولتاژ خروجی از باتری ها می باشد که مقدار آن به تعداد باتری های به کار گرفته شده بستگی دارد. ما در رباتی که در طول این آموزش ها خواهیم ساخت، از چهار باتری استفاده خواهیم کرد. ولتاژ Vcc نیز همانطور که در قبل اشاره کردیم دارای ولتاژ ۵v می باشد. Vee به پایه ی مثبت ورودی رگولاتور(in+) و همچنین قطب منفی این ورودی نیز به (in-) متصل شده است. دو خروجی که در شکل مشاهده می کنید(out+وout-) نیز مربوط به قطب مثبت و منفی Vcc می باشد.

علاوه بر رگولاتور ”mp1584” ما از رگولاتور دیگری به نام”lm2596” جهت تغذیه موتور ها استفاده خواهیم کرد که این رگولاتور فقط برای تامین ولتاژ موتور های ربات مسیریاب ما مورد استفاده قرار خواهد گرفت. تصاویر زیر مربوط به شماتیک و شمای فنی این این رگولاتور می باشد:

همانطور که در شکل اول مشاهده می‌شود ابتدا خروجی این رگولاتور به درایور موتور رفته سپس بوسیله ی درایور به خود موتور وصل خواهد شد. علاوه بر اتصال این خروجی به ورودی درایور، این خروجی را به یک ولت متر هم وصل خواهیم کرد. هدف از این اتصال صرفا دانستن ولتاژ انتقال یافته به موتور ها می باشد.

درایور

برای راه اندازی موتور ها ما به دایور نیاز داریم، چرا که میکروکنترلر دارای توان لازم جهت راه اندازی آنها نبوده و فقط دستور لازم جهت کنترل موتور ها را صادر می کند.

 

تصویری که مشاهده می کنید مربوط به شماتیک و شمای فنی درایور می باشد. درایور مورد استفاده در این مدار L298 می‌باشد. با استفاده از این درایور می توانیم جهت و سرعت دو موتور را کنترل کنیم. حال شروع به بررسی پایه های درایور مورد نظر می کنیم. با توجه به شماتیک این قطعه، پایه ۱۹و ۸ مربوط به تغذیه خود درایور می باشد، پایه ی ۴ نیز همانطور که قبلا اشاره ای به آن شده بود، خروجی رگولاتور LM2596 می باشد که بوسیله ی درایور به موتور ها انتقال می یابد. اما دستوراتی که برای کنترل موتور ها از میکروکنترلر صادر می شود توسط پایه های IN1وIN2 که مربوط به موتور راست و پایه های IN3وIN4 که مربوط به موتور چپ است انتقال می یابد همچنین [OUT1،OUT2] و [OUT3،OUT4]  خروجی دستورات مربوط به موتور های راست و چپ می باشد که مستقیما به موتور ها متصل خواهند شد. اما دلیل اینکه هر موتور دو ورودی می گیرد، تعیین جهت آن  می باشد.

میکروکنترلر

حال به بررسی حیات ترین بخش ربات یعنی میکروکنترلر می پردازیم.میکروکنترلر یک حافظه قابل برنامه ریزی می باشد ما در این ربات از میکروکنترلر ATmega32 استفاده خواهیم کرد.این آی سی دارای کارایی بالا و توان مصرفی کم می باشد. برحسب نیاز ما می توانیم از میکروکنترلر ATmega16 نیز استفاده کنیم. تفاوت این دو میکروکنترلر تنها در ظرفیت حافظه‌ آنها  می باشد. حال یک تصویر کلی از شماتیک میکروکنترلر ATmega32 را مشاهده می کنید:حال طبق روال گذشته شروع به بررسی پایه های میکروکنترلر می کنیم. پایه های SS مربوط به سنسورها می باشد که لازم به ذکر است که پایانه هایی که دارای نام SS0x می باشد مربوط به سنسور های سمت راست و SSx0 نیز مربوط به سنسور های سمت چپ می باشد که x نشان دهنده عدد سنسور مورد نظر می باشد.

پایانه های EM X نیز مربوط به دستورات موتور می باشد که همانطور که گفته شد به درایور متصل خواهند شد. اما همانطور که مشاهده می کنید پایه ۲۱ به یک LED متصل شده است که البته وجود آن ضروری نبوده اما می توان با برنامه ریزی مناسب از آن استفاه های هوشمندانه ای کرد برای مثال در زمین های که ربات با تغییر رنگ مواجه می شود می توان از این LED برای عملکرد صحیح ربات در تشخیص این زمین اطمینان حاصل کرد به گونه ای که باتغییر وضیعت زمین LEDروشن شود. به عنوان مثال دیگر میتوان از این LED برای آگاهی از زاویه های خاص در مسیر استفاده کرد.

اما پایانه ۳۰ ام که مربوط به تغذیه میکروکنترلر است که همانطور که در تصویر می بینید این پایانه علاوه بر Vcc به یک خازن ۲۲PF متصل شده است که هدف از آن جلوگیری از نوسانات احتمالی در Vcc است. با توجه اینکه اگر پایه ای بدون اتصال بماند نویز می گیرد، به همین دلیل یک خازن ۲۲PF نیز به پایه ۳۲ متصل می کنیم تا از نویزگیری آن جلوگیری کنیم.

پایانه های XTAL1&2 نیز جهت اتصال کریستال به میکروکنترلر می باشد که هدف از آن در ربات مسیریاب تغییر فرکانس کاری میکروکنترلر می باشد. البته چنین روشی توصیه نمی شود چرا که با افزایش فرکانس کاری میکروکنترلر امکان نویز پذیری، هنگ و حتی ریست شدن میکروکنترلر وجود دارد.

پایانه های MOSI،MISO،SCKوREST نیز برای پروگرم کردن میکروکنترلر استفاده می شود. پروگرمر دستگاهی است که به وسیله‌ی آن می توان میکروکنترلر را برنامه ریزی نمود. پروگرمر نیز دارای چنین پایانه های با نام های مذکور می باشد که در طی پروگرم کردن باید پایانه های همنام به هم متصل باشند تا انتقال فایل مورد نظر به طور کامل انجام گیرد. برای این اتصال می توان از روش های متعددی کمک گرفت. به شکل زیر دقت کنید؛

تصویری که مشاهده می کنید مربوط به یک پروگرمر می باشد به گونه ای که با خارج کردن میکروکنترلر از مدار ربات و قرار دادن آن در زیف سوکت، می توان برنامه مورد نظر را بر آن انتقال داد. اما می توان از روش های ساده تر و بهتری برای پروگرم کردن استفاده کرد. برای این کار ابتدا باید با نوع دیگری از پروگرمر آشنا شویم، به شکل زیر دقت کنید؛

همانطور که گفته شد تصویر مدنظر مربوط به نوعی پروگرمر می باشد. برای پروگرم کردن میکروکنترلر بوسیله ی این پروگرمر کافیست پایه های MOSI،MISO،SCKوREST میکروکنترلر را به پایه های همنام آن در پروگرمر متصل کنیم، اما برای راحتی کار، می توانیم از سوکت IDC برای اتصال پایه های همنام استفاده کنیم برای اینکار سوکت IDC در بورد اصلی قرارداده و پایه های MOSI،MISO،SCKوREST به آن متصل می کنیم. حال برا پروگرم کردن میکروکنترلر کافیست پروگرمر را بوسیله ی کابلی که در شکل نشان داده شده است به سوکت IDC مورد نظر (البته با رعایت کردن تناظر پایه ها) متصل کنیم.

در پایان بهتر است توضیحات بیشتری در مورد پایانه ی REST ارائه کنیم. این پایانه تنها در پروگرم کردن میکروکنترلر کاربرد دارد به طوری که ابتدا میکروکنترلر در هنگام پروگرم شدن ریست شده سپس برنامه مورد نظر در آن ذخیره می شود پس از ذخیره دوباره میکروکنترلر ریست می شود.اما همانطور که در شکل مشاهده می کنید، این پایانه هم به پایه RST پروگرمر و هم به منبع تغذیه Vcc متصل می شود، که دلیل این اتصال به منظور جلوگیری از بوجود آمدن نویز در این پایه می باشد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قالب وردپرس