ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

ربات مارپیچی با دوربین وای‌فای و برد ESP32

رباتیک و هوشمندسازی
۰ نظر
۳۷ نفر
کد ۴۳۲۴

ربات‌هایی که به جای چرخ از استوانه‌های مارپیچ برای حرکت استفاده می‌کنن، یکی از جذاب‌ترین طراحی‌های مهندسی برای عبور از مسیرهای سخت مثل برف، گل‌ولای و شن هستن. این ایده بی‌نظیر که اولین بار توسط لئوناردو داوینچی مطرح شد، حالا به یه پروژه هیجان‌انگیز تو دنیای الکترونیک و رباتیک تبدیل شده. تو این آموزش از آیسی‌مدار قراره یه ربات مارپیچی (Screw-Propelled) بسازیم که نه تنها می‌تونه تو مسیرهای ناهموار به راحتی حرکت کنه، بلکه یه دوربین وای‌فای هم روی سرش داره تا تصویر زنده مسیر رو مستقیم روی صفحه گوشیت پخش کنه. برای سیستم حرکتی از دو تا موتور گیربکس‌دار N20 و ماژول درایور DRV8833 استفاده کردیم و انرژی کل دستگاه با باتری‌های لیتیومی تامین می‌شه. تمام قطعات بدنه و چرخ‌های مته‌ای با پرینتر سه‌بعدی ساخته می‌شن که طراحی فوق‌العاده‌ای دارن. اگه آماده‌ای تا یه ربات همه‌جارو با قابلیت ارسال زنده تصویر بسازی، ابزارها و قطعات رو روی میز کارت بچین تا بریم سراغ ساختنش.

قطعات موردنیاز

  • موتور گیربکس‌دار N20 با ولتاژ 3 ولت و سرعت 50 دور بر دقیقه (2 عدد)
  • فن خنک‌کننده 5 ولت سایز 25 میلی‌متر
  • ماژول شارژ باتری TP4056 (BMS)
  • ال‌ای‌دی قرمز (2 عدد)
  • هیت‌سینک مخصوص دوربین
  • هیت‌سینک مخصوص برد XIAO
  • ماژول درایور موتور DRV8833
  • کلید کشویی روشن/خاموش
  • برد میکروکنترلر Seeed Studio XIAO ESP32S3 Sense
  • باتری لیتیوم یون 18650 (2 عدد - از باتری‌های سالم لپ‌تاپ قدیمی هم می‌تونی استفاده کنی)
  • پیچ آلن سرتخت M3 در 10 میلی‌متر (12 عدد)
  • پیچ آلن سرگرد M3 در 20 میلی‌متر (2 عدد)
  • خمیر سیلیکون (خمیر حرارتی)
  • مجموعه سیم‌های اتصال
  • چسب نسوز کپتون (Kapton)
  • آچار آلن
  • کاغذ سنباده
  • پرینتر سه‌بعدی
  • هویه و لوازم لحیم‌کاری
  • تفنگ چسب حرارتی
مرحله ۱

تاریخچه جالب وسایل نقلیه مارپیچی

مفهوم وسایل نقلیه با پیشرانه مارپیچ (SPV) اولین بار تو اوایل قرن شانزدهم توسط لئوناردو داوینچی پیشنهاد شد. اما تا قرن نوزدهم طول کشید تا اولین نمونه‌های عملی از این دستگاه‌ها ساخته بشه. این ماشین‌های اولیه برای کارهای مختلفی مثل کشاورزی، حمل‌ونقل و حتی کاربردهای نظامی مورد استفاده قرار می‌گرفتن.

تو سال 1868، جیکوب مورات یه ماشین شخم‌زن با دو تا چرخ مارپیچی اختراع کرد که یکی از اولین نمونه‌های موفق از این سیستم بود. کمی بعد، برادران پیوی تو سال 1899 یکی از اولین وسایل نقلیه مارپیچی رو ساختن که واقعا برای حمل‌ونقل بار استفاده می‌شد.

وسیله اون‌ها برای جابه‌جایی بار بین مزرعه و ایستگاه راه‌آهن کاربرد داشت. با شروع قرن بیستم، این ماشین‌ها وارد فاز نظامی شدن. ارتش بریتانیا برای انتقال نیروها و تجهیزات تو جنگ بوئر از این وسایل استفاده کرد.

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

مرحله ۲

مدل‌سازی بدنه ربات تو نرم‌افزار

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

مرحله ۳

چطور چرخ‌های مارپیچ طراحی شدن؟

طراحی این چرخ‌ها خیلی جالبه. اول با ایجاد یه استوانه ساده شروع می‌کنیم.

  • از قسمت بالایی استوانه، از ابزار Coil (مارپیچ) استفاده می‌کنیم. قطر رو 20 میلی‌متر در نظر می‌گیریم و این پارامترها رو وارد می‌کنیم:
  1. تعداد چرخش (Revolution): 2 دور
  2. ارتفاع (Height): منفی 120 میلی‌متر
  3. سطح مقطع (Section): مثلثی
  4. اندازه مقطع: 9 میلی‌متر
  5. نوع عملیات (Operation): Join (اتصال)

می‌تونی با این اعداد بازی کنی تا به شکل دلخواهت برسی.

  • حالا استوانه رو 180 درجه می‌چرخونیم و دوباره یه مارپیچ دیگه با همون تنظیمات قبلی روش ایجاد می‌کنیم.
  • برای اینکه دو سر استوانه تیز بشه و بتونه راحت تو برف و خاک نفوذ کنه، یه اسکچ (طرح اولیه) می‌کشیم و با ابزار Revolve و عملیات Cut، لبه‌ها رو برش می‌دیم.

به همین راحتی چرخ‌های مته‌ای ما آماده شدن.

مرحله ۴

پرینت سه‌بعدی قطعات

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

مرحله ۵

آماده‌سازی نرم‌افزاری برد XIAO

همیشه بهتره قبل از اینکه قطعات رو تو بدنه نصب کنی، کدهای برنامه رو روی میکروکنترلر آپلود کنی. برای این پروژه از برد فوق‌العاده کوچیک XIAO ESP32S3 Sense استفاده کردیم.

این برد یه پردازنده قدرتمند داره که از وای‌فای و بلوتوث نسخه 5 پشتیبانی می‌کنه. نسخه Sense این برد یه سنسور دوربین OV2640 هم داره که می‌تونه تصویر رو با رزولوشن 1600x1200 به صورت زنده استریم کنه.

محیط Arduino IDE رو باز کن، پکیج بردهای ESP32 رو نصب کن و کدهای پروژه رو که مربوط به ایجاد سرور وای‌فای و ارسال تصویر هست، روی برد فلش کن.

مرحله ۶

تست استریم ویدئو و وای‌فای

بعد از آپلود کدها، برد XIAO یه نقطه اتصال (Hotspot) وای‌فای با اسم ROBO و رمز عبور PASSPASS می‌سازه. البته این مقادیر رو می‌تونی تو خطوط کد به دلخواه خودت تغییر بدی. وقتی وای‌فای فعال شد، یه آدرس آی‌پی تو سریال مانیتور آردوینو نمایش داده می‌شه.

با گوشیت به وای‌فای ROBO وصل شو، مرورگر رو باز کن و آدرس 192.168.4.1 رو وارد کن. اگه همه‌چیز درست باشه، بلافاصله تصویر زنده دوربین رو روی صفحه گوشیت می‌بینی و می‌تونی رابط کاربری کنترل موتورها رو هم تست کنی!

مرحله ۷

بررسی نقشه سیم‌کشی و قطعات الکترونیکی

مغز متفکر این ربات برد XIAO هست که 4 تا سیم سیگنال ازش به ماژول درایور موتور DRV8833 می‌ره. منبع تغذیه اصلی ما دو تا باتری لیتیومی 18650 هستن که به صورت موازی بسته شدن و یه ماژول TP4056 هم وظیفه شارژ ایمن اونا رو بر عهده داره.

علاوه بر این‌ها، یه فن 5 ولت کوچیک برای خنک کردن پردازنده، دو تا موتور گیربکس‌دار N20 برای چرخ‌ها و دو تا ال‌ای‌دی قرمز برای چراغ‌های جلو داریم. کل این مجموعه با یه کلید کشویی ساده روشن و خاموش می‌شه.

مرحله ۸

مونتاژ مکانیکی و سرهم کردن قطعات

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

سیم‌های بلندی رو به پین‌های GPIO برد لحیم کن و برای اینکه موقع بستن مدار گیج نشی، روی هر سیم شماره پین مربوطه‌اش رو با یه چسب کوچیک برچسب بزن. سیم‌کشی‌ها رو با دقت انجام بده و مطمئن شو قطعی نداشته باشن. کمی خمیر سیلیکون روی هیت‌سینک بزرگ بمال تا انتقال حرارت بهتری داشته باشه و پردازنده داغ نکنه. این هیت‌سینک رو دقیقا پشت برد XIAO بچسبون.

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

پک باتری لیتیومی رو داخل بدنه قرار بده و با چسب حرارتی کف اون رو کاملا فیکس کن. کلید کشویی روشن/خاموش رو تو جایگاه مخصوصش روی دیواره بدنه نصب کن. فن خنک‌کننده کوچیک رو هم برای تهویه هوای داخل بدنه سر جاش پیچ کن تا جریان هوا برقرار بشه. ماژول درایور موتور DRV8833 رو روی پک باتری بچسبون و تمام سیم‌ها رو طبق نقشه مداری که قبلا دیدیم بهش وصل کن.

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

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

در نهایت، صفحه بالایی ربات رو با چهار تا پیچ ده میلی‌متری روی بدنه ببند تا همه‌چیز کیپ و محکم بشه. خسته نباشی! مونتاژ مکانیکی و الکترونیکی ربات با موفقیت تموم شد.

مرحله ۹

تست جهت چرخش چرخ‌ها و کالیبراسیون

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

از همون پنل می‌تونی چراغ‌های ال‌ای‌دی رو هم روشن و خاموش کنی. اگه متوجه شدی چرخ‌ها برعکس می‌چرخن، دو تا راه داری: یا جای سیم‌های همون موتور رو روی درایور عوض کنی، یا اینکه تو فایل کدهای پروژه، وضعیت پین‌های WheelAct رو از High به Low تغییر بدی و دوباره آپلود کنی.

مرحله ۱۰

تست نهایی در مسیرهای سخت و جمع‌بندی

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

البته همیشه جای ارتقا وجود داره؛ مثلا می‌شه از موتورهای پرقدرت‌تر استفاده کرد یا بدنه رو کاملا ضدآب ساخت تا تو گل‌ولای هم بدون مشکل حرکت کنه.

منتظر نظراتت هستیم!

اگه این ربات هیجان‌انگیز رو ساختی یا ایده‌ای برای قوی‌تر کردنش داری، حتما تو بخش نظرات سایت آیسی‌مدار برامون بنویس تا با بقیه دوستان درباره‌اش گپ بزنیم. منتظر پروژه‌های رباتیک بعدی ما باش!

فایل‌های پیوست

STL back support .stl
STL front holder.stl
STL left wheel.stl

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!