الدرس الأول متقدم

2

 بسم الله الرحمن الرحيم  

بعد ان انتهينا من سلسلة تعلم الأردوينو التاسيسية وانتهينا ايضا من سلسلة الحساسات الأساسية 

سنبدأ اليوم بسلسلة جديدة وهى الدروس المتقدمة الخاصه بالأردوينو 

ولكن ان كنت لم تتطلع على الدروس السابقة يمكنك الإطلاع عليها من هنا 


سنناقش اليوم احد انواع المواتير الذي يعد من المواتير المهمه 

 الموتور الخطوى او stepper motor 

محرك خطوة بخطوة ‏ هو محرك كهربائي يستخدم في الآلات الصغيرة التي تحتاج لدقة في تحكم بمحركاتها مثل الطابعة cnc

و من أهم ميزات هذا النوع من المحركات انه يمكن التحكم في 

عدد 

وسرعة دوراته وزاوية التوقف بدقة.

يكون له العديد من الأنواع يختلف كل نوع من كمية الطاقة التى 

يحتاجها والوزن الذي يستطيع تحمله 


يحتوى الموتور على 5 اسلاك وهناك طريقتان للتوصيل 

الطريقة الأولى وهى استخدام درايفر خاص به وهذه الطريقة توفر 

لك العديد من الإمكانية وهى انك يمكنك التحكم فى سرعه الموتور 

مع التحكم فى اتجاهه



او استخدام شريحة h-bridge الخاصه بمواتير dc ولكن هذه 

الطريقة لن  توفر لك امكانية التحكم فى السرعه 

ويمكن ايضا استخدام شريحة l239d فى التحكم به


التجربة : 

سنقوم بعمل تحكم للموتور الستيبر فى اتجاه وسرعه دورانه 


باستخدام مقاومات متغيرة 


التوصيلات : 



الكود : 

فى البداية من اجل التعامل مع هذا النوع من المواتير يجب استخدام


مكتبة خاصه تسمي Stepper.h


#include <Stepper.h>


const int stepsPerRevolution = 200;


Stepper stepper(stepsPerRevolution,8,9,10,11);


const int res1 = A0;

const int res2 = A1;

int val_spe;

int val_mov;

void setup() {


}

void loop() {

  val_spe=analogRead(res1);

  val_mov=analogRead(res2);

  val_spe = map(val_spe,0,1023,0,100);

  if(val_spe > 0){

  stepper.setSpeed(val_spe);

  }

  if(val_mov > 600){

  stepper.step(val_mov); 

  }

  if(val_mov < 600){

  stepper.step(-val_mov);

  }

}


فى البداية يجب استدعاء المكتبة كما قلنا من قبل
ثم يجب تحديد عدد لفات الموتور فى الثانية غالبا ما تكون 200 

const int stepsPerRevolution = 200;

من ثم تعريف الموتور داخل المكتبة 
نقوم بكتابة اسم المكتبة ثم اسم الكائن الذي من خلاله سنصدر الأوامر للموتور
ثم نفتح قوس ونكتب منافذ الدرايفر التى تم توصيلها بالأردوينو 

Stepper stepper(stepsPerRevolution,8,9,10,11);

من ثم القراءة من المقاومات مع عمل عملية تسوية لها 
من ثم القراءة من مقاومة المتغيرة الخاصه بالسرعه وتحديد سرعه الموتور من طريق هذه المقاومة 
وعمل نفس هذا السيناريو على المقاومة الأخرى 
وهذا هو كود التحكم بسرعه واتجاه دوران موتور ستيبر باستخدام الأردوينو ومقاومات متغيرة 

لتحميل الكود اضغط هنا

تصميم وبرمجة : بلال حسان سعدى 

التعليقات