Skocz do zawartości

Silnik krokowy się nie obraca w drugą stronę. A4988 NEMA17 17HS4401


dzemdobrek

Pomocna odpowiedź

Cześć wszystkim 🙂
Jest to mój pierwszy post na forum. Po walce poddaję się i proszę was o pomoc. Nie wiem dlaczego mój silnik krokowy -nema 17 nie obraca się w drugą stronę. 
Kod odraz podłączenie:

/*     Simple Stepper Motor Control Exaple Code
 *      
 *  by Dejan Nedelkovski, www.HowToMechatronics.com
 *  
 */

// 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);
}

 

148-1286.jpg

IMG_20210319_113824_5.jpg

IMG_20210319_113851_5.jpg

IMG_20210319_113900_4.jpg

IMG_20210319_113927_6.jpg

Link do komentarza
Share on other sites

Cześć, bo na filmiku tego nie widać dokładnie - czyli rozumiem, że jeśli zadajesz sygnał na pin STEP, to silnik obraca się zawsze - problemem jest tylko, że wał obraca się tylko w jedną stronę (niezależnie od stanu pinu DIR)?

Jeśli tak, odrzuciłbym wadę A4988 - problemem jest to, że pin DIR nie otrzymuje sygnału (lub otrzymuje go w sposób stały). W związku z tym:

a) czy jesteś pewien, że pin DIR w tym konkretnym Arduino działa? Jeśli nie, użyj pinu 13 - widząc zmiany podłączonej diody na płytce, będziesz miał pewność;
b) czy zmieniałeś w trakcie prób przewody? One często potrafią być luźne/nadłamane, więc warto zmierzyć jego rezystancję 🙂

PS Płytki stykowe nie nadają się zbytnio do wysokich prądów 😉 Eksperymentowałem kiedyś z dokładnie identycznym układem, prądami >1A i w pewnym momencie nastąpiło nadtopienie ścieżek na płytce prototypowej - taka wskazówka na przyszłość 😉

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dnia 20.03.2021 o 02:14, wn2001 napisał:

Cześć, bo na filmiku tego nie widać dokładnie - czyli rozumiem, że jeśli zadajesz sygnał na pin STEP, to silnik obraca się zawsze - problemem jest tylko, że wał obraca się tylko w jedną stronę (niezależnie od stanu pinu DIR)?

Jeśli tak, odrzuciłbym wadę A4988 - problemem jest to, że pin DIR nie otrzymuje sygnału (lub otrzymuje go w sposób stały). W związku z tym:

a) czy jesteś pewien, że pin DIR w tym konkretnym Arduino działa? Jeśli nie, użyj pinu 13 - widząc zmiany podłączonej diody na płytce, będziesz miał pewność;
b) czy zmieniałeś w trakcie prób przewody? One często potrafią być luźne/nadłamane, więc warto zmierzyć jego rezystancję 🙂

PS Płytki stykowe nie nadają się zbytnio do wysokich prądów 😉 Eksperymentowałem kiedyś z dokładnie identycznym układem, prądami >1A i w pewnym momencie nastąpiło nadtopienie ścieżek na płytce prototypowej - taka wskazówka na przyszłość 😉

Dziękuję kolego 🙂
Problemem okazały się kable, silnik pracuje zarówno na TB6600 jak i na A4988 prawidłowo. Temat do zamknięcia.

  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.