- Silnik krokowy:
- Sterownik silnika krokowego ULN2003:
- Wymagane materiały:
- Schemat obwodu:
- Kod i objaśnienie robocze:
W tym samouczku będziemy interfejsować silnik krokowy za pomocą MSP430. MSP-EXP430G2 jest narzędziem rozwoju aka LaunchPad dostarczone przez Texas Instruments do nauki i praktyki, w jaki sposób korzystać ze swoich mikrokontrolerów. Płytka ta należy do kategorii MSP430 Value Line, w której możemy zaprogramować wszystkie mikrokontrolery serii MSP430. Jeśli nie masz doświadczenia z MSP, zapoznaj się z naszym samouczkiem rozpoczynającym pracę z MSP430.
Silnik krokowy:
Silnik krokowy to rodzaj bezszczotkowego silnika prądu stałego, który przekształca impulsy elektryczne w wyraźne ruchy mechaniczne. Wał silnika krokowego obraca się dyskretnymi krokami. Możemy uzyskać precyzyjne kroki i prędkość zgodnie z naszymi potrzebami.
Wykorzystamy dwubiegunowy silnik krokowy 35BYJ46, który jest tanio dostępny na rynku. Ma 6 przewodów, ale jest również wyposażony w 5 przewodów. W naszym silniku krokowym są 2 cewki. Z każdego wychodzą 3 przewody. Z 3 przewodów 1 jest wyśrodkowany, więc pozostałe 2 przewody są bezpośrednio połączone z cewką. W sumie mamy 4 przewody sygnałowe i 2 wyśrodkowane przewody odczepiane, które są połączone z zasilaniem 5-12V.
W przypadku, gdy z silnika wychodzi łącznie 5 przewodów, wówczas 4 przewody są przewodami sygnałowymi, a 1 jest wyśrodkowany do obu cewek. Lubię to.
Aby sprawdzić, który przewód jest wyśrodkowany, a który jest przewodem sygnałowym, należy sprawdzić rezystancję przewodów wychodzących z silnika. Zatem te przewody, które są połączone tą samą cewką, mają dużą wartość rezystancji w porównaniu do rezystancji wyśrodkowanych zaczepów.
Na powyższym schemacie, jeśli sprawdziliśmy wartość rezystancji przewodów niebieskiego i żółtego, a rezystancja między nimi jest większa niż wartość między żółtym a czerwonym lub niebieskim i czerwonym. Tak więc czerwony jest wyśrodkowanym przewodem gwintowanym.
Wcześniej połączyliśmy silnik krokowy z innymi mikrokontrolerami:
- Połączenie silnika krokowego z Arduino Uno
- Sterowanie silnikiem krokowym z Raspberry Pi
- Połączenie silnika krokowego z mikrokontrolerem 8051
- Połączenie silnika krokowego z mikrokontrolerem PIC
Silnik krokowy może być również sterowany bez mikrokontrolera, patrz ten obwód sterownika silnika krokowego.
Sterownik silnika krokowego ULN2003:
Większość silników krokowych będzie działać tylko z pomocą modułu sterownika. Dzieje się tak, ponieważ moduł kontrolera (w naszym przypadku MSP) nie będzie w stanie dostarczyć wystarczającej ilości prądu ze swoich pinów I / O, aby silnik mógł działać. 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.
W tym projekcie użyjemy układu scalonego sterownika silnika ULN2003. Schemat pinów układu scalonego podano poniżej:
Użyjemy 4 portów wejściowych i 4 portów wyjściowych, jeśli IC.
Wymagane materiały:
- MSP430
- Silnik krokowy 35BYJ46 lub 28-BYJ48
- ULN2003 IC
- Przewody
- Płytka prototypowa
Schemat obwodu:
Na powyższym schemacie CZERWONY przewód steppera nie jest połączony z PIN5 układu scalonego, należy go połączyć z 5V. Kolorystyka twojego silnika krokowego może różnić się od kolorów podanych na schemacie obwodu. Tak więc podłącz przewody po sprawdzeniu poprawności przewodów sygnałowych.
Nasz kod napiszemy za pomocą Energia IDE. Działa tak samo jak Arduino IDE i jest łatwy w użyciu. Przykładowy kod do sterowania krokiem można również znaleźć w przykładowym menu Arduino IDE.
Kod i objaśnienie robocze:
Zanim zaczniemy programować z naszym MSP430, zrozummy, co właściwie powinno się wydarzyć w programie. Będziemy używać 4-krokowej metody sekwencyjnej, więc będziemy mieli cztery kroki do wykonania, aby wykonać jeden pełny obrót. Rozważ A, B, C i D jako cztery cewki.
Krok |
Pin Pod napięciem |
Cewki pod napięciem |
Krok 1 |
6 i 7 |
A i B |
Krok 2 |
7 i 8 |
B i C |
Krok 3 |
8 i 9 |
C i D. |
Krok 4 |
9 i 6 |
D i A. |
W tym samouczku napiszemy kod silnika krokowego MSP430. 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
const int STEPS = 32;
Następnie musisz stworzyć instancje, w których określimy piny, do których podłączyliśmy silnik krokowy.
Stepper myStepper (STEPS, 6, 7, 8, 9);
Ponieważ korzystamy z biblioteki Stepper, możemy ustawić prędkość silnika za pomocą poniższej linii. Prędkość może wynosić od 0 do 200 dla silników krokowych 35BYJ46.
Mystepper.setSpeed (200);
Teraz, aby silnik poruszył się o jeden krok, możemy użyć następującego wiersza.
myStepper.step (STEPS);
Ponieważ mamy 32 kroki i 64 jako przełożenie, musimy przesunąć 2048 (32 * 64 = 2048), aby wykonać jeden pełny obrót. Teraz prześlij poniższy kod i zmień nr. kroków w zależności od potrzeb.
W ten sposób możesz połączyć silnik krokowy z mikrokontrolerem PIC, teraz możesz wykorzystać własną kreatywność i znaleźć do tego zastosowania. Istnieje wiele projektów wykorzystujących silnik krokowy.