munsala
Üye
- Katılım
- 16 Eki 2020
- Mesajlar
- 6
- Puanları
- 1
Merhaba,
Birden fazla motor, sürücü, kod vs denedim fakat motor düzgün bir dönüş yapmıyor, titreyerek kararsız şekilde dönüyor ve bu dönüş genelde kod ile belirttiğim şekilde olmuyor.
Aşağıdaki şemaları uygulayarak deniyorum.
12V 15A güç kaynağım var.
Mikrokontrolcü olarak Arduino Uno ve Nano kullanarak deniyorum.
Denediğim NEMA 17 motorlar: 42BYGHD444-01H Linix (6 Kablo) 1.2A ve 17HS3001 HS20B (4 Kablo) 1.2A
Denediğim Sürücüler: DRV8825 (Pololu), A4988(Pololu), A4988(Çin)
Vref ayarlarını defalarca kontrol ediyorum, motor kablolarını direnç ölçerek defalarca kontrol ettim. Tüm bağlantılara defalarca baktım. Fakat hiçbir denememde düzgün bir dönme alamadım.
Birçok kod ve kütüphane denedim, denediğim en sade örnek kodlardan biri aşağıda.
3 Gündür 1 step motoru süremedim. Nerede hata yapıyor olabilirim?
Birden fazla motor, sürücü, kod vs denedim fakat motor düzgün bir dönüş yapmıyor, titreyerek kararsız şekilde dönüyor ve bu dönüş genelde kod ile belirttiğim şekilde olmuyor.
Aşağıdaki şemaları uygulayarak deniyorum.
12V 15A güç kaynağım var.
Mikrokontrolcü olarak Arduino Uno ve Nano kullanarak deniyorum.
Denediğim NEMA 17 motorlar: 42BYGHD444-01H Linix (6 Kablo) 1.2A ve 17HS3001 HS20B (4 Kablo) 1.2A
Denediğim Sürücüler: DRV8825 (Pololu), A4988(Pololu), A4988(Çin)
Vref ayarlarını defalarca kontrol ediyorum, motor kablolarını direnç ölçerek defalarca kontrol ettim. Tüm bağlantılara defalarca baktım. Fakat hiçbir denememde düzgün bir dönme alamadım.
Birçok kod ve kütüphane denedim, denediğim en sade örnek kodlardan biri aşağıda.
C++:
/*Example sketch to control a stepper motor with A4988/DRV8825 stepper motor driver and Arduino without a library. More info: https://www.makerguides.com */
// Define stepper motor connections and steps per revolution:
#define dirPin 2
#define stepPin 3
#define stepsPerRevolution 200
void setup() {
// Declare pins as output:
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop() {
// Set the spinning direction clockwise:
digitalWrite(dirPin, HIGH);
// Spin the stepper motor 1 revolution slowly:
for (int i = 0; i < stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
delay(1000);
// Set the spinning direction counterclockwise:
digitalWrite(dirPin, LOW);
// Spin the stepper motor 1 revolution quickly:
for (int i = 0; i < stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin, LOW);
delayMicroseconds(1000);
}
delay(1000);
// Set the spinning direction clockwise:
digitalWrite(dirPin, HIGH);
// Spin the stepper motor 5 revolutions fast:
for (int i = 0; i < 5 * stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}
delay(1000);
// Set the spinning direction counterclockwise:
digitalWrite(dirPin, LOW);
//Spin the stepper motor 5 revolutions fast:
for (int i = 0; i < 5 * stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}
delay(1000);
}
3 Gündür 1 step motoru süremedim. Nerede hata yapıyor olabilirim?