مواجهة الدرايفر L293D IC للتحكم في محرك ستيبر موتور مع اردوينو اكتب تعليقُا

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

ـ

واحدة من أسهل وأرخص وسيلة للتحكم على المحركات السائر هي واجهة L293D Motor Driver IC مع اردوينو . يمكن أن يتحكم في كل من السرعة واتجاه الدوران لأي محرك سائر أحادي القطب مثل 28BYJ-48 أو محرك ثنائي القطب مثل NEMA 17 .

التحكم في محركات ستيبر مع H-Bridge

نظرًا لأن L293D IC يحتوي على جسرين من نوع H ، فإن كل جسر من نوع H-Bridge سيقود أحد الملفات الكهرومغناطيسية لمحرك السائر .

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

الصورة أدناه توضح قيادة السائر مع H-Bridge .

Controlling-a-Stepper-Motor-With-an-H-Bridge

محرك السائر أحادي القطب (28BYJ-48)

في تجربتنا الأولى ، نحن نستخدم 28BYJ-48 السائر أحادي القطب في بجهد 5V . إنه يقدم 48 خطوة لكل دورة .

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

28BYJ-48-Unipolar-Stepper-Motor-Coil-Pinout-Color-Code

لاحظ أننا لن نستخدم الاتصال المركزي المشترك (الأحمر) في هذه التجربة .

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

الاتصالات بسيطة إلى حد ما . ابدأ بربط مخرج 5V على الاردوينو بدبابيس Vcc2 و Vcc1 . ربط الأرضي إلى الأرضي .

تحتاج أيضًا إلى توصيل كلاً من دبابيس ENA و ENB بإخراج 5V بحيث يتم تمكين المحرك دائمًا .
الآن ، قم بتوصيل دبابيس الإدخال (IN1 و IN2 و IN3 و IN4) من L293D IC بأربعة دبابيس الإخراج الرقمي (12 و 11 و 10 و 9) على الاردوينو .

أخيرًا ، قم بتوصيل أسلاك محرك السائر A + (برتقالي) ، A- (وردي) ، B- (أصفر) و B + (أزرق) إلى دبابيس خرج L293D (Out4 ، Out3 ، Out2 & Out1) كما هو موضح في الرسم التوضيحي أدناه .

Wiring-L293D-Motor-Driver-IC-to-28BYJ-48-Stepper-Motor-Arduino

قيادة محركات السائر ذات القطبين (NEMA 17)

في تجربتنا القادمة ، نحن نستخدم السائر NEMA 17 ثنائي القطب بجهد 12V . إنه يوفر 200 خطوة لكل دورة ، ويمكن أن يعمل عند 60 دورة في الدقيقة .

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

NEMA-17-Bipolar-Stepper-Motor-Coil-Pinout-Color-Code

الاتصالات بسيطة إلى حد ما . ابدأ بتوصيل مصدر طاقة 12V خارجي بطرف Vcc2 ومخرج 5V في الاردوينو بطرف Vcc1 .

تحتاج أيضًا إلى توصيل كلاً من دبابيس ENA و ENB بإخراج 5V بحيث يتم تمكين المحرك دائمًا .
الآن ، قم بتوصيل دبابيس الإدخال (IN1 و IN2 و IN3 و IN4) من L293D IC بأربعة دبابيس الإخراج الرقمي (12 و 11 و 10 و 9) على الاردوينو .

أخيرًا ، قم بتوصيل أسلاك A + (أحمر) ، A- (أخضر) ، B + (أزرق) و B- (أصفر) من محرك السائر إلى دبابيس خرج L293D (Out4 ، Out3 ، Out2 & Out1) كما هو موضح في الرسم التوضيحي أدناه .

Wiring-L293D-Motor-Driver-IC-to-NEMA-Stepper-Motor-Arduino
تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.

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

سوف يمنحك الكود التالي فهماً تامًا لكيفية التحكم في محرك السائر أحادي القطب أو ثنائي القطب باستخدام شريحة L293D وهو نفسه لكل من المحركات باستثناء معلمات stepPerRevolution .

غيّر هذه المعلمة وفقًا لمواصفات محركك قبل تجربة الكود . على سبيل المثال ، بالنسبة لـ NEMA 17 ، قم بتعيينها على 200 و 28BYJ-48 اضبطها على 48 .

لتحميل الكود البرمجي اضغط هنا
// Include the Arduino Stepper Library
#include <Stepper.h>

// Number of steps per output rotation
const int stepsPerRevolution = 200;

// Create Instance of Stepper library
Stepper myStepper(stepsPerRevolution, 12, 11, 10, 9);


void setup()
{
  // set the speed at 20 rpm:
  myStepper.setSpeed(20);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() 
{
  // step one revolution in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

أنتهت !!!

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *