Step Motor Kararsız Çalışıyor, Titriyor

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.

0J4232.600.png


0J10073.600.jpg


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?
 
@silvestir hocam teşekkür ederim. Sorunu çözdüm. Arduino ve sürücü gnd bağlantısı sorunluymuş, dışarıdan kablo ile giderdim ve motor sorunsuz dönüyor. Tavsiye ettiğiniz gibi enable gnd bağlantısı da yaptım. Teşekkür ederim tekrar.
 
@silvestir hocam teşekkür ederim. Sorunu çözdüm. Arduino ve sürücü gnd bağlantısı sorunluymuş, dışarıdan kablo ile giderdim ve motor sorunsuz dönüyor. Tavsiye ettiğiniz gibi enable gnd bağlantısı da yaptım. Teşekkür ederim tekrar.
Nasil gidersiniz ayni sorun bende de var tıpa tıp yani yardımcı olursanız sevinirim
 
@Alperen& , motor sürücü ile mikrodenetleyicinin gnd uçları birbirine bağlı olmalı. Benim bağlantıda sorun varmış, giderince çözüldü.
 
@silvestir hocam teşekkür ederim. Sorunu çözdüm. Arduino ve sürücü gnd bağlantısı sorunluymuş, dışarıdan kablo ile giderdim ve motor sorunsuz dönüyor. Tavsiye ettiğiniz gibi enable gnd bağlantısı da yaptım. Teşekkür ederim tekrar.
@silvestir hocam teşekkür ederim. Sorunu çözdüm. Arduino ve sürücü gnd bağlantısı sorunluymuş, dışarıdan kablo ile giderdim ve motor sorunsuz dönüyor. Tavsiye ettiğiniz gibi enable gnd bağlantısı da yaptım. Teşekkür ederim tekrar.
Step motoru arduino ile adimlatmak istiyorum yardimci olabilirmisiniz
 

Forum istatistikleri

Konular
129,806
Mesajlar
930,281
Kullanıcılar
452,608
Son üye
murat620

Yeni konular

Çevrimiçi üyeler

Geri
Üst