Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

To dobre miejsce na pytania i worklogi
Zajace
Konto z ograniczeniami
Postów w temacie: 6
Posty: 6
Rejestracja: 07 gru 2017, 19:37

Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Zajace »

Witam.

Może na wstępie wykluczę pytanie o arduino.
- Arduino działa. Merlin działa poprawnie (ekran, menu itd enkoder)
- Silniki podłączone poprawnie (A-A B-B wiem o co chodzi. Sprawdzałem wyprowadzenia)

Problem pojawia się gdy chciałem sprawdzić testowym programem silniki. A o to efekt na filmie w linku.

https://drive.google.com/file/d/1Rtozk7 ... Di1ds/view

Mieliście podobny problem? Sterowaniem miedzy stepstickiem a4988 nie różni się przecież. Oczekuję na pomoc z waszej strony.

Pozdrawiam
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 4
Posty: 7563
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2661

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Berg »

CZeść.
1. sprawdż jeszcze raz cewki. JEdnka zmień miejsami środkowe przewody i sprawdź
2. jeśli nie 1. to coś nie tak masz z programem sterującym tymi silnikami
3. jeśli nie 1,2 to bawiąc się wcześniej uwaliłeś arduino
4. jeśli nie 1,2,3 to coś nie tak z zasilaniem - obniż prąd do minimum na podkówkach
5. jeśli nie 1,2,3,4 to może za szybko chcesz nimi kręcić?
Zajace
Konto z ograniczeniami
Postów w temacie: 6
Posty: 6
Rejestracja: 07 gru 2017, 19:37

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Zajace »

1. Sprawdziłem, zmienilem. Bez zmian.
2.

Kod: Zaznacz cały

#define X_STEP_PIN         54
#define X_DIR_PIN          55
#define X_ENABLE_PIN       38
#define X_MIN_PIN           3
#define X_MAX_PIN           2

#define Y_STEP_PIN         60
#define Y_DIR_PIN          61
#define Y_ENABLE_PIN       56
#define Y_MIN_PIN          14
#define Y_MAX_PIN          15

#define Z_STEP_PIN         46
#define Z_DIR_PIN          48
#define Z_ENABLE_PIN       62
#define Z_MIN_PIN          18
#define Z_MAX_PIN          19

#define E_STEP_PIN         26
#define E_DIR_PIN          28
#define E_ENABLE_PIN       24

#define Q_STEP_PIN         36
#define Q_DIR_PIN          34
#define Q_ENABLE_PIN       30

#define SDPOWER            -1
#define SDSS               53
#define LED_PIN            13

#define FAN_PIN            9

#define PS_ON_PIN          12
#define KILL_PIN           -1

#define HEATER_0_PIN       10
#define HEATER_1_PIN       8
#define TEMP_0_PIN          13   // ANALOG NUMBERING
#define TEMP_1_PIN          14   // ANALOG NUMBERING

void setup() {
  pinMode(FAN_PIN , OUTPUT);
  pinMode(HEATER_0_PIN , OUTPUT);
  pinMode(HEATER_1_PIN , OUTPUT);
  pinMode(LED_PIN  , OUTPUT);
  
  pinMode(X_STEP_PIN  , OUTPUT);
  pinMode(X_DIR_PIN    , OUTPUT);
  pinMode(X_ENABLE_PIN    , OUTPUT);
  
  pinMode(Y_STEP_PIN  , OUTPUT);
  pinMode(Y_DIR_PIN    , OUTPUT);
  pinMode(Y_ENABLE_PIN    , OUTPUT);
  
  pinMode(Z_STEP_PIN  , OUTPUT);
  pinMode(Z_DIR_PIN    , OUTPUT);
  pinMode(Z_ENABLE_PIN    , OUTPUT);
  
  pinMode(E_STEP_PIN  , OUTPUT);
  pinMode(E_DIR_PIN    , OUTPUT);
  pinMode(E_ENABLE_PIN    , OUTPUT);
  
  pinMode(Q_STEP_PIN  , OUTPUT);
  pinMode(Q_DIR_PIN    , OUTPUT);
  pinMode(Q_ENABLE_PIN    , OUTPUT);
  
   digitalWrite(X_ENABLE_PIN    , LOW);
   digitalWrite(Y_ENABLE_PIN    , LOW);
   digitalWrite(Z_ENABLE_PIN    , LOW);
   digitalWrite(E_ENABLE_PIN    , LOW);
   digitalWrite(Q_ENABLE_PIN    , LOW);
}

void loop () {
  
  if (millis() %1000 <500) 
    digitalWrite(LED_PIN, HIGH);
  else
    digitalWrite(LED_PIN, LOW);
  
  if (millis() %1000 <300) {
    digitalWrite(HEATER_0_PIN, HIGH);
    digitalWrite(HEATER_1_PIN, LOW);
    digitalWrite(FAN_PIN, LOW);
  } else if (millis() %1000 <600) {
    digitalWrite(HEATER_0_PIN, LOW);
    digitalWrite(HEATER_1_PIN, HIGH);
    digitalWrite(FAN_PIN, LOW);
  } else  {
    digitalWrite(HEATER_0_PIN, LOW);
    digitalWrite(HEATER_1_PIN, LOW);
    digitalWrite(FAN_PIN, HIGH);
  }
 
  if (millis() %10000 <5000) {
    digitalWrite(X_DIR_PIN    , HIGH);
    digitalWrite(Y_DIR_PIN    , HIGH);
    digitalWrite(Z_DIR_PIN    , HIGH);
    digitalWrite(E_DIR_PIN    , HIGH);
    digitalWrite(Q_DIR_PIN    , HIGH);
  }
  else {
    digitalWrite(X_DIR_PIN    , LOW);
    digitalWrite(Y_DIR_PIN    , LOW);
    digitalWrite(Z_DIR_PIN    , LOW);
    digitalWrite(E_DIR_PIN    , LOW);
    digitalWrite(Q_DIR_PIN    , LOW);
  } 
 
  digitalWrite(X_STEP_PIN    , HIGH);
  digitalWrite(Y_STEP_PIN    , HIGH);
  digitalWrite(Z_STEP_PIN    , HIGH);
  digitalWrite(E_STEP_PIN    , HIGH);
  digitalWrite(Q_STEP_PIN    , HIGH); 
  delay(1);
  
  digitalWrite(X_STEP_PIN    , LOW);
  digitalWrite(Y_STEP_PIN    , LOW);
  digitalWrite(Z_STEP_PIN    , LOW);
  digitalWrite(E_STEP_PIN    , LOW);
  digitalWrite(Q_STEP_PIN    , LOW);  
}
3. Arduino działa. Nie ma z nim problemu.
4. Zasilacz jest sprawny. Sprawdzany na laboratoryjnym i komputerowym.
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 4
Posty: 7563
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2661

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Berg »

no dobra. to od początku.
1. w zasadzie to co to jest? jaki firmware tam wgrałeś? jakie liczby mikrokroków, max feedrate itp, jerk, akceleracja
2. Uruchamiasz jakiś g-code? tak?
3. znaczy, żę jak podmieniasz na a4988 to wszystko odziała ok?
4. Jak ustawione są jumpery pod stepstikami?
Zajace
Konto z ograniczeniami
Postów w temacie: 6
Posty: 6
Rejestracja: 07 gru 2017, 19:37

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Zajace »

1. Na samym początku wgrałem merlina 1.1 i jako menu działał okej. Wgrałem go aby się troche zapoznać. Kiedy przyszły silniki (sx17-1005lqcef) wgrałem od razu test kod i podłączyłem.
2. Nic a nic nie uruchamiałem jeszcze.
3. Nie podmieniam nic bo nie chce na razie kupować, gdyż może to być jakiś problem, który ja popełniłem.
4. Jumpery były włożone wszystkie (czyli 1/32?) po czym je wyjąłem i nie dało to żadnego rezultatu.

Ciekawostką jaka jest to gdy uruchamiam sam stepstick przy pomocy arduino(pro mini akurat) to silnik obraca się płynnie, ale tylko w jedna stronę(Wgrałem program poruszający osią raz w prawo, raz w lewo). Moje podejrzenia padają na te stepsticki tylko nie przypominam sobie abym je źle włożył albo złe podłączył przy próbie z arduino.
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 4
Posty: 7563
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2661

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Berg »

czyli nie kręciłeś tymi silnikami na filmie z Marlina, tylko z jakiegoś tam innego programiku testowego. Dość ryzykowne z wsadzonym RAMPSem i pozwieranymi różnymi pinami....

jakkolwiek to jesteśmy bardzo blisko wyjasnienia zagadki myślę.
skoro wsadzenie albo nie wsadzenie jumperów nie powoduje żadnej widocznej róznicy , ani nie ma reakcji na zmianę stanu na DIR, to znaczy najpewniej:
1. uwalone są piny CH1,2,3 przez co silniki próbują działać w trybie pełnego kroku, czyli 32 razy szybciej niż nimi kręcisz a takiej prędkości i przyspieszenia nie wytrzymują. Możesz zobaczyć co będzie jak zaczniesz kręcić nimi bardzo, bardzo wolno.
(kiedyś tak upaliłem DVRy, że działają tylko w 1/16ej)
2. upaliłeś też wejście na DIR. czy jakoś inaczej uszkodziłeś układ. Uszkodzony często zachowuje się chaotycznie.
3. albo uszkodzone jest częściowo arduino
4. wsadzenie odwrotnie stepstika zawsze kończy się uwaleniem częsci elektroniki, Arduino i pozostałych stepów. Wsadzenie stepstika przesuniętego o jeden pin tym bardziej. Jesli taka sytuacja miała miejsce, to na pewno są różne rzeczy uszkodzone
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 4
Posty: 7563
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2661

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Berg »

na pocieszenie dodam, że te stepstiki i tak są nic nie warte, nie nadają się do drukarki. RAMPS to też długa lista problemów.
Zajace
Konto z ograniczeniami
Postów w temacie: 6
Posty: 6
Rejestracja: 07 gru 2017, 19:37

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Zajace »

Okej. Będę sprawdzał po kolei elementy.
Jestem pewien, że nie umieściłem nie poprawnie stepstickow bo czytałem przed zabawa jak należy je umieścić i zwrócić uwagę na oznaczenia pinow.
Jeżeli arduino będzie w pełni sprawne to zamówię a4988 i zobaczymy.
Awatar użytkownika
borek
Konto z ograniczeniami
Postów w temacie: 1
Posty: 73
Rejestracja: 17 lut 2017, 12:14
x 4

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: borek »

Wkładaj pojedyńczo steppery, i rób test po kazdym, zakładanie po wyłączonym zasilaniu.
Zajace
Konto z ograniczeniami
Postów w temacie: 6
Posty: 6
Rejestracja: 07 gru 2017, 19:37

Re: Problem z uruchomieniem silników. (Ramps 1.4 + DRV8825)

Post autor: Zajace »

Okej.
Więc sprawdziłem arduino i wszystko z nim w porządku. Moglem sterować stepstickiem bez żadnych problemów. Także stepsticki również działają. Wychodzi na to, że problem musi być z shieldem rampsa.
Jakieś sugestie co do niego?
ODPOWIEDZ

Wróć do „RepRap - buduję”