التحكم في عدد الخطوات | Arduino | Stepper Motor nema 17 | control number of steps or revolutions | - DIY Channel3

DIY Channel3

Arduino│ESP8266│ESP32│Drone│Robot

التحكم في عدد الخطوات | Arduino | Stepper Motor nema 17 | control number of steps or revolutions |

مشاركة هذا

 


ستتعلم في هذه المقالة كيفية التحكم في محرك متدرج باستخدام محرك L298N. تُستخدم لوحة القيادة هذه عادةً للتحكم في محركات التيار المستمر ، ولكنها أيضًا بديل غير مكلف للتحكم في محركات السائر! يمكنه التحكم في كل من السرعة واتجاه الدوران لمعظم محركات السائر مثل NEMA 17.


 يمكنك التحكم في السرعة والاتجاه وعدد الخطوات / الثورات.

في هذه الحالة ، يدور محرك السائر دورتين في اتجاه عقارب الساعة بسرعة 200 خطوة / ثانية ، ثم يدور دورة واحدة عكس اتجاه عقارب الساعة بسرعة 600 خطوة / ثانية ، وأخيراً يدور 3 دورات في اتجاه عقارب الساعة بسرعة 400 خطوة / ثانية.


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


-  Arduino UNO R3


-  NEMA 17 stepper motor

- L298N motor driver board 

- Jumper wires

- 11.1v lipo battery




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

- التحكم في عدد الخطوات أو الثورات

++ الكود البرمجي هنا :

// Include the AccelStepper library:
#include <AccelStepper.h>
// Define the AccelStepper interface type:
#define MotorInterfaceType 4
// Create a new instance of the AccelStepper class:
AccelStepper stepper = AccelStepper(MotorInterfaceType, 8, 9, 10, 11);
void setup() {
// Set the maximum steps per second:
stepper.setMaxSpeed(1000);
}
void loop() {
// Set the current position to 0:
stepper.setCurrentPosition(0);
// Run the motor forward at 200 steps/second until the motor reaches 400 steps (2 revolutions):
while (stepper.currentPosition() != 400) {
stepper.setSpeed(200);
stepper.runSpeed();
}
delay(1000);
// Reset the position to 0:
stepper.setCurrentPosition(0);
// Run the motor backwards at 600 steps/second until the motor reaches -200 steps (1 revolution):
while (stepper.currentPosition() != -200) {
stepper.setSpeed(-600);
stepper.runSpeed();
}
delay(1000);
// Reset the position to 0:
stepper.setCurrentPosition(0);
// Run the motor forward at 400 steps/second until the motor reaches 600 steps (3 revolutions):
while (stepper.currentPosition() != 600) {
stepper.setSpeed(400);
stepper.runSpeed();
}
delay(3000);
}
#electronicengineering #robots #led #o #arduinolove #stem #automation #digitalelectronics #engineer #electronicsprojects #projects #electronicsengineering #innovation #electronicslovers #robotic #raspberry #dprinting #sensors #artificialintelligence #science #embeddedsystems #tecnologia #pcbdesign #proteus #circuit #code #m #soldering #embedded #electronica

No comments:

Post a Comment