محركات السيرفو Servo motor و الأردوينو تجربة بالفيديو

محركات السيرفو  SERVO MOTOR

السلام عليكم

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

في البداية ما هو محرك السيرفو ؟ 







محرك السيرفو هو عبارة عن محرك يأتي مع علبة تروس Gear و ناقل حركة Shaft يعطي الحركة عزماً أكبر و دقة كبيرة , و يستطيع هذا المحرك الألتفاف 180درجة و في بعض الأنواع 360 درجة .


 الجزء الأول


سأتكلم في الجزء الأول عن طريقة التحكم في المحرك ذو ال180 درجة .

طريقة التحكم :

يتكون محرك السيرفو داخلياً من دارة تحكم "تكون في الغالب مايكروكنترولر " , و عندما نعطي المحرك نبضات Pulses بثابت زمني معين يدور المحرك للزاوية حسب هذا الثابت الزمني .

في كل نوع يختلف الثابت الزمني من محرك إلى الآخر حسب جهة التصنيع و النشرة الفنية التي تأتي مع محرك السيرفو .



في بيئة أردوينو البرمجية هناك مكتبة تسمى Servo Library مثبتة في البرنامج , هذه المكتبة تعطينا الإمكانية للتحكم في أغلب محركات السيرفو ذو ال180درجة , و مع نهاية هذه التدوينة ستكون لديك القدرة على استخدام اوامر هذه المكتبة عن طريق الأمثلة العملية .


ما ستحتاجه لتنفيذ هذه التجربة :




1)بطاقة أردوينو.
2)محرك سيرفو .
3)اسلاك توصيل.
4)مصدر تغذية خارجي" Power supply,battery "


طريقة التوصيل :



تذكر إذا كان محرك السيرفو الذي تملكه كبير أو يحتاج لتيار عالي , يجب توصيله مع مصدر جهد خارجي كالبطارية "و هو أفضل و أكثر أماناً 






لمحرك السيرفو الذي نستخدمه 3 اسلاك و هي :
1) مدخل تغذية Vcc "و يكون بين 4.8 - 6 فولت"
2) مدخل الأرضي Gnd

3) مدخل التحكم Data و الذي نرسل الأوامر عبره لمحرك السيرفو .


بعد هذا سنبدأ بالبرمجة :

هذا البرنامج البسيط يقوم بتدوير المحرك بمقدار 9 درجات كل مرة بثابت زمني 200ملي ثانية مع و عكس عقارب الساعة 

لنتذكر أمراً مهماً جداً هو أن السيرفو يحتاج لنبضات دقيقة للتحكم به , و ليست كل مداخل المتحكم مؤهلة للتعامل مع محرك السيرفو .
يمكنك استخدام أي مدخل من المداخل التناظرية Analoge (A0-A5)  و استخدام المداخل الرقمية التي تدعم التعديل النبضي PWM و هي (D3,D5,D6,D9,D10,D11) " في بطاقات الأردوينو التي تستخدم المتحكم ATMEGA328 مثل الUNO  "

حتى تبدأ استخدام أي مكتبة يجب عليك وضع هذا الكود

#include<lib.h>


بالنسبة لمكتبة السيرفو نحمّل المكتبة عن طريق الكود

#include <Servo.h>

الآن نستطيع التعامل مع اوامر هذه المكتبة .
ثم يجب أن ننشئ اسماً لمحرك السيرفو لنتعامل معاه في البرنامج , يكتب الأمر على الصورة 

Servo Name;

Name: هو اي اسم تختاره للتعامل مع محرك السيرفو

لكي نُعرّف المدخل pin الذي اوصلنا محرك السيرفو معاه , نكتب الكود :

Name.attach(Pin Number);


Name: هو اسم محرك السيرفو الذي وضعناه في بداية البرنامج

Pin number: رقم المدخل الموصول معه محرك السيرفو 


لكي نرسل أمر للمحرك بالدوران , هذا الأمر بسيط و يكون بالشكل التالي :

Name.write(val)

Name: هو اسم محرك السيرفو الذي وضعناه في بداية البرنامج

val : قيمة صحيحة محصورة بين 0 – 180

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

يمكنك استخدام أي مدخل من المداخل التناظرية Analoge (A0-A5) و استخدام المداخل الرقمية التي تدعم التعديل النبضي PWM و هي (D3,D5,D6,D9,D10,D11) " في بطاقات الأردوينو التي تستخدم المتحكم ATMEGA328 مثل الUNO " 
الجزء الثاني 

 الشق الثاني في حديثنا عن محركات السيرفو هو المحركات ذات الدوران المتواصل 360deg .



هذه المحركات تستطيع بناء روبوت بسهولة عن طريقها ,هناك طريقتين لبرمجتها , باستخدام المؤقتات Timer و تفعيل اوامر ال delayMicroseconds , و طريقة أخرى سهلة من نفس مكتبة الأردوينو الرسمية للسيرفو , و هي ما سأتطرق به هنا لسهوله التحكم به من خلالها  .




تحذير : يجب الحذر عند تغذية محركات السيرفو مباشرة من مخرج ال 5 فولت الخاص بالأردوينو لان تيار السيرفو العالي قد يتسبب في اتلاف بطاقة الأردوينو , لذلك يفضل ان تستخدم مصدر جهد خارجي ذو تيار كافي " 5 فولت -1 أمبير " .


طريقة التوصيل : 


البرمجة :



هذا الفيديو يوضح هذا البرنامج .







المصدر geno tronex 

إرسال تعليق

0 تعليقات