تبلیغات
با عرض سلام خدمت دوستان عزیز
امیدوارم ایام به کام همه‌ی دوستان خوبم باشه.
همان‌طور که در اوایل کار به دوستان عزیز وعده داده بودیم، بالاخره نوبت ساخت ربات آتش‌نشان است!!! برای دوستانی که با ربات‌های آتش‌نشان هیچ آشنایی ندارند ابتدا بهتر است یک سری به جلسات اولیه بزنند بعد مطلب این جلسه را دنبال کنند.

ابتدا مقدمه‌ای کوتاه در باب ربات‌های آتش‌نشان:

همان‌طور که می دانید ربات آتش‌نشان از نظر پیچیدگی‌های فنی، عموماً در سطح دانش‌آموزی رده‌بندی می‌شود. از آن‌جا که این لیگ جزو لیگ‌های رسمی فدراسیون جهانی روبوکاپ نیست، برای طراحی و ساخت این ربات‌ها قوانین ثابتی وجود ندارد و در هر مسابقه قوانینی ویژه‌ی همان مسابقات وضع می‌شود. در مجموع شاید بتوان گفت وجه اشتراک ربات‌های آتش‌نشان در تمام مسابقات فقط همین عملیات اطفأ حریق آن‌هاست. در مورد سایر ویژگی‌های این ربات ها در مسابقات مختلف، تقریباً نکته‌ی مشترکی وجود ندارد و در هر مسابقه قوانینی مختص همان مسابقه وضع می‌شود. مثلاً در یک مسابقه سطح زمین مسابقه از ماسه بادی پوشیده شده است و در دیگری سطح زمین مسابقه از جنس MDF سفید است. در حال حاضر معتبرترین مسابقاتی که این لیگ را نیز دارا هستند، جام دانشگاه امیرکبیر (AUT CUP) و مسابقات دانشگاه نوشیروانی بابل است.
همان‌طور که گفته شد، مهمترین ویژگی و توانایی یک روبات آتش‌نشان، قابلیت یافتن و خاموش کردن آتش است. اما در مسابقات مختلف، برای بالا بردن سطح فنی روبات‌ها، تعریف روبات را کمی پیچیده‌تر می‌کنند و به عنوان مثال قابلیت مسیریابی ساده را نیز به روبات اضافه می‌کنند و روبات باید بخشی از زمین مسابقه را با توجه به خط سیاهی که در زمینه‌ی سفید کشیده شده است پیمایش کند.
برای تشریح ساختار یک روبات آتش‌نشان، نخست می‌پردازیم به روش های مختلف کشف و خاموش کردن آتش:
همان‌طور که قبلاً هم گفته شد، آتش یک منبع پرنور در طیف مادون قرمز است، به بیان دیگر آتش به شدت از خود مادون قرمز گسیل می کند. در نتیجه راحت‌ترین روش برای آشکار سازی آتش و تشخیص آن استفاده از سنسورهای مادون قرمز معمولی است که در جلسه‌ی چهاردهم دو مدار برای راه اندازی آن ارایه شد. اما روش پیدا کردن آتش:
سیستم حرکتی روبات‌های آتش نشان معمولاً دیفرانسلی (مانند تانک) است.
برای تشریح ساده‌ترین روش پیدا کردن آتش، شکل زیر را در نظر بگیرید:


در شکل بالا روبات و آتش به صورت نمادین نشان داده شده‌اند و قسمت جلوی ربات نیز با فلش مشخص شده است (در قسمت جلوی ربات باید یک چرخ هرز‌گرد نیز نصب شود). حال کافیست یک سنسور نوری را در جلوی ربات و در راستایی که فلش نشان می دهد نصب کنید (یعنی راستای دید سنسور در جهتی باشد که شکل نشان می‌دهد). این سنسور را با یکی از آن دو مدار راه‌اندازی کنید. ساده‌ترین الگوریتم کشف آتش این است که به ربات دستور دهیم تا در جا به‌دور خود بچرخد، این امر باعث می‌شود سنسوری که در جلوی آن قرار دارد، کل زمین را با یک بار چرخیدنِ روبات ببیند. حال کافیست به روبات دستور دهیم که هر وقت سنسور جلوی روبات آتش را دید، چرخیدن را متوقف کنند و مستقیماً به سمت آتش حرکت کند. به این ترتیب ربات به سرعت می‌تواند آتش را پیدا کند و به سمت آن حرکت کند. این الگوریتم آنقدر ساده است که حتی بدون استفاده از مدارات میکروکنترلردار نیز می‌توان آن را پیاده سازی کرد.

حالا مشکل این است که اگر روبات همین‌طور مستقیم به سوی آتش حرکت کند با آن برخورد خواهد کرد و احتمالاً آسیب خواهد دید. پس نیاز به سیستم دیگری داریم که روبات را در فاصله‌ی مناسبی از آتش متوقف کند تا از برخورد با آتش جلوگیری شود و روبات از آن‌جا بتواند آتش را با مکانیزم‌هایی که بعداً در مورد آن صحبت خواهیم کرد خاموش کند. این فاصله در حدود 20 سانتی‌متر است که البته در مورد ربات‌های مختلف متفاوت است. برای این کار نیز الگوریتم ساده‌ای وجود دارد که باز هم با یک سنسور نوری معمولی مشکل ما را حل می‌کند. کافیست یک سنسور نوری را به شکلی بر روی ربات نصب کنید تا فقط هنگامی که ربات به آتش نزدیک شد این سنسور آتش را ببیند. مهمترین نکته‌ی این روش هم مکان نصب این سنسور نوری است. این سنسور باید در قسمت جلوی ربات (در شکل بالا با فلش نشان داده شده است) و با ارتفاع 15 سانتی‌متر از شاسی ربات نصب شود. جهت دید آن نیز باید عمود بر زمین مسابقه باشد. یعنی این سنسور باید بر روی یک پایه‌ی 15 سانتی متر بر روی همان سنسور اول نصب شود، و زاویه‌ی آن نیز عمود بر زمین مسابقه باشد (یعنی راستای دید آن به سمت کف زمین مسابقه باشد تا بتواند از بالا آتش را مستقیماً ببیند). به این ترتیب این سنسور فقط زمانی آتش را می‌بیند که ربات دقیقاً بر روی اتش قرار گرفته باشد، حال می‌توان با کمی تغییر زاویه‌ی این سنسور آن را طوری تنظیم کرد که از کمی عقب‌تر نیز همین سنسور آتش را ببیند.

در نهایت کافیست به ربات دستور دهیم تا به محض دیدن آتش توسط سنسور دوم، حرکت خود را متوقف کند و عملیات اطفا حریق را آغاز کند.


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

پمب آب :


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


نحوه‌ی استفاده :


این پمپ با ولتاژ 12 ولت راه اندازی می‌شود. وقتی به دو سر موتور این پمپ ولتاژ 12 ولت با جریان مناسب اعمال شود، این پمپ از دریچه‌ی 1 آب را به داخل می‌کشد و از دریچه‌ی 2 آب را با فشار به بیرون می‌پاشد. در نتیجه دریچه‌ی شماره 1 باید توسط یک شیلنگ به یک مخزن آب متصل شود و آب خروجی از دریچه‌ی 2 نیز باید توسط یک شیلنگ به سمتی هدایت شود که ربات بتواند آن را به روی آتش بریزد.
برای راه اندازی آن ابتدا سوکتی که بر روی دو سیم موتور نصب شده است با سیم چین جدا کنید (نیازی به آن سوکت نیست). حالا باید این دو سیم خارج شده از پمپ را توسط یک مدار کنترلی ساده کنترل کنید تا در مواقع لزوم پمپ روشن و خاموش شود.
مدار راه اندازی:
این پمپ جریان نسبتاً زیادی برای راه اندازی نیاز دارد، ما در اینجا قصد طراحی مداری را داریم که در آن یک خروجی 0 یا 5 ولت از میکرو کنترلر دریافت می‌کنیم و آن را به یک رله‌ی 5 ولت می‌دهیم تا رله تحریک شود، رله هم در حالت تحریک شده یک باطری 12 ولت را به پمپ متصل می‌کند. اما جریان خروجی میکروکنترلر ممکن است برای راه اندازی رله نیز کافی نباشد، در نتیجه از یک تقویت ترانزیستوری ساده نیز برای تقویت جریان خروجی میکروکنترلر به رله استفاده می‌کنیم. در نهایت مدار زیر را خواهیم داشت:


دقت کنید در این مدار ما از 2 منبع تغذیه استفاده می‌کنیم. یکی 12 ولت، یکی 5 ولت. ولتاژ 5 ولت برای استفاده در مدار میکروکنترلر، کلکتور ترانزیستور و در نهایت تحریک رله، و 12 ولت برای فعال سازی پمپ آب. همانطور که در جلسات گذشته گفته شد، برای تحریک رله‌ی 5ولت باید به پایه‌های تحریک آن ولتاژ 5 ولت بدهیم. در مدار بالا نیز پس از تحریک رله، ولتاژ 12 ولت به پمپ منتقل می‌شود و باعث فعال شدن آن می‌شود.
اما بپردازیم به راه‌های دیگری که برای خاموش کردن آتش وجود دارد. یکی دیگر از مطرح‌ترین روش‌ها برای خاموش کردن آتش، روش خفه کردن آن است.

روش خفه کردن آتش :


در این روش با گذاشتن یک در پوش بر روی ظرفی که در آن آتش درست شده است، مانع رسیدن اکسیژن به آتش می‌شویم و به این طریق آتش به سرعت خاموش می‌شود.



این روش سرعت بسیار مناسبی دارد و اگر به درستی اجرا شود بسیار سریعتر از روش قبلی می‌تواند آتش را خاموش کند. اما پیاده سازی این سیستم بر روی روبات کمی پیچیده است. پیچیدگی مکانیکی این سیستم نسبتاً بیشتر از سیستم قبلی است و نیاز به طراحی مکانیکی دقیق و کمی تجربه در این زمینه دارد.
برای خاموش کردن آتش روش‌های ابتکاری دیگری هم وجود دارد، از دوستان عزیز هم تقاضا می‌کنم اگر ایده‌ی خاصی برای خاموش کردن آتش به ذهنشون می‌رسه در بحث ما مشارکت کنند و ایده‌ی خوبشون را با بقیه‌ی دوستان در میان بگذارند.

جلسه آینده مختصری از قوانین ربات ظاتش نشان را برایتان بر روی وبلاگ قرار می دم.
جلسات آینده دوباره به سراغ برنامه نویسی زبان C می‌رویم و شما را با مبحث توابع در زبان C آشنا خواهیم کرد. در باب اهمیت این مبحث باید عرض کنم که مبحث توابع شاید بتوان گفت مهمترین و پر کاربردترین مبحث در زبان C و اصولاً پایه‌ی برنامه نویسی درمتُد ساخت یافته است.