سلام دوستان وقت بخیر
بنده یک درایور a4988 و یک موتور پنج سیم تک فاز تهیه کردم و خواستم موتور رو تست کنم. طبق دستورات درایور اگر هر سه پایه ms1 ms2 ms3 مقدار low بدهم موتور باید یک استپ کامل بزند. موتور بنده هر استپش 1.8 هست و با 200 پالس باید یک گردش کامل انجام دهد اما این کار را نمیکند و فقط میلرزد. طبق کدی که نوشته شده باید یک دور در یک جهت و دو دور در جهت مخالف بزند.
در واقع مشکل من این هست که تنظیمات مربوط به استپ ها رو نمیتونم الان انجام بدم.
نکته:سیم مشترک کوبل ها رو وصل نکردم طبق کامنت هایی که تو اینترنت خوندم چون درایور a4988 برای کنترل موتور دوفاز هست.
کد به صورت زیر هست و از این سایت برداشته شده
How To Control Stepper Motor with A4988 Driver and Arduino
// defines pins numbers
const int stepPin = 3;
const int dirPin = 4;
void setup() {
// Sets the two pins as Outputs
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
}
void loop() {
digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
// Makes 200 pulses for making one full cycle rotation
for(int x = 0; x < 200; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(500);
}
delay(1000); // One second delay
digitalWrite(dirPin,LOW); //Changes the rotations direction
// Makes 400 pulses for making two full cycle rotation
for(int x = 0; x < 400; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(500);
}
delay(1000);
}