راسبيري باي RPi جهاز حاسوب صغير بحجم بطاقة الائتمان وله أرجل دخل وخرج عامة GPIO تُستخدم للتحكم بمختلف الأجهزة الإلكترونية والحساسات والمحركات.
لوح الراسبيري باي
لوح الراسبيري باي

الخطوة الأولى: التحكم باتجاه محرك تيار مستمر باستخدام الراسبيري باي

سنتحكم بالمحرك باستخدام كود برمجي بلغة البايثون و أرجل الGPIO على الراسبيري باي، مما سيوضّح لنا آليّة عمل الروبوتات، وعلى سبيل المثال يمكن التحكم بمروحة الغرفة تبعًا للطقس خارجًا (بافتراض معرفة كيفية استخدام الحساسات مع الراسبيري باي)، و تطبيق ما سبق يمكّننا من فهم القواعد الأساسية في مجال الروبوتات.
والآن للتحكم بمحرك مستمر نحتاج على الأقل تيار بقيمة 400mA ليعمل بشكل سليم، إلا أنّ لوح الراسبيري يؤمّن 20mA فقط وهذا يعني أنه يجب توصيل منبع تغذية مستمر خارجي، ويمكن تأمين التغذية باستخدام بطاريات بجهد 6V و9V المتوفرة.

تحذير

لا تقم بوصل المحرك مباشرة إلى الراسبيري حيث يؤدي ذلك إلى تضرر اللوح.
ونحتاج أيضًا إلى دارة متكاملة IC للتحكم بعمل المحرك (ليعمل باتجاه عقارب الساعة أو عكسها)، ولتكن هذه الدارة L293D.

القطع المطلوبة

– لوح راسبيري باي مع كرت ذاكرة SD مثبت عليه نظام التشغيل Raspbian
– لوح اختبار
– دارة قيادة للمحرك L293D
– أسلاك توصيل (ذكر- ذكر و أنثى- أنثى)
– محرك تيار مستمر يعمل بجهد 6V
– بطارية بجهد 6V أو 9V

دارة L293D

هي دارة قيادة متكاملة للمحركات تتحكم بمحركين في آنٍ واحد، ويوضح الشكل أدناه مخطط الأرجل عددها 16 رجل والتي تتضمن في إحدى الجهات رجل للتغذية Vcc لتشغيل الدارة ورجل للأرضي GND ورجل Enable لتشغيل وإيقاف المحرك،ورجلين للدخل ومثلهما للخرج.

دارة L293D
دارة L293D

التوصيلات

صل أولًا رجل التغذية لدارة القيادة إلى جهد 5V (يُمكن أيضا استخدام الرجل 3.3V للتغذية)، ثم نقوم بوصل الأرضي مع العلم أننا نستخدم أقطاب الراسبيري باي العامة ذات الأرقام GPIO-2,3,4 للتحكم بالدارة المتكاملة(القطب العام للراسبيريباي GPIO-02 إلى input 1 في الدارة المتكاملة وكذلك GPIO-03 إلى Input 2 ، والآن صل الرجل GPIO-04 إلى رجل ال Enable في دارة القيادة، وأخيراً فلنقم بوصل الخرج الأول والثاني output 1,output 2 مع أقطاب المحرك كما هو موضح في الشكل:

التوصيلات
التوصيلات

كود البايثون

الكود البرمجي 1: التحميل من هنا

يبدأ المحرك بالدوران مع عقارب الساعة بعد تشغيل الكود السابق ولمدة 5 ثواني، ويمكن تعديل هذا الكود بحيث يدوربعكس عقارب الساعة وهكذا أصبح بإمكاننا تشكيل سيارة باستخدام محركين أو أربعة محركات.

التحكم بسرعة محرك تيار مستمر باستخدام الراسبيري باي

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

تعديل عرض النبضة

وهي عملية بسيطة تمكننا من التحكم بتردد إشارة جهد المنبع، وهي ممكنة الاستخدام في الراسبيري، وكما نعلم فإنّ دور إشارة ما مساوٍ لمقلوب ترددها؛ فإذا اخترنا تردد بقيمة 100Hz فإن الدور يكون بقيمة 10ms (ويُقدح الجهد إلى قيمة التشغيل High عند قيمة دور 10ms)، وباعتبار أنّ بطارية التغذية للمحرك تقدم جهد بقيمة 9V فيجب إذا تخفيض هذه القيمة للجهد لتخفيض سرعة المحرك، فإذا أردنا تخفيض السرعة إلى النصف يجب أن نغير دورة التشغيل dutycycle إلى 50 (وهي النسبة المئوية للدور الذي يعمل فيه الجهدHigh )، وبما أنّ رجل التفعيل Enable في دارة القيادة L293D-IC تتحكم بتغذية المحرك نكتفي بتطبيق إشارة تعديل عرض النبضة على رجل التفعيل لتغيير السرعة، ويكون كود البايثون اللازم كالآتي:

الكود البرمجي 2: التحميل من هنا

# يدور المحرك بالاتجاه الأمامي لثانيتين وبسرعة 50%

الكود البرمجي 3: التحميل من هنا

#يدور المحرك بالاتجاه العكسي لثانيتين وبسرعة 80% بتطبيق جهد تغذية للمحرك بقيمة 80% من جهد البطارية.

الكود البرمجي 4: التحميل من هنا

صورة المشروع

المصدر: هنا
ترجمة: آلاء محمد آغا, مراجعة: مي همدر, تدقيق لغوي: رنيم العلي, تصميم: علي العلي , تحرير:قحطان غانم.