التحكم فى دوران محرك سيرفو

الموضوع في 'برمجة الاشياء arduino' بواسطة ابوفارس, بتاريخ ‏1 فبراير 2020.

  1. ابوفارس

    ابوفارس ادارة المنتدى إداري

    إنضم إلينا في:
    ‏12 يوليو 2014
    المشاركات:
    690
    الإعجابات المتلقاة:
    200
    نقاط الجائزة:
    43
    الجنس:
    ذكر
    وصف المشروع
    تجربة رائعة حيث باستخدام مجزئ الجهد (المقاومة المتغيرة ) وتدويرها سيدور محرك سيرفو صغير فى نفس اتجاه دوران المقاومة المتغيرة وعند عكس حركة الدوران للمقاومة المتغيرة ستنعكس حركة دوران محرك السيرفو، وسترى الحركة وكأن المحرك فى يدك تماماً كما سنرى فى المحاكاة.

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

    [​IMG]



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



    [​IMG]


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

    [​IMG]



    • محرك سيرفو Servo motor
    [​IMG]

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

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

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

    [​IMG][​IMG]

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

    [​IMG]

    [​IMG]

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


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



    كود:
    #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);
    }
    


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

    [​IMG]

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

    [​IMG]

     

مشاركة هذه الصفحة