Skocz do zawartości

Sterowanie silnikiem krokowym JK57HS3004-02B za pomoca arduino uno


Pomocna odpowiedź

Musisz podłączyć zasilanie logiki sterownika (VDD) i zasilanie silnika (VMOT).

Poza tym nie wstawiłeś programu o którym wspomniałeś.

Silnik ruszy na napięciu nominalnym, ale osiągane parametry (maksymalna prędkość, moment) będą słabe. Tak czy siak, musisz doprowadzić odpowiednie napięcia do wspomnianych pinów. I jeśli silnik chcesz zasilać z tego samego napięcia (5V) co mikrokontroler, to jest to bardzo słaby pomysł.

Driver silnika ma specjalny pin VMOT właśnie po to, by nie łączyć zasilań delikatnej logiki z napędami. Ta płytka musi obowiązkowo dostać wszystkie zasilania jakich potrzebuje. A więc:

- do VDD podłączasz bezpośrednio VCC Arduino (żadnych głupich potencjometrów) bo to wyznacza wielkość oczekiwanych sygnałów logicznych a te wysyła Arduino jako napięcia od 0V do 5V,
- do VMOT podłączasz ile tylko możesz (np. 12-30V) bo tylko to gwarantuje poprawną pracę drivera i samego silnika - nie, to nie jest tak, że masz zasilać driver z 3V bo silnik jest 3V,
- wszystkie masy (GND) muszą być ze sobą dobrze połączone.

A poza tym:

- Ten driver nie jest w stanie prawidłowo sterować silnik potrzebujący 3A/fazę. Nawet jeśli nie doczytałeś do tej pory (a kupiłeś moduły i silnik licząc na cud), to jest to dobry czas by to nadrobić. Znajdź dane tej płyteczki i sprawdź jak duży prąd może ona wypuszczać do uzwojeń. 3A są daleko poza jej możliwościami. Moim zdaniem ogólnie źle wybrałeś kupując silnik. Jego prąd znamionowy wykracza poza możliwości większości scalonych driverów silników krokowych, kończących się właśnie w okolicach 2.5-2.7A przy idealnym chłodzeniu. Trzeba było znaleźć coś na troszkę wyższe napięcie (np. 5-6V), ale z prądem o połowę mniejszym. To zachowałoby moment (jeśli Ci na nim zależy) a zmniejszyło stres drivera.

- Dobre drivery silników krokowych potrzebują dużych napięć - nawet jeśli tego teraz nie rozumiesz, przyjmij to na wiarę lub poczytaj o impulsowym sterowaniu prądem (tzw. chopper). Temat był tu wałkowany wielokrotnie. Do zasilania tego silnika potrzebujesz zasilacza 12V z prądem 2-3A. Z tego samego zasilacza możesz napędzać Arduino, choć jeszcze lepszym rozwiązaniem byłyby dwa klocki: jeden np. 24V dla drivera i drugi 5V lub 9-12V dla Arduino.

- Jak sobie wyobrażałeś pobieranie 5A (bo dwie fazy silnika) ze śmiesznej płyteczki Arduino, co więcej, z pinu procesora???

itd..

Rozumiem, że każdy kiedyś zaczyna, ale w sytuacji tak dobrej dostępności wiedzy (choćby różnych konstrukcji drukarek 3D na tych modułach opisano pewnie ze sto) naprawdę nie wiem (ale się domyślam) czym można tłumaczyć braki takie jak u Ciebie skutkujące kuriozalnym potencjometrem lub brakiem zasilania modułu drivera, brakiem połączenia mas itd. Taka jakby kompromitacja na starcie, nie sądzisz?

A czy da się zrobić, by jeden procesor mrugał dwoma LEDami na raz? Hm..

Moim zdaniem z silnikiem przegiąłeś teraz w drugą stronę. Nie wiem o jakich prędkościach pracy myślisz, ale to działa tak, że ważne jest przewyższenie napięcia zasilającego driver nad napięciem znamionowym silnika. Jeżeli są one mniej więcej równe, pokręcisz silnikiem do kilkunastu, może kilkudziesięciu kroków/s. Silnik krokowy szybko ze wzrostem obrotów traci moment aż w końcu nie ma siły pokonywać nawet własnych oporów ruchu, nie mówiąc o jakimś obciążeniu mechanicznym. Gdy dajesz coraz wyższe napięcie zasilania na driver, prąd w uzwojeniach silnika rośnie coraz szybciej (zawsze do wartości ustalonej jakimś potencjometrem lub opornikiem w driverze) a jeśli rośnie szybciej, to kroki mogą być coraz krótsze i moment napędowy jest utrzymywany do coraz wyższej prędkości.

Tak więc warto tak dobierać parę silnik-driver, by korzystać z możliwie dużej części prądu maksymalnego drivera i zasilać go najwyższym możliwym napięciem. Jeżeli Twoja płytka ma możliwość zasilania faz prądem 2A, to mając silnik 0.5A po prostu będzie się marnować a napięcie zasilania np. 24V będzie tylko 2 razy wyższe niż znamionowe silnika. Tutaj ideałem byłby silnik pobierający 1-1.5A (żeby nie przekroczyć prądu drivera) i potrzebujący napięcia w okolicach 5-6V. Wtedy zasilając to z 24V masz aż 4-krotne przewyższenie i znacznie większą prędkość maksymalną.

Oczywiście wszystko i tak zależy od tego w co celujesz, bo np. jeśli tylko w moment (a silnik będzie robił kilkanaście kroków/s), to ten parametr będzie optymalny dla wielu różnych kombinacji prądu/napięcia faz. Wtedy silnik 12V jest jak najbardziej OK, bo mały prąd nie stresuje drivera.

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