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

قایق کنترلی غذادهی به ماهی‌ها با ESP32C3

رباتیک و هوشمندسازی
۰ نظر
۶۳ نفر
کد ۳۱۹۳

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

توی این پروژه جذاب از آیسی‌مدار، قراره با استفاده از قطعات چاپ سه‌بعدی و برد وای‌فای Seeed Studio XIAO ESP32C3، یک قایق کنترلی مخصوص غذادهی به ماهی‌ها بسازیم. این شناور هوشمند با یک ریموت کنترل دست‌ساز هدایت میشه و به کمک مکانیزم سرووموتور، غذا رو دقیقا همون‌جایی که می‌خوای روی آب می‌ریزه.

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

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

  • 8 عدد پیچ M3 طول 10 میلی‌متر
  • 4 عدد پیچ M3 طول 15 میلی‌متر
  • 12 عدد مهره M3
  • 4 عدد پیچ M4 طول 10 میلی‌متر
  • 4 عدد مهره M4
  • 2 عدد باتری لیتیومی 18650 با ظرفیت 2500 میلی‌آمپر
  • 2 جفت کانکتور JST XH نری و مادگی (فاصله پین 2.54 میلی‌متر)
  • ماژول افزاینده ولتاژ MT3608
  • ماژول تغذیه و شارژر باتری (BMS) 5 ولت
  • سرووموتور 360 درجه
  • 4 عدد مهره رزوه‌دار حرارتی M4 طول 6 میلی‌متر
  • ماژول درایور موتور DRV8833
  • برد Seeed Studio XIAO ESP32C3
  • 2 عدد موتور گیربکس‌دار پلاستیکی (BO Motor) مدل L شکل 300 دور در دقیقه
  • آنتن وای‌فای 2.4 گیگاهرتز
  • 2 عدد بطری آب پلاستیکی خالی
  • مجموعه وارنیش حرارتی
  • باتری لیتیومی 18650 با ظرفیت 2500 میلی‌آمپر (برای ریموت)
  • تک‌سوئیچ (دکمه فشاری)
  • برد Seeed Studio XIAO ESP32C3 (برای ریموت)
  • ماژول تغذیه BMS 5 ولت (برای ریموت)
  • آنتن وای‌فای 2.4 گیگاهرتز (برای ریموت)
  • ماژول جوی‌استیک 4 محوره
مرحله ۱

طراحی مدار چاپی اختصاصی برای بخش گیرنده

برای اینکه سیم‌کشی‌ها مرتب‌تر بشه و مونتاژ گیرنده روی قایق راحت‌تر انجام بشه، یک برد مدار چاپی (PCB) اختصاصی برای این بخش طراحی کردیم. روی این برد یک رگولاتور 5 ولت قرار گرفته که تغذیه پایدار برد XIAO ESP32C3 رو تأمین می‌کنه و اجازه میده تا ولتاژ اصلی رو برای افزایش قدرت و سرعت موتورها بالاتر ببری.

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

با این اوصاف، برای مونتاژ این بخش به چند تا قطعه کوچیک هم نیاز داریم:

  1. پین‌هدر نری
  2. 3 عدد کانکتور JST XH مادگی و نری 2.54 میلی‌متری
  3. ماژول کاهنده ولتاژ Mini 360

با داشتن فایل‌های طراحی این مدار می‌تونی به راحتی اون رو بسازی یا بدی برات چاپ کنن تا سیم‌کشی پروژه‌ات کاملا حرفه‌ای بشه.

مرحله ۲

طراحی بدنه اصلی در نرم‌افزار سه‌بعدی

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

مرحله ۳

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

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

بهترین تنظیمات برای چاپ این قطعات، ارتفاع لایه 0.2 میلی‌متر و تراکم (Infill) حدود 30 درصده. حواست باشه که بعضی از قطعات رو باید چند بار پرینت بگیری تا مجموعه کامل بشه.

  1. 4 عدد گیره نگهدارنده شناور
  2. 4 عدد درپوش انتهایی شناور
  3. 2 عدد گیره موتور
  4. 2 عدد پایه موتور
  5. 2 عدد چرخ پره‌ای (پروانه)
مرحله ۴

پیدا کردن آدرس مک (MAC) برای ارتباط وای‌فای

برای برقراری ارتباط سریع و بدون تأخیر بین ریموت کنترل (فرستنده) و قایق (گیرنده)، از پروتکل قدرتمند ESP-NOW استفاده می‌کنیم. تو این روش، برد فرستنده باید دقیقا بدونه داره اطلاعات رو برای کدوم گیرنده می‌فرسته. پس اول از همه باید آدرس مک (MAC Address) برد XIAO گیرنده رو پیدا کنیم.

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

یک چیزی شبیه به 64:E8:33:8A:22:54 روی صفحه ظاهر میشه که همون آدرس مک برد تو هست. این کد رو یک جا یادداشت کن چون تو مرحله بعد بهش نیاز داریم.

مرحله ۵

آپلود کدهای فرستنده و گیرنده روی بردها

حالا که آدرس مک رو پیدا کردی، باید اون رو داخل کد فرستنده قرار بدی تا ارتباط برقرار بشه. کافیه قبل از هر بخش آدرس، عبارت 0x رو اضافه کنی. مثلا همون آدرس قبلی به شکل {0x64, 0xE8, 0x33, 0x8A, 0x22, 0x54} درمیاد.

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

مرحله ۶

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

شماتیک اتصالات بخش ریموت کنترل (فرستنده) شماتیک اتصالات بخش قایق (گیرنده)

مرحله ۷

تنظیم ولتاژ ماژول افزاینده MT3608

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

برای اطمینان، پراب‌های مولتی‌متر رو روی پایه‌های خروجی ماژول بذار و ولتاژ رو بخون. وقتی عدد 5 ولت رو دیدی، باتری رو جدا کن و بریم سراغ مونتاژ اصلی.

مرحله ۸

مونتاژ قطعات الکترونیکی قایق شناور

اول یک کانکتور JST مادگی رو به ورودی ماژول MT3608 وصل کن. طول سیمش حداقل 5 سانتی‌متر باشه. حواست باشه که پایه مثبت و منفی رو جابه‌جا نزنی.

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

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

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

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

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

در نهایت وقتی بطری‌ها سر جای خودشون تراز شدن، با آچار آلن پیچ حلقه‌ها رو سفت کن. موتورهای گیربکس‌دار (BO Motor) رو داخل پایه‌هاشون بذار و هر کدوم رو با دو تا پیچ و مهره M3 محکم ببند. این کار رو برای موتور سمت مقابل هم دقیقا به همین شکل انجام بده.

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

مرحله ۹

آماده‌سازی پک باتری لیتیومی

حالا که مدار قایق آماده شده، به یک منبع تغذیه قوی نیاز داریم. قراره یک پک باتری با ترکیب موازی (1S 2P) بسازیم تا هم ولتاژ مناسب و هم جریان‌دهی بالایی داشته باشیم. اول دو تا باتری 18650 رو با سیم به شکل موازی لحیم کن.

یک کانکتور JST نری رو از سوراخ درپوش محفظه باتری رد کن. حالا سیم‌های این کانکتور رو به قطب مثبت و منفی پک باتری که ساختی لحیم کن.

باتری‌ها رو داخل محفظه پرینت شده قرار بده، درپوش رو ببند و لبه‌هاش رو چسب بزن تا کاملا کیپ و ضدآب بشه. برای شارژ کردن این پک باتری، به راحتی می‌تونی از هر ماژول شارژر ساده‌ای (مثل TP4056 یا BMSهای تک‌سل) استفاده کنی؛ کافیه یک کانکتور بهش وصل کنی. حالا پک باتری رو به کمک همون کانکتور به ورودی تغذیه قایق متصل کن تا برق مدار تأمین بشه.

مرحله ۱۰

نصب پروانه‌ها و تکمیل قایق

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

مرحله ۱۱

ساخت و مونتاژ ریموت کنترل دست‌ساز

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

دو رشته سیم به باتری 18650 لحیم کن، باتری رو توی جایگاهش بچسبون و بعد طبق نقشه، ماژول BMS و برد XIAO رو سیم‌کشی کن. بردها رو هم می‌تونی با چسب حرارتی سر جای خودشون ثابت کنی.

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

مرحله ۱۲

تست نهایی روی آب و تغذیه ماهی‌ها

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

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

نظرت رو برامون بنویس!

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

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

DRL Drill_PTH_Through_Via.DRL
GKO Gerber_BoardOutlineLayer.GKO
GBL Gerber_BottomLayer.GBL

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

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

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

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

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

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