تحكم في محرك تيار مستمر باستخدام سائق المحرك L293D مع PWM من أردوينو

تحكم في محرك تيار مستمر باستخدام سائق المحرك L293D مع PWM من أردوينو

يظهر هذا المشروع كيفية التحكم في سرعة واتجاه محرك تيار مستمر باستخدام شريحة سائق المحرك L293D وقدرات تعديل عرض النبضة (PWM) في أردوينو. يسمح هذا الإعداد بالتحكم الدقيق في المحرك، مما يجعله مناسبًا لمجموعة متنوعة من التطبيقات.

إليك بعض أفكار المشاريع باستخدام هذا الإعداد:

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

الأجهزة / المكونات

  • أردوينو أونو (أو لوحة متوافقة)
  • دوائر التشغيل لمحرك L293D
  • محرك تيار مستمر (مصنف لجهد وشروط تيار L293D، حتى 600 مللي أمبير)
  • مزود طاقة 9ف (للمحرك)
  • توصيل الأسلاك
  • لوحة التجارب (موصى بها)

دليل الأسلاك

تعمل شريحة L293D كواجهة بين الأردوينو والمحرك المستمر. إنها تتيح للأردوينو التحكم في سرعة المحرك واتجاهه. تتطلب الشريحة مصدر طاقة منفصل للمحرك لأن الأردوينو لا يمكنه تزويد المحركات بمعظم التيار اللازم. (في الفيديو في 04:04)

%%تَوْصِيل%%

شرح الكود

يتحكم كود أردوينو في وحدة التحكم L293D، التي بدورها تتحكم في المحرك DC. يستخدم الكود تقنية PWM لتغيير سرعة المحرك، وإشارات رقمية لتبديل الاتجاه.

إليك المعلمات الرئيسية القابلة للتكوين في الكود:


#define P1A 10 // Arduino pin connected to L293D input 1A
#define P2A 11 // Arduino pin connected to L293D input 2A
#define EN12 9 // Arduino pin connected to L293D enable pin (1,2EN)

const int speedStep = 15; // Increment for speed changes
const int speedDelay = 1000; // Delay between speed steps (in milliseconds)

المL293D()تتحكم الدالة في اتجاه المحرك وسرعته. 'L' تضبط المحرك للدوران مع عقارب الساعة، و'R' تضبطه للدوران عكس عقارب الساعة.spdتتحكم المعلمة في السرعة (0-255) وenيُمكّن (1) أو يُعطّل (0) المحرك. (في الفيديو في 09:24)


void L293D(char dir,int spd, int en)
{
  if(dir =='L') // Clockwise rotation
  {
    // ...
    analogWrite(P1A,spd); // Set speed using PWM
    digitalWrite(P2A,LOW); 
  }else{ // Counter-clockwise rotation
    // ...
    digitalWrite(P1A,LOW);
    analogWrite(P2A,spd); // Set speed using PWM
  }
}

مشروع حي / عرض توضيحي

يوضح الفيديو المشروع أثناء العمل، مظهرًا سرعة المحرك وتغييرات الاتجاه. تقرأ قياسات جهاز الأوسيلوسكوب إشارات PWM التي تتحكم في المحرك. (في الفيديو عند 11:07)

فصول

  • مقدمة في التحكم بمحرك التيار المستمر باستخدام L293D
  • [00:30] عرض المشروع وشرحه
  • نظرة عامة على سائق المحرك L293D
  • [02:08] مواصفات محرك التيار المستمر
  • [02:30] شرح ورقة بيانات L293D
  • [04:40] شرح وأسلمة الأسلاك
  • [07:05] شرح كود أرجوينو
  • عرض المشروع وقراءات الذبذبات
144-Arduino source for L293D motor driver (loop)
اللغة: C++
145-Source for a simple L293D motor controller using Arduino (CW, CCW, and STOP)
اللغة: C++
تم النسخ!

ملفات📁

لا توجد ملفات متاحة.