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

نکته: این مقاله صرفا تئوری است و در عمل توسط مترجم تست نشده است.
امروزه ایجاد یک پهپاد کار آسانی است اما پرهزینه است. بنابراین ما می خواهیم به شما آموزش دهیم که چگونه یک پهپاد ارزان قیمت با آردوینو ایجاد کنید. همچنین می خواهیم به شما آموزش دهیم که چگونه یک فرستنده(transmitter) نیز برای پهپاد ایجاد کنید. از این رو، این پهپاد کاملاً دست ساز است. در این آموزش، نیازی نیست که هیچ برد فلایت کنترل یا فرستنده ای را خریداری کنیم.
لوازم مورد نیاز:
لوازم مورد نیاز پهپاد:
1. فریم پهپاد: به ستون فقرات پهپاد، فریم(frame) گفته می شود. فریم، چیزی است که تمام قطعات پهپاد را در کنار هم نگه می دارد. و باید محکم باشد اما از طرف دیگر، باید سبک باشد تا برای ماندن در هوا، به موتورها و باتری ها فشار وارد نشود.
2. موتورهای پهپاد: رانشی که به کوادکوپتر امکان می دهد تا در هوا معلق شود، توسط موتور DC براشلس، ارائه می شود. و هریک از آنها به طور جداگانه، توسط یک اسپید کنترل(ESC)، کنترل می شوند.
3. اسپید کنترل(ESC): مخفف کلمات Electronic Speed Controller به معنی کنترل کننده ی سرعتِ الکترونیکی است. اسپید کنترل، مانند یک عصب است که اطلاعات حرکت را از مغز(یعنی فلایت کنترل) به بازوها یا عضلات پا(یعنی موتورها) ارائه می دهد. اسپید کنترل، تنظیم می کند که چه میزان انرژی باید به موتورها داده شود؛ به طوری که این انرژی، سرعت و جهت کوادکوپتر را تغییر می دهد.
4. ملخ های پهپاد: بسته به نوعِ یک کوادکوپتر، ما می توانیم از ملخ های 9 تا 10، یا 11 اینچی(برای پروازهای پایدار و عکاسی هوایی) استفاده کنیم. یا می توانیم از ملخ های رقابتیِ 5 اینچی، برای رانش کمتر و سرعت بیشتر استفاده کنیم.
5. باتری ها: بسته به ماکزیمم سطحِ ولتاژ برای راه اندازی پهپاد، می توانیم از باتری های 2S یا 3S یا 4S یا حتی 5S استفاده کنیم. اما بعنوان مثال، باتری استاندارد، برای یک کوادکوپتر که برای فیلمبرداری هوایی برنامه ریزی شده است، یک باتری 11.4 ولت 3S است. اگر دارید یک پهپاد مسابقه ای ایجاد می کنید و می خواهید موتورهای آن خیلی سریع بچرند، می توانید از باتری 22.8 ولت 4S استفاده کنید.
6. یک برد آردوینو نانو(Nano).
7. برد IMU(MPU 6050): یک برد است که بسته به انتخاب ما، تعدادی سنسور مختلف دارد که به کوادکوپتر کمک می کنند تا بداند که در کجا قرار دارد و خود را تراز کند. به آن سامانه ی اندازه گیری داخلی(IMU) گفته می شود.
لوازم مورد نیاز برای فرستنده(transmitter):
1. ماژول فرستنده/گیرنده ی NRF24L01
2. NRF24L01 + PA + LNA
3. پتانسیومتر
4. سروو موتور
5. کلید فشاری
6. جوی استیک
7. برد آردوینو مدل pro mini
گام شماره 1: شماتیک
نقشه ی اصلی ما به صورت زیر است:

اسپید کنترل ها(ESC) را به صورت زیر متصل کنید:
- پین سیگنال ESC1 به D3
- پین سیگنال ESC3 به D9
- پین سیگنال ESC2 به D10
- پین سیگنال ESC4 به D11
ماژول بلوتوث را به صورت زیر متصل کنید:
- Tx – Rx
- Rx – Tx
قطعه MPU-6050 را به صورت زیر متصل کنید:
- SDA – A4
- SCL – A5
نشانگر ال ای دی را به صورت زیر متصل کنید:
- پایه مثبت ال ای دی – D8
اتصال گیرنده(receiver) به صورت زیر است:
- Throttle – D2
- Elerons – D4
- Ailerons – D5
- Rudder – D6
- AUX 1 – D7
ما نیاز داریم تا قطعه ی MPU-6050 و ماژول بلوتوث و گیرنده و اسپید کنترل ها(ESC) را به زمین متصل کنیم. و برای انجام این کار، نیاز داریم تا تمام پین های GND را به پین GND آردوینو متصل کنیم.
گام شماره 2: لحیم کردن قطعات

نکته مهم: معلوم نیست چهار سیم آبی رنگ که به هدرها متصل هستند، دقیقا به همان پین های روبه رو متصل شده باشند.
اولین کاری که باید انجام دهیم، این است که مادگی هدرها(header) را به بورد سوراخ دار(prototype board)، لحیم کنیم. این بورد، بورد آردوینوی ما را در خود جای می دهد. آنها را درست در مرکز بورد، لحیم کنید، تا برای بقیه ی هدرهای MPU و ماژول بلوتوث و گیرنده(Receiver) و اسپید کنترل ها(ESC) جای کافی باقی بماند. و مقداری فضا برای برخی برخی سنسورهای دیگر که ممکن است در آینده اضافه کنید، اختصاص دهید.
نکته: در تصویر بالا، پین شماره 3 از پایین، یعنی همان پین RST در آردوینو، به هدرهای سه تایی، در پایین هدرهای سمت راست تصویر بالا، متصل نیست.
گام بعدی این است که هدرهای نری گیرنده و اسپید کنترل ها(ESC) را به هدرهای مادگی آردوینو، به درستی لحیم کاری کنیم. اینکه چه تعداد ردیفِ هدرِ نری داشته باشیم، به این بستگی دارد که پهپاد ما، قرار است چه تعداد موتور داشته باشد. در اینجا، ما می خواهیم یک کوادکوپتر ایجاد کنیم؛ یعنی به چهار موتور نیاز داریم و برای هرکدام نیز به یک اسپید کنترل(ESC) نیاز داریم. به این معنی که به چهار ردیف هدر نیاز داریم، که هرکدام از آنها از سه هدر نری (برای اتصال اسپید کنترل) برخوردار است. اولین هدر، در ردیف(row) اول، برای Signal PID است و دومین ردیف برای 5ولت است( اگرچه، این بستگی به این دارد که ESC های شما یک پین 5 ولت داشته باشند یا نه، اگر نه، این هدرها را خالی گذارید). و سومین هدر برای GND است.
وقتی لحیم کاریِ اسپید کنترل ها(ESC) تمام شد، می توانید به قسمت لحیم کاری هدر گیرنده(Receiver) بروید. در بیشتر موارد، یک کوادکوپتر از 4 کانال(channels) برخوردار است، که عبارتند از:
- Throttle
- Pitch
- Yaw
- Roll
یک کانال باقی مانده(یعنی پنجمین کانال) نیز وجود دارد که از آن برای تغییرات فلایت مود(Flight mode) ( یعنی کانال کمکی یا Auxillary) استفاده می شود. این یعنی اینکه ما نیاز خواهیم داشت تا هدرهای نری را در پنج ردیف(یعنی با یک ردیف اضافه)، لحیم کنیم. و برای کانال اول تا چهارم، فقط یک هدر اختصاص دهید(همان طور که در تصویر اول، در بالا، در سمت راستِ تصویر مشاهده می کنید) به هرکدام از 5 کانال، به جز یکی(یعنی به جز ردیف پنجم)، فقط یک هدر اختصاص داده ایم، درحالیکه برای کانال پنجم، در ردیف پنجم، سه هدر اختصاص داده ایم.
تمام بخش های اتصال به زمین(ground)، به پین اتصال به زمین آردوینو متصل شده اند. که شامل تمام اتصال به زمین های ESCها و اتصال به زمین های گیرنده(Receiver) (هدر سیگنال تراتل کاملا در سمت راستِ(برد آردوینو) قرار دارد؟؟؟) و ماژول بلوتوث و MPU می شود.
سپس نیاز داریم شماتیک ها و اتصالاتی که در بالا توضیح دادیم را دنبال کنیم و انجام دهیم. بعنوان مثال، برای MPU باید SDA – A4 و SCL – A5 وصل شوند و برای بلوتوث، TX – TX و RX – RX در آردوینو متصل شوند. پس از آن، تنها اتصالات را همان طور که نوشته ایم، انجام دهید: پین های سیگنال ESC1 و ESC2 و... را به D3 و D10 و ... از آردوینو متصل کنید. سپس پین های سیگنال Pitch – D2 و Roll – D4 و غیره را متصل کنید.
علاوه بر این، ما نیاز داریم تا پایه ی بلندتر، یا همان پایه مثبت LED را به پین D8 آردوینو متصل کنیم. همچنین، مقاومت 330 اهم را بین پینِ اتصال به زمینِ آردوینو و پایه ی کوتاه تر یا همان پایه ی منفی LED قرار دهید. آخرین کاری که باید انجام دهیم، این است که یک منبع تغذیه ی 5 ولت را ارائه دهیم. برای انجام این کار، ما باید به صورت موازی، سیم مشکی(یعنی سیم زمین باتری) را به سیم زمینِ تمامِ قطعات متصل کنیم؛ و باید سیم قرمز را به آردوینو و MPU و ماژول بلوتوث و پین های 5 ولت، متصل کنیم. حالا، قطعه ی MPU 6050 نیاز دارد تا به هدرهای نری، یعنی به آنهایی که قصد استفاده از آنها را داریم، لحیم شود. پس از آن، برد مورد نظر را 180 درجه بچرخانید(آن را معکوس کنید) و تمام قطعات را به هدرهای مربوطه در برد سوراخ دار، متصل کنید.
حالا آردوینو را روشن کنید و اکنون آردوینو آماه ی آن است که کدهای خود را از طریق کامپیوتر به آن وارد کنیم.
گام شماره 3 : برنامه نویسی فلایت کنترل آردوینو:
1. ابتدا نیاز داریم، مولتی وی 2.4 را با کلیک بر روی این لینک، دانلود کنیم و آن را از حالت فشرده اکسترکت کنیم.
2. حالا وارد فولدر MultiWii شوید و به دنبال آیکون MultiWii.ino بگردید و آن را اجرا کنید.


3. حالا IDE آردوینو باز می شود. فایل Multiwii را از منو انتخاب کنید. تمام فایل های CPP یا H، برای پشتیبانی کدهای مولتی وی(Multiwii) هستند؛ بنابراین آنها را باز نکنید. فقط به فایل Multiwii.ino توجه کنید.

4. وقتی که ما فایل مذکور یعنی Multiwii.ino را باز می کنیم، تب های زیادی همچون Alarms.cpp و Alarms.h و EEPROM.cpp و EEPROM.h و ... را مشاهده می کنیم. بر روی تب config.h کلیک کنید تا باز شود.

5. به سمت پایین اسکرول کنید تا عبارت The type of multicopter را مشاهده کنید؛ سپس دو علامت اسلش(//) که قبل از عبارت #define QUADX قرار دارد را حذف کنید. دلیل انتخاب Quad X این است که ما می خواهیم پیکر بندی کوادکوپتر ما به صورت X باشد.

6. حالا به سمت پایین اسکرول کنید و به دنبال عبارت Combined IMU Boards بگردید، برای این کار می توانید از Ctrl+F در کیبورد استفاده کنید تا بتوانید جستجو کنید. سپس نوع بورد ژیروسکوپ+شتاب سنج(Gyro+Acc) که استفاده می کنید را مشخص کنید. ما از ژیروسکوپ و شتاب سنج GY-521 استفاده کرده ایم. بنابراین، علامت های اسلش آن را حذف می کنیم.

7. اگر می خواهید دیگر سنسورها، مثل سنسور فشارسنج یا سنسور اولتراسونیک را اضافه کنید، تنها کاری که باید انجام دهید، این است که آنها را با برداشتن اسلش ها فعال کنید؛ تا اجرا شوند.
8. حالا نوبت به پین زنگ اخبار(Buzzer pin) می رسد. بنابراین عبارت "Buzzer pin" را جستجو کنید. در اینجا نیاز داریم (سه مورد اول از) تنظیمات افق ژیروسکوپ(Flight indicator) را فعال کنیم. (احتمالا بازر و تنظیم افق ژیروسکوپ قاطی شده).

9. بورد آردوینو را از فلایت کنترل جدا کنید و سپس آن را با استفاده از USB به کامپیوتر خود متصل کنید. هنگامی که بورد آردوینو از فلایت کنترل جدا شد و آن را به کامپیوتر متصل کردید، IDE آردوینو را باز کنید و از منوی Tools و Board گزینه ی Arduino Nano را انتخاب کنید.

10. حالا دوباره از منوی Tools، به منوی Port بروید و پورت COM را (در اینجا COM3) انتخاب کنید. در آخر، بر روی فلش upload کلیک کنید، و کمی صبر کنید تا کدها در آردوینو نانو آپلود شوند:

11. وقتی که آپلود به پایان رسید، USB آردوینو را قطع کنید و (آردوینو) را به بورد فلایت کنترل (در سر جای خود) متصل کنید و یک باتری 5 ولت را متصل کنید تا تمام فلایت کنترل به برق متصل شوند و سپس کمی صبر کنید تا LED در آردوینو قرمز شود. این یعنی بوت(booting) فلایت کنترل به پایان رسیده است و می توانیم آن را دوباره به کامپیوتر خود متصل کنیم. حالا، فولدر Multiwii 2.4 را پیدا کنید و وارد آن شوید، سپس فولدر MultiwiiConfig را باز کنید و از فولدرهای پیش رو، فولدری که با سیستم عامل کامپیوتر شما مطابقت دارد را باز کنید. برای ما، نام این فولدر application.windows64 است.
12. حالا برنامه ی MultiWiiConf.exe را باز کنید. بلافاصله مشاهده خواهید کرد که فلایت کنترل چگونه حرکت می کند؛ و داده های شتاب سنج(Accelerometer) و ژیروسکوپ(Gyroscope)، در صفحه نشان داده می شوند. جهت فلایت کنترل، در پایین نشان داده می شود. در این رابط کاربری، می توانید مقادیر PID را تغییر دهید و کوادکوپتر خود را دقیقاً تنظیم کنید تا با اولویت های شخصی شما تطابق یابد. و همچنین می توانید در این رابط کاربری، فلایت مودها(flight modes) را به بعضی از گزینه های کمکی(Auxillary switch positions) انتساب دهید. تمام کاری که باید اکنون انجام دهید، این است که یک مکان برای فلایت کنترل آردوینوی خود در فریم پیدا کنید و آماده ی پرواز شوید.
گام شماره 4: فریم پهپاد
حالا، کاری که می توانید انجام دهید، این است که تمام بخش ها را به فریم پهپاد متصل کنید. و یا با رفتن به این مقاله، می توانید خودتان یک فریم ایجاد کنید.
گام شماره 5: متصل کردن و مونتاژ موتورها و اسپید کنترل ها

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

حالا فلایت کنترلی که ساخته ایم(گیرنده ی آردوینو) را در مرکز فریم پهپاد متصل کنید. توصیه می کنیم که یک تکه اسفنج را در زیر فلایت کنترل قرار دهید؛ زیرا لرزش های ایجاد شده توسط موتور را کاهش می دهد. به این ترتیب، پهپاد ما به هنگام پرواز پایدارتر می شود و استحکام، کلیدی برای پرواز پهپاد است. حالا باتری لیتیم پلیمر(lipo) را در پایین فریم اضافه کنید و مطمئن شوید که پهپاد در مرکز خود، متعادل باشد. اکنون پهپاد ما آماده ی پرواز است.
گام شماره 7: ایجاد فرستنده
ارتباط رادیویی این فرستنده بر اساس ماژول فرستنده و گیرنده ی NRF24L01 است؛ که اگر از یک آنتن تقویت شده استفاده کند، می تواند در فضای باز، برد پایداری، حداکثر تا 700 متر داشته باشد. این فرستنده 14 کانال(channels) دارد، که شش تای آنها، ورودی های آنالوگ هستند و هشت تای آنها ورودی های دیجیتال هستند.

این فرستنده، دو جوی استیک، دو پتانسومتر، دو دکمه ی فشاری، شش دکمه دارد؛ و همچنین یک واحد اندازه گیری داخلی، متشکل از یک شتاب سنج و یک ژیروسکوپ است، که می توانیم با استفاده از آنها، با حرکت دادن یا کج کردن کنترلر، اشیاء را کنترل کنیم.

کام شماره 8: نمودار مدار

مغز این کنترل کننده ی RC، یک بورد Arduino Pro Mini است که توسط دو باتری LiPo (لیتیم پلیمر) به آن برق داده می شود و ولتاژ آن حدود 7.4 ولت است. ما می توانیم این باتری ها را مستقیماً به پین RAW در آردوینو Pro Mini متصل کنیم؛ که از یک رگولاتور ولتاژ برخوردار است که ولتاژ مذکور را به 5 ولت تبدیل می کند. توجه کنید که دو نسخه از آردوینو Pro Mini وجود دارد؛ نسخه ای که ما از آن استفاده می کنیم، 5 ولت است و نسخه ی دیگری 3.3 ولت است.
از طرف دیگر، ماژول NRF24L01 به شدت به برق 3.3 ولت نیاز دارد و توصیه می شود که از یک منبع اختصاصی تهیه شود. بنابراین ما نیاز داریم تا از یک رگولاتور ولتاژ 3.3 ولت استفاده کنیم که به باتری ها متصل می شود و ولتاژ 7.4 ولت را به 3.3 ولت تبدیل می کند. همچنین، ما نیاز داریم از یک خازن بای پس، درست بعد از این ماژول استفاده کنیم تا ولتاژ را پایدارتر کند. به این ترتیب، ارتباطات رادیویی به خوبی پایدارتر خواهند شد. ارتباطات رادیویی ماژول NRF24L01 با آردوینو، با استفاده از پروتکل SPI انجام می شود؛ درحالیکه شتاب سنج MPU6050 و ماژول زیروسکوپ(gyro module) از پروتکل I2C استفاده می کند. ما باید تمام قطعات را بر اساس نمودار، به یکدیگر متصل کنیم. ما می توانیم یک مدار طراحی و چاپ کنیم که کارها را ساده تر می کند.
گام شماره 9: کدنویسی فرستنده
برای برنامه نویسی یک برد آردوینوی Pro Mini، نیاز داریم از یک رابط کاربری USB به سریال UART که می تواند به هدر(header) قرار گرفته در سمت بالای کنترلر ما متصل شود، استفاده کنیم.

سپس باید در منوی Tools از IDE آردوینو، در زیر-منوی Board، گزینه ی Arduino Pro or Pro Mini را انتخاب کنید. سپس در منوی Tools، در زیر-منوی processor، پردازنده را مشخص کنید. و از زیر-منوی Port، پورت را مشخص کنید و از زیر-منوی programmer، روش برنامه نویسی USBasp را انتخاب کنید. برای دانلود کدهای کامل آردوینو برای فرستنده ی RC، اینجا کلیک کنید. سپس آن را در برد آردوینوی pro mini آپلود کنید.

گام شماره 10: کدنویسی گیرنده(receiver)
لینک کدهای گیرنده(receiver) که می خواهیم داده ها را از آن دریافت کنیم و به سادگی آن را در سریال مانیتور(serial monitor) چاپ کنیم، در زیر قرار دارد. که با استفاده از آن، ارتباطات به درستی کار می کند. دوباره، نیاز داریم تا کتابخانه ی باتری RF24 را اضافه کنیم و آبجکت ها را تعریف کنیم و ساختار کدها را مانند کدهای فرستنده مشخص کنیم. در بخش راه اندازی، وقتی که ارتباطات رادیویی را تعریف می کنیم، نیاز داریم تا از همین تنظیمات برای فرستنده استفاده کنیم و ماژول مذکور را بعنوان گیرنده با استفاده از تابع radio.startListening() تنظیم کنیم. برای دریافت کدهای گیرنده، اینجا کلیک کنید. و آن را در قطعه ی گیرنده آپلود کنید.
گام شماره 11: پرواز پهپاد

ابتدا پهپاد خود را بر روی زمین قرار دهید و آن را آماده ی پرواز کنید. حالا فلایت کنترل را بگیرید و سپس بادقت و امنیت کامل پرواز پهپاد را استارت بزنید. اما، به شدت توصیه می شود که تراتل را به آرامی بالا ببرید. و اگر برای اولین بار این کار را انجام می دهید، در ارتفاع پایین پهپاد را به پرواز در آورید. امیدوارم از این مقاله به خوبی استفاده کنید.
منابع:
1. https://www.instructables.com
- بازدید: 766
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.