ostatnio kupiłem używane bipolarne silniki krokowe.
R = 1,6 Ohm;
I_max = 1,5 A;
U = 2,5V;
M = 0,43Nm;
L = 12,5mH;
200 kroków na obrót.
Ażeby nimi sterować, zrobiłem dwa mostki H na tranzystorach bipolarnych. Silniki zasilam napięciem +12V, jak pokazano na schemacie, nie ma na nim rezystora 1R, na którym spadek napięcia mierzę. Wykorzystałem sekwencję zasilania cewek silnika jak na grafice poniżej.
Wejścia A, B, C, D podłączyłem do mojego mikrokontrolera – ATmega 8. Próbuję zaimplementować swego rodzaju „chopper” prądu, a wygląda to następująco:
Kod: Zaznacz cały
- licznik milisekund := 0;
- dopóki licznik milisekund < 200 ( krok silnika co każde 200ms )
-licznik mikrosekund := 0
- włącz zasilanie odpowiednich cewek
- dopóki licznik mikrosekund < 50us ( „chopper” 40kHz )
- jeżeli prąd płynący przez cewkę osiągnął ustaloną wartość ( obecnie 0,2A )
- wyłącz zasilanie cewek
- zakończ pętlę
- dopóki licznik mikrosekund < 50us
- nie rób nic
- wyłącz zasilanie cewek
- zwiększ indeks mówiący o sekwencji zasilania cewek
- przejdź do początku
Proszę o diagnozę tego zjawiska i pomoc w rozwiązaniu problemu. Jako kompletny laik w dziedzinie silników krokowych porwałem się na napisanie własnego sterownika i bez pomocy się nie obędę.
Z góry dziękuję za wszelkie rady i wskazówki.
Pozdrawiam.
A tu wspomniane grafiki:

