الأربعاء، 24 أغسطس 2016

Quadcopter - كواد كوبتر بالأردوينو

بسم الله الرحمن الرحيم









للناس الي حابه انها تعمل سيستم التحكم بتاع الطياره كله .. مثلا بالأردوينو او الميكرو
اولا لازم تعرف ايه مشاكل الطيارات :
1- الاتزان : المواتير مش نفس السرعه فبالتالي بتلاقي الطياره بتحدف دايما فعشان كدا هتضطر تستخدم حاجه تساعدك انك تظبط الاتزان دا
2- اتجاهات الهوا وسرعات المواتير مع بعض .. ودا بيخليها تلف حوالين نفسها ف عشان تظبط دا لازم تحط حاجه تخليلك الطياره كل ما تلف ترجع تاني لمكانها او اتجاهها الاصلي
3- الهبوط الحاد او الاقلاع السريع .. دايما في كتير عندهم مشكلة في الهبوط دايما ان الطياره بتنزل رزع ع الارض ودا خطر جدا فلازم تعرف الارتفاع اد ايه عشان لما تيجي تهبط تعمل هبوط امن اوتوماتيك حتى لو انت حاولت تكسرها
دي المشاكل الرئيسيه
----------------------------------------------------------------------------
انت عايز تعمل سيستم بيحاكي الاردوبيلوت او اي كنترولر .. هم اصلا معظمهم بيبقو micro controller عادي او اردوينو بس بيحطو معاه شويه سنسورات ودا الي انت هتعمله .. هتجيب السنسورات دي وتوصلها بالاردوينو وتبرمجهم مع بعض
اولا : التحكم في سرعات المواتير :
دي مقاله بتعرفك كل حاجه عن المواتير وال ESC :
https://www.facebook.com/breakin.point.mans/posts/310023795840683
ازاي بقا تبرمج ال ESC ؟ بص ع الكود دا وافهمو كويس wink emoticon
ال ESC بيتبرمج زي الموتور السيرفو بال PWM يعني اشارات متقطعه بس خد بالك ان لازم بتردد معين الي هو 490 ودول بيبقو موجودين في Pin معينه في الاردوينو ( مثلا الاونو 3,9,10,11 بس ) وبتديلو pulses بعرض معين بيبدأ من 0 لحد 255 .. بس واقعيا الموتور مش هيشتغل قبل ال 100 او ال 120 ف بالتالي انت هتمشي من اول ال 0 وتزود لحد ما يشتغل
لو عايز تفهم اكتر يعني ايه PWM بص هنا :
http://www.arduino.cc/en/Tutorial/PWM
http://arduino.cc/en/Reference/analogWrite
كدا انت شغلت المواتير كلها سواء مع بعض او كل واحده لوحدها ... بس اوعى تجرب وانت حاطط المراوح ‫#‏نصيحه‬
-------------------------------------------------------------------------
ثانيا : الاتزان
عشان تظبط الاتزان هتحتاج تركب سنسور بيقيسلك انت مايل اد ايه وبزوايه اد ايه في محور X و Y ... فلما تعرف انه مايل يمين هتقوم مسرع المواتير الشمال وتبطئ المواتير اليمين شويه لحد ما تلاقي الميلان بقى بيساوي 0
والسنسور دا اسمه IMU ودا مقال عنه وفي كود ليه :
https://www.facebook.com/breakin.point.ma…/…/319771454865917
كدا انت ناقصك انك تربط سرعات المواتير بالاتزان بمعنى ان مثلا لو مالت 10 درجات يمين هتنقص مثلا 2 من السرعه الاصليه بتاعت المواتير اليمين وتزود 2 في المواتير الشمال ( تنقص وتزود في قيمه ال PWM الي هي من 0 ل 255 )
وهنا بقا المشكلة : هتزود بمقدار ايه وع اساس ايه ؟؟؟؟؟ ودا بتيجي بالتجربه لأن كل موتور مختلف عن التاني ف هتتعب في الحكاية دي
طب هل ليها حل تاني ؟ ايوه هو ال PID ودا هننزل عنه بوست طويل عريض لأنه موضوع كبير
وهتلاقو كود في الملف لل IMU مع التحكم في المواتير بردو ( بس محدش يجربه لأني مظبطه ع المواتير الي عندي ف ممكن عند اي حد تاني تعمل مشكله )
------------------------------------------------------------------
ثالثا : الدوران حول المركز
عشان تحل المشكلة دي لازم تحط للطياره Reference يعني مرجع ليها كل ما تلف ترجعلو تاني واشهر حاجه هي سنسور البوصله , اتجاه الشمال دايما معروف ف السنسور دا بيديك زاويتك مع الشمال ف انت اول ما تبدأ تطير اقرأ الزاوية دي فرضا طلعت 30 يبقى دا المرجع بتاعك .. لو لفيت يمين يعني الزاويه بتزيد هتسرع المواتير الي في القطر اليمين وتبطئ القطر التاني والعكس لحد ما ترجع للزاويه الاصليه
ودا لينك لل Magnetometer او ال Compass sensor هتلاقوه تحت خالص والكود تحت بردو :
https://www.facebook.com/breakin.point.ma…/…/319771454865917
------------------------------------------------------------------
اخيرا : الارتفاع عن الارض
الغرض منها انك لما تيجي تنزل او تطلع ( ارتفاعك عن الارض بين 0 و 2 متر ) تبقى سرعه المواتير مناسبه عشان الطياره متخبطش في الارض .. ف احنا هنعمل حاجه اسمها Auto landing وهو انك لما تحب تهبط هتضغط ع الزرار او حتى لو مضغطش طالما دخلت في ال Range بتاع ال 2 متر المواتير هتبدأ تبطئ لوحدها واحده واحده لحد ما تستقر ع الارض ويبقى الارتفاع 0
وهنستخدم لدا سنسور مشهور اسمو ال Ultrasonic
https://www.facebook.com/breakin.point.mans/posts/320215344821528
----------------------------------------------------------------
‫#‏نصائح‬ :
- ياريت تجرب كل حاجه لوحدها الاول ومتجربش وانت مركب المراوح ابدا .
- ياريت الي هيشتغل يعرفنا الاول عشان نساعده لأنه هيواجه مشاكل وممكن يعمل حوادث تخليه يدفع كتير لأن تكاليف الطياره غاليه
هتلاقو في الملف دا تجميعه لكل الاكواد الي هتحتاجها :
1- اكواد ال ESC بكذا طريقه
2- اكواد ال IMU بكذا طريقه
3- اكواد ال Magentometer بكذا طريقه
4- المكتبات الي هتحتاجها عشان تشغل السنسورات دي
5- كود تجريبي لل IMU مع الطياره كلها ( اسمو Quad )
6- كود ال Ultrasonic
7- كود ال RC remote لو انت عايز تشغله ع الاردوينو لأي غرض حتى لو مش للطيارات