- Silniki krokowe:
- Obliczanie liczby kroków na obrót dla silnika krokowego:
- Dlaczego potrzebujemy modułów sterowników do silników krokowych?
- Schemat obwodu obracającego się silnika krokowego za pomocą potencjometru:
- Kod dla płytki Arduino:
- Pracujący:
Silniki krokowe coraz częściej zajmują swoją pozycję w świecie elektroniki. Począwszy od zwykłej kamery monitorującej po skomplikowane maszyny CNC / robota, silniki krokowe są używane wszędzie jako siłowniki, ponieważ zapewniają dokładne sterowanie. W tym samouczku dowiemy się o najpopularniejszym / najtańszym dostępnym silniku krokowym 28-BYJ48 i jak połączyć go z Arduino za pomocą modułu krokowego ULN2003.
W ostatnim projekcie po prostu połączyliśmy silnik krokowy z Arduino, w którym można obracać silnik krokowy wprowadzając kąt obrotu w Serial Monitor Arduino. Tutaj, w tym projekcie, obrócimy silnik krokowy za pomocą potencjometru i Arduino, tak jakbyś obrócił potencjometr zgodnie z ruchem wskazówek zegara, a następnie krokowy obróci się zgodnie z ruchem wskazówek zegara, a jeśli obrócisz potencjometr w kierunku przeciwnym do ruchu wskazówek zegara, obróci się w kierunku przeciwnym do ruchu wskazówek zegara.
Silniki krokowe:
Rzućmy okiem na ten silnik krokowy 28-BYJ48.
Ok, więc w przeciwieństwie do normalnego silnika prądu stałego ten ma pięć przewodów we wszystkich fantazyjnych kolorach i dlaczego tak jest? Aby to zrozumieć, musimy najpierw wiedzieć, jak działa stepper i jaka jest jego specjalność. Przede wszystkim silniki krokowe nie obracają się, ale kroczą, dlatego nazywane są silnikami krokowymi. Oznacza to, że będą poruszać się tylko o jeden krok na raz. Silniki te mają sekwencję cewek obecnych w nich i te cewki muszą być zasilane w określony sposób, aby silnik mógł się obracać. Kiedy każda cewka jest zasilana, silnik wykonuje krok, a sekwencja zasilania sprawi, że silnik będzie wykonywał ciągłe kroki, powodując tym samym obrót. Przyjrzyjmy się cewkom znajdującym się wewnątrz silnika, aby dokładnie wiedzieć, skąd pochodzą te przewody.
Jak widać, silnik ma jednobiegunową 5-przewodową cewkę. Istnieją cztery cewki, które muszą być zasilane w określonej kolejności. Czerwone przewody będą zasilane napięciem + 5 V, a pozostałe cztery przewody zostaną podciągnięte do masy w celu wyzwolenia odpowiedniej cewki. Używamy mikrokontrolera, takiego jak Arduino, zasilamy te cewki w określonej kolejności i sprawiamy, że silnik wykonuje wymaganą liczbę kroków.
Dlaczego więc ten silnik nazywa się 28-BYJ48 ? Poważnie!!! Nie wiem Nie ma żadnego technicznego powodu, aby ten silnik został nazwany tak; może powinniśmy zagłębić się w to znacznie głębiej. Przyjrzyjmy się niektórym z ważnych danych technicznych uzyskanych z arkusza danych tego silnika na poniższym obrazku.
To głowa pełna informacji, ale musimy przyjrzeć się kilku ważnym, aby wiedzieć, jakiego typu steppera używamy, abyśmy mogli go efektywnie zaprogramować. Najpierw wiemy, że jest to silnik krokowy 5 V, ponieważ zasilamy czerwony przewód napięciem 5 V. Wtedy też wiemy, że jest to czterofazowy silnik krokowy, ponieważ miał w nim cztery cewki. Teraz przełożenie wynosi 1:64. Oznacza to, że wał, który widzisz na zewnątrz, wykona jeden pełny obrót tylko wtedy, gdy silnik wewnątrz obróci się 64 razy. Dzieje się tak z powodu kół zębatych, które są połączone między silnikiem a wałem wyjściowym, te koła zębate pomagają w zwiększaniu momentu obrotowego.
Kolejną ważną informacją, na którą należy zwrócić uwagę, jest kąt kroku: 5,625 ° / 64. Oznacza to, że silnik pracujący w 8-stopniowej sekwencji przesunie się o 5,625 stopnia na każdy krok i będzie wymagał 64 kroków (5,625 * 64 = 360), aby wykonać jeden pełny obrót.
Obliczanie liczby kroków na obrót dla silnika krokowego:
Ważne jest, aby wiedzieć, jak obliczyć liczbę kroków na obrót silnika krokowego, ponieważ tylko wtedy można go skutecznie zaprogramować.
W Arduino będziemy obsługiwać silnik w sekwencji 4-stopniowej, więc kąt kroku będzie wynosił 11,25 °, ponieważ wynosi 5,625 ° (podane w arkuszu danych) dla sekwencji 8-stopniowej będzie to 11,25 ° (5,625 * 2 = 11,25).
Kroki na obrót = 360 / kąt kroku
Tutaj 360 / 11,25 = 32 kroki na obrót.
Dlaczego potrzebujemy modułów sterowników do silników krokowych?
Większość silników krokowych będzie działać tylko z pomocą modułu sterownika. Dzieje się tak, ponieważ moduł kontrolera (w naszym przypadku Arduino) nie będzie w stanie dostarczyć wystarczającej ilości prądu ze swoich pinów I / O do pracy silnika. Więc użyjemy zewnętrznego modułu, takiego jak moduł ULN2003, jako sterownika silnika krokowego. Istnieje wiele typów modułów sterownika, a wartość jednego z nich zmienia się w zależności od typu używanego silnika. Podstawową zasadą dla wszystkich modułów sterownika będzie dostarczanie / odprowadzanie prądu wystarczającego do działania silnika.
Schemat obwodu obracającego się silnika krokowego za pomocą potencjometru:
Schemat obwodu sterowania silnikiem krokowym za pomocą potencjometru i Arduino pokazano powyżej. Użyliśmy silnika krokowego 28BYJ-48 i modułu sterownika ULN2003. Do zasilania czterech cewek silnika krokowego używamy pinów cyfrowych 8,9,10 i 11. Moduł sterownika jest zasilany przez pin 5V płytki Arduino. Potencjometr jest podłączony do A0 na podstawie którego wartości będziemy obracać silnikiem krokowym.
Ale zasilaj sterownik zewnętrznym źródłem zasilania, gdy podłączasz trochę obciążenia do silnika krokowego. Ponieważ używam silnika tylko do celów demonstracyjnych, użyłem szyny + 5V płytki Arduino. Pamiętaj również o połączeniu masy Arduino z masą modułu Driver.
Kod dla płytki Arduino:
Zanim zaczniemy programować z naszym Arduino, zrozumiemy, co właściwie powinno się wydarzyć w programie. Jak wspomniano wcześniej, będziemy używać 4-krokowej metody sekwencji, więc będziemy mieć do wykonania cztery kroki, aby wykonać jeden pełny obrót.
Krok |
Pin Pod napięciem |
Cewki pod napięciem |
Krok 1 |
8 i 9 |
A i B |
Krok 2 |
9 i 10 |
B i C |
Krok 3 |
10 i 11 |
C i D. |
Krok 4 |
11 i 8 |
D i A. |
Moduł Driver będzie miał cztery diody LED, za pomocą których możemy sprawdzić, która cewka jest w danym momencie zasilana. Pełne wideo demonstracyjne można znaleźć na końcu tego samouczka.
W tym samouczku zamierzamy zaprogramować Arduino w taki sposób, aby móc obracać potencjometrem podłączonym do pinu A0 i sterować kierunkiem pracy silnika krokowego. Cały program można znaleźć na końcu samouczka. Kilka ważnych wierszy zostało wyjaśnionych poniżej.
Obliczono, że liczba kroków na obrót naszego silnika krokowego wynosi 32; dlatego wpisujemy to, jak pokazano w linii poniżej
# zdefiniować KROKI 32
Następnie musisz stworzyć instancje, w których określimy piny, do których podłączyliśmy silnik krokowy.
Stepper stepper (STEPS, 8, 10, 9, 11);
Uwaga: liczba pinów jest celowo nieuporządkowana jako 8,10,9,11. Musisz postępować zgodnie z tym samym wzorem, nawet jeśli zmienisz styki, do których podłączony jest twój silnik.
Ponieważ korzystamy z biblioteki stepperów Arduino, możemy ustawić prędkość silnika za pomocą poniższej linii. Prędkość może wynosić od 0 do 200 dla silników krokowych 28-BYJ48.
stepper.setSpeed (200);
Teraz, aby silnik poruszał się o jeden krok w prawo, możemy użyć następującej linii.
stepper.step (1);
Aby silnik poruszał się o jeden krok w kierunku przeciwnym do ruchu wskazówek zegara, możemy użyć następującego wiersza.
stepper.step (-1);
W naszym programie odczytamy wartość pinu analogowego A0 i porównamy z poprzednią wartością (Pval). Jeśli wzrosła, przesuwamy się o 5 kroków zgodnie z ruchem wskazówek zegara, a jeśli jest zmniejszona, to o 5 kroków przesuwamy się w kierunku przeciwnym do ruchu wskazówek zegara.
potVal = map (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (5); if (potVal
Pracujący:
Po nawiązaniu połączenia sprzęt powinien wyglądać mniej więcej tak, jak na poniższym obrazku.
Teraz prześlij poniższy program do swojego Arduino UNO i otwórz monitor szeregowy. Jak wspomniano wcześniej, musisz obracać potencjometrem, aby sterować obrotami silnika krokowego. Obracanie go zgodnie z ruchem wskazówek zegara spowoduje obrócenie silnika krokowego w kierunku zgodnym z ruchem wskazówek zegara i odwrotnie.
Mam nadzieję, że rozumiesz projekt i cieszysz się jego budowaniem. Pełne działanie projektu pokazano na poniższym filmie. Jeśli masz jakiekolwiek wątpliwości, opublikuj je w sekcji komentarzy poniżej lub na naszych forach.