اردوينو – الدرس السابع عشر – المحرك الخطوي Stepper Motor

مبتدئ

image_pdf

مقدمة

محرك Stepper motor ويدعى بالعربية المحرك الخطوي (محرك خطوة بخطوة) وهو محرك كهربائي يستخدم في الآلات الصغيرة التي تحتاج لدقة في التحكم مثل الطابعة وقاطع الليزر .. الخ

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

في هذا الدرس ستتعلم كيفية التحكم بالمحرك الخطوي stepper motor عبر الأردوينو ورقاقة التحكم L293D والتي استخدمناها بالدرس السادس عشر.

المحرك الخطوي 

المواد والأدوات

المحرك الخطوي 

المحرك الخطوي (5V Stepper Motor)

Dual-H-Bridge-Motor-Driver-for-DC-or-Steppers-600mA-L293D-600x450

دائرة متكاملة للتحكم بالمحرك(Dual H-Bridge  L293D)

Half-size Breadboard

1× لوحة التجارب (Half-size Breadboard)

Arduino Uno R3

 1× اردوينو اونو

Jumper wire pack

حزمة أسلاك توصيل (ذكر-ذكر)

Arduino cable

1× سلك اردوينو

توصيل الدائرة

محرك stepper motor لديه 5 اسلاك ، كما سنقوم باستخدام رقاقة L293D كاملة هذه المرة .

لاستخدام المحرك الخطوي بالمشروع يمكن استخدام اسلاك jumper wires وربطها بالمحرك عبر المقبس الموجود بنهاية اسلاكه الخمسة حتى تتمكن مر توصيله بلوح التجارب.

المحرك الخطوي 

لاحظ أن السلك الأحمر للمحرك لايتم ربطه بأي شيء.

الكود البرمجي

الكود التالي يستخدم شاشة الاتصال التسلسلي serial monitor ، لذلك بعد رفع الكود على الاردوينو وتشغيله ، قم بفتح شاشة الاتصال التسلسلي Serial Monitor وقم بإدخال رقم الخطوات ‘steps’.
جرب ادخال القيمة 500 ، هذا سيجعل المحرك يدور حتى درجة 360 درجة. قم بإدخال القيمة -500 وسيقوم المحرك بالدوران بشكل عكسي.

#include <Stepper.h>
 
int in1Pin = 12;
int in2Pin = 11;
int in3Pin = 10;
int in4Pin = 9;
 
Stepper motor(512, in1Pin, in2Pin, in3Pin, in4Pin);  
 
void setup()
{
  pinMode(in1Pin, OUTPUT);
  pinMode(in2Pin, OUTPUT);
  pinMode(in3Pin, OUTPUT);
  pinMode(in4Pin, OUTPUT);

  while (!Serial);
 
  Serial.begin(9600);
  motor.setSpeed(20);
}
 
void loop()
{
  if (Serial.available())
  {
    int steps = Serial.parseInt();
    motor.step(steps);
  }
}

كما تلاحظ يوجد مكتبة برمجية خاصة لدعم محرك stepper motor مما يجعل استخدام المحرك سهل جداً.

بعد اضافة مكتبة ‘stepper’ البرمجية ، يتم تعريف المنافذ  ‘in1’ – ‘in4’.

Stepper motor(768, in1Pin, in2Pin, in3Pin, in4Pin);

العامل المدخل الأول هو عبار عن عدد الخطوات ‘steps’ التي سينفذها المحرك.

بعد ذلك يقوم متحكم الأردوينو بإنتظار الأرقام المقترحة للادخال من خلال الاتصال التسلسلي Serial Monitor.

أخيراً ، الأمر التالي يقوم بتحديد السرعة للمحرك.

motor.setSpeed(10);

دالة loop واضحة ، حيث ينتظر الرقم المدخل (كنص) من خلال الاتصال التسلسلي Serial Monitor  ويتم تحويل النص لرقم عبر استخدام ‘parseint’. بعد ذلك يتم توجيه المحرك الخطوي بعدد خطوات الحركة.

المحرك الخطوي  Stepper Motor

المحرك الخطوي  Stepper motor يستخدم تروس والمغناطيس الكهربائي لدفع التروس خطوه بخطوه.

المحرك الخطوي 

أنشطة أخرى

حاول تغيير الأمر الذي يقوم بتحديد سرعة المحرك الخطوي.

 motor.setSpeed(20);

=قم بالتلاعب بالقيم والأسلاك لتتعرف على تأثير التغيرات التي قمت بها بالتجربة.

 

X
Product added to the cart