كيفية التحكم في سرعة المحرك Stepper Motor باستخدم Potentiometre 10k مع أردوينو Arduino UNO R3 - DIY Channel3

DIY Channel3

Arduino│ESP8266│ESP32│Drone│Robot

كيفية التحكم في سرعة المحرك Stepper Motor باستخدم Potentiometre 10k مع أردوينو Arduino UNO R3

مشاركة هذا

 


- تعرف على كيفية التحكم في سرعة 28BYJ-48 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

- Potentiometre 10k

- Jumper Wires



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


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


// Control Speed of Stepper Motor 28BYJ-48 with potentiometer 10K
// By : DIY Channel
// My YouTube Channel :https://www.youtube.com/c/DIYChannel2019

const int desiredValue = 20;
const int dir = 2; 

int Pin1 = 10;//IN1 is connected to 10 
int Pin2 = 11;//IN2 is connected to 11  
int Pin3 = 12;//IN3 is connected to 12  
int Pin4 = 13;//IN4 is connected to 13 
int potPin = A0;// center pin of pot is connected to this pin
int vcc2 = 2;

int pole1[] ={0,0,0,0, 0,1,1,1, 0};
int pole2[] ={0,0,0,1, 1,1,0,0, 0};
int pole3[] ={0,1,1,1, 0,0,0,0, 0};
int pole4[] ={1,1,0,0, 0,0,0,1, 0};


int poleStep = 0; 
int calcDelayfromTime(int t);
void driveStepper(int c);
int N = calcDelayfromTime(desiredValue);


void setup() 
 pinMode(Pin1, OUTPUT);
 pinMode(Pin2, OUTPUT);   
 pinMode(Pin3, OUTPUT);  
 pinMode(Pin4, OUTPUT);
 pinMode(vcc2, OUTPUT);
 digitalWrite(vcc2, HIGH); 
 Serial.begin(9600);
 Serial.println("DIY Channel Stepper Control");
 Serial.print("Max time per rev set: ");
 Serial.print(desiredValue);
 Serial.print(" loop delay: ");
 Serial.println(N);
  delay(4000);
}// setup

 void loop() 

 if(dir ==1){ 
   poleStep++; 
    driveStepper(poleStep);    
 }else if(dir ==2){ 
   poleStep--; 
    driveStepper(poleStep);    
 }else{
  driveStepper(8);   
 }
 if(poleStep>7){ 
   poleStep=0; 
 } 
 if(poleStep<0){ 
   poleStep=7; 
 } 
 int potValue =analogRead(potPin);
 int speed = map(potValue,0, 1023, 1,N);

 delay(speed); 


}

int calcDelayfromTime(int t){
  return ((t-5)/4)+1;
}


void driveStepper(int c)
{
     digitalWrite(Pin1, pole1[c]);  
     digitalWrite(Pin2, pole2[c]); 
     digitalWrite(Pin3, pole3[c]); 
     digitalWrite(Pin4, pole4[c]);   
}

----------------------------------------------------------------------
stepper motor,arduino,potentiometer,motor,arduino stepper motor,stepper motor control,stepper,stepper motor potentiometer,stepper motor arduino,stepper motor (engine category),arduino servo potentiometer,potentiometer arduino stepper motor,stepper motor with potentiometer arduino,arduino stepper motor control with potentiometer,potentiometer arduino,control stepper motor with arduino and potentiometer,arduino uno,stepper motor (invention),potentiometer stepper arduino

No comments:

Post a Comment