Skocz do zawartości

Problemy z Pololu A4988


Bartt

Pomocna odpowiedź

Witam

Zabrałem się ostatnio za silnik krokowy (JK42HS34-0404), problem pojawił się jednak jeszcze przy samym sterowniku...

Połączyłem go zgodnie z poradnikiem, i nie wiadomo czemu, sterownik "nie chce" puścić prądu na silnik, mimo że podaję impuls na pin STEP.

Ktoś ma pomysł co sprawdzić/co może być nie tak? 

Sprawdzałem sterownik przy zasilaniu logiki przy 3,3V i przy 5V, nie ma różnicy.

Sprawdzałem też "czy na pewno" na pin STEP podaje impuls i było ok.

Pin DIR podłączyłem do masy.

Na 100% VMOT, otrzymuje odpowiednie zasilanie (no chyba że 0.39A zamiast 0,4A jest problemem) . 

Z góry dzięki 😃

 

 

Edytowano przez Bartt
Link do komentarza
Share on other sites

45 minut temu, Bartt napisał:

@FlyingDutch RESET jest połączony z SLEEP.

MS 1-3 nie są wcale podpięte 

DIR jest wpięty to GND w RPI

 

Niby MS1-3 są podpięte do masy (wewnętrznie) co powinno dać obrót o 1 pełny krok. Na RESET powinien być stan wysoki. Na step podaj przebieg prostokątny i wtedy zobacz, czy się kręci w jednym kierunku.

Pozdrawiam

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

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@FlyingDutch no i właśnie tu jest, jedyne co  robiłem inaczej to RESET był połączony ze SLEEP (tak było napisane na stronie)

Podałem teraz na RESET stan wysoki,  przebieg prostokątny i efekt jest dokładnie taki sam, nic się nie dzieje... 

Link do komentarza
Share on other sites

46 minut temu, Bartt napisał:

@FlyingDutch no i właśnie tu jest, jedyne co  robiłem inaczej to RESET był połączony ze SLEEP (tak było napisane na stronie)

Podałem teraz na RESET stan wysoki,  przebieg prostokątny i efekt jest dokładnie taki sam, nic się nie dzieje... 

cześć,

to spróbuj jeszcze podać na wejścia MS1-3 stany niskie (albo inną kombinację).

Pozdrawiam

Link do komentarza
Share on other sites

21 minut temu, FlyingDutch napisał:

to spróbuj jeszcze podać na wejścia MS1-3 stany niskie (albo inną kombinację).

podpinałem je pod GND, nie było różnicy.

Spróbuję jeszcze innych kombinacji. 

@FlyingDutch Sprawdziłem inne kombinacje, dalej nic...

Link do komentarza
Share on other sites

(edytowany)

@FlyingDutch Korzystam z Malinki.  

SharedScreenshot.thumb.jpg.deeaaf48dec4c1ff641011553dd72180.jpg

A tutaj jest skrypt który powinien to obsłużyć (wykonać jeden krok).

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)



GPIO.setup(16, GPIO.OUT) 

GPIO.output(16, GPIO.HIGH) #stan_wysoki

time.sleep(3)

GPIO.output(16, GPIO.LOW) #stan_niski

Pozdrawiam 

Edytowano przez Bartt
Link do komentarza
Share on other sites

(edytowany)

@FlyingDutch Sprawdzałem to też przy ośmiu krokach, i nie było efektu(albo nie widziałem).

Próbowałem mierzyć napięcie na wyjściach 2B -1B, i nic nie było, aczkolwiek tutaj może być winny mój "powolny" miernik napięcia.

Sprawdzę jutro while true i podzielę się rezultatem. 😃

 

Pozdrawiam 

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

(edytowany)

@FlyingDutch Sprawdziłem na większej ilości kroków: efektu brak.

Jedyne co przychodzi mi jeszcze do głowy to natężenie ~0,38 A zamiast 0.4, czy to może być przyczyną? 

A jak wygląda sprawa gdybym podał wyższe np. 0.5A?

Czy silnik mógłby to wytrzymać?

Czy może wine leży po stronie uszkodzonego (tak hipotetycznie) sterownika? 

Są jakieś sposoby na sprawdzenie czy sterownik działa poprawnie? 

Edytowano przez Bartt
Link do komentarza
Share on other sites

Witam.

Dnia 9.05.2019 o 19:30, Bartt napisał:

Próbowałem mierzyć napięcie na wyjściach 2B -1B

Jak już mierzysz napięcie, to na cewkach, czyli pomiędzy 1A-1B lub 2A-2B. Kiedy silnik stoi, należy mierzyć napięcie stałe, kiedy się kręci - przemienne.

14 godzin temu, Bartt napisał:

Jedyne co przychodzi mi jeszcze do głowy to natężenie ~0,38 A zamiast 0.4, czy to może być przyczyną? 

Taka różnica nie ma krytycznego znaczenia. Ja bym tu widział inny problem. Jak tak patrzę na schemat, który przedstawiłeś, to widzę, że w zasilaniu silnika masz włączony stabilizator napięcia. Ten stabilizator właściwie jest zbędny. Oprócz tego pomiędzy wyjściem stabilizatora a sterownikiem masz wstawione szeregowo dwa rezystory o łącznej rezystancji (jeśli dobrze widzę) 30 Ohm. Te rezystory też są zbędne, a właściwie mogą przeszkadzać. W trybie pełnokrokowym (piny MS1-3 podłączone do masy) sterownik zasila dwie cewki jednocześnie, więc łączny prąd dostarczony do silnika powinien wynosić 0,8A. Biorąc pod uwagę, że równolegle połączone cewki będą miały rezystancję wypadkową 15 Ohm + dodane przez Ciebie dwa rezystory łącznie 30 Ohm, to razem 45 Ohm, razy 0,8A to daje potrzebne napięcie zasilające 36V. Nie wiem, jakie masz napięcie na wyjściu stabilizatora, ale podejrzewam, że mniejsze. Poza tym w różnych trybach w różnych pozycjach silnika zapotrzebowanie na prąd zasilający może się zmieniać, a to spowoduje różne spadki napięcia na rezystorach szeregowych. Dlatego ja proponowałbym (biorąc pod uwagę rezystancję cewki i wymagany prąd) zwykły zasilacz 12V napięcia stałego (wystarczy niestabilizowany) o wydajności prądowej minimum 1A, bez rezystorów w szereg z zasilaniem silnika. Do prób powinno wystarczyć. Gdybyś chciał bardziej precyzyjnie dobrać zasilanie silników, zerknij tutaj.

Jak już wspomniał wcześniej kolega @FlyingDutch , jednego kroku możesz nie zauważyć, więc dobrze byłoby zrobić pętlę nieskończoną. Ja chciałbym tylko zwrócić uwagę, że kiedy tworzysz pętlę, to trzeba dodać w pętli jeszcze jedno opóźnienie. No i dałbym krótsze te opóźnienia. Podczas pracy pełnokrokowej, przy opóźnieniu 0,1s i 200 krokach na obrót, jeden obrót będzie trwał 40 sekund (podczas pracy mikrokrokowej jeszcze więcej) więc to i tak bardzo wolne obroty.

while True:
   GPIO.output(16, GPIO.HIGH) #stan_wysoki
   time.sleep(0.1)
   GPIO.output(16, GPIO.LOW) #stan_niski
   time.sleep(0.1)

 

Edytowano przez andrews
  • Lubię! 2
Link do komentarza
Share on other sites

@andrews sprawdziłem napięcie pomiędzy 1A i 1B,  w momencie gdy silnik stał i 0.0V...

Chciałem jeszcze to sprawdzić przed zmianą zasilania, teoretycznie chyba nawet przy zbyt słabym zasilaniu powinno "coś tam być"? Co nie?

Link do komentarza
Share on other sites

Dnia 18.05.2019 o 13:48, Bartt napisał:

teoretycznie chyba nawet przy zbyt słabym zasilaniu powinno "coś tam być"?

Teoretycznie coś powinno być. Trudno jednak pomagać na odległość, kiedy Ty podajesz tak mało danych. W tej sytuacji istotne jest także:

  • jakie jest napięcie pomiędzy 2A i 2B,
  • jakie jest w ogóle napięcie zasilania silnika mierzone bezpośrednio na płytce (pomiędzy VMOT i GND),
  • jakie napięcie jest na wyjściu stabilizatora napięcia.

Dodatkowo należałoby sprawdzić dla pewności stabilność wszystkich połączeń, zmierzyć napięcia wejściowe na poszczególnych pinach sterujących oraz napięcie zasilające logikę (pomiędzy VDD i GND) bezpośrednio na płytce.

Problemem może też być ustawienie potencjometru na płytce sterownika. Zgodnie z dokumentacją dla prądu cewki 0,4A i wartości rezystora RS=0,05 Ohm, na pinie REF układu A4988 należy potencjometrem ustawić napięcie 0,16V (160mV). Prawidłowe i dokładne ustawienie tego napięcia jest szczególnie istotne podczas pracy mikrokrokowej, ale nawet przy pełnokrokowej ustawienie tego napięcia na 0V może skutkować wyłączeniem lub znacznym ograniczeniem prądu cewek. Przy okazji nie zaszkodzi też sprawdzić, czy rezystory R7 i R8 na płytce sterownika przewodzą.

Dobrze byłoby też zmierzyć (przy wyłączonym zasilaniu), czy pomiędzy pinami 1A-1B oraz pomiędzy pinami 2A-2B jest prawidłowa rezystancja cewek (powinno być 30 Ohm). Ogólnie należy się upewnić, czy między przewodami łączącymi sterownik z silnikiem nie ma jakichś zwarć.

Trochę tego jest do sprawdzenia, ale nie widziałem Twojego układu ani nie wiem dokładnie co i w jaki sposób już sprawdziłeś. Lepiej i szybciej jest diagnozować problem metodą wykluczeń, czyli zmierzyć lub sprawdzić coś, a dalsze działania podjąć na podstawie wyciągniętych wniosków, tylko że przy tym tempie wymiany informacji mogłoby nam to trochę czasu zająć 😉

Edytowano przez andrews
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.