Robot samojeździk czyli sterowanie silnikiem krokowym Cz. 2.

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.

Strona 2 z 4


»Dalej do Następnej strony
« Powrót do strony głównej      « Powrót do Działu Mikrokontrolery
« Powrót do Poprzedniej strony

Copyright © by Michał Obrzydziński 2007 - 2010