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

دائرة التحكم فى دوران محرك سيرفو باستخدام الأردوينو

وصف المشروع

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

جدول المكونات

العدد النوع
1 لوحة أردوينو أونو Arduino Uno board
1 مقاومة متغيرة 10 كيلو أوم Potentiometer 10 k ohm
1 محرك سيرفو Servo motor
1 لوحة اختبار Bread board
مجموعة أسلاك توصيل connecting wires

توصيل الدائرة

شرح المكونات

  • لوحة Arduino Uno

نستخدمها في التحكم فى الدائرة، استقبال وإرسال الإشارات بتوقيت معين وكيفية معينة نختارها طبقاً لعمل الدائرة وبواسطة الكود الذى سيتم شرحه لاحقاً.

يرجى تثبيت البرنامج الخاص بالأردوينو من هنا والذي سنستخدمه في كتابة الكود وعمل compiling ورفعه إلى لوحة الأردوينو عن طريق كابل USB، ولمعرفة كيفية تثبيت البيئة التطويرية المتكاملة لأردوينو (Arduino IDE) من هنا.

لتحميل ورقة البيانات datasheet الخاصة بلوحة الأردوينو أونو Arduino Uno اضغط هنا، ولتحميل نسخة أخرى اضغط هنا، ويوجد هنا في موقع الصناع العرب مواضيع مفصله عن الأردوينو وكيفية تنصيب البرنامج، وللمزيد يمكنك زيارة الموقع الخاص به من هنا.

  • المقاومة المتغيرة 10 كيلو أوم Potentiometer  10 K ohm

وتعرف بالإنجليزية Potentiometer  أي أنها تقسم الجهد الداخل إلى جهد أصغر، لذلك تختلف المقاومة المتغيرة عن المقاومة العادية في أنه يمكن تغيير قيمتها فى مدى معين مثلاً من 1 كيلو أوم وحتى 10 كيلو أوم، وهذه بعض أشكالها فى الطبيعة:


ولها 3 أطراف يوصل طرفان منها بمصدر الجهد والطرف الثالث يكون الخرج عليه قيمة الجهد المتغيرة حسب تحريك المفتاح وتكون بالطبع أقل من قيمة الجهد الكلي على طرفي المقاومة، والصور التالية توضح شكل المقاومة فى الدوائر:

يرجى زيارة الرابط التالي للمزيد حول مجزئ الجهد من هنا.

  • محرك سيرفو Servo motor

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


يتحرك محرك السيرفو 180 درجة وتوجد أنواع منه تتحرك 360 درجة، وتعتمد فكرة هذه المحركات على مبدأ Pulse width modulation حيث يتحرك عمود الدوران طبقاً لنبضات pulses ثابتة بزمن معين تأتى من الدائرة الداخلية للمحرك.


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

يوجد لمحرك السيرفو 3 أطراف: طرف للجهد الموجب، وطرف للأرضي، وطرف لاسقبال إشارة التشغيل من الأردوينو.

هام جداً: إذا كان المحرك الذى تستخدمه كبير الحجم أو يحتاج لجهد عالى للتشغيل يجب أن توصله بمصدر تغذية جهد خارجي، أما إن كان صغيراً فيمكنك أن تغذيه من الأردوينو مباشرة كما فى الدائرة الحالية.

لتحميل ورقة البيانات datasheet الخاصة بمحرك السيرفو Servo motor (منتج من بعض الشركات كمثال) من هنا أو من هنا أو من هنا.

  • لوحة اختبار الدوائر Bread board

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

تحتوي معظم اللوحات هذه على صفين على الجوانب أحدهما أحمر والآخر أزرق كما بالصورة بالأسفل (A و D)، وكل النقاط فى طول هذا الصف متصلة ببعض.

باقي النقاط فى المنتصف يمين ويسار الفراغ المنتصف (B و C) مقسمة طولياً وليس أفقياً كما بالأحمر والأزرق، والصورة التالية توضح لك النقاط المتصلة ببعضها:

ويتم تركيب العناصر بإدخال الأطراف المعدنية في الفراغات، والعناصر المراد توصيلها معاً يتم إدخال الأطراف في نفس العمود (حيث كل 4 نقاط رأسية متصلة ببعض).

ملحوظة: الصفين الموجب يمين ويسار اللوحة غير متصلين ببعض، والصفين الأرضي أيضاً لذا عليك توصيلهم بهذا الشكل:

وهذه الصورة توضح كيفية تغذية اللوحة بمصدر الجهد والأرضي من الأردوينو:

يمكنك تتبع الصورة في بداية الشرح لإتمام توصيل العناصر ببعضها، وللمزيد عن كيفية استخدام لوح التجارب (Breadboard) اضغط هنا.

  • مجموعة أسلاك التوصيل Connecting wires

ينصح بالحصول على مجموعة أسلاك للتوصيل مثل التي بالصورة وتستخدم في توصيل العناصر ببعضها أو التوصيل بأجزاء خارجية مثل لوحة الأردوينو والحساسات وغيرها.

وللمزيد عن استخدام الأسلاك (wires) اضغط هنا.

الكود البرمجي وتجربة وتشغيل الدائرة:

#include <Servo.h> 
Servo my_servo;
int pot_pin = A0;
int val=0;
void setup()
{
  my_servo.attach(9);
}
void loop()
{
  val = analogRead(pot_pin);
  val = map (val , 0 , 1023 , 0 , 180) ;
  my_servo.write(val);
  delay(15);
}

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

يمكنك تجربة محاكاة الدائرة من هنا، وفى هذا الرابط ستجد الدائرة مرسومة كما هو مُوضح بالأعلى، للتشغيل اضغط على زر Start Simulation لبدء المحاكاة، سنجد فى دائرتنا مكونات بسيطة وهي لوحة الأردوينو ومقاومة متغيرة ومحرك سيرفو ومتصلين كما بالشكل التالى:

نبدأ بتحريك المقاومة المتغيرة (بشكل دائري) حركة بسيطة سنجد ذراع المحرك السيرفو بدأ بالتحرك بنفس المقدار:

نكمل التحريك ونلاحظ حركة المحرك:

إلى أن يصل المحرك إلى أقصى درجة دوران بعدها نقوم بالرجوع في الاتجاه المعاكس

يمكنكم تحميل رسم وتصميم الدائرة ببرنامج Fritzing من هنا وملف كود الأردوينو من هنا.

ولتحميل برنامج Fritzing المجاني من خلال الموقع الخاص به اضغط هنا.

ويمكنك أيضاً البحث فى موقع Fritzing وموقع المحاكاة circuits.io عن تصميمات ورسومات لدوائر مختلفة واسعة المجال وتطبيقات متنوعة ورائعة (جربها الآن).

أتمنى أن يكون الدرس مفيداً لكم.

محمد عبد الحميد

أضف تعليق

اترك رد

تابعنا