كيفية التحكم في محرك خطوي ∣ Stepper Motor 28BYJ-48 باستخدم لوحة أردوينو - DIY Channel3

DIY Channel3

Arduino│ESP8266│ESP32│Drone│Robot

كيفية التحكم في محرك خطوي ∣ Stepper Motor 28BYJ-48 باستخدم لوحة أردوينو

مشاركة هذا

 


تتضمن هذه المقالة كل ما تحتاج لمعرفته حول التحكم في محرك متدرج 28BYJ-48 باستخدام لوحة القيادة ULN2003 و Arduino. لقد قمت بتضمين أوراق البيانات ومخطط الأسلاك والعديد من الأمثلة على الرموز!

أولاً نلقي نظرة على مكتبة Arduino Stepper سهلة الاستخدام. هذه المكتبة رائعة عندما تكون قد بدأت للتو ، ولكنها لا تحتوي على العديد من الميزات الإضافية.

أوصي بشدة أيضًا بإلقاء نظرة على أمثلة الرموز الخاصة بمكتبة AccelStepper في نهاية هذا البرنامج التعليمي. هذه المكتبة سهلة الاستخدام إلى حد ما ويمكنها تحسين أداء أجهزتك بشكل كبير.

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

إذا كنت تريد معرفة المزيد حول التحكم في محركات السائر الأكبر بعزم دوران أكبر وسرعة أكبر ، فقم بإلقاء نظرة على المقالات أدناه. أعلمك في هذه المقالات كيفية التحكم في محركات السائر NEMA 17 ، باستخدام برامج تشغيل مثل A4988.

- محرك متدرج ولوحة تشغيل متوافقة مع MEGA 2560 1280 DSP ARM PIC AVR STM32 Raspberry Pi.

- محرك متدرج بواجهة قياسية. يشير مؤشر LED رباعي الطور A ، B ، C ، D إلى حالة عمل محرك السائر.

- قطر المحرك : 1.1 بوصة ، طول السلك: 9.05 بوصة. زاوية الخطوة: 5.625 × 1/64 نسبة التخفيض: 1/6.

- حجم لوحة وحدة القيادة: 1.26 بوصة × 1.38 بوصة.

- طول الكابل : حوالي 20 سم / 8 بوصة.

- تعبئة رائعة في صندوق: 5 مجموعة Uln2003 Stepper Motor + لوحة القيادة.


- معلومات حول محرك السائر 28BYJ-48 ولوحة القيادة ULN2003

28BYJ-48 هو أحد أرخص محركات السائر التي يمكنك العثور عليها. على الرغم من أنه ليس دقيقًا أو قويًا للغاية ، إلا أنه محرك رائع لاستخدامه في المشاريع الصغيرة أو إذا كنت تريد فقط التعرف على المحركات السائر.

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

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

----------------------------------------------------------------------------

- المكونات الاساسية :

- Arduino UNO R3

- 28BYJ-48 ULN2003 5V Stepper Motor + ULN2003 Driver Board Kit

- Jumper Wires


---------------------------------------------------------------------------
- مخطط الرسم البياني :



- تحميل الكود أردوينو :

int Pin1 = 10; 
int Pin2 = 11; 
int Pin3 = 12; 
int Pin4 = 13; 
int _step = 0; 
boolean dir = true;// false=clockwise, true=counter clockwise
int count=0;
void setup() 
 pinMode(Pin1, OUTPUT);  
 pinMode(Pin2, OUTPUT);  
 pinMode(Pin3, OUTPUT);  
 pinMode(Pin4, OUTPUT);  
 void loop() 
 switch(_step){ 
   case 0: 
     digitalWrite(Pin1, LOW);  
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
     digitalWrite(Pin4, HIGH); 
   break;  
   case 1: 
     digitalWrite(Pin1, LOW);  
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, HIGH); 
     digitalWrite(Pin4, HIGH); 
   break;  
   case 2: 
     digitalWrite(Pin1, LOW);  
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, HIGH); 
     digitalWrite(Pin4, LOW); 
   break;  
   case 3: 
     digitalWrite(Pin1, LOW);  
     digitalWrite(Pin2, HIGH); 
     digitalWrite(Pin3, HIGH); 
     digitalWrite(Pin4, LOW); 
   break;  
   case 4: 
     digitalWrite(Pin1, LOW);  
     digitalWrite(Pin2, HIGH); 
     digitalWrite(Pin3, LOW); 
     digitalWrite(Pin4, LOW); 
   break;  
   case 5: 
     digitalWrite(Pin1, HIGH);  
     digitalWrite(Pin2, HIGH); 
     digitalWrite(Pin3, LOW); 
     digitalWrite(Pin4, LOW); 
   break;  
     case 6: 
     digitalWrite(Pin1, HIGH);  
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
     digitalWrite(Pin4, LOW); 
   break;  
   case 7: 
     digitalWrite(Pin1, HIGH);  
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
     digitalWrite(Pin4, HIGH); 
   break;  
   default: 
     digitalWrite(Pin1, LOW);  
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
     digitalWrite(Pin4, LOW); 
   break;  
 } 
 if(dir){ 
   _step++; 
 }else{ 
   _step--; 
 } 
 if(_step>7){ 
   _step=0; 
 } 
 if(_step<0){ 
   _step=7; 
 } 
 delay(1); 

}

--------------------------------------------------------------------------
arduino stepper motor control
arduino stepper motor
arduino stepper motor speed control
arduino stepper motor projects
arduino stepper motor home position
arduino stepper motor tutorial
arduino stepper
arduino stepper motor position control
arduino stepper motor control with potentiometer
arduino stepper motor control with push button
arduino stepper motor programming
arduino stepper motor code
arduino stepper motor driver
arduino stepper motor without driver

No comments:

Post a Comment