محركات السيرفو 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 "
في الجزء الثاني سنتحدث فيه عن محركات السيرفو ذات الدوران الكامل 360 درجة , الى اللقاء
عايزه اعرف ازاي احرك 2سيرفو في نفس الوقت
ردحذففقط قومي بتعريف محركين عن طريق الامر
حذفS3003_1.attach(9);
S3003_2.attach(10);
من فضلك أريد موضوع عن كل أوامر اردوينو ، وماذا نفعل في الكود عند اضافة شئ مثل اظافة محرك او حساس الخ... وشكرا
ردحذفهذا يحتاج وقت و جهد كبيرين لأن أوامر الأردوينو عديدة و كل فترة تنزل اصدارات جديدة ذات اوامر مختلفة عن السابق مثل ما حصل في الأردوينو ديو و أردوينو يوان .
حذفيعتمد حسب الحساس او المحرك الذي تتم اضافته و متطلبات تشغيله , هذا الأمر ليس عاماً و انما يحتاج لممارسة دائمة حتى تصل لمراحل متقدمة في البرمجة و بناء الأنظمة المضمنة embedded sys
سؤال لو سمحت هنا ليه مستخدمتش drive ؟
ردحذفو ايه اهمية serial.begin ؟
لان محرك السيرفو داخلياً يحتوي على دارة قيادة driver . هذه أكبر مزاياه .
حذفserial.begin أمر يبدأ فيه الأتصال مع الحاسوب و اظهار البيانات على شاشة السيريال
اولا شكرا على المجهود الرائع ..
حذفما هي البيانات التي تقصدها بانها تظهر على الشاشة ؟
انت ما استخدمت السيريال مع السيرفو مش هيك ؟
شكرا لمجهودك وبارك الله فيك
قصدت السيريال مخصص لتبادل البيانات .
حذفنعم لم استخدمه مع السيرفو
السلام عليكم ورحمة الله
ردحذفشكرا جزيلا اخي على هذا الشرح الوافي
عندي سؤال .. أنا أجيد استخدام برنامج المايكروسي للبيك .. هل أستطيع أن أشتغل بالاردوينو بواسطته ؟ لأني لا أفهم لغة الأردوينو
لغة البرمجة تعتمد على القطعة التي تريد ان تستخدمها .
حذفالبيك يمكن برمجته على برمجية مفتوحة المصدر اسمها Pinguino اما انه الأردوينو لغة صعبة فهذا غريب بصراحة ....
السلام عليكم ورحمة الله وبركاته
ردحذفشكرا للشرح الرائع
كنت عاوز اعرف ازاى ابرمج محركين سيرفو للتحكم اليديوى بس لاسلكيا
مثال : طائرة صغيره تعمل بالتحكم عن بعد ويوجد بها محركات سيرفو
عند رفع الجناح وخفضه من خلال جهاز التحكم يديويا ترسل الداتا لاسلكيا الى محركات السريفو فى الطائره ... اتمنى ان تكون الفكره واضحه
ويريت لو فى كتاب تدلنى عليه
السؤال المهم ما نوع التحكم اللاسلكي ؟ هل هو ريموت متعدد القنوات 2.4GHz ؟ ان كان كذلك فيوجد مستقبل خاص لهذا الريموت و يدعم التحكم بالسيرفو بسهولة , و ان كان غير ذلك يرجى التوضيح اكثر
حذفالسلام عليكم
حذفلوسمحت انا عندى مقص أكياس سيرفو بس عندى عطل غريب المقص بيشتغل ويقيف لوحده م هيا المشكله وانا مغير درايفر جديد وشكرا
السلام عليكم
ردحذفممكن شرح او تدلني على كتاب عن محركات السيرفو الكبيره (الصناعيه) واكون لك شاكر
الأسهل هو الذهاب للنشرات الفنية الخاصة بالمحرك المطلوب يكون فيه معلومات مفصله لكل شيء .
حذفلو سمحت ان عندي استفسار المواتير السيرفو عند فصل مصدر الطاقه يتم طلب هومنيج اوتوماتيك.
ردحذفانا عاوز افصل بين الهومنيج وبين عزل مصدر الطاقه. بمعني ان يطلب هومنيج لما انا احتاج فقط مش كل عطل يطلب مني هومنيج هذا لتوفير الوقت فيه طريقه لكدا وشكرا لحضراتكم
لم افهم كلمة "" هومنيج ""
حذفالرجوع لنقطه الزيرو
حذفسنحتاج لحساس سرعه خاص بالروبوت Encoder لقياس المسافة التي سيقطعها الروبوت خلال زمن معين , ثم ستحتاج إلى بوسله compass لتحديد زاوية الحركة .
حذفالبرنامج سيكون بحاجة لنباء خوارزمية خاصة لتخزين الثيم المعطاه و استدعاءها بطريقة تضمن تطبيق الوظيفة المطلوبة
السلام عليكم اخي الكريم
ردحذفشكرًا جزيلا علي هدا الشرح الرائع
ولاكن اريد ان اشرح لك مشكلتي
انا اعمل علي مشروع system control
وهو ربط السيرفو موتور بي موديول RFID
وقمت بي التوصيلات السليمة الموديول و السيرفو و عملت الكود و استعنت بي بعض الأصدقاء لعمل الكود وفكرة المشروع عندما تقوم بي سكان للبطاقة الافتراضية يتحرك السيرفو بدرجة 90
وهدا الكود متاعي
#include
#include
#include
Servo microservo9g;
#define SS_PIN 10
#define RST_PIN 9
// definitions pine modulo RC522
MFRC522 mfrc522(SS_PIN, RST_PIN);
// Leds indicators access released or denied
int led_green = 5;
int led_red = 6;
int pos = 0;
void setup()
{
pinMode(led_green, OUTPUT);
pinMode(led_red, OUTPUT);
// Define that o servo this connected a port digital 3
microservo9g.attach(3);
// Move o servo TO a position early (cancels closed)
microservo9g.write(pos);
// starts a serial
Serial.begin(9600);
// starts SPI bus
SPI.begin();
// Starts MFRC522
mfrc522.PCD_Init();
// posts early no serial monitor
Serial.println("Scan your card");
Serial.println();
}
void loop()
{
// Waits for the approximation of the Card
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
// display UID on serial
Serial.print("UID da tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " " : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " " : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print("Message : ");
content.toUpperCase();
// head are the Cardboard1 It was shore
if (content.substring(1) == "E3 44 19 13")
{
// lifts a cancel and lights the led green
microservo9g.write(pos);
digitalWrite(led_green, HIGH);
Serial.println("Cardboard1 - released Access !");
Serial.println();
delay(150);
microservo9g.write(pos);
digitalWrite(led_green, LOW);
}
// head if the read was Cardboard2
if (content.substring(1) == "54 74 1B 96")
{
Serial.println("Cardboard2 - Access Denied !!!");
Serial.println();
// Flashes the red LED
for (int i= 1; i<5 ; i++)
{
digitalWrite(led_red, HIGH);
delay(100);
digitalWrite(led_red, LOW);
delay(100);
}
}
delay(500);
}
الموديول اشتغل تمام بس عندما أقوم بي سكان للبطاقة السيرفو لا يشتغل
وأرجو الرد و شكرًا
قيمة posلم تتغير من الصفر لذلك لم يتحرك السيرفو قم بتغيريها بعد جملة التحقق من البطاقة وضع قيمتها مثل 90
حذفاولا شكرااااا جداااااااااااااااا على المجهود ده
ردحذفثانيا هل سيرفو 360 هيحتاج انزله مكتبه خاصه ؟
العفو
حذفلا لا تحتاج
شكرا على المجهود بس فين الجزء التانى من المقال ؟
ردحذفشكرا مقدما
السلام عليكم
ردحذفسوالي كيف استطيع ان احسب زاوية دوران المحرك
للتوضيح انا وصلت محرك معا الاردينو 328 معا مقاومة متغيره جهد من 0 الي5 فولت للعلم زاويةالمحرك 180 كيف نحسب زاويه دوران المحرك بالدقه
حذفتحتاج لمحرك سيرفو خاص يأتي مع feedback لياس اين هي زاوية المحرك الان "سعره يدأ من 50 دولار امريكي "
حذفينفع اعمل روبوت يحل متاهه باستخدام التراسونيك واحد ومحرك سيرفو
ردحذفشكرًا على التوضيح
ردحذفوأريد من حضرتك إن شاء الله تدلني على شي
عندي ماكينه Cnc foam cutter بها اربعه مواتير بها موتور عطلان كيف لي ان احصل عليه علما بان الموتور globe motors. ولقد انمحت بياناته والسريل نمبر وو
السلام عليكم استاذنا ومهندسنا الفاضل افضل المحركات والكفرات التي استخدمها لصناعة روبوت سومو بالاردوينو . ممكن اسماء لمحركات قوية ونوعية جيده للكفرات ، شاكر ومقدر لك تعاونك استاذي الفاضل .
ردحذفتعتمد حسب الوزن المطلوب , العزم و ايضا ميزانيتك و مصدر الطاقة المستخدم
حذفمشكور ع المجهود الرئع وعسا رَبّـ❤ـيٌ يوفقك ويزيدك علما اخي الغالي
ردحذفننتظر الجزء الثاني
اشكرك
حذفالجزء الثاني من هنا
http://adf.ly/1iHvVw
ممكن اخي واستاذنا الغالي بغيت اصمم دائرة ف الاردوينو ل تتبع حركة الشمس تلقائيا باستخدام محرك السيرفو
ردحذفممكن مساعدتك
الرجاء مراسلتنا على حسابنا على الفيسبوك للمساعده
حذفhttps://www.facebook.com/Genotronex-229428667198604/
هو انا لو بعمل سياره صغيره واستخدمت السيرفو وعندي ريموت كونترول من عربيه قديمه وعايز السيرفو ياخد اوامر من الريموت دا المفرود اعمل ايه ؟
ردحذفهو انا لو بعمل سياره صغيره واستخدمت السيرفو وعندي ريموت كونترول من عربيه قديمه وعايز السيرفو ياخد اوامر من الريموت دا المفرود اعمل ايه ؟
ردحذفالسيرفو فقط يصلح اذا كان 360 درجة
ردحذفثانيا اغلب الريموت كنترول القديم تأتي دارة المستقبل داخل السيارات نفسها و لانه لا يوجد نمط محدد لها فعليك فكها و اختبار اين يجب ان تلحم القطع
و هذه المستقبلات غير مصممة للتحكم بالسيرفو فعليك اعادة تصميم دارة استقبال و ارسال جديد
,هذه المقال كمثال
http://www.genotronex.com/2014/03/315mhz.html
السلام عليكم
ردحذفشكرا على الشرح افدتني كثيرا
السوال هو لماذا وضعت الرقم 9600 في دالة السيريال serial ارجو توضيح هذه التقطة وشكرا
شركت دللتا
ردحذفيوجد 8موتير سيرفو للبيع
+ 2شاشه + 3انفلتر البيع باقل من تمنهم
01030611519
السلام عليكم
ردحذفعندى سريفو ماتور دالتا ازى ابرمج المحرك
شكرا على هذا الموضوع
ردحذفما معنى إن المحرك 1.3kg واخر 3.0kg
เว็บไซต์คาสิโนออนไลน์ที่ได้คุณภาพอับดับ 1 ของประเทศ
ردحذفเป็นเว็บไซต์การพนันออนไลน์ที่มีคนมา สมัคร Gclub Royal1688
และยังมีหวยให้คุณได้เล่น สมัครหวยออนไลน์ ได้เลย
สมัครสมาชิกที่นี่ >>> Gclub Royal1688
ร่วมลงทุนสมัครเอเย่นคาสิโนกับทีมงานของเราได้เลย
โปรโมชั่นGclub ของทางทีมงานตอนนี้แจกฟรีโบนัส 50%
ردحذفเพียงแค่คุณสมัคร Gclub กับทางทีมงานของเราเพียงเท่านั้น
ร่วมมาเป็นส่วนหนึ่งกับเว็บไซต์คาสิโนออนไลน์ของเราได้เลยค่ะ
สมัครสล็อตออนไลน์ >>> goldenslot
สนใจร่วมลงทุนกับเรา สมัครเอเย่น Gclub คลิ๊กได้เลย
سلام عليكم كيفية ربط الاردوينو بدون استعمال اللوحة و شكرا ممكن كيفية ربط الأسلاك
ردحذفThese are typically lower commission bets, used to draw already loyal prospects or 점보카지노 redirect them path of|in direction of} particular events. The commonest bonus, given upon a player’s first deposit or completed onboarding. Marketing trends often shift based mostly on rules, for instance those from the UK Gaming Commission and changes with the power to advertise on App Stores. However, it’s still plain to see how important bonuses are to launch, grow, and keep an iGaming company in today’s on-line landscape.
ردحذف