معرفی ربات آتش نشان
یکی از کاربردهای رباتها در محیط های خطرناک، استفاده از آنها در حوادث آتشسوزی است. در بسیاری از آتشسوزیهایی که روزانه به دلایل مختلف روی میدهند، امکان دسترسی نیروی انسانی به تمامی نقاط و اقدام جهت خاموش کردن آتش وجود ندارد. در این گونه حوادث، هر لحظه امکان دارد نیروهای امداد و آتشنشان خود نیز گرفتار حریق و دیگر خطرهای احتمالی شوند. لذا به کارگیری رباتهای آتشنشان برای خاموش کردن آتش از اهمیت بسیاری برخوردار است.
در این پروژه، هدف ساخت رباتی است که به صورت خودکار وارد محیط حادثهزده شده و به بررسی دقیق آن بپردازد، منطقهی آتش گرفته را پیدا کند و بدون دخالت نیروی انسانی نسبت به خاموش کردن آن اقدام نماید.
الکترونیک ربات
به طور کلی تشخیص آتش از اثرات آن، یعنی دود، شعله و حرارت صورت میگیرد. در این پروژه معیار تشخیص آتش، شعلهی حاصل از ایجاد آن است& به این صورت که میزان تابش مادون قرمز موجود در فضا در هر لحظه اندازهگیری میشود و با بررسی آن، محل دقیق آتش شناسایی میشود. برای این کار از گیرندهی مادون قرمز استفاده شدهاست. برد گیرندههای مادون قرمز، به طور افقی در طبقه دوم با پیچ نصب شده است. به این صورت، ربات میتواند در یک نقطه بایستد و با برد گیرندههای مادون قرمز، تمام محیط اطراف خود را بررسی کرده و در صورت وجود آتش، مکان آن را شناسایی و گزارش کند. همان طور که اشاره شد، در پروژهی حاضر برای خاموش کردن آتش از کپسول آتشنشانی(نمونه آزمایشی: فن) استفاده شدهاست. کنترل ورود و خروج مادهی خاموشکننده از محفظهی کپسول به وسیلهی شیربرقی انجام می شود. کنترل این شیربرقی به وسیلهی رله صورت میگیرد و با وصل شدن کلید رله، شیر برقی باز میشود. مکانیابی ربات به وسیلهی ماژول قطبنما (Compass Module) صورت میگیرد. به این ترتیب، ربات در هر لحظه از وضعیت خود نسبت به مکان شروع حرکت آگاه است. تمامی دستورهای مربوط به حرکت، پیدا کردن آتش و اقدام جهت خاموش کردن آن از طرف سرور مرکزی صادر میشود. برای ایجاد ارتباط بدون سیم (wireless) میان میکروکنترلر و سرور مرکزی، ماژول Xbee مورد استفاده قرار گرفتهاست و ایجاد ارتباط توسط پروتکل USART میکروکنترلر AVR صورت میگیرد. در پروژهی حاضر، ربات باید قابلیت عبور از روی موانع و سطوح ناهموار را داشتهباشد، به منظور افزایش قدرت، برای کنترل چرخهای حرکتی از رله استفاده شدهاست.
مکانیک بات آتش نشان
کپسول آتش نشانی(یا فن) روی شاسی و در طبقهی دوم آن قرار دارد. طبقهی اول، بردها و صفحهی پردازشگر تصویر را شامل میشود. چرخها که به وسیلهی میلههایی از جنس پلکسی به شاسی متصل میشوند، میتوانند آزادانه حرکت کنند. حرکت آزادانه چرخها باعث می شود تا ربات به آسانی از سطوح ناهموار عبور کند. هر چرخ توسط موتوری که به آن متصل است به راه میافتد و ربات دارای 4 چرخ است.( 4 چرخ در طرفین)که 2 چرخ در چپ و 2تا در راست.
در حالت کلی یک ربات شامل 3 بخش زیر می باشد:
1- ورودی ها: شامل همه ی سنسورهای مختلف ربات که اطلاعات محیط رو اعم از میزان نور، میزان گازهای مختلف، درجه حرارت محیط و…. دریافت و در در اختیار بخش پردازش گر ربات قرار میدهند.
2- پردازشگر: اطلاعات ورودی ربات را دریافت و توسط مدارهای کنترلی (اعم از میکرو کنترولرها و مدارهای الکترونیکی دیگر) آنرا پردازش و تصمیم گیری می کند و تصمیمات رو در اختیار بخش های اجرایی ربات قرار می دهد.
3- خروجی ها(بخش های اجرایی): شامل موتورها، پمپ آب یا فن، LEDهای هشدار دهنده، آژیر خطر و…
که در آن ابتدا ربات به وسیله ی سنسورهای نوری(نوعی مقاومت نوری) و بخش پردازشگر ابتدا مکان آتش را بر روی زمین پیدا میکند.
مشخصات فنی ربات آتش نشان
روبات آتشنشان، روباتی است که توانایی یافتن و خاموش کردن آتش به وسیلهی مکانیزم خاص خود را داراست. اساس کار این روبات برای پیدا کردن آتش بر نور مادون قرمز ساطع شده از آتش استوار است. به این صورت که این روبات دارای 5 سنسور مادون قرمز (IR) در جلوی بدنهی خود است و طوری برنامه ریزی شده است که توسط اطلاعات ورودی از سنسورها مکان آتش را تشخیص داده و به طور اتوماتیک به سمت آن حرکت میکند. به محض رسیدن به آتش متوقف شده و با فن آتش را خاموش میکند(یا با آب یا با درپوش خفه کن). این درپوش از یک بدنهی آلومینیومی و پارچهی نسوز تهیه شده است. برنامهی روبات به زبان بیسیک نوشته شده و توسط میکروکنترلر AVR به اجرا درمیآید. در واقع میکروکنترلر همان مغز هوشمند روبات است که اطلاعات ورودی را پردازش نموده و در هر لحظه تصمیم مناسب را جهت چگونگی حرکت روبات و موتورها اتخاذ مینماید.
تئوری کار :
آیسی درایور موتور L298
قطعه ای است که توانایی راه اندازی دو موتور به طور هم زمان را دارد .یک قطعه فلز در پشت این ICتعبیه شده تا با انتقال گرما ازICبه محیط ,مانع گرم شدن بیش از حد IC شود که Heatsink نام دارد.
میکروکنترلر
در اصطلاح به ریز پردازنده هایی گفته می شود به جز CPU حداقل شامل سیستم های output و input حافظه و مدار های ارتباط با حافظه در داخل تراشه ی اصلی هستند. از این جمله می توان به میکروکنترلرهای 32 بیتی AVR32 , ARM و در پایان میکروکنترلرهای 8 بیتی AVR اشاره نمود.
رله
نوعی کلید الکتریکی سریع است که با هدایت یک مدار الکتریکی دیگر باز و بسته میشود.اغلب رله ها با مکانیزم الکترومغناطیسی طراحی شدهاند. از آنجا که رله میتواند جریانی قوی تر از جریان ورودی را هدایت کند،به معنی وسیع تر میتوان آن را نوعی تقویت کننده جریان نیز دانست.
سنسور مادون قرمز
اصول عملکرد تمام حسگر های نوری بر پایه ارسال و بازتاب نور مادون قرمز استوار است. یک فرستنده مادون قرمز امواج آن را به سطح مقابل می تاباندو امواج بازگشتی توسط گیرنده مادون قرمز دریافت می شود. با توجه به آن که رنگ سفید بیشترین بازتاب و رنگ سیاه کمترین بازتاب نور را دارد میتوان با توجه به شدت نور دریافت شده توسط گیرنده رنگ سطح مقابل حسگر را تعیین نمود. برای راه اندازی یک سنسور IR، کافی است که آن فرستنده را به VCC و کاتد ان را به وسیله ی یک مقاومت کوچک (100 یا 220 اهم) به زمین وصل نماییم.
سیستم مکانیکی و کنترلی ربات
همانطور که در بخشهای قبلی اشاره شد، این ربات دارای تواناییهای یافتن مکان آتش، توقف به محض رسیدن به آتش و خاموش کردن آن است. به منظور دست یابی به این تواناییها در بخش مکانیک برای خاموش کردن از یک درپوش آلومینیومی با پارچه ی برزنت استفاده شده است. این درپوش بر روی یک ورقه ی آلومینیومی 27×30تعبیه شده است که بوسیله ی پارچه ی برزنت واقع در میان آن بر روی آتش قرارگرفته و آن را خفه می کند(یا از طریق فن). این ربات دارای پنج سنسور است که آن سنسورها بر روی plexy glass در جلوی بدنه و دو سنسور در پایین بدنهی ربات بوسیلهی میلهی آلومینیومی نصب شده و مکان آتش راتشخیص میدهد.
روش کارکرد ربات آتش نشان
الگوریتم پیدا کردن آتش
یکی از مهمترین مشخصات آتش تابش نور و گرمای زیاد میباشد. مقاومت های نوری هم هر زمانی که نور بیشتری از محیط دریافت کنند مقاومت آنها کمتر میشود (در اینجا از مقاومت نوری به عنوان حسگر نور استفاده کردیم).
ربات برای پیدا کردن آتش در ابتدا به صورت ثابت به دور خود می چرخد. یک مقاومت نوری نیز در جلوی ربات قرار دارد . هنگامی که جلوی ربات در حین چرخش در مقابل آتش قرار بگیرد، نوری که به مقاومت نوری میرسد افزایش یافته و مقاومت آن کاهش مییابد. در نتیجه ربات توسط بخش پردازشگر وجود آتش را تشخیص میدهد. بخش پردازشگر دستور توقفِ چرخش و حرکت به سوی آتش را صادر میکند. این دستور توسط مدارهای واسط (در اینجا منظور مدارهایی است که برای تقویت و کنترل جریان طراحی میشوند) به موتورها منتقل و اجرا میشود و ربات به سوی آتش حرکت میکند.
الگوریتم خاموش کردن آتش
ربات در حال حرکت به سوی آتش میباشد، پس باید در یک فاصلهی مناسب از آتش که در آن فاصله به ربات آسیب نرسد بایستد و پمپ آب(یا فن) روشن کرده و آتش را خاموش کند. برای این کار یک مقاومت نوری دیگر را جوری بر روی ربات قرار میدهیم تا فقط هنگامی که ربات در بالا سر آتش قرار میگیرد این سنسور آتش را ببیند. (سنسور به صورت عمود بر زمین مسابقه و در ارتفاع حدود 2یا3سانتیمتری سطح زمین قرار میگیرد). پس هنگامی که این مقاومت نوری در مقابل آتش قرار گرفت، بخش پردازشگر به موتورها دستور توقف و به پمپ آب(یا فن) دستور پاشیدن آب را میدهد. به این ترتیب آتش خاموش میشود.
برای تشریح سادهترین روش پیدا کردن آتش، شکل زیر را در نظر بگیرید:
در شکل بالا روبات و آتش به صورت نمادین نشان داده شدهاند و قسمت جلوی ربات نیز با فلش مشخص شده است (در قسمت جلوی ربات باید یک چرخ هرزگرد نیز نصب شود). حال کافیست یک سنسور نوری را در جلوی ربات و در راستایی که فلش نشان میدهد نصب کنید (یعنی راستای دید سنسور در جهتی باشد که شکل نشان میدهد). این سنسور را با یکی از آن دو مدار راهاندازی کنید.
سادهترین الگوریتم کشف آتش این است که به ربات دستور دهیم تا در جا بهدور خود بچرخد، این امر باعث میشود سنسوری که در جلوی آن قرار دارد، کل زمین را با یک بار چرخیدنِ روبات ببیند. حال کافیست به روبات دستور دهیم که هر وقت سنسور جلوی روبات آتش را دید، چرخیدن را متوقف کنند و مستقیماً به سمت آتش حرکت کند. به این ترتیب ربات به سرعت میتواند آتش را پیدا کند و به سمت آن حرکت کند. این الگوریتم آنقدر ساده است که حتی بدون استفاده از مدارات میکروکنترلردار نیز میتوان آن را پیاده سازی کرد.
حالا مشکل این است که اگر روبات همینطور مستقیم به سوی آتش حرکت کند با آن برخورد خواهد کرد و احتمالاً آسیب خواهد دید. پس نیاز به سیستم دیگری داریم که روبات را در فاصلهی مناسبی از آتش متوقف کند تا از برخورد با آتش جلوگیری شود و روبات از آنجا بتواند آتش را با مکانیزمهایی که بعداً در مورد آن صحبت خواهیم کرد خاموش کند. این فاصله در حدود 20 سانتیمتر است که البته در مورد رباتهای مختلف متفاوت است. برای این کار نیز الگوریتم سادهای وجود دارد که باز هم با یک سنسور نوری معمولی مشکل ما را حل میکند. کافیست یک سنسور نوری را به شکلی بر روی ربات نصب کنید تا فقط هنگامی که ربات به آتش نزدیک شد این سنسور آتش را ببیند.
مهمترین نکتهی این روش هم مکان نصب این سنسور نوری است. این سنسور باید در قسمت جلوی ربات (در شکل بالا با فلش نشان داده شده است) و با ارتفاع 5 سانتیمتر از شاسی ربات نصب شود. جهت دید آن نیز باید عمود بر زمین مسابقه باشد. یعنی این سنسور باید بر روی یک پایهی 5 سانتی متر بر روی همان سنسور اول نصب شود، و زاویهی آن نیز عمود بر زمین مسابقه باشد (یعنی راستای دید آن به سمت کف زمین مسابقه باشد تا بتواند از بالا آتش را مستقیماً ببیند). به این ترتیب این سنسور فقط زمانی آتش را میبیند که ربات دقیقاً بر روی اتش قرار گرفته باشد، حال میتوان با کمی تغییر زاویهی این سنسور آن را طوری تنظیم کرد که از کمی عقبتر نیز همین سنسور آتش را ببیند.
در نهایت کافیست به ربات دستور دهیم تا به محض دیدن آتش توسط سنسور دوم، حرکت خود را متوقف کند و عملیات اطفا حریق را آغاز کند.
سیستمهای مختلف خاموش کردن آتش را مورد بررسی قرار دهیم.
یکی از سادهترین و رایجترین روشهای خاموش کردن آتش پاشیدن آب یا مواد ضد اشتعال دیگر بر روی آتش است. برای مجهز کردن ربات به این سیستم، فقط نیاز به یک عدد پمپ آب و یک مخزن کوچک برای ذخیرهی آب و یک مدار راه اندازی مختصر داریم. این روش از نظر پیچیدگی از سایر روشهای رایج سادهتر است و پیچیدگی مکانیکی و الکترونیکی زیادی هم ندارد.
منبع: میکرودیزاینرالکترونیک