- Wymagany składnik
- Silnik krokowy NEMA17
- Moduł sterownika krokowego A4988
- Schemat obwodu
- Objaśnienie kodu
Silnik krokowy to rodzaj silnika prądu stałego, który pracuje w dyskretnych krokach i jest używany wszędzie, od kamery monitorującej po zaawansowane roboty i maszyny. Silniki krokowe zapewniają dokładne sterowanie i można je rozróżniać na podstawie momentu obrotowego, kroków na obrót i napięcia wejściowego. W naszym poprzednim projekcie sterowaliśmy silnikiem krokowym 28-BYJ48 za pomocą Arduino. 28-BYJ48 ma stosunkowo niższy moment obrotowy niż inne silniki krokowe, takie jak NEMA 14, NEMA17.
W tym samouczku będziemy sterować silnikiem krokowym NEMA17 za pomocą modułu sterownika krokowego Arduino Uno i A4988. Silnik krokowy Nema17 ma wyższy moment obrotowy i wyższe napięcie robocze niż 28-BYJ48. Tutaj również zostanie dołączony potencjometr do sterowania kierunkiem silnika krokowego.
Wymagany składnik
- Arduino UNO
- Silnik krokowy NEMA17
- Moduł sterownika krokowego A4988
- 47 µf Kondensator
- Potencjometr
Silnik krokowy NEMA17
Działanie Nema17 jest podobne do normalnych silników krokowych. Silnik krokowy NEMA 17 ma płytę czołową 1,7 x 1,7 cala i zwykle ma większy moment obrotowy niż mniejsze warianty, takie jak NEMA 14. Ten silnik ma sześć przewodów, a napięcie znamionowe wynosi 12 woltów. Może pracować przy niższym napięciu, ale moment obrotowy spadnie. Silniki krokowe nie obracają się, robią krok, a silnik NEMA17 ma kąt kroku 1,8 st. oznacza, że każdy krok obejmuje 1,8 stopnia. Schemat połączeń dla NEMA17 przedstawiono poniżej.
Jak widać, ten silnik ma układ jednobiegunowy sześcioprzewodowy. Druty te są połączone dwoma dzielonymi uzwojeniami. Przewody czarny, żółty i zielony są częścią pierwszego uzwojenia, gdzie czarny jest środkowym zaczepem, a żółty i zielony są końcami cewki, podczas gdy czerwony, biały i niebieski są częścią drugiego uzwojenia, w którym biały jest środkowym zaczepem, a czerwony i niebieski to cewka przewody końcowe. Zwykle środkowe przewody kranów pozostawione odłączone.
Liczba kroków na obrót dla NEMA17
Liczba kroków na obrót dla konkretnego silnika krokowego jest obliczana na podstawie kąta kroku tego silnika krokowego. Czyli w tym przypadku kąt kroku NEMA 17 wynosi 1,8 stopnia.
Kroki na obrót = 360 / kąt kroku 360 / 1,8 = 200 kroków na obrót
Specyfikacje NEMA17
- Napięcie znamionowe: 12 V DC
- Kąt kroku: 1,8 st.
- Liczba faz: 4
- Długość silnika: 1,54 cala
- 4-przewodowy, 8-calowy przewód
- 200 kroków na obrót, 1,8 stopnia
- Temperatura pracy: od -10 do 40 ° C
- Jednobiegunowy moment trzymający: 22,2 uncji
Sprawdź tutaj również różne projekty związane z silnikami krokowymi, które obejmują nie tylko podstawowe połączenia z różnymi mikrokontrolerami, ale także projekty robotyki, które obejmują silnik krokowy.
Moduł sterownika krokowego A4988
Moduł sterownika krokowego steruje pracą silnika krokowego. Sterowniki krokowe przesyłają prąd do silnika krokowego przez różne fazy.
Sterownik krokowy A4988 Nema 17 to mikrokrokowy moduł sterownika służący do sterowania bipolarnymi silnikami krokowymi. Ten moduł sterownika ma wbudowany translator, co oznacza, że możemy sterować silnikiem krokowym za pomocą bardzo niewielu pinów z naszego kontrolera.
Używając tego modułu sterownika silnika Nema 17, możemy sterować silnikiem krokowym za pomocą tylko dwóch pinów, tj. STEP i DIRECTION. Kołek STEP służy do sterowania stopniami, natomiast kołek DIRECTION służy do sterowania kierunkiem silnika. Moduł sterownika A4988 zapewnia pięć różnych rozdzielczości krokowych: pełny krok, krokowy, ćwierć-krokowy, ośmiostopniowy i szesnastostopniowy . Możesz wybrać różne rozdzielczości kroku za pomocą pinów selektora rozdzielczości ((MS1, MS2 i MS3). Tabela prawdy dla tych pinów jest podana poniżej:
MS1 | MS2 | MS3 | Rozdzielczość Microstep |
Niska | Niska | Niska | Pełny krok |
Wysoki | Niska | Niska | ½ Krok (pół kroku) |
Niska | Wysoki | Niska | ¼ kroku (ćwierć kroku) |
Wysoki | Wysoki | Niska | 1/8 kroku (ósmy krok) |
Wysoki | Wysoki | Wysoki | 1/16 kroku (szesnasty krok) |
Specyfikacje A4988
Maks. Napięcie robocze: 35 V.
Min. Napięcie robocze: 8 V.
Maks. Prąd na fazę: 2A
Rozdzielczość mikrokrokowa: pełny krok, ½ kroku, ¼ kroku, 1/8 i 1/16 kroku
Zabezpieczenie przed odwrotnym napięciem: Nie
Wymiary: 15,5 × 20,5 mm (0,6 ″ × 0,8 ″)
Schemat obwodu
Schemat obwodu sterowania silnikiem krokowym Nema 17 z Arduino przedstawiono na powyższym obrazku. Ponieważ moduł A4988 ma wbudowany translator, wystarczy podłączyć piny Step i Direction do Arduino. Sworzeń stopniowy służy do sterowania stopniami, podczas gdy kołek kierunkowy służy do sterowania kierunkiem. Silnik krokowy zasilany jest ze źródła 12V, a moduł A4988 zasilany jest przez Arduino. Potencjometr służy do sterowania kierunkiem pracy silnika.
Jeśli przekręcisz potencjometr zgodnie z ruchem wskazówek zegara, to krokowy obróci się zgodnie z ruchem wskazówek zegara, a jeśli przekręcisz potencjometr w kierunku przeciwnym do ruchu wskazówek zegara, to obróci się w kierunku przeciwnym do ruchu wskazówek zegara. Kondensator 47 µf służy do ochrony płytki przed skokami napięcia. Piny MS1, MS2 i MS3 pozostały odłączone, co oznacza, że sterownik będzie działał w trybie pełnego kroku.
Kompletne połączenia dla Arduino Nema 17 A4988 podane w poniższej tabeli.
S.NO. |
A4988 Pin |
Połączenie |
1 |
VMOT |
+ ve baterii |
2 |
GND |
-ve baterii |
3 |
VDD |
5 V Arduino |
4 |
GND |
GND Arduino |
5 |
STP |
Pin 3 Arduino |
6 |
DIR |
Pin 2 Arduino |
7 |
1A, 1B, 2A, 2B |
Silnik krokowy |
Objaśnienie kodu
Kompletny kod z działającym sterowaniem wideo Nema 17 z Arduino jest podany na końcu tego samouczka, tutaj wyjaśniamy cały program, aby zrozumieć działanie projektu.
Przede wszystkim dodaj bibliotekę silników krokowych do swojego Arduino IDE. Możesz pobrać bibliotekę silników krokowych stąd.
Następnie określ liczbę kroków dla NEMA 17. Jak obliczyliśmy, nie. kroków na obrót dla NEMA 17 wynosi 200.
#zawierać
Następnie określ piny, do których podłączony jest moduł sterownika i zdefiniuj typ interfejsu silnika jako Typ1, ponieważ silnik jest podłączony przez moduł sterownika.
Stepper stepper (STEPS, 2, 3); #define motorInterfaceType 1
Następnie ustaw prędkość silnika krokowego za pomocą funkcji stepper.setSpeed . Maksymalna prędkość silnika dla NEMA 17 to 4688 obr / min, ale jeśli uruchomimy go szybciej niż 1000 obr / min, moment obrotowy szybko spada.
void setup () { stepper.setSpeed (1000);
Teraz w pętli głównej odczytujemy wartość potencjometru z pinu A0. W tej pętli są dwie funkcje, jedna to potVal , a druga to Pval . Jeśli aktualna wartość, tj. PotVal jest wyższa niż poprzednia wartość, tj. Pval to przesunie się o dziesięć kroków w kierunku zgodnym z ruchem wskazówek zegara, a jeśli aktualna wartość jest mniejsza niż poprzednia wartość, to przesunie się o dziesięć kroków w kierunku przeciwnym do ruchu wskazówek zegara.
potVal = map (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (10); if (potVal
Teraz podłącz Arduino do laptopa i prześlij kod do swojej płyty Arduino UNO za pomocą Arduino IDE, wybierz kartę i numer portu, a następnie kliknij przycisk przesyłania.
Teraz możesz kontrolować kierunek silnika krokowego Nema17 za pomocą potencjometru. Pełne działanie projektu pokazano na poniższym filmie. Jeśli masz jakiekolwiek wątpliwości dotyczące tego projektu, zamieść je w sekcji komentarzy poniżej.