فهرست مطالب:

راهنمای آرزو برای ساخت هواپیمای بدون سرنشین آردوینو: 9 مرحله
راهنمای آرزو برای ساخت هواپیمای بدون سرنشین آردوینو: 9 مرحله

تصویری: راهنمای آرزو برای ساخت هواپیمای بدون سرنشین آردوینو: 9 مرحله

تصویری: راهنمای آرزو برای ساخت هواپیمای بدون سرنشین آردوینو: 9 مرحله
تصویری: ساخت پهپاد اسرائیلی با قابلیت پرواز و راه رفتن روی زمین 2024, نوامبر
Anonim
راهنمایی که آرزو داشتم در ساخت یک هواپیمای بدون سرنشین آردوینو داشته باشم
راهنمایی که آرزو داشتم در ساخت یک هواپیمای بدون سرنشین آردوینو داشته باشم

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

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

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

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

تدارکات

بودجه پروژه: 250 دلار

مدت زمان: 2 هفته

موارد خرید:

  • قاب فیزیکی 20 دلار
  • تیغه 0 دلار (همراه با قاب)
  • بسته باتری 25 دلار
  • ESC (کنترل کننده های الکترونیکی سرعت) 0 دلار (همراه با موتور)
  • موتور 70 دلار

کنترل کننده پرواز

  • آردوینو نانو 20 دلار
  • کابل USB آردوینو 2 دلار
  • ماژول بلوتوث (HC-05) 8 دلار
  • مقاومت 3 میلی متری LED و 330 اهم و سیم 13 دلار
  • GY-87 (شتاب سنج ، ژیروسکوپ) 5 دلار
  • تابلوی نمونه اولیه 10 دلار
  • هدرهای زنانه و مردانه 5 دلار

دیگر

  • کیت لحیم کاری 10 دلار
  • مولتی متر 20 دلار

من می خواستم از ساختن این پروژه به عنوان یک مهندس لذت ببرم ، بنابراین چیزهای دیگری خریدم که مجبور نبودم.

مجموع: 208 دلار

مرحله 1: تجربه اولیه من

پس از خرید تمام اجزای خود ، همه را کنار هم قرار دادم و سپس سعی کردم با استفاده از Multiwii (به سراغ نرم افزاری که بسیاری از جامعه هواپیماهای بدون سرنشین DIY از آن استفاده می کنند) هواپیمای بدون سرنشین را پرتاب کنم ، با این حال به سرعت متوجه شدم که به طور کامل نمی دانم این کار را انجام می داد زیرا خطاهای زیادی وجود داشت و من نمی دانستم چگونه آنها را برطرف کنم.

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

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

فیزیکی

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

مرحله 2: نکاتی در مورد قطعه بندی و اشکال زدایی قسمت های فیزیکی

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

پروانه ها و موتورها

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

باتری و قدرت

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

مرحله 3: کنترلر آردوینو

کنترلر آردوینو
کنترلر آردوینو

این بدون شک سخت ترین بخش کل این پروژه است. انفجار اجزا بسیار آسان است و اگر ندانید چه کار می کنید اشکال زدایی می تواند بسیار ناامید کننده باشد. همچنین در این پروژه من پهپاد خود را با استفاده از بلوتوث و برنامه ای کنترل کردم که نحوه ساخت آن را به شما نشان خواهم داد. این کار پروژه را بسیار دشوارتر کرد زیرا 99٪ از آموزشهای موجود از کنترلرهای رادیویی استفاده می کنند (این یک حقیقت نیست) ، اما نگران نباشید من از شما ناامید شده ام.

نکاتی قبل از شروع این سفر

  • قبل از اینکه دستگاه خود را روی PCB نهایی کنید ، از تخته نان استفاده کنید. این به شما امکان می دهد به راحتی تغییرات را ایجاد کنید.
  • اگر یک جزء را به طور گسترده آزمایش کرده اید و کار نمی کند ، احتمالاً کار نمی کند!
  • به ولتاژهایی که یک دستگاه می تواند قبل از اتصال به آن وصل کند نگاه کنید!

    • آردوینو می تواند 6 تا 20 ولت را تحمل کند ، اما سعی کنید آن را روی 12 ولت قرار دهید تا آن را منفجر نکنید. در اینجا می توانید اطلاعات بیشتری در مورد مشخصات آن بخوانید.
    • HC-05 می تواند تا 5 ولت کار کند ، اما برخی از پین ها با 3.3 ولت کار می کنند ، بنابراین مراقب آن باشید. بعداً در مورد آن صحبت خواهیم کرد.
    • IMU (GY-521، MPU-6050) نیز در 5V کار می کند.
  • ما از RemoteXY برای ساخت برنامه خود استفاده خواهیم کرد. اگر می خواهید آن را روی دستگاه iOS بسازید ، باید از ماژول بلوتوث دیگری (The HM-10) استفاده کنید. در وب سایت RemoteXY می توانید در این باره اطلاعات بیشتری کسب کنید.

امیدوارم نکات را خوانده باشید. حالا بیایید هر جزء که بخشی از کنترلر خواهد بود را جداگانه آزمایش کنیم.

مرحله 4: MPU-6050

MPU-6050
MPU-6050

این دستگاه دارای ژیروسکوپ و شتاب سنج است ، بنابراین اساساً شتاب را در جهت (X ، Y ، Z) و شتاب زاویه ای را در آن جهات به شما می گوید.

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

مرحله 5: ماژول بلوتوث HC-05

ماژول بلوتوث HC-05
ماژول بلوتوث HC-05
ماژول بلوتوث HC-05
ماژول بلوتوث HC-05
ماژول بلوتوث HC-05
ماژول بلوتوث HC-05

لازم نیست این قسمت را انجام دهید اما مهم این است که بتوانید به حالت AT (حالت تنظیمات) بروید زیرا به احتمال زیاد باید یکی از تنظیمات ماژول را تغییر دهید. این یکی از ناامید کننده ترین بخشهای این پروژه بود. من تحقیقات زیادی انجام دادم تا بفهمم چگونه ماژول خود را به حالت AT ببرم ، زیرا دستگاه من به دستورات من پاسخ نمی دهد. 2 روز طول کشید تا نتیجه بگیرم که ماژول من خراب است. من یکی دیگه سفارش دادم کار کرد این آموزش مربوط به ورود به حالت AT را بررسی کنید.

HC-05 انواع مختلفی دارد ، برخی با دکمه ها و برخی بدون و انواع متغیرهای طراحی وجود دارد. یکی از این موارد که ثابت است این است که همه آنها دارای "پین 34" هستند. این آموزش را بررسی کنید.

نکاتی که باید بدانید

  • برای رفتن به حالت AT ، فقط 5 ولت را نگه دارید تا پین 34 ماژول بلوتوث را قبل از اتصال به آن وصل کنید.
  • یک تقسیم کننده بالقوه را به پین RX ماژول وصل کنید زیرا روی 3.3 ولت کار می کند. هنوز می توانید از آن در 5 ولت استفاده کنید ، اما اگر مشکلی پیش بیاید ممکن است آن پین را سرخ کند.
  • اگر از پین 34 استفاده می کنید (به جای دکمه یا روش دیگری که به صورت آنلاین پیدا کرده اید) ، ماژول میزان باود بلوتوث را 38400 تنظیم می کند. به همین دلیل در پیوند آموزش بالا یک خط در کد وجود دارد که می گوید:

BTSerial.begin (38400) ؛ // سرعت پیش فرض HC-05 در دستور AT بیشتر

اگر ماژول هنوز با "OK" پاسخ نمی دهد ، پین های tx و rx را عوض کنید. باید باشد:

بلوتوث => آردوینو

RXD => TX1

TDX => RX0

اگر هنوز جواب نداد ، پین های کد را به پین های دیگر آردوینو تغییر دهید. تست کنید ، اگر کار نکرد پین tx و rx را عوض کنید ، سپس دوباره آزمایش کنید

SoftwareSerial BTSerial (10 ، 11) ؛ // RX | TX

خط بالا را تغییر دهید. می توانید RX = 2 ، TX = 3 یا هر ترکیب معتبر دیگر را امتحان کنید. می توانید به شماره پین های آردوینو در تصویر بالا نگاه کنید.

مرحله 6: اتصال قطعات

اتصال قطعات
اتصال قطعات

اکنون که مطمئن هستیم همه چیز کار می کند ، وقت آن است که آنها را کنار هم قرار دهیم. می توانید قطعات را درست مانند آنچه در مدار نشان داده شده وصل کنید. من آن را از Electronoobs دریافت کردم. او واقعاً در این پروژه به من کمک کرد. نسخه پروژه او را اینجا ببینید. اگر از این آموزش پیروی می کنید ، لازم نیست نگران اتصالات گیرنده باشید: input_Yaw ، input_Pitch و غیره همه اینها با بلوتوث انجام می شود. همچنین ، بلوتوث را همانطور که در قسمت قبل انجام دادیم متصل کنید. پین های tx و rx من کمی دردسر ایجاد می کردند ، بنابراین از آردوینو استفاده کردم:

RX به عنوان 2 و TX به عنوان 3 ، به جای پین های معمولی. در مرحله بعد ، ما باید یک برنامه ساده بنویسیم که به بهبود آن ادامه می دهیم تا محصول نهایی را داشته باشیم.

مرحله 7: زیبایی RemoteXY

زیبایی RemoteXY
زیبایی RemoteXY

برای مدت طولانی در فکر راهی آسان برای ساختن یک برنامه کاربردی از راه دور بودم که به من اجازه می داد پهپاد را کنترل کنم. اکثر مردم از MIT App Inventor استفاده می کنند ، اما رابط کاربری آنطور که دوست دارم زیبا نیست و همچنین از طرفداران برنامه نویسی تصویری نیستم. من می توانستم آن را با استفاده از Android Studio طراحی کنم اما این کار خیلی زیاد خواهد بود. وقتی آموزشی با استفاده از RemoteXY پیدا کردم ، بسیار هیجان زده شدم. این هم لینک وب سایت. استفاده از آن بسیار آسان است و مستندات آن نیز بسیار خوب است. ما یک رابط کاربری ساده برای هواپیمای بدون سرنشین خود ایجاد می کنیم. شما می توانید روش دلخواه خود را سفارشی کنید. فقط مطمئن شوید که می دانید چه کار می کنید. دستورالعمل های اینجا را دنبال کنید.

هنگامی که این کار را انجام دادید ، ما کد را ویرایش می کنیم تا بتوانیم دریچه گاز را در هلی کوپتر خود تغییر دهیم. خطوط دارای موارد **** که باید انجام دهید و چرا *** / را به کد خود اضافه کنید.

اگر کامپایل نمی شود ، مطمئن شوید که کتابخانه را بارگیری کرده اید. همچنین یک نمونه طرح باز کنید و آنچه را که شما ندارید مقایسه کنید.

///////////////////////////////////////////////// RemoteXY شامل کتابخانه // ///////////////////////////////////////////

// RemoteXY حالت اتصال را انتخاب کرده و کتابخانه را شامل می شود

#تعریف REMOTEXY_MODE_HC05_SOFTSERIAL

#شامل #شامل #شامل شود

// تنظیمات اتصال RemoteXY

#تعریف REMOTEXY_SERIAL_RX 2 #تعریف REMOTEXY_SERIAL_TX 3 #تعریف REMOTEXY_SERIAL_SPEED 9600

// ملخ ها

سرو L_F_prop ؛ سرو L_B_prop ؛ سرو R_F_prop ؛ سرو R_B_prop ؛

// پیکربندی RemoteXY

#بسته پراگما (فشار ، 1) uint8_t RemoteXY_CONF = {255 ، 3 ، 0 ، 0 ، 0 ، 61 ، 0 ، 8 ، 13 ، 0 ، 5 ، 0 ، 49 ، 15 ، 43 ، 43 ، 2 ، 26 ، 31، 4، 0، 12، 11، 8، 47، 2، 26، 129، 0، 11، 8، 11، 3، 17، 84، 104، 114، 111، 116، 116، 108، 101، 0، 129، 0، 66، 10، 7، 3، 17، 80، 105، 116، 99، 104، 0، 129، 0، 41، 34، 6، 3، 17، 82، 111، 108، 108، 0} ؛ // این ساختار همه متغیرهای ساختار رابط کنترل شما را تعریف می کند {

// متغیر ورودی

int8_t Joystick_x؛ // -100..100 موقعیت جوی استیک مختصات int8_t Joystick_y؛ // -100..100 موقعیت جوی استیک مختصات int8_t ThrottleSlider؛ // 0..100 موقعیت کشویی

// متغیر دیگر

uint8_t connect_flag؛ // = 1 در صورت اتصال سیم ، دیگری = 0

} RemoteXY ؛

#بسته پراگما (پاپ)

/////////////////////////////////////////////

// END RemoteXY شامل // ////////////////////////////////////// /

/********** این خط را اضافه کنید تا مقدار دریچه گاز حفظ شود **************/

int input_THROTTLE؛

void setup () {

RemoteXY_Init ()؛

/********** موتورها را به پین ها وصل کنید مقادیر را متناسب با شما تغییر دهید **************/

L_F_prop.attach (4) ؛ // موتور جلو چپ

L_B_prop.attach (5) ؛ // موتور عقب سمت چپ R_F_prop.attach (7) ؛ // موتور جلو راست R_B_prop.attach (6) ؛ // موتور عقب راست

/************* جلوگیری از ورود esc به حالت برنامه نویسی *******************/

L_F_prop.writeMicroseconds (1000) ؛ L_B_prop.writeMicroseconds (1000) ؛ R_F_prop.writeMicroseconds (1000) ؛ R_B_prop.writeMicroseconds (1000) ؛ تاخیر (1000) ؛

}

حلقه خالی () {

RemoteXY_Handler ()؛

/*

input_THROTTLE = نقشه (RemoteXY. ThrottleSlider ، 0 ، 100 ، 1000 ، 2000) ؛

L_F_prop.writeMicroseconds (input_THROTTLE) ؛

L_B_prop.writeMicroseconds (input_THROTTLE) ؛ R_F_prop.writeMicroseconds (input_THROTTLE) ؛ R_B_prop.writeMicroseconds (input_THROTTLE) ؛ }

مرحله 8: آزمایش

اگر همه کارها را به درستی انجام داده اید ، باید بتوانید با کشیدن دریچه گاز به بالا و پایین ، هلی کوپتر خود را آزمایش کنید. مطمئن شوید که این کار را در خارج انجام می دهید. همچنین پروانه ها را روشن نگه ندارید زیرا باعث پریدن هلی کوپتر می شود. ما هنوز کدی برای متعادل سازی آن ننوشته ایم ، بنابراین ایده بدی است که این مورد را با پیشرانها آزمایش کنید! من فقط این کار را کردم زیرا lmao.

این تظاهرات فقط برای نشان دادن این است که ما باید بتوانیم دریچه گاز را از برنامه کنترل کنیم. متوجه خواهید شد که موتورها دچار لکنت هستند. این به این دلیل است که ESC ها کالیبره نشده اند. برای انجام این کار ، به دستورالعمل های موجود در این صفحه Github نگاه کنید. دستورالعمل ها را بخوانید ، فایل ESC-Calibration.ino را باز کرده و آن دستورالعمل ها را دنبال کنید. اگر می خواهید درک کنید که چه اتفاقی می افتد ، این آموزش Electronoobs را بررسی کنید.

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

مرحله 9: من روی کد کار می کنم. در چند روز موارد آموزشی را به پایان می رساند

فقط می خواستم اضافه کنم که اگر از این آموزش استفاده می کنید و منتظر من هستید ، من هنوز روی آن کار می کنم. فقط چیزهای دیگری در زندگی من پیش آمده است که من نیز روی آنها کار می کنم ، اما نگران نباشید به زودی آن را منتشر خواهم کرد. بیایید بگوییم حداکثر تا 10 آگوست 2019.

به روز رسانی 10 آگوست: نمی خواستم شما را حلق آویز کنم. متأسفانه در هفته گذشته وقت نداشتم روی پروژه کار کنم. خیلی مشغول کارهای دیگر بوده اند. من نمی خواهم شما را پیش ببرم امیدوارم در آینده نزدیک مطالب آموزشی را کامل کنم. اگر س questionsالی دارید یا به کمک احتیاج دارید می توانید نظر خود را در زیر اضافه کنید و من به شما پاسخ خواهم داد.

توصیه شده: