Quantcast
Channel: دانلود فایل رایگان
Viewing all articles
Browse latest Browse all 46175

مقاله در مورد روبات تعقيب خط

$
0
0
 nx دارای 118 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است فایل ورد nx  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد. این پروژه توسط مرکز nx2 آماده و تنظیم شده است توجه : در صورت  مشاهده  بهم ريختگي احتمالي در متون زير ،دليل ان کپي کردن اين مطالب از داخل فایل ورد مي باشد و در فايل اصلي nx،به هيچ وجه بهم ريختگي وجود ندارد بخشی از متن nx : روبات تعقیب خط روبات تعقیب خط چیستروبات تعقیب خط ماشینی است که می تواند یک مسیر را دنبال کند. مسیر می تواند مرئی باشد مانند یک خط مشکی بر یک سطح سفید (تعقیب خط) و یا نامرئی مانند یک میدان مغناطیسی در فضای ازاد باشد. هدف طی مسیر بابیشترین سرعت و کمترین خطا نسبت به مسیر تعیین شده است. کاربرد های عملی یک چنین روباتی شامل اتومبیل های خودکار که جاده را از طریق یک مسیر راهنمای مغناطیسی دنبال می کنند یا روبات های کارگر که در کارخانه ها مسیر مشخصی را از طریق خطوط رنگی حک شده بر کف ان طی می کند می شود. شکل 1-1 شمای یک روبات تعقیب خطروبات تعقیب خط روباتی ایده ال برای روبات سازان اماتور می باشد. حس کردن خط و واداشتن روبات به حرکت بر روی ان به همراه اصلاح دائمی حرکت های نادرست از طریق یک مکانیزم فیدبک یک حلقه بسته ساده را ایجاد میکند.صورت مسئله ساخت روبات تعقیب خط در مسابقات مختلف دارای جزئیات زیاد و بعضا متفاوتی است اما اصل موضوع در همه انها این است که روبات باید بتواند یک خط مشکی به عرض 18 سانتی متر(معمولا چسب برق) را در یک صفحه سفید دنبال کند.یعنی وقتی در ابتدای خط مشکی تنظیم و سپس روشن شود بدون نیاز به دخالت کاربر به دنبال خط مشکی حرکت کند در شکل بالا روباتی که قصد ساختن ان را داریم به همراه مسیر ان مشاهده می شود. البته در بعضی روبات های پیشرفته تر نیازی به تنظیم کردن روبات روی خط مشکی نیست و خود روبات به صورت هوشمند خط را پیدا می کند که این بخاطر برنامه خوب نوشته شده برای میکرو ان توسط سازنده است. در روباتی که در این پروژه ساخته می شود سعی شده است این اصل رعایت شود. 1-2 بلوك دیاگرام یك روبات تعقیب خطاز نظر كلی هر روبات باید• از طریق سنسورهایش ( حسگرها ) اطلاعاتی را از دنیای خارج جمع آوری كن د • این اطلاعات را به اطلاعات قابل فهم مغز پردازشگر خود تبدیل و به آن منتقل كند• بر طبق برنامه ریزی قبلی ، اطلاعات را پردازش و تصمیم مناسب را اتخاذ كند • تصمیمات نهایی را به كمك عملگرهایش اجرا كند. تفاوت روبات های مختلف به ماهیت این مراحل برمی گردد .روبات تعقیب خط هم همین اجزاء را درون خودش دارد :• برای حس كردن خط به دست كم دو سنسور نوری كه تفاوت رنگ سفید و مشكی را درك كنند نیاز دارد . این سنسورها انواع مختلفی مانند دیود مادون قرمز ، مقاومت متغیر با نور (فوتوسل )، فوتو – ترانزیستور و . . . دارند .• اطلاعات سنسور از طریق یك مدارسوییچ یا مبدل آنالوگ به دیجیتال به واحد پردازشگر منتقل می شود . • مغز پردازشگر این روبات می تواند یك مدار منطقی یا یك میكروكنترلر از هر نوعی باشد . روبات باید در قبال منحرف شدن خط ، واكنش مناسب نشان دهد.• تصمیم واحد پردازشگر مبنی بر ادامه مسیر یا پیچیدن به چپ و راست از طریق فرمان هایی كه به موتورهای روبات كه ممكن است از نوع DC ( آرمیچر) یا پله ای ( Stepper ) باشند داده می شود ، انجام می پذیرد . بلوك دیاگرام یك روبات تعقیب خط با دو سنسور را در شكل مقابل می بینید : 1- 3 عملكرد روبات تعقیب خطروبات تعقیب خط دست كم دارای دو سنسور نوری است كه دو طرف مشكی در زمینه سفید قرار می گیرند ( تعداد سنسورها به طریقی كه خواهیم دید می توان بیش از دو عدد باشد )برای اشکار سازی یک مسیر رنگی بر روی سطحی که اختلاف رنگ زیادی با مسیر دارد(مسیر مشکی بر سطح سفید یا مسیر سفید بر سطح مشکی) عموما از حسگرهای مادون قرمز استفاده می شود. هر حسگر بر اساس انکه بر روی مسیر رنگی قرار داشته باشد یا خیر یک سیگنال خروجی انالوگ تولید می کند.مدارات الکترونیکی برخی از روبات های تعقیب خط ابتدا سیگنال تولید شده را توسط یک مقایسه کننده با یک مدار مرجع مقایسه و نتیجه ی دیجیتال حاصل که یکی از دو حالت “روشن” یا “تیره” است را به قسمت کنترلر ارسال می کنند. بدین ترتیب اطلاعاتی که از حسگر به دست می اید فقط دارای دو حالت “حسگر بر روی مسیر قرار دارد” و ” حسگر خارج از مسیر قرار دارد” خواهد بود و هیچ حالت دیگری در این بین وجود نخواهد داشت.در مقابل در برخی دیگر از روبات های تعقیب خط سیگنال انالوگ حسگرها توسط مبدل انالوگ به دیجیتال به مقادیر دیجیتال تبدیل شده و به بخش کنترلر فرستاده می شود. با این روش معلوم می شود که هر حسگر تا چه اندازه بر روی مسیر قرار دارد یا از ان منحرف شده است. که البته روباتی که قصد ساخت ان را داریم از روش اول بهره می گیرد یعنی اطلاعات هر سنسور را توسط یک مقایسه کننده به صورت یک یا صفر تبدیل کرده بعد به کنترلر ارسال می کند.اطلاعات ارسالی از سنسورها که ممکن است به صورت انالوگ یا دیجیتال (صفر و یک) باشد به بخش پردازشگر روبات که می تواند از مدارات منطقی یا یک میکر کنترلر تشکیل شده باشد فرستاده می شود دراین قسمت که در واقع مغز روبات می باشد با استفاده از اطلاعات سنسورها وضیعت روبات را نسبت به خط (میسر) تشخیص داده و برای ادامه یا اصلاح مسیر دستوراتی را به موتورها و یا عملگرها ی روبات ارسال می کند که ممکن است روبات به سمت چپ یا راست یا میسر مستقیم حرکت کند. دستورات بخش پردازشگر به صورت دیجیتالی (صفر یا یک) است که توسط قسمتی به نام درایور باید تشخیص داده شود وموتورها را کنترل کند. در واقع ما بین پردازشگر و موتورها یا عمل کننده ها بخشی به نام درایور داریم.در زیر عملکرد یک روبات تعقیب خط 2 سنسوره را طبق انچه در در قسمت فوق توضیح داده شد به صورت گرافیکی مشاهده می کنید: شکل 2-1 عملکرد یک روبات تعقیب خطروبات های تعقیب خط را بر اساس ساختار حرکتشان می توان به انواع مختلفی تقسیم کرد که در زیر چند نمونه را مشاهده ذکر شده:1- حرکت تانکی2- یا حرکت با 4 چرخ 3 موتور که 2 موتور برای حرکت به جلو و یک برای چرخش به چپ یا راست3- یا حرکت با 2 چرخ و 2 موتور و یک سکان که 2 موتور علاوه بر حرکت به جلو وظیفه چرخش به چپ یا راست را هم دارد در شکل زیر انواع این روبات ها را مشاهده می کنید: (2) (1) (2)شکل 1-3 انواع روبات تعقیب خط 1- حرکت با چهار چرخ و سه موتور ـ 2ـ حرکت با دو چرخ و دوموتور ویک سکان روباتی که ما قصد ساختن ان را در این پروژه داریم از سیستم نوع سوم برای حرکتش بهره می گیرد حرکت این روبات به صورت زیر عمل می باشد: هرگاه روبات در حین حركت به انحرافی در خط مشكی برخورد كند ، یكی از سنسورهایش وارد خط می شود ؛ مثلاً اگر خط مشكی به راست منحرف شود ، سنسور سمت راست روبات وارد خط مشكی می شود . روبات باید با توجه به سنسوری كه وارد خط شده انحراف خط را متوجه شود و به همان جهت بپیچد . ساده ترین راه برای پیچیدن یك سمت ، خاموش كردن موتور همان سمت و ادامه كار موتور سمت مخالف است .برای پیچیدن به شیوه حرفه ای تر می توانید به جای خاموش كردن موتور سمت موافق ، آن را در جهت معكوس بچرخانید . با این كار روبات در حین پیچیدن روی زمین کشیده نمی شود و می تواند درجا بچرخد .چرخیدن روبات باید تا آن جایی انجام شود كه سنسوری كه وارد خط شده بود ، از خط خارج شود ؛ یعنی مجدداً تمام سنسورها خارج خط قرار گیرند تا روبات بتواند به حركت عادی خود ادامه دهد . در ادامه اجزای یك روبات تعقیب خط را معرفی می كنیم. 2- 1سنسورهای روبات تعقیب خطهمان گونه كه گفته شد ، روبات تعقیب خط باید از طریق سنسورهایش خط را حس كند و انحراف آن را تشخیص دهد . برای این كار به یك سنسور نوری نیاز داریم . بلوك دیاگرام سنسور نوری به شكل روبرو است : یك فرستنده نوری و یك گیرنده نوری را زیر روبات كنار هم قرار می دهیم ؛ به صورتی كه گیرنده مستقیماً در معرض نور ارسالی از فرستنده نباشد و تنها انعكاس آن از سطح مقابل را دریافت كند . از آن جایی كه مقدار نور بازگشتی از سطح مشكی كمتر از مقدار نور بازگشتی از سطح سفید است ، به كمك تحلیل مقدار نور دریافتی از سطح ، می توان مشكی و سفید بودن سطح را تشخیص داد . شكل زیر را ببینید : شکل 2-1 چگونگی قرارگرفتن دیودها در ذیل سه نوع سنسور نوری مختلف را بررسی می كنیم :2-1-1 دیود مادون قرمزفرستنده و گیرنده مادون قرمز دو دیود كاملاً مشابه هستن د . یكی از آن ها امواج مادون قرمز را از خود ساطع و دیگری دریافت می كند . مدار فرستنده مادون قرمز به شكل زیر است : مدار گیرنده ماون قرمز را ببینید :توجه كنید كه دیود گیرنده در بایاس معكوس بسته شده است ؛ بنابراین اگر میزان نور مادون قرمزی كه به آن می تابد كم باشد ( مثلاً هنگام بازتابش از سطح مشكی) دیود هدایت نمی كند و ولتاژ out بالا خواهد بود . اگر نور مادون قرمز به میزان زیاد به دیود بتابد ، هدایت می كند و ولتاژ out پایین می رود . بنابراین اگر برای تشخیص خط مشكی در زمینه سفید در روبات تعقیب خط از دیودهای مادون قرمز استفاده كنید ، در حالتی كه فرستنده / گیرنده مقابل سطح سفید قرار دارد ، ولتاژ out پایین تر از وقتی است كه فرستنده / گیرنده وارد خط شده است .2-1-2 مقاومت متغیر با نور ( فوتو – رزیستور یا فوتوسل )مقاومت های معمولی تحت شرایط مختلف ( جریان ، توان ، دما ، فشار ، رطوبت ، نور ، . . . ) مقاومت تقریباً یكسانی دارند ( البته وقتی این شرایط در بازه های مجاز مربوط به آن مقاومت تغییر كنند ) . اما مقاومت هایی نیز وجود دارند كه با تغییر شرایط ، مقاومت متغیری از خود بروز می دهند؛ مثلاً ترمیستور یك مقاومت متغیر با دما است و با تغییر دمای محیط مقدار مقاومت آن تغییر می كند . از ترمیستور به عنوان سنسور دما می توان استفاده كرد .فوتوسل (Photocell) مقاومت متغیر با نور معمولی است . مقدار این مقاومت بسته به مقدار نوری كه به آن می تابد تغییر می كند . برای استفاده از این سنسور در روبات تعقیب خط كافی است آن را همراه با یك فرستنده نوری معمولی مثلاً یك LED به كار برید . بهتر است رنگ LED را شکل 2-2 مدار مقاومت متغیر بانور طوری انتخاب كنید كه بیشترین درخشش را داشته باشد ( مثلاً نارنجی تند ) . مدار زیر را ببینید بسته به مقدار نور انعكاسی از سطح (‌ كه به سفید یا مشكی بودن آن بستگی دارد) ، ولتاژ Vout تغییر می كند . به بیان دیگر ، ولتاژ Vout با توجه به مقدار مقاومت فوتوسل و مقاومت سری شده با آن ، در دو سطح مشكی و سفید دو مقدار متفاوت دارد . از روی مقدار این ولتاژ ، روبات می تواند خط را تشخیص دهد . 2-1-3 فوتو – ترانزیستوردر ترانزیستورهای معمولی دو پیوندی (BJT) ، مقدار جریان lc كه از كلكتور به امیتر جریان دارد ، بسته به جریان lB كه به بیس آن ها وارد می شود تغییر می كند . بنابراین با یك پیكربندی مناسب می توان با تغییر ولتاژ ( جریان ) بیس ، ولتاژ كلكتور را تغییر داد .در فوتو – ترانزیستور ، آن چه باعث تغییر جریان كلكتور به امیتر می شود ، نه جریان بیس ، بلكه نوری است كه به بیس می تابد . بنابراین بسته به نوری كه به بیس فوتو – ترانزیستور می تابد ( كه با انعكاس از دو سطح سفید و مشكی متفاوت است ) ، ولتاژ كلكتور تغییر می كند . این نور بسته به نوع فوتو-ترانزیستور ، می تواند نور معمولی یا مادون قرمز باشد . مدار فرستنده –گیرنده فوتو-ترانزیستور به مدار فوتوسل شباهت زیادی دارد .حال با توجه به معرفی و بررسی انواع سنسورهای مادون قرمز ما در این پروژه برای روبات خود از سنسورهای نوع مادون قرمز استفاده می کنیم.در ذیل سنسور مادون قرمز CNY70 که ما در این پروژه قصد داریم از ان استفاده کنیم به همراه Datasheet ان تشریح می شود. شکل 2-3 مدار فوتو ترانزیستور 2- 2 سنسور CNY70این سنسور به صورت یک بسته حاوی دو عدد سنسور مادون قرمزاست. یک سنسور فرستنده و سنسور دیگر گیرنده می باشد. برای اینکه روبات شما بهتر کار کند بهتر است بجای استفاده از دو سنسور مادون قرمز به صورت مجزا از این packeg سنسور استفاده کنید. در این سنسور پایه های بلندتر در هر سمت سمت آند و پایه های کوتاهتر سمت کاتد است. با استفاده از این نوع سنسور میزان خطاها تا حد قابل ملاحظه ای کاهش می یابد. شکل 2-4 نمایی از یک سنسور CNY70 2-3 تعداد سنسورهاشیوه های زیادی برای دنبال کردن یک خط توسط روبات وجود دارد که در تمامی آنها از تعدادی سنسور برای این کار استفاده می شود. اگر خط تنها پیچ و انحراف داشته باشد ، دو سنسور كه دقیقاً دو سمت خط قرار گرفته باشد ، كافی است . اما معمولاً در مسابقات رسمی ، خط دارای بریدگی ها و تقاطع هایی با زوایا و اندازه های مختلف است . اگر تنها از دو سنسور استفاده كنید ، ممكن است خط را گم كنید . بنابراین اگر چند سنسور در فواصل و زوایای مختلف تعبیه كنید مفید خواهد بود . اکنون حالت های مختلف سنسورها از لحاظ تعداد و نحوه چیدن انها را بررسی می کنیم. در واقع قصد داریم درباره ی تاثیر تعداد سنسورها در توانایی روبات برای تعقیب خط بحث کنیم و در نهایت بهترین حالت را برای روبات خود انتخاب می کنیم . 2-3-1استفاده از یک سنسور: (The Edge Finder) در این حالت تنها یک سنسور وظیفه ی دنبال کردن خط را بر عهده دارد و عملا یک لبه از خط با تغییر مکان از سیاه به سفید توسط ربات درک میشود. یک موتور وقتی فعال میشود که خط دیده می شود و موتور دیگر وقتی که خط توسط سنسور دیده نمیشود فعال می شود. این روش تنها برای سرعت های بسیار کم قابل استفاده است و در سرعت های بالاتر کاربرد ندارد. واضح است در صورتی که ربات در لبه ی دیگر ربات قرار بگیرد در جهت مخالف حرکت خواهد کرد و یا اگر ربات خط را گم کند در یک مدار دایره ای برای همیشه چرخش خواهد کرد. از این نوع سنسور به ندرت همراه با میکروکنترلرها استفاده میشود. در حالت باینری برای سنسورها تنها دو صورت صفر یا یک را میتوان در نظر گرفت.تنها حالت ها ی ممکن عبارتند از:Line off the – 0Line over the -12-3-2 استفاده از 2 سنسور : (The Line Avoider) استفاده از 2 سنسور شبیه به حالت یک سنسور می باشد با این تفاوت که هر سنسور به طور مجزا وظیفه ی کنترل یک موتور را دارد. سنسورها در دو طرف خط قرار میگیرند و از وارد شدن به خط اجتناب می کنند. روبات در این حالت بهتر از حالت قبل کار می کند اما با گم کردن خط دچار سرگردانی می شود دلیل این اتفاق این است که ربات نمی تواند اختلاف بین در خط قرار گرفتن با بیرون خط بودن را درک کند. در این حالت در صورتی که از میکرو کنترلر استفاده شود میتوان بعضی از این مشکلات را از طریق نرم افزار برطرف کرد. در صورتیکه دو سنسور را به انداره ای نزدیک هم قرار داده باشیم که هر دو روی خط وسط قرار گرفته باشند می توانیم به این روش هم خط را دنبال کنیم که با خروج هر سنسور از خط موتور متصل به آن خاموش شود. حالت های ممکن برای این حالت عبارتند از:00- Straddling the line or lost the line 01 – Found right side of line 10 – Found left side of line 11 – Not used unless sensors are placed less than the line’s width apart 2-3- 3استفاده از 3 سنسور : (The Line Seer) حال با اضافه کردن سنسور سوم به روبات آن را از وجود خط و همچنین لبه های خط آگاه می کنیم. حالا روبات این برتری را دارد که از موقعیت خط آگاهی پیدا کند برای مثال گم کردن خط را توسط سنسور وسط درک کند. سنسور سوم همچنین میتواند در مسیر های دارای خمیدگی (انحناء) نقش بسیار زیادی را در کاهش سرعت برای بالا بردن دقت در عمل تعقیب خط و جلوگیری از گم کردن خط داشته باشد و سرعت را در مسیرهای مستقیم چندین برابر کند به این روش کنترل چند سرعته یا PWM گفته می شود.استفاده ار سنسور سوم در طراحی ها رایج است خصوصا در ربات هایی که در آنها از میکروکنترلر استفاده شده است.شرایط امکان پذیر برای این حالت عبارتند از:001 – Moving off the line to the left 010 – Centered over the line011 – Slightly off the line to the left100 – Moving off the line to the right101 – Not used 110- Slightly off the line to the right111 -Not used ,but could be used in the advanced or maze solving contests 2-3-4استفاده از 5 سنسور: (The Line Dancer)ممکن است این سوال مطرح شود که 3 سنسور برای کنترل کامل ربات کافی می باشد در اینصورت دلیل استفاده از 2 سنسور اضافه چیست؟استفاده از 2 سنسور دیگر به ترتیبی که در زیر نشان داده شده است قا بلیت اطمینان را بالا می برد و همچنین روبات می تواند پیچ های تند تر را نیز تشخیص دهد. صورت های ممکن برای این حالت : (تنها حالتهای مفید نوشته شده)00000- Lost line from overshoot or break in line 00001 – Almost off the line, steer hard right and reduce speed 00011- Near the right edge of the line, steer right 00010 – Right of the center of the line, steer right 00110 – Slightly to the right of the center of the line, slight correction to the right 00100 – Centered over line, increase speed for straight runs 01100 – Slightly to the left of the center of the line, slight correction to the left 01000 – Left of the center of the line, steer left 11000 – Near the left edge of the line, steer left 10000 – Almos t off the line, steer hard left and reduce speed 11111 – Line intersection or circle at end of mazeالبته باید در نظر داشت ممکن است سنسورها به صورت های گوناگون دیگری هم قرار بگیرند که بسته به فکر و برنامه شخص سازنده دارد.ما نیز قصد داریم از 5 سنسور مادون قرمز cny70 مطابق قسمت بالا استفاده کنیم.دقت داشته باشید که با در نظر گرفتن سنسورها به عنوان اعداد باینری به راحتی می توانیم تصمیمات منطقی خود را به برنامه تبدیل کنید.در ادامه انواع روش ها برای این کار بررسی می شود. ‌ 3-1تبدیل و انتقال خروجی سنسور به مدار پردازشگرخروجی هر كدام از مدارات سنسوری بخش قبل ، یك ولتاژ آنالوگ ( پیوسته ) بین صفر تا 5 ولت است كه بسته به این كه سنسور در محیط سفید یا مشكی باشد ، مقادیر مختلفی خواهد داشت . مثلاً فرض كنید خروجی یك سنسور نوری در محیط كاملاً سفید حدود 2/1 ولت است و با ورود كامل آن سنسور به خط مشكی خروجی سنسور 8/3 ولت می شود ( تلاش نكنید سنسور خود را طوری بسازید كه ولتاژ خروجی آن دقیقاً منطبق بر این مقادیر باشد ! این تنها مثالی برای درك شما از موضوع است ). مدار پردازشگر باید بر اساس این دو مقدار واكنش مناسب را نشان دهد و روبات را هدایت كند . اما مدارهای پردازشگر ( چه مدار منطقی و چه میكروكنترلر ) تنها مقادیر دیجیتال را می شناسند . یعنی باید با آن ها به زبان «صفر» و «یك» صحبت كرد .در منطق ولتاژهای دیجیتال ، از ولتاژ بین صفر تا حدود 8/0 ولت به «صفر منطقی» و از ولتاژ بین 3 تا 5 ولت به «یك منطقی» تعبیر می شود . بنابراین اگر مثلاً خروجی یك سنسور نوری در محیط كاملاً سفید 2/1 ولت و در محیط كاملاً مشكی 8/3 ولت باشد ، یك مدار منطقی یا میكروكنترلر هیچ دركی از آن نخواه داشت . بلكه این ولتاژها باید به مقادیر دیجیتال تبدیل شوند تا قابل درك توسط مدار پردازشگر باشند .برای تبدیل خروجی آنالوگ سنسور به مقدار دیجیتال دو راه وجود دارد :به كمك یك مدار سوییچینگ شما می توانید از روی خروجی آنالوگ سنسور ، «بودن» یا «نبودن» سنسور در خط را مشخص كنید .اگر از مدار مبدل آنالوگ به دیجیتال (A/D ) استفاده كنید ، می توانید درصد وارد شدن سنسور به خط را نیز تشخیص دهید . شکل 3-1 نمودار محدوده ولتاژ آنالوگ 3-1-1مدار سوییچینگبه كمك یك مدار الكترونیكی سوییچینگ می توان ولتاژ آنالوگ خروجی سنسور را به یك ولتاژ دیجیتال «صفر» یا «یك» قابل درك توسط مدار منطقی یا میكروكنترلر تبدیل كرد . به زبان ساده مداری می خواهیم كه مثلاً وقتی سنسور در منطقه سفید است «صفرمنطقی» و وقتی وارد منطقه مشكی می شود ، «یك منطقی» را به عنوان خروجی تولید كند . با ا ین كار ، مدار پردازشگر از روی این ولتاژ متوجه «ورود» یا «عدم ورود» روبات به خط مشكی می شود . بلوك دیاگرام مدار سوییچینگ به شكل زیر است : به یك نكته مهم توجه كنید . فرض كنید هنگامی كه سنسور كاملاً از خط مشكی خارج است ( در محیط كاملاً سفید است ) دارای خروجی 2/1 ولت می باشد و با ورود كامل به خط مشكی دارای ولتاژ 8/3 ولت می شود . می خواهیم این ولتاژهای آنالوگ را به كمك یك مدار سوییچینگ به گونه ای به یك ولتاژ دیجیتال تبدیل كنیم كه وقتی سنسور در منطقه سفید است «صفر منطقی» و وقتی وارد منطقه مشكی می شود ، «یك منطقی» را به عنوان خروجی داشته باشیم . هنگامی كه سنسور از زمینه سفید وارد خط مشكی می شود ، خروجی سنسور به مرور از 2/1 ولت تا 8/3 ولت تغییر می كند . شکل 3-2به نظر می آید روبات باید طوری طراحی شود كه با رسیدن ولتاژ خروجی سنسور به میانه این بازه ( مثلاً 5/2 ولت ) با توجه به این كه سنسور كم و بیش وارد خط شده ، خروجی مدار سوییچینگ از «صفر» به «یك» تغییر كرده و جهت حركت روبات تغییر كند . به این ولتاژ كه با گذر از آن عمل سوییچینگ اتفاق می افتد ، اصطلاحاً نقطه آتش (Trigger Poin ) گفته می شود. مقدار ولتاژ نقطه آتش چقدر باید باشد ؟ به بیان دیگر ولتاژ خروجی سنسور باید به چه حدی برسد تا نتیجه بگیریم سنسور وارد خط شده و جهت حركت روبات را اصلاح كنیم ؟ 5/1 ولت كم نیست ؟ 5/2 ولت بهتر نیست ؟ اصلاً بهتر نیست صبر كنیم سنسور كاملاً وارد خط شود و ولتاژ خروجی آن به 8/3 ولت برسد و بعد جهت حركت روبات را تغییر دهیم ؟واقعیت این است كه پاسخ به این سؤال به مكانیك و نیز مدار كنترلی روبات شما بستگی دارد . در واقع باید ببینید دقت چرخش روبات شما در چه حد است ؟ اگر می تواند بسیار سریع و دقیق بچرخد ، نیازی نیست خیلی زودتر از ورود كامل سنسور به خط به روبات فرمان چرخش داده شود . اما اگر چرخش روبات كند و همراه با خطاست ، شاید بهتر باشد زمانی كه نیمی از سنسور وارد خط شده فرمان چرخش بدهیم تا روبات در زمان مناسب بتواند بچرخد . اكنون می خواهیم یك مدار سوییچینگ بسازیم كه عبور ولتاژ خروجی سنسور از ولتاژ نقطه آتش را تشخیص دهد ؛ به بیان دیگر باید مداری طراحی كنیم كه مثلاً در ولتاژ ورودی كمتر از ولتاژ نقطه آتش ، خروجی «صفر» ( یعنی ولتاژی بین صفر تا 8/0 ولت ) و در ولتاژ ورودی بیشتر از ولتاژ نقطه آتش ، خروجی «یك» ( ولتاژی بین 3 تا 5 ولت ) بدهد . یك مدار منطقی یا میكروكنترلر می تواند از روی این خروجی «صفر» یا «یك» ، متوجه «ورود» یا «عدم ورود» روبات به خط مشکی بشود .ساخت مدار سوییچینگ راه های مختلفی دارد . 3-1-2مدار ترانزیستوریمدار روبرو را ببینید . مقاومت ها باید به نحوی انتخاب شوند كه ولتاژ خروجی ترانزیستور ( ولتاژ كلكتور ) در حالت های قطع و اشباع برابر ولتاژهای دیجیتال (حدود صفر و حدود 5 ولت ) باشد . اگر ولتاژ ورودی IN كم باشد ، ترانزیستور در حالت قطع بوده و ولتاژ خروجی آن ( ولتاژ كلكتور OUT ) «یك» خواهد بود . اگر ولتاژ ورودی ترانزیستور از حدی بالاتر برود ، ترانزیستور سوییچ كرده و وصل می شود و خروجی آن ( ولتاژ كلكتور ) از «یك» به «صفر» تغییر م ی كند . مدار منطقی یا میكروكنترلر از روی ولتاژ كلكتور متوجه ورود یا عدم ورود روبات به خط مشکی شده و تصمیم گیری لازم را انجام می دهد . برای مدارهای سوییچینگ استفاده از ترانزیستورهای 2N3904 یا 2N2222 یا ترانزیستورهای مشابه مناسب است . این مدار بیشتر در مواقعی استفاده می شود كه ورودی به سرعت تغییر كند ، و گرنه ممكن است خروجی OUT در منطقه غیر مجاز ( نه «صفر» و نه «یك» ) قرار گیرد . شکل 3-3 مدار ترانزیستوری 3-1-3مدار اشمیت تریگرمدارهای سوییچینگ بالا با عبور از یك ولتاژ نقطه آتش سوییچ می كنند . این مسأله ممكن است باعث دردسر شود . مثال قبلی را در نظر بگیرید ( خروجی سنسور نوری در محیط كاملاً سفید حدود 2/1 ولت و در محیط كاملاً مشكی حدود 8/3 ولت است و ولتاژ نقطه آتش را 5/2 ولت در نظر گرفته ایم .) فرض كنید سنسور در حال ورود به خط مشكی است ؛‌ بنابراین ولتاژ خروجی آن بالا رفته و سرانجام در حالی كه حدود نیمی از سنسور وارد خط شده است ، از 5/2 ولت می گذرد . خروجی مدار سوییچینگ تغییر كرده و به قسمت كنترلی اعلام می كند سنسور وارد خط شده است . روبات تغییر جهت داده و می چرخد تا سنسور را از خط خارج كند . همین كه بیش از نیمی از سنسور از خط خارج می شود ، ولتاژ خروجی آن از 5/2 ولت كمتر شده و خروجی مدار سوییچینگ به حالت قبل باز می گردد و به قسمت كنترلی اعلام می كند سنسور از خط خارج شده است . به محض این كه روبات كمی از جای خود حركت كند ، مجدداً خروجی سنسور از 5/2 ولت بیشتر شده و مدار سوییچ می كند ، باز سنسور از خط خارج می شود و مجدداً مدار سوییچ می كند و . . . .مشاهده می كنید كه با حركت سنسور در لبه خط كه ولتاژ خروجی آن در حدود ولتاژ 5/2 ولت نوسان می كند ، مرتباً مدار سوییچ از «یك» به «صفر» و بر عكس تغییر می كند و باعث می شود هیچ گاه روبات به درستی تنظیم نشود . برای حل این مشكل می توان به جای یك نقطه آتش ، دو نقطه آتش بالا ( UTP : Upper Trigger Point ) و نقطه آتش پایین ( LTP ) در نظر گرفت . در مثال قبلی ، به جای یك ولتاژ آتش 5/2 ولت ، یك ولتاژ آتش پایین به میزان 2 ولت و یك ولتاژ آتش بالا به میزان 3 ولت در نظر می گیریم . مداری طراحی می كنیم كه وقتی ولتاژ ورودی آن از ولتاژ آتش بالا بیشتر شد ، خروجی آن «یك» و وقتی ولتاژ ورودی آن از ولتاژ آتش پایین كمتر شد ، خروجی آن «صفر» شود . به این ترتیب مشكل قبلی حل می شود و دیگر مدار سوییچ پیرامون یك ولتاژ آتش مرتباً سوییچ نمی كند . به تكنیك فوق ، ایجاد هیسترزیس (Hysteresis) یا حافظه گفته می شود . شکل 3-4 استفاده از دو نقطه آتشبا استفاده از مدار دارای هیسترزیس با LTP = 2 (v) , UTP = 3 (v) ، وقتی سنسور وارد خط می شود ، مدار سوییچ بلافاصله واكنش نشان نمی دهد ، بلكه صبر می كند تا سنسور قدری بیشتر وارد خط شود و ولتاژ خروجی آن از 3 ولت بیشتر شود . در این حالت به روبات فرمان چرخش داده می شود . هنگامی كه كمی از سنسور از خط خارج شد ، باز مدار سوییچ بلافاصله دستور قطع چرخش می دهد . از معروف ترین مدارات ایجاد هیسترزیس ، مدار اشمیت تریگر ( Schmitt Trigger ) است كه شكل ترانزیستوری آن را در شكل زیر می بینید . شکل 3-5 مداراشمیت تریگربا تنظیم مقادیر مقاومت ها می توانید ولتاژ نقطه آتش بالا و نقطه آتش پایین را تنظیم كنید .مدار اشمیت تریگر را با آپ-امپ با فیدبك مثبت نیز می توان ساخت . توجه كنید عملكرد ا ین مدار عكس مدار اشمیت تریگر ترانزیستوری است ؛ یعنی با بیشتر شدن ولتاژ ورودی از UTP خروجی «صفر» و با كمتر شدن ولتاژ ورودی از LTP خروجی «یك» می شود .تراشه 74LS14 مدار اشمیت تریگر آماده را ( البته با تنظیمات مفصل ) ارائه می كند . شکل 3-6 مدار اشمیت تریگر با آپ ـ امپ 3-1-4تبدیل خروجی آنالوگ سنسور به ولتاژ دیجیتال به كمك A / Dمدارات سوییچینگ ، ولتاژ خروجی سنسور را به یك ولتاژ Vout ( با دو حالت «صفر» یا «یك» ) تبدیل می كنند ؛ به بیان دیگر ، به كمك خروجی دو حالته یك مدار سوییچینگ می توان تنها دانست آیا روبات وارد خط شده است یا خیر ؟ این در حالی است كه ولتاژ خروجی سنسور از وقتی در زمینه سفید است تا زمانی كه كاملاً وارد خط مشكی شود ، به مرور تغییر می كند . بنابراین اگر بتوانیم ولتاژ خروجی سنسور را نه به صورت یك رقم منطقی «صفر» یا «یك» ، كه مثلاً به كمك یك عدد 8 بیتی بیان كنیم ، آن گاه می توان به كمك 256 عدد مختلفی كه می توان با 8 بیت ساخت ، مقدار ورود سنسور به خط را نیز با دقت زیاد با عددی بین صفر تا 255 مشخص كرد . مدار مبدل آنالوگ به دیجیتال این كار را انجام می دهد . مثال قبلی را ( خروجی سنسور نوری در محیط كاملاً سفید حدود 2/1 ولت و در محیط كاملاً مشكی حدود 8/3 ولت است ) مجدداً در نظر بگیرید ؛ به كمك یك A / D مداری طراحی می كنیم كه اگر خروجی سنسور 2/1 ولت باشد خروجی A / D برابر صفر و اگر خروجی سنسور 8/3 ولت باشد خروجی A / D برابر 255 شود ؛ در این حالت می توان بر اساس عدد خروجی 8 بیتی A / D مقدار ورود سنسور به خط را دانست و براساس آن تصمیم لازم را اتخاذ كرد . مدار تراشه ADC804 را درشكل زیر می بینید .این مدار مرتباً ولتاژ Vin(+) – Vin(-) را به عدد 8 بیتی تبدیل كرده و روی پایه های DB0 تا DB7 نمایش می دهد . برای مثال بالا ، خروجی سنسور را به ورودی Vin(+) متصل كرده و به كمك یك پتانسیومتر ، ولتاژ 2/1 ولت را ساخته و به Vin(-) متصل می كنیم . در این حالت اگر سنسور در محیط كاملاً سفید باشد ( خروجی سنسور 2/1 ولت باشد ) ، خروجی A / D صفر ( DB7 – DBO = 00000000 ) و اگر سنسور در محیط كاملاً مشكی باشد ( خروجی سنسور 8/3 ولت باشد ) ، خروجی A / D برابر ( DB7 – DBO = 11111111 ) می شود . با اتصال DB7 – DBO به مدار كنترلی ( مثلاً میكرو كنترلر ) ، می توان بر اساس عدد 8 بیتی خروجی A / D تصمیم گیری لازم برای حركت روبات را انجام داد . مثلاً می توان خروجی A / D 127 ( DB7-DBO = 01111111 = 255/2 ) A / D را به عنوان نقطه آتش در نظرگرفت ؛ یعنی هر گاه میكرو كنترلر عدد 127 را از A / D دریافت كند ، می تواند نتیجه بگیرد كه نیمی از سنسور وارد خط شده و عمل تغییر جهت روبات انجام دهد . اگر بخواهید هیسترزیس را در سوییچ رعایت كنید ، می توانید دو نقطه آتش ( مثلاً UTP برابر 200 و LTP برابر 100 ) در نظر بگیرید و برنامه میكروكنترلر را طوری بنویسید كه این نقاط آتش رعایت شوند . 3-1-5 مدار سوییچ با آپ امپبه كمك تراشه های مقایسه كننده كه عموماً از نوع آپ امپ هستند و بدون فیدبك استفاده می شوند ، نیز می توان عمل سوییچینگ را انجام داد .ما نیز قصد داریم از این روش در روبات خود بهره گیریم پس ابتدا با ساختار اپ امپ ها اشنا می شویم 3-2آشنایی با تقویت كننده های عملیاتی (Opamp): شکل 3-8 نمونه ای از تقویت کننده های عملیاتی تقویت كننده های عملیاتی، تقویت كننده های كوپل مستقیم بوده، كه دارای گین(Gian) خیلی زیادی می باشند. كه مقدار این گین را با كمك مقاومت فیدبك می توان كنترل نمود. این تقویت كننده ها اكثراً در مدارات خطی بكار می روند و اغلب در مدارات غیرخطی نیز از آنها استفاده می شود. یك تقویت كننده عملیاتی ایده آل بایستی شرایط زیر را دارا باشد: ادامه خواندن مقاله در مورد روبات تعقيب خط

نوشته مقاله در مورد روبات تعقيب خط اولین بار در دانلود رایگان پدیدار شد.


Viewing all articles
Browse latest Browse all 46175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>