محركات السيرفو الجزء الثاني Servo Motor 2
Full rotational 360Deg
في الجزء الاول من حديثي عن محركات السيرفو شرحت المبادئ الاساسية في مكتبة السيرفو التي تحتاجها للتحكم في هذا النوع من المحركات , كما عرضت طريقة التحكم في محركات السيرفو ذات الدوران نصف الكامل 180deg و الشق الثاني في حديثنا عن محركات السيرفو هو المحركات ذات الدوران المتواصل 360deg .
هذه المحركات تستطيع بناء روبوت بسهولة عن طريقها ,هناك طريقتين لبرمجتها , باستخدام المؤقتات Timer و تفعيل اوامر ال delayMicroseconds , و طريقة أخرى سهلة من نفس مكتبة الأردوينو الرسمية للسيرفو , و هي ما سأتطرق به هنا لسهوله التحكم به من خلالها .
اولاً ما ستحتاج إليه لتنفيذ هذه التجربة :
1) بطاقة أردوينو "استعملت هنا بطاقة Arduino Leonardo Micro Pro الرائعة " .
2) محرك سيرفو 360 درجة
3) مقاومة متغيرة
4) اسلاك توصيل .
5) مصدر جهد خارجي لتغذية السيرفو .
تحذير : يجب الحذر عند تغذية محركات السيرفو مباشرة من مخرج ال 5 فولت الخاص بالأردوينو لان تيار السيرفو العالي قد يتسبب في اتلاف بطاقة الأردوينو , لذلك يفضل ان تستخدم مصدر جهد خارجي ذو تيار كافي " 5 فولت -1 أمبير " .
طريقة التوصيل :
البرمجة :
لاحظ فقط أن تغيير الزوايا في للمحرك تتحكم فقط هنا بسرعة دورانه "للزاوية من 0 - 94 " يلتف المحرك عكس عقارب الساعة و من 96 - 180 يلتف مع عقارب الساعة و عند 95 تقريباً يكون في حالة توقف " .
هذا الفيديو يوضح هذا البرنامج .
يمكنك أيضاً التحكم بمحرك السيرفو باستخدام الأردوينو و اللاب فيو Labview
يمكنك تحميل البرنامج من هنا Servo.exe "طبعاً ستحتاج لتحميل ال real time engine لديك لنسخدة متوافقة مع Labview2010 او أعلى . من هنا
السلام عليكم
ردحذفممكن تشرح وظيفة الامرين التاليين :
potentiometer=map(PinReading,0,1023,0,180);
potentiometer=constrain(potentiometer,0,180);
لتحويل القيمة التي يقرأها الأردوينو من المدخل التناظري إلى زاوية ليدور على اساسها المحرك .
حذفللمزيد
http://arduino.cc/en/Reference/Map
http://arduino.cc/en/Reference/Constrain
السلام عليكم اردت استفسار عن الزوايا الي اتحكم باثنين سيرفو360 علماباني جربت اكثر من برنامج لاكن في خلل بالدورات وهل احتاج الى شيلد مع السيرفو اولا
ردحذفوهذاالبرنامج الذي اشتغل عليه
ردحذف#include
Servo servoleft;
Servo servoright;
int pos = 0;
void setup()
{
servoleft.attach(10);
// servoleft.write(0);
servoright.attach(9);
// servoright.write(0);
}
void loop()
{
forward();
delay(1000);
reverse();
delay(1000);
turnRight();
delay(1000);
//trunLeft();
// delay(1000);
trunLeft();
delay(1000);
//turnRight();
//delay(1000);
stopRobot();
//delay(2000);
}
void forward()
{
servoleft.write(0);
servoright.write(180);
}
void reverse()
{
servoleft.write(180);
servoright.write(0);
}
void turnRight()
{
servoleft.write(180);
servoright.write(180);
}
void trunLeft()
{
servoleft.write(0);
servoright.write(0);
}
void stopRobot()
{
servoleft.write(90);
servoright.write(90);
// delay(3000);
}
محرك السيرفو 360 درجة لا يمكن التحكم بزاوية دورانه , يتم التحكم فقط باتجاه حركته .
حذفهذا الكود هو كود روبوت G1 الذي بنيته في وقت سابق .
كيف يمكنني التحكم بعدد دورات السيرفو
ردحذفكود اتحكم في السيرفو باستخدام التليفون
ردحذف