الصنّاع العرب

تصميم طائرات الدرون بإستخدام أرديونو (الجزء الأول)

أصبحت الطائرات بدون طيار المعروفة باسم الدرونز Drones واحدة من أكثر الهوايات شعبية لدى مختلف الفئات العمرية، كما تعددت استخدامتها في أكثر من مجال فمنها استخدامات عمليه مثل طائرات الإسعافات الأولية و طائرات نقل الشحنات البريدية الخ …، ومنها استخدامات ترفيهية مثل المسابقات التنافسية المختلفة.
فقد نشأت في الأونه الأخيرة مجتمعات مصغرة لمحبي تلك الهواية لممارستها وتبادل الخبرات والمسابقات وكذلك كمدخل لتعلم ميكانيكية الطيران.

وبعد إجراء بعض البحث على الإنترنت والتعلم ممن سبقني في هذا المجال ومحاولاتي المتواضعة لفهم هذا السر وراء (الدرونز) وجدت بعض الشروحات التفصيله عن تعلم بعض الشيء عن ديناميكة الهواء وطرق حساب كتلة الطائرة ووزنها في الهواء وما شابه ذلك من أمور تفصيليه سنتناول شرحها فيما بعد، فرأيت أنه من الجيد تبسيط تلك الأمور المعقدة وتطبيق مشروع على أرض الواقع فبذلك تتم الفائدة لي أولاً ثم لغيري.

وحيث أن لوحة الأردينو يمكنها القيام بالعديد من الأمور وكذلك التحكم في كافة أنواع الدوائر الكهربائية قمت ببناء نموذج أولي Prototype لطائرة درون وهي الآن في طور التطوير وقمت باستخدام لوحة أردوينو نانو كمتحكم إلكتروني لخفة وزنها وسهولة برمجتها، ولذلك أردت مشاركة تجربتي معكم حيث يمكنكم تعلم أساسيات هامة في ذلك المجال تمكنكم من صناعة إصداراتكم الخاصة.

يتميز هذا النموذج بأنه يحتوي على نظام تحديد المواقع (GPS) يعطي بيانات دقيقة للإحداثيات الجغرافية، وتم إضافة جهاز استشعار المسافة بالموجات فوق الصوتية Ultrasonic sensor لتجنب العقبات في الهواء أثناء الطيران.

كما يتميز هذا النموذج بأنه ذاتي التحكم يعمل بكود برمجي قوي وقابل للتطوير.

لنتعرف بالتفصيل عن مكونات المشروع

الخطوة الأولى: تصميم الطائرة

واحدة من أهم أجزاء الكوادكوبتر (الدرون) هو الإطار لأنه يدعم المحركات والإلكترونيات الأخرى ويمكنك الحصول على إطارات الجاهزة من أي موقع بسهولة، ولكن إذا كنت تريد أن تصنعه بنفسك يمكنك استخدام المواد القوية وخفيفه الوزن مثل ألياف الكربون أو الخشب أو البلاستيك. ويعتبر ألياف الكربون هو الخيار الأفضل لصنع الإطار لأنها مواد خفيفة نسبياً وقوية ومستقرة لحمل وزن جميع أجزاء الكوادكوبتر.

فهناك العديد من التصاميم المتاحة لطائرات الدرونز فمنها الثلاثي والرباعي والخُماسي والسداسى المروحيات. فما نحتاج في البداية هو تحديد شكل هيكل الطائرة وتحديد ماهية المهام التي يجب على الطائرة فعلها ، حيث أنه من الثوابت في قواعد الطيران وديناميكية الهواء أن تكون قوة دفع المراوح الأربعة تساوي ضعف وزن الطائرة حتى تتيح لها القوة لتحلق بوزنها الذي هو أثقل من الهواء وتكسب ارتفاعاً معيناً كلما زادت سرعة المحركات. إذاً يجب أن يؤثر على هيكل الطائرة قوة تٌعاكس قوة وزنها ويتم توليد قوة الرفع عن طريق المراوح كما هو موضح بالشكل.

ولمعرفة كيف تثبت طائرة الدرون في الهواء فإنه يجب دوران المراوح (المحركات) بالإتجاه الموضح، محركين في اتجاه عقارب الساعه، ومحركين عكس اتجاه عقارب الساعه.

فدوران المرواح (propellers) في اتجهاين متعاكسة يخلق قوة الدفع التي تسمى بـ (thrust force) تكون ضد قوة الجاذبية + وزن الطائرة (weight force) مما يساعد على تحليقها.

ولكي نتعرف أكثر كيف تتحرك طائرة الدرون إليكم هذا الرسم التوضيحي

الخطوة الثانية: إختيار المحركات

هناك نوع شائع من محركات طائرات الدرون وتسمى (Brushless DC motor) وتتميز تلك المحركات بقوة تحملها وسرعة دورانها الفائقة، فعند اختيار المحرك هناك عاملان أساسيان يجب أخذهما في الاعتبار
1- عدد لفات المحرك (السرعة القصوى) أو ما يعرف باسم KV وهو ما يحدد سرعة الطائرة
2- قوة الدفع أو قوة تحمل الثقل وهو الوزن المحمول الذي يتحمله هذا المحرك بالجرام

مثال: هذا المحرك له قوة دفع 1300 جرام، و عدد لفاته 930 ولدينا 4 محركات في التصميم
إذاُ يتم الحساب كالتالي:

الوزن الكلي الذي يمكن رفعه بالمحركات الأربعة
1300 جرام × 4 = 5200 جرام

أي 5 كيلو و 200 جرام هو الوزن القادرة تلك المحركات على حمله عند السرعة القصوى ولكن ذلك سيؤدي إلى سحب تيار عالي من البطارية وستفرغ في غضون 10 إلي 20 ثانية، لذلك نقوم بقسمة الناتج على 2 لتخفيف الأحمال و زيادة زمن الطيران

5200 جرام ÷ 2 = 2600 جرام

إذاً 2 كيلو و 600 جرام هو الوزن الكلي الذي يمكن للمحركات رفعه، فإذا فرضنا أن مجموع مكونات أجزاء الطائرة مع الهيكل هو 1500 جرام (الحمولة القصوى) 2600 جرام − (وزن الهيكل) 1500 جرام = 1100 جرام

 إذن 1100 جرام هو الوزن الإضافي الذي يمكن للطائرة حملة مع الهيكل

الخطوة الثالثة: متحكمات السرعة الإلكترونية

يتم عادة استخدام المتحكمات الإلكترونية في السرعة (speed controller) للتحكم الدقيق في سرعة دوران المحركات بدقة عاليه. وفي مشروعنا الحالي نحتاج إلى أربعة متحكمات إلكترونية، واحدة متصلة بكل محرك. ثم يتم توصيلها مباشرة إلى البطارية. لأن المحركات على الكوادكوبتر يجب أن تدور بسرعات دقيقة لتحقيق التوازن والإرتفاع المناسب.
*ملحوظة:
يمكن التعويض عن تلك المتحكمات الإلكترونية بمتحكمات أخرى يمكنها التعامل مع لوحة الأردوينو بطريقة أكثر سهوله مثل
HG7881 H-bridge 4-Channel

الخطوة الرابعة: البطاريات

بطارية أقوى تعني فترة طيران أطول. الكوادكوبتر عادة تستخدم بطاريات ليثيوم، وتأتي تلك البطاريات في مجموعات متنوعة من حيث الحجم والتكوين. وفي المشروع الحالي قمت باستخدام بطارية 1000 ملي أمبير وتكفي لمدة تتراوح بين 10-15 دقيقة من الطيران المستمر.

الخطوة الخامسة: اختيار موديول (GPS)

كما سبق الذكر فإن طائرة الدرون في المشروع الحالي يمكنها تتبع مسار معين أو الذهاب لإحداثيات جغرافية معينة ومن ثم العودة مرة أخرى لمكان الإطلاق، لذا نحتاج لتركيب موديول يعمل على التقاط إشارات الأقمار الصناعية بنظام تحديد المواقع العالمي (GPS)، وقمت باستخدام موديول من نوع GY-NEO6MV2.

ونظام تحديد المواقع العالمي هو نظام الملاحة الفضائية ويعمل على توفير معلومات لحظية عن الموقع الحالي ويعمل في كافة الأحوال والظروف الجوية المختلفة، ويوفر هذا النظام القدرة على التعامل مع بروتوكولات البيانات الجغرافية المعقدة ومن ثم إعطاء بيانات يسهل التعامل معها والاستفادة منها بالكود البرمجي للطائرة.

فعند تجربة موديول نظام الملاحة الجوية يعطي مكان تواجد الطائرة نسبة إلى خطوط الطول والعرض (Latitude and longitude) مع التاريخ و الوقت عند الانتقال من كل نقطة لأخرى.

مثال عملي لفهم طريقة عمل موديول :

أولاً: قم بتحميل المكتبة البرمجية من هنا

ثانياً: قم بالتوصيل كما هو موضح في الشكل

ثالثاً: انسخ الكود البرمجي لتجربة الموديول:

#include  <TinyGPS++.h>
#include  <SoftwareSerial.h>
/*
   This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object.
   It requires the use of SoftwareSerial, and assumes that you have a
   4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
*/
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 4800;

// The TinyGPS++ object
TinyGPSPlus gps;

// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);

void setup()
{
  Serial.begin(115200);
  ss.begin(GPSBaud);

  Serial.println(F("DeviceExample.ino"));
  Serial.println(F("A simple demonstration of TinyGPS++ with an attached GPS module"));
  Serial.print(F("Testing TinyGPS++ library v. ")); Serial.println(TinyGPSPlus::libraryVersion());
  Serial.println(F("by Mikal Hart"));
  Serial.println();
}

void loop()
{
  // This sketch displays information every time a new sentence is correctly encoded.
  while (ss.available() > 0)
    if (gps.encode(ss.read()))
      displayInfo();

  if (millis() > 5000 && gps.charsProcessed() < 10)
  {
    Serial.println(F("No GPS detected: check wiring."));
    while(true);
  }
}

void displayInfo()
{
  Serial.print(F("Location: ")); 
  if (gps.location.isValid())
  {
    Serial.print(gps.location.lat(), 6);
    Serial.print(F(","));
    Serial.print(gps.location.lng(), 6);
  }
  else
  {
    Serial.print(F("INVALID"));
  }

  Serial.print(F("  Date/Time: "));
  if (gps.date.isValid())
  {
    Serial.print(gps.date.month());
    Serial.print(F("/"));
    Serial.print(gps.date.day());
    Serial.print(F("/"));
    Serial.print(gps.date.year());
  }
  else
  {
    Serial.print(F("INVALID"));
  }

  Serial.print(F(" "));
  if (gps.time.isValid())
  {
    if (gps.time.hour() < 10) Serial.print(F("0"));
    Serial.print(gps.time.hour());
    Serial.print(F(":"));
    if (gps.time.minute() < 10) Serial.print(F("0"));
    Serial.print(gps.time.minute());
    Serial.print(F(":"));
    if (gps.time.second() < 10) Serial.print(F("0"));
    Serial.print(gps.time.second());
    Serial.print(F("."));
    if (gps.time.centisecond() < 10) Serial.print(F("0"));
    Serial.print(gps.time.centisecond());
  }
  else
  {
    Serial.print(F("INVALID"));
  }

  Serial.println();
}

الخطوة السادسة: قياس التوازن والارتفاع ومعدل التسارع – إختياري

للتحكم في الطائرة بصورة أكثر احترافية يمكنكم الاعتماد على موديول يسمي بـ Accelerometer module  وهذه الخاصية تمكننا من معرفة المحاور الرئيسية وأي تغيير في الحركة و مقدار التوازن الذي قد يتحقق بسبب قوة دفع المحركات واعطاء نتائج مستمرة بمقدار تغيير تلك المحاور، وتم استخدام GY-521  MPU6050.

الخطوة السابعة: تركيب المحركات

لصنع نموذج مصغر كبداية يمكن استخدام نوع أقل حجماً من المحركات وشراء هيكل مبسط وعادة ما يباع في مجموعات كقطع غيار مع المروحيات و القواعد.

لشراء الهيكل يرجى الضغط هنا

قم بتجميع الهيكل كما هو موضح وحيث أن الهيكل لا يوجد به أذرع قم باستخدام أذرع بلاستيكية وقطعة من الفلين بالوسط تركب عليها الدائرة.

الخطوة الثامنة: الدائرة الإلكترونية

وبعد الإنتهاء من رسم الدائرة الكهربائية كاملة والتعرف على كل جزء من أجزاء المشروع، سنقوم في الجزء الثاني إن شاء الله بشرح كيفية عمل تلك الأجزاء معاً والتوافق بينها لإنهاء مجسم الطائرة.

Ahmed Azouz

مطور برمجيات ، مهتم بمجال التكنولوجيا والروبوت

3 تعليقات

اترك رد

تابعنا