في هذا البرنامج التعليمي ، سنقوم بتوصيل محرك DC إلى Arduino UNO والتحكم في سرعته باستخدام مفهوم PWM (Pulse Width Modulation). يتم تمكين هذه الميزة في UNO للحصول على جهد متغير على جهد ثابت. يتم شرح طريقة PWM هنا ؛ ضع في اعتبارك دائرة بسيطة كما هو موضح في الشكل.
إذا تم الضغط على الزر إذا كان الرقم ، فسيبدأ المحرك في الدوران وسيظل في حالة حركة حتى يتم الضغط على الزر. هذا الضغط مستمر ويتم تمثيله في الموجة الأولى من الشكل. إذا تم الضغط على الزر لحالة ما لمدة 8 مللي ثانية وفتحه لمدة 2 مللي ثانية على مدار 10 مللي ثانية ، فلن يتعرض المحرك خلال هذه الحالة لجهد بطارية 9 فولت الكامل حيث يتم الضغط على الزر لمدة 8 مللي ثانية فقط ، وبالتالي فإن جهد طرف RMS عبر سيكون المحرك حوالي 7 فولت. بسبب هذا الجهد المنخفض RMS ، سوف يدور المحرك ولكن بسرعة منخفضة. الآن متوسط التشغيل خلال فترة 10 مللي ثانية = وقت التشغيل / (وقت التشغيل + وقت إيقاف التشغيل) ، هذا يسمى دورة العمل وهو 80٪ (8 / (8 + 2)).
في الحالتين الثانية والثالثة ، يتم الضغط على الزر وقتًا أقل مقارنة بالحالة الأولى. وبسبب هذا ، فإن الجهد الطرفي RMS في أطراف المحرك ينخفض أكثر. بسبب هذا الجهد المنخفض ، تنخفض سرعة المحرك أكثر. يحدث هذا الانخفاض في السرعة مع استمرار دورة التشغيل حتى نقطة ، حيث لن يكون جهد طرف المحرك كافياً لتشغيل المحرك.
لذلك يمكننا أن نستنتج أنه يمكن استخدام PWM لتغيير سرعة المحرك.
قبل المضي قدمًا ، نحتاج إلى مناقشة H-BRIDGE. الآن لهذه الدائرة وظيفتان أساسيتان ، الأولى هي قيادة محرك DC من إشارات التحكم في الطاقة المنخفضة والأخرى هي تغيير اتجاه دوران محرك التيار المستمر.
شكل 1
الشكل 2
نعلم جميعًا أنه بالنسبة لمحرك DC ، لتغيير اتجاه الدوران ، نحتاج إلى تغيير قطبية جهد إمداد المحرك. لذلك لتغيير القطبين نستخدم جسر H. الآن في الشكل 1 أعلاه لدينا أربعة مفاتيح. كما هو موضح في الشكل 2 ، يتم إغلاق المحرك الذي يدور A1 و A2. وبسبب هذا ، يتدفق التيار عبر المحرك من اليمين إلى اليسار ، كما هو موضح في الجزء الثاني من الشكل 3. الآن ضع في اعتبارك أن المحرك يدور في اتجاه عقارب الساعة. الآن إذا تم فتح المحولين A1 و A2 ، فسيتم إغلاق B1 و B2. يتدفق التيار عبر المحرك من اليسار إلى اليمين كما هو موضح في 1 st جزء من الشكل 3. يكون اتجاه تدفق التيار هذا معاكسًا للاتجاه الأول ولذا نرى احتمالًا معاكسًا عند طرف المحرك للأول ، وبالتالي يدور المحرك عكس اتجاه الساعة. هذه هي طريقة عمل H-BRIDGE. ومع ذلك ، يمكن تشغيل المحركات منخفضة الطاقة بواسطة H-BRIDGE IC L293D.
L293D هو H-BRIDGE IC مصمم لقيادة محركات DC منخفضة الطاقة ويظهر في الشكل. يتكون هذا IC من جسرين على شكل حرف h وبالتالي يمكنه تشغيل محركي DC. لذلك يمكن استخدام IC لقيادة محركات الروبوت من إشارات متحكم دقيق.
الآن كما تمت مناقشته من قبل هذا IC لديه القدرة على تغيير اتجاه دوران محرك التيار المستمر. يتم تحقيق ذلك من خلال التحكم في مستويات الجهد عند INPUT1 و INPUT2.
تمكين دبوس |
إدخال دبوس 1 |
إدخال دبوس 2 |
اتجاه المحرك |
عالي |
منخفض |
عالي |
انعطف يمينا |
عالي |
عالي |
منخفض |
انعطف لليسار |
عالي |
منخفض |
منخفض |
قف |
عالي |
عالي |
عالي |
قف |
لذلك كما هو موضح في الشكل أعلاه ، يجب أن يكون الدوران في اتجاه عقارب الساعة 2A مرتفعًا ويجب أن يكون 1A منخفضًا. وبالمثل بالنسبة لعكس اتجاه عقارب الساعة ، يجب أن تكون 1A عالية ويجب أن تكون 2A منخفضة.
كما هو موضح في الشكل ، يحتوي Arduino UNO على قنوات 6PWM ، لذلك يمكننا الحصول على PWM (الجهد المتغير) في أي من هذه المنافذ الستة. في هذا البرنامج التعليمي سنستخدم PIN3 كمخرج PWM.
الأجهزة: ARDUINO UNO ، مصدر طاقة (5 فولت) ، مكثف 100 فائق التوهج ، LED ، أزرار (قطعتان) ، مقاوم 10KΩ (قطعتان).
البرنامج: اردوينو IDE (اردوينو ليلاً).
مخطط الرسم البياني
الدائرة متصلة باللوح حسب مخطط الدائرة الموضح أعلاه. ومع ذلك ، يجب الانتباه أثناء توصيل أطراف LED. على الرغم من أن الأزرار تظهر تأثير الارتداد في هذه الحالة ، إلا أنها لا تسبب أخطاء كبيرة ، لذلك لا داعي للقلق هذه المرة.
يعد PWM من UNO أمرًا سهلاً ، في المناسبات العادية ، لا يكون إعداد وحدة تحكم ATMEGA لإشارة PWM أمرًا سهلاً ، وعلينا تحديد العديد من السجلات والإعدادات للحصول على إشارة دقيقة ، ولكن في ARDUINO لا يتعين علينا التعامل مع كل هذه الأشياء.
بشكل افتراضي ، يتم تحديد جميع ملفات وسجلات الرأس مسبقًا بواسطة ARDUINO IDE ، نحتاج ببساطة إلى الاتصال بهم وهذا كل شيء سيكون لدينا إخراج PWM عند الطرف المناسب.
الآن للحصول على إخراج PWM عند دبوس مناسب ، نحتاج إلى العمل على ثلاثة أشياء ،
|
نحتاج أولاً إلى اختيار دبوس الإخراج PWM من ستة دبابيس ، وبعد ذلك نحتاج إلى تعيين هذا الدبوس كإخراج.
بعد ذلك ، نحتاج إلى تمكين ميزة PWM في UNO عن طريق استدعاء الوظيفة "analogWrite (رقم التعريف الشخصي ، القيمة)". هنا يمثل "pin" الرقم السري حيث نحتاج إلى إخراج PWM ، نضعه كـ "3". لذلك في PIN3 نحصل على إخراج PWM.
القيمة هي دورة عمل التشغيل ، بين 0 (إيقاف التشغيل دائمًا) و 255 (دائمًا قيد التشغيل). سنقوم بزيادة هذا الرقم وإنقاصه عن طريق الضغط على الزر.
لدى UNO دقة قصوى تبلغ "8" ، ولا يمكن للمرء أن يذهب أبعد من ذلك وبالتالي القيم من 0-255. ومع ذلك ، يمكن تقليل دقة PWM باستخدام الأمر "analogWriteResolution ()" ، بإدخال قيمة من 4-8 بين الأقواس ، يمكننا تغيير قيمتها من أربعة بت PWM إلى ثمانية بت PWM.
المفتاح هو تغيير اتجاه الدوران لمحرك DC.