فهرست مطالب:
تصویری: وسیله نقلیه شناور: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
**************** این دستورالعمل هنوز در حال پیشرفت است ***************
این دستورالعمل برای برآوردن الزامات پروژه Makecourse در دانشگاه فلوریدا جنوبی (www.makecourse.com) ایجاد شده است.
این دستورالعمل مختصری در مورد ایجاد وسیله نقلیه شناور است که من برای کلاس Makecourse در دانشگاه فلوریدا جنوبی طراحی و ساخته ام. در این دستورالعمل من یک صورتحساب مواد ، کد کنترلی که برای Arduino Uno که استفاده کردم ایجاد کردم ، و یک نمای کلی از نحوه مونتاژ شناور.
مرحله 1: مواد
لوازم الکترونیکی مورد استفاده در موارد زیر:
1 برابر آردوینو اونو
1 برابر اکشن دوربین موبیوس
1 برابر دوربین عملگر mobius usb-b به کابل A/V
صفحه نمایش 1x نمای میدان 777
1x turnigy marine 50A ESC (کنترل الکترونیکی سرعت)
1 برابر کارت برنامه نویسی دریایی turnigy
1x T-Motor Navigator 400 کیلو ولت
1x YEP 20A BEC (مدار حذف باتری)
سرویس های ضد آب 6 برابر hobby king HK15139
2 برابر اتصال دهنده T موازی y مهار
سیمهای سروو 2 18 18 اینچی
سیمهای کششی سروو 6 * 6 اینچ
باتری 2x 1300mah 3s 3s Lipo
باتری لیپو 2x 2500mah 4s 4s
برد توزیع برق 1 برابر با خروجی ثابت 5 ولت و 12 ولت
مصالح ساختمانی که:
ورق تخته سه لا 1x 3/16 اینچ
لوله حمل 1x 6 اینچ ID ABS
یک لوله سیلیکون
1 برابر قوطی مهر و موم فلکس
4 برابر قرقره رشته فیلتر پرینتر سه بعدی ABS
سرسره کشویی 1x24 اینچ
لوله انقباض حرارتی
1x 10 فوت اسکاچ برند duraloc velcro
اپوکسی پلاستیکی 1x JB Weld
1x گنبد دوربین امنیتی اکریلیک با قطر 6.2 اینچ
2 بار گذر از اترنت IP68
2 عدد کابل اترنت 24 اینچی cat6
کابل اترنت 1x 200 پا cat6
سخت افزار مورد استفاده عبارت بود از:
پیچ چوبی برنجی 24x 1/2 اینچی
24x ------ پیچ (شامل سرویس ها)
ابزارهای مورد استفاده:
پیچ گوشتی های فیلیپس و سر تخت
مجموعه کلید آلن
آهن لحیم کاری
سلاح گرم
چاپگر سه بعدی (من از Monoprice Maker Select Plus استفاده کردم)
مرحله 2: برنامه نویسی
در زیر کدی است که برای کنترل شناور ایجاد شده است. فایل.ino را نیز ضمیمه کرده ام تا بارگیری شود.
این کد برای Arduino Uno با استفاده از کامپایلر Arduino ایجاد شده است.
/**********************************************************************************************************************************************************************
نویسنده: Jonah Powers تاریخ: 11/9/2018 هدف: کد کنترل وسایل نقلیه شناور از راه دور *************************** ************************************************* ************************************************** ********************************* # #شامل // شامل سروو کتابخانه سرو سرو 1؛ // اعلام roll1 به عنوان سرو سرو رول 2 ؛ // اعلام roll2 به عنوان سروو سرو 1؛ // اعلان سطح 1 به عنوان سرو سرو سرو 2؛ // اعلان سطح 2 به عنوان سرو سرو یاو 1؛ // اعلان yaw1 به عنوان سرو سرو یاو 2؛ // اعلام yaw2 به عنوان سروو سرو esc ؛ // اعلام esc به عنوان سروو
int pot1 = 0؛ // شروع به متغیر pot1 به عنوان یک عدد صحیح و تنظیم آن برابر 0 int pot2 = 1 ؛ // فعال سازی متغیر pot2 به عنوان یک عدد صحیح و تنظیم آن برابر با 2 int pot3 = 2؛ // شروع به متغیر pot3 به عنوان یک عدد صحیح و تنظیم آن برابر 4 int pot4 = 3؛ // شروع به متغیر pot4 به عنوان یک عدد صحیح و تنظیم آن برابر با 5 int val1. // راه اندازی متغیر val1 به عنوان یک عدد صحیح int val2؛ // راه اندازی متغیر val2 به عنوان یک عدد صحیح int val3 ؛ // راه اندازی متغیر val3 به عنوان یک عدد صحیح int val4 ؛ // راه اندازی متغیر val4 به عنوان یک عدد صحیح int val5؛ // شروع به متغیر val5 به عنوان یک عدد صحیح int val6؛ // شروع به متغیر val6 به عنوان یک عدد صحیح int val7 ؛ // راه اندازی متغیر val7 به عنوان یک عدد صحیح int val8؛ // راه اندازی متغیر val8 به عنوان یک عدد صحیح int mspeed ؛ // شروع به کار متغیر mspeed به عنوان یک عدد صحیح
void setup () {// مرحله راه اندازی Arduino Serial.begin (9600) ؛ // راه اندازی سریال moniter سریال roll1.attach (2)؛ // اتصال سرو رول 1 به پین دیجیتال 2 roll2.attach (3) ؛ // اتصال سرو رول 2 به پین دیجیتال 3 lift1.attach (5) ؛ // اتصال سروو lift1 به پین دیجیتال 5 lift2.attach (6) ؛ // اتصال سروو lift2 به پین دیجیتال 6 yaw1.attach (8) ؛ // اتصال servo yaw1 به پین دیجیتال 8 yaw2.attach (9)؛ // اتصال servo yaw2 به پین دیجیتال 9 esc.attach (11) ؛ // اتصال سروو esc به پین دیجیتال 11 roll1.write (90)؛ // نوشتن servo roll1 در موقعیت مرکزی آن roll2.write (90)؛ // نوشتن سرو رول 2 در موقعیت مرکز آن lift1.write (90) ؛ // نوشتن سروو lift1 به موقعیت مرکز آن lift2.write (90) ؛ // نوشتن سروو lift2 به موقعیت مرکز آن yaw1.write (90)؛ // نوشتن سرو یاو 1 در موقعیت مرکزی آن yaw2.write (90)؛ // نوشتن servo yaw2 در موقعیت مرکزی آن esc.write (180) ؛ // نوشتن سروو به تأخیر موقعیت متمرکز آن (2500) ؛ // انتظار 2 ثانیه esc.write (90)؛ تأخیر (5000) ؛ }
حلقه خالی () {// کد اصلی برای حلقه بی نهایت اگر (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// بررسی کنید که آیا "جوی استیک" (پتانسیومتر) در مرکز roll1.write (90) است یا خیر. // نوشتن سرو رول 1 به موقعیت مرکزی roll2.write (90) ؛ // نوشتن servo roll2 در موقعیت مرکزی} else {// اگر "Joystick" در مرکز نباشد val1 = map (val1، 0، 1023، 10، 170) چه باید کرد؟ // نگاشت val1 از 10 تا 170 و اختصاص دادن به val1 roll1.write (val1)؛ // نوشتن سرو رول 1 به پوزیتون تعریف شده توسط val1 roll2.write (val1)؛ // نوشتن servo roll2 به poziton تعریف شده توسط val1}
val2 = analogRead (pot2)؛ // خواندن pot2 (پین آنالوگ 2) و ذخیره مقدار به عنوان val2 if (val2> = 485 && val2 <= 540) {// بررسی اینکه آیا "جوی استیک" (پتانسیومتر) در مرکز lift1.write (90) قرار دارد یا خیر. // نوشتن سروو lift1 به مرکز موقعیت lift2.write (90) ؛ // نوشتن سروو lift2 به موقعیت مرکزی} else {// اگر "جوی استیک" در مرکز نباشد val3 = map (val2، 0، 1023، 10، 170) چه باید کرد؟ // نگاشت val2 از 10 تا 170 و اختصاص دادن به val3 val4 = map (val2، 0، 1023، 170، 10) ؛ // نگاشت val2 از 170 تا 10 و اختصاص دادن به val4 lift1.write (val3) ؛ // نوشتن سروو lift1 به پوزیتون تعریف شده توسط val3 lift2.write (val4) ؛ // نوشتن servo lift2 به positon تعریف شده توسط val4}
val5 = analogRead (pot3) ؛ // خواندن pot3 (پین آنالوگ 4) و ذخیره مقدار به عنوان val5 if (val5> = 485 && val5 <= 540) {// بررسی اینکه آیا "جوی استیک" (پتانسیومتر) در مرکز yaw1.write است. write (90) ؛ // نوشتن سروو yaw1 به مرکز موقعیت yaw2.write (90) ؛ // نوشتن servo yaw2 به مرکز موقعیت} else {// اگر "Joystick" در مرکز نباشد val6 = map (val5، 0، 1023، 10، 170) چه باید کرد؟ // نگاشت val5 از 10 تا 170 و اختصاص دادن به val6 val7 = map (val5، 0، 1023، 170، 10)؛ // نگاشت val5 از 10 تا 170 و اختصاص دادن به val7 yaw1.write (val6)؛ // نوشتن servo yaw1 به poziton تعریف شده توسط val6 yaw2.write (val7)؛ // نوشتن servo yaw2 به poziton تعریف شده توسط val7}
val8 = analogRead (pot4)؛ // خواندن pot4 (پین آنالوگ 5) و ذخیره مقدار به عنوان val8 if (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// بررسی اینکه آیا موتور در حال تغییر جهت است esc.write (80)؛ تاخیر (1000) ؛ // انتظار 1000 میلی ثانیه} esc.write (val8)؛ // نوشتن سروو esc با سرعت تعریف شده توسط val8 mspeed = val8؛ // ذخیره سرعت فعلی برای مقایسه}} Serial.print ("throttle")؛ // استفاده از Serial Print برای نشان دادن کلمه "Throttle" Serial.println (val8)؛ // استفاده از Serial Print برای نشان دادن مقداری که دریچه گاز روی Serial.print ("roll") تنظیم شده است ؛ // استفاده از Serial Print برای نشان دادن کلمه "Roll" Serial.println (val1)؛ // استفاده از Serial Print برای نشان دادن مقداری که رول روی Serial.print ("pitch") تنظیم شده است ؛ // استفاده از Serial Print برای نشان دادن کلمه "Pitch" Serial.println (val3)؛ // استفاده از Serial Print برای نشان دادن مقداری که pitch1 روی Serial.println (val4) تنظیم شده است ؛ // استفاده از Serial Print برای نشان دادن مقداری که pitch2 روی Serial.print ("yaw") تنظیم شده است ؛ // استفاده از Serial Print برای نشان دادن کلمه "Yaw" Serial.println (val6)؛ // استفاده از Serial Print برای نشان دادن مقداری که yaw1 روی Serial.println (val7) تنظیم شده است ؛ // استفاده از Serial Print برای نشان دادن مقداری که yaw2 روی آن تنظیم شده است}
مرحله 3: مدار
پیوست عکس از مدار روی کشتی شناور است.
من یک سپر سفارشی برای آردوینو ایجاد کردم تا سیم کشی من ساده شود. من فایل های شماتیک و هیئت مدیره عقاب را برای سپر بارگذاری کرده ام. من برای آسیاب کردن تخته از LPKF S63 استفاده کردم. سروهای جلوی آن رول کنترل به آردوینو متصل می شوند
پیوست عکس مدار داخل کنترلر است.
مرحله 4: قطعات چاپ سه بعدی
من همه این فایل ها را در Monoprice Maker Select Plus چاپ کردم. من از Esun ABS 1.75mm Filament استفاده کردم. تنظیمات چاپ من برای درجه حرارت بستر چاپ 105 درجه سانتی گراد و برای دمای اکسترودر 255 درجه سانتیگراد بود. فقط 1 قسمت از هر قسمت مورد نیاز است با این تفاوت که شما به 6 نسخه از بال جلو نیاز دارید. توجه داشته باشید که این قطعات با ضخامت دیوار 1000 میلی متر چاپ شده اند. این کار به این منظور انجام شد که قطعات با 100٪ پر شدن چاپ شوند تا شناور منفی باشند.
مرحله 5: مونتاژ
********************************* به زودی *************** *******************
توصیه شده:
کنترل وسیله نقلیه با دست: 8 مرحله
یک وسیله نقلیه را با دست خود کنترل کنید: این پروژه مربوط به "Creative Electronics" بود ، یک ماژول مهندسی الکترونیک BEng Electronics در دانشگاه مالاگا ، دانشکده مخابرات (uma.es/etsi-de-telecomunicacion/). در این قسمت آموزشی خواهیم دید چگونه یک دستبند بسازیم
TripComputer - GPS سفر کامپیوتر و ماژول آب و هوا برای وسیله نقلیه شما: 11 مرحله (همراه با تصاویر)
TripComputer - GPS سفر کامپیوتر و ماژول آب و هوا برای وسیله نقلیه شما: یک پروژه جالب تمشک pi که از ماژول شکست GPS و 2 نمایشگر کوچک Digole برای داشتن یک کامپیوتر ناوبری در خط شما استفاده می کند
وسیله نقلیه کنترل شده شتاب سنج سیار: 3 مرحله
وسیله نقلیه کنترل شده شتاب سنج متحرک: این یک پروژه بسیار ساده است و می توان آن را به راحتی انجام داد. این کار به یک موبایل اندرویدی نیاز دارد. هر تلفن همراه Android دارای شتاب سنج داخلی است و ما از آن برای کنترل وسیله نقلیه از طریق بلوتوث استفاده می کنیم. تنها کاری که باید انجام دهیم این است که موبایل را متمایل کنیم تا تصمیم بگیرد
وسیله نقلیه برخورد با آردوینو نانو: 6 مرحله
وسیله نقلیه برخورد با آردوینو نانو: وسیله نقلیه اجتناب از برخورد می تواند یک ربات بسیار ساده برای شروع غواصی در میکروالکترونیک باشد. ما از آن برای یادگیری عناصر اساسی در میکروالکترونیک و بهبود آن برای افزودن حسگر و محرک های پیچیده استفاده خواهیم کرد. اجزای اساسی & middot؛
وسیله نقلیه کوچک فریدی: 5 مرحله
وسیله نقلیه Tiny Freidy: در عصر حجر ، روزی روزگاری …… Freidy دارای یک وسیله نقلیه است. من در مورد چگونگی برداشتن میلگرد قدرت تعجب می کنم! بنابراین ، این امر می تواند کار ساده (1.5 ولت) را آسان کند robot part_4.1.easy، 2.1.5v AAA batt.3. خانگی ، 4. اسباب بازی الکترونیکی ، 5