مشروع التحكم في محرك NEMA17 باستخدام DRV8825 درايفر اكتب تعليقُا

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

شرح فكرة المشروع

  • محرك NEMA 17 هو نوع من أنواع المحركات الخطوية (Stepper Motors)، يُعرف بشكل عام بأنه محرك ذو خطوات، و يستخدم  في العديد من التطبيقات، بما في ذلك:
  • طابعات ثلاثية الأبعاد (3D Printers).
  • أجهزة (CNC Machines).
  • الروبوتات والأذرع الآلية.
  • المشاريع الإلكترونية والميكاترونية التي تتطلب التحكم بحركة المحرك بدقة.
  • درايفر DRV8825 هو وحدة تحكم لمحركات (Stepper Motors) ويستخدم لتحريك المحركات الخطوية بدقة واحترافية.
  • هذا الدرايفر يأخذ إشارات من الأردوينو أو لوحة تحكم أخرى ويقوم بتوجيه التيار إلى المحرك لتحقيق الحركة الدورانية بالخطوات.
  • هي هذا المشروع، سيتم التحكم في المحرك NEMA 17 بواسطة درايفر DRV8825، وهذا من ناحية عدد الدورات والسرعة واتجاه الدوران.
  • الرابط

ادوات المشروع

  • اردوينو اونو مع سلك توصيل Arduino Uno: عدد 1
  • NEMA17 محرك متدرج (ستيبر)بطول 34 مم ، 1.5 أمبير مع كابل 720 مم: عدد 1
  • رقاقة أصلية مع DRV8825درايف محرك ستيبر Original Chip with Retail: عدد 1
  • لوح تجارب 400 نقطة لون ابيض Solderless Breadboard: عدد 1
  • أسلاك ذكر لذكر 20 سم 40 قطغة Male to Male jumper wire
  • مكثف كيميائي 50v 47uf chemical capacitor: عدد 1
  • مزود طاقة 12 فولت 2 أمبير Power supply Adapter charger PS1202: عدد 1
  • سوكيت أنثى مدخل Female Jack Adapter for Arduino: عدد 1

مخطط المشروع

تنويه: يجب التقيد بلون الأسلاك الخاصة بمحرك NEMA17 عند وصلها بالدرايفر DRV8825

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

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

#include <AccelStepper.h>

// Define the motor interface type as DRIVER
#define MOTOR_INTERFACE_TYPE AccelStepper::DRIVER

// Create an instance of AccelStepper
AccelStepper stepper(AccelStepper::DRIVER, 3, 2); // Step pin: 3, Direction pin: 2

void setup() {
// Set the speed and acceleration (adjust these values as needed)
stepper.setMaxSpeed(1000); // steps per second
stepper.setAcceleration(500); // steps per second^2

// You can add any other setup code here
}

void loop() {
// Rotate the motor one full revolution clockwise
stepper.move(200); // 200 steps for one revolution (adjust if needed)
stepper.runToPosition();

// Add a small delay between rotations (optional)
delay(1000);

// Rotate the motor one full revolution counterclockwise
stepper.move(-200); // Negative value for counterclockwise rotation
stepper.runToPosition();

// Add a small delay between rotations (optional)
delay(1000);
}

اترك تعليقاً

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