معماری

جلسه LF,2.3

در بخش قبلی با نحوه ی کار سنسور های مادون قرمز به طور کامل آشنا شدید. فهمیدیم که سنسور ها اگر بالای یک سطح سیاه قرار بگیرند ولتاژ خروجی ۵ و اگر روی یک سطح سفید قرار بگیرند ولتاژ خروجی ۰ خواهد بود. اما همانطور که قبلا هم متذکز شدیم باید بدانید این ولتاژ خروجی دقیقا برابر ۰ یا ۵ ولت نمی باشد، بلکه نزدیک به آن ها یا عددی بین ۰ یا ۵ است.

مغز ربات ما میکروکنترلر است، پس همه اطلاعات در نهایت باید به آن فرستاده شود تا میکروکنترلر طبق برنامه ای که به آن داده ایم عملکرد ربات را تعیین کند. پس ما باید ولتاژ خروجی از سنسور ها را به میکرو انتقال دهیم تا میکروکنترلر متوجه شود که آیا مسیر سیاه هست یا سفید و طبق نتایج باعث عملکرد صحیح ربات شود. اما باید بدانید که میکرو فقط اطلاعات دیجیتال را دریافت و پردازش می کند و توانایی دریافت اطلاعات آنالوگ را ندارد. در ربات مسیریاب ما اطلاعات دیجیتال همان صفر و یک منطقی معادل با ۰ ولت و ۵ ولت می باشد. پس اطلاعاتی که به میکرو انتقال داده می شود باید یا ولتاژ ۰ باشد یا ولتاژ ۵ ولت.

اگر صفر ولت (صفر منطقی) به میکرو برود میکروکنترلر متوجه می شود که سطح سفید رنگ است و اگر ۵ ولت (یک منطقی) به میکروکنترلر برود میکروکنترلر متوجه می شود که سطح سیاه رنگ است.

اما همانطور که گفتیم ولتاژ خروجی از سنسور ها دقیقا ۰ یا ۵ ولت نیست. برای اینکه بتوانیم این ولتاژ نا معین بین ۰ و ۵ ولت را تبدیل به ۰ و ۵ ولت دقیق بکنیم نیازمند یک قطعه الکترونیکی آی بافر هستیم. آی سی های بافر انواع گوناگونی دارند و دارای کارکرد گسترده ای می باشند که از توضیح کاربرد های دیگر آن در این بخش خودداری کردیم.

مدل آی سی بافری که ما از آن در ربات خود استفاده خواهیم کرد، آی سی بافر ۷۴HC573 حساس به سطح می باشد.

همانطور که در شکل مشاهده می کنید بافر دارای بیست پایه است که هشت پایه ورودی (از D1 تا D8) و هشت پایه خروجی (از Q1 تا Q8) می باشد. دو پایه Vcc و GND برای تغذیه و دو پایه LE و OE هم برای فعال سازی LATCH و فعال سازی خروجی بافر وجود دارد. در مورد LATCH در ادامه مطلب توضیح داده خواهد شد.

در داخل بافر ها یک ولتاژ مرجع تعریف شده است که در بافر های گوناگون متفاوت می باشد. در بافری که ما استفاده می کنیم این ولتاژ مرجع ۳٫۲ ولت می باشد.

اساس کار بافر اینگونه است که اگر ولتاژ ورودی به بافر کمتر از ولتاژ مرجع ۳٫۲ ولت باشد بافر در خروجی ۰ ولت خواهد داد و اگر ولتاژ ورودی به بافر بیش از ۳٫۲ ولت باشد بافر در خروجی ۵ ولت خواهد داد که همان اطلاعات دیجیتال قابل پردازش توسط میکروکنترلر می باشد.

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

چون ۲۴ سنسور داریم و ورودی هر بافر هشت پایه دارد پس برای تبدیل اطلاعات ۲۴ سنسور به سه عدد بافر نیاز خواهیم داشت.

پایه LE یا فعال ساز LATCH

گفتیم یکی از پایه های بافر LE مخفف LATCH Enable یا همان فعال ساز LATCH نام دارد. بافر های دارای پایه LE یک حافظه موقت دارند اگر LACTH فعال باشد اطلاعاتی که وارد بافر می شود در حافظه موقت آن قرار می گیرد و وقتی اطلاعات دیگری وارد بافر شد اطلاعات قبلی پاک شده و اطلاعات جدید جایگزین می شود و به همین ترتیب با وارد شدن هر اطلاعات جدیدی اطلاعات قبلی از بین رفته و اطلاعات جدید جایگزین می شود. حال اگر LATCH غیر فعال شود آخرین اطلاعاتی که قبل از غیر فعال شدن LACTH وارد بافر شده است در حافظه موقت آن می ماند و هر چه اطلاعات جدید وارد بافر شود بافر آن ها را نادیده می گیرد و خروجی بر اساس همان اطلاعات قبلی که قبل از غیر فعال شدن LATCH در حافظه ذخیره شده خواهد بود.

یعنی اگر در ربات مسیریاب ما در حالی که ربات بر روی خط مستقیم حرکت می کند LATCH بافر غیرفعال شود ربات تغییرات مسیر را دریافت نخواهد کرد و همچنان با تغییر مسیر ربات به صورت مستقیم حرکت خواهد کرد و در نهایت از مسیر خارج خواهد شد. بنابراین در ربات مسیریاب همواره LATCH بافر را روشن خواهیم گزاشت تا آخرین تغییرات سنسور ها به میکروکنترلر ارسال شود.

برای فعال سازی LATCH باید ولتاژ مثبت Vcc یا ۵ ولت را به پایه LE متصل کنیم.

پایه OE یا فعال ساز خروجی بافر

یکی دیگر از پایه های بافر OE مخفف Output Enable یا همان فعال ساز خروجی نام دارد. اگر این پایه غیرفعال باشد هیچ اطلاعاتی از خروجی بافر به میکروکنترلر نمی رود و در واقع مسیر جریان بین سنسور و میکروکنترلر در بافر قطع می شود. پس حتما این پایه باید فعال باشد. اگر به شکل دقت کرده باشید بر روی OE یک خط گزاشته شده است. این خط به این معناست که پایه OE با ولتاژ منفی تحریک و فعال می شود. بنابراین برای فعال سازی خروجی بافر پایه OE را به GND یا منفی مدار وصل می کنیم.

می توان اینگونه فرض کرد که بافر در مدار ربات مسیریاب ما نقش نویزگیر دارد. مداری را فرض کنید که خروجی ان نزدیک به صفر ولت یا نزدیک به ۵ ولت است. این ولتاژ توسط میکروکنترولر قابل پردازش است. اگر این خروجی مستقیما به میکروکنترولر برود چون دقیقا صفر یا ۵ نیست و به صورت مداوم  در محدوده ی نزدیک به ۰ یا ۵ تغییر می کند( مثلا در لحظه ای ۰٫۱ و در لحظه ای دیگر ۰٫۲ است) مدار ما دارای نویز خواهد بود و در پردازش میکروکنترولر اختلال ایجاد خواهد شد. اما استفاده از بافر باعث می شود که ولتاژی که به میکروکنترولر می رود در یک عدد نزدیک به ۰ یا ۵ ثابت بماند و این باعث می شود که مدار ما نویز نداشته باشد. مثلا اگر ولتاژ خروجی از بافر که به میکروکنترولر می رود ۰٫۲ باشد همان ۰٫۲ باقی می ماند حتی اگر ولتاژ ورودی به بافر به ۰٫۱ یا ۰٫۳ تغییر کند. برای اینکه نحوه ی کار یک بافر را بطور عملی مشاهده کنید ازمایش زیر را طراحی کرده ایم:

ازمایش بخش قبلی که در رابطه با عملکرد سنسور ها بود را در نظر بگیرید در ازمایش جدید در مسیر راه خروجی مدار سنسور و LED نوری یک بافر قرار می دهیم. نتیجه ی ازمایش قبلی این گونه بود که وقتی سنسور کاملا بر روی سطح سیاه قرار می گرفت LED پرنور روشن می شد. اگر نیمی از سنسور روی سطح سفید و نیمی از ان روی سطح سیاه قرار می گرفت LED با شدت نور نصف حالت قبل روشن می شد. و به همین ترتیب بسته به اینکه چه مقدار از سطح سنسور بر روی سطح سیاه قرار می گیرد شدت نور LED متفاوت خواهد بود. ولی اگر بافر را همان گونه که گفتیم در مدار اضافه کنیم نتیجه این گونه خواهد شد که LED یا با بیشترین شدن روشن خواهد شد( وقتی که ولتاژ خروجی از بافر ۵ ولت باشد) یا اصلا روشن نخواهد شد( وقتی که ولتاژ خروجی از بافر ۰ ولت باشد).

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

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

قالب وردپرس