Spis treści

 

Zagadnienia sterowania silnikiem krokowym.

Na poprzedniej stronie starałem się wyjaśnić jak zbudowany jest silnik krokowy i to, że z powodzeniem nazwać go można silnikiem cyfrowym bo prędkość obrotowa i kierunek wirowania nie zależą w żaden sposób od wartości napięcia i prądu zasilającego tylko od sekwencji impulsów podawanych na cewki.

Oddalamy się powoli od silnika w stronę układu sterującego. Na zdjęciu powyżej widzimy cztery tranzystory MOSFET, które posłużą jako przełączniki włączające i wyłaczające dopływ prądu do danej cewki, gdy na ich bramce pojawi się określony stan. Ja w swoim sterowniku zastosowałem tranzystory BUZ 11. Są to tranzystory z kanałem typu N, ich maksymalny prąd drenu to 30 A a maksymalne napięcie 50 V. Tranzystor z kanałem typu N wymaga podania stanu wysokiego na bramkę by mógł zostać "otwarty" i by przez cewkę zaczął płynąć prąd. Teraz mamy już bardzo prostą sytuację bo za pomocą mikrokontrolera należy wygenerować na jego wyjściach odpowiednią sekwencję impulsów i podać je bezpośrednio na bramki tranzystorów.

Na zdjęciu powyżej można zobaczyć moje "środowisko testowe". Na płytce prototypowej połączyłem tranzystory MOSFET z silnikiem krokowym, mikrokontrolerem na płytce uruchomieniowej i diodami LED sygnalizującymi stan każdej z czterech linii sterujących.

Drukarkowy silnik krokowy ze zdjęcia zasilam napięciem 5V i przy takim właśnie pracuje moim zdaniem optymalnie. Wielu pewnie zapyta dlaczego przy tak małym napięciu zastosowałem tranzystory przełączające o parametrach 50 V, 30 A. Odpowiedź jest prosta: prądy samoindukcji, które powstają zawsze gry wyłączamy przepływ prądu przez cewkę, a które są na tyle wysokie by uszkodzić słabsze tranzystory. Oczywiście można zastosować mniejsze tranzystory ale w takim przypadku koniecznym jest zastosowanie szybkich diod, które będą "wygaszać" te prądy i ochronią tranzystory.

Teraz o tym jak podać sekwencję impulsów na bramki MOSFET-ów tak, by spowodować obrót wirnika. I tu też pojawia się kilka możliwości, na początek sposób najprostszy: jednofazowy-pełnokrokowy. Na zdjęciu powyżej widzimy płytkę z mikrokontrolerem ATtiny 2313, połączoną złączem programującym z komputerem oraz przewodem, który łączy cztery wyjścia mikrokontrolera z bramkami tranzystorów.

W takim układzie mogę na bieżąco zmieniać program, wgrywać go do mikrokontrolera i obserwować jak każda zmiana wpływa na zachowanie silnika. Jak podać odpowiednią sekwencję impulsów ? nic prostszego. Niech porty mikrokontrolera od Pb.4 do Pb.7 będą połączone z bramkami tranzystorów MOSFET odpowiednio: Pb.4 - A+, Pb.5 - B+, Pb.6 - A-, Pb.7 - B-;.
Jeśli mamy połączony układ w takiej właśnie kolejności: A+, B+, A-, B- to wystarczy na te linie portu kolejno podawać impuls rozdzielając je pewnymi odstępami czasu. Te odstępy czasu odpowiedzialne będą za prędkość obrotu.

Jedna sekwencja to cztery takty, spowoduje ona obrót silnika w jedną stronę o zaledwie cztery malutkie kroki i by silnik obrócił się o 360 stopni sekwencję trzeba powtórzyć przynajmniej kilkadziesiąt razy.